xref: /OK3568_Linux_fs/kernel/Documentation/networking/dctcp.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun======================
4*4882a593SmuzhiyunDCTCP (DataCenter TCP)
5*4882a593Smuzhiyun======================
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunDCTCP is an enhancement to the TCP congestion control algorithm for data
8*4882a593Smuzhiyuncenter networks and leverages Explicit Congestion Notification (ECN) in
9*4882a593Smuzhiyunthe data center network to provide multi-bit feedback to the end hosts.
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunTo enable it on end hosts::
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun  sysctl -w net.ipv4.tcp_congestion_control=dctcp
14*4882a593Smuzhiyun  sysctl -w net.ipv4.tcp_ecn_fallback=0 (optional)
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunAll switches in the data center network running DCTCP must support ECN
17*4882a593Smuzhiyunmarking and be configured for marking when reaching defined switch buffer
18*4882a593Smuzhiyunthresholds. The default ECN marking threshold heuristic for DCTCP on
19*4882a593Smuzhiyunswitches is 20 packets (30KB) at 1Gbps, and 65 packets (~100KB) at 10Gbps,
20*4882a593Smuzhiyunbut might need further careful tweaking.
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunFor more details, see below documents:
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunPaper:
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunThe algorithm is further described in detail in the following two
27*4882a593SmuzhiyunSIGCOMM/SIGMETRICS papers:
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun i) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye,
30*4882a593Smuzhiyun    Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan:
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun      "Data Center TCP (DCTCP)", Data Center Networks session"
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun      Proc. ACM SIGCOMM, New Delhi, 2010.
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun    http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf
37*4882a593Smuzhiyun    http://www.sigcomm.org/ccr/papers/2010/October/1851275.1851192
38*4882a593Smuzhiyun
39*4882a593Smuzhiyunii) Mohammad Alizadeh, Adel Javanmard, and Balaji Prabhakar:
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun      "Analysis of DCTCP: Stability, Convergence, and Fairness"
42*4882a593Smuzhiyun      Proc. ACM SIGMETRICS, San Jose, 2011.
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun    http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp_analysis-full.pdf
45*4882a593Smuzhiyun
46*4882a593SmuzhiyunIETF informational draft:
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun  http://tools.ietf.org/html/draft-bensley-tcpm-dctcp-00
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunDCTCP site:
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun  http://simula.stanford.edu/~alizade/Site/DCTCP.html
53