← Documents Documentation/networking/dctcp.rst GitHub 원문 ↗

Linux 6.18.37 · Networking

DCTCP (DataCenter TCP)

Data center에서 ECN marking 비율을 활용하는 DCTCP의 목적, host 설정과 switch threshold 요구 사항을 설명합니다.

Source pathDocumentation/networking/dctcp.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

dctcp.rst:1-52

DCTCP는 packet loss를 기다리지 않고 switch가 ECN으로 표시한 congestion 정도를 end host가 정밀하게 반영하도록 만든 data center용 TCP congestion control입니다. 효과를 얻으려면 sender와 receiver뿐 아니라 경로의 모든 switch가 ECN marking을 지원하고 buffer threshold를 적절히 설정해야 합니다.

DCTCP congestion feedback
DCTCP senderData packetECN-capable switchBuffer threshold 도달CE markingDCTCP receiverECN feedbackSender window 조정

Switch의 queue 상태가 ECN 표시를 거쳐 sender의 congestion response로 돌아옵니다.

DCTCP 배포 조건
구성 요소필수 설정역할
Sender·receiver`tcp_congestion_control=dctcp`DCTCP algorithm 사용
End hostECN 활성CE mark 송수신
모든 switchECN marking 지원Queue congestion 표시
Switch queueThreshold 구성Marking 시작점 결정

한 요소라도 빠지면 기대한 multi-bit congestion feedback을 얻기 어렵습니다.

기본 ECN marking 경험칙
Link 속도Packet threshold대략적 byte비고
1Gbps20 packets30KB기본 경험칙
10Gbps65 packets약 100KB기본 경험칙
실제 환경측정 후 조정RTT·burst에 따라 변화세밀한 tuning 필요

문서의 초기값은 출발점이며 실제 topology와 workload에 맞춘 검증이 필요합니다.

Host 활성화 순서
`net.ipv4.tcp_congestion_control=dctcp`DCTCP 선택`net.ipv4.tcp_ecn_fallback=0` 선택ECN path 검증

Congestion control 선택 뒤 필요에 따라 ECN fallback을 끕니다.

참고 자료 지도
자료초점
SIGCOMM 2010DCTCP 설계와 data center 적용
SIGMETRICS 2011Stability, convergence, fairness 분석
IETF informational draftProtocol 동작의 표준 문서화
DCTCP site논문과 관련 자료 모음

원문이 안내하는 algorithm·분석·표준화 자료를 구분했습니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

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

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

DCTCP와 ECN 기반 congestion feedback

1-10

DCTCP(DataCenter TCP)

DCTCP는 data center network를 위한 TCP congestion control algorithm의 확장입니다. Data center network의 ECN(Explicit Congestion Notification)을 활용해 end host에 multi-bit feedback을 제공합니다.

.. SPDX-License-Identifier: GPL-2.0

======================
DCTCP (DataCenter TCP)
======================

DCTCP is an enhancement to the TCP congestion control algorithm for data
center networks and leverages Explicit Congestion Notification (ECN) in
the data center network to provide multi-bit feedback to the end hosts.

End host 활성화와 switch ECN threshold

11-23

End host에서 DCTCP를 활성화하려면 다음과 같이 설정합니다.

sysctl -w net.ipv4.tcp_congestion_control=dctcp
sysctl -w net.ipv4.tcp_ecn_fallback=0 (optional)

`net.ipv4.tcp_congestion_control=dctcp`는 TCP congestion control algorithm으로 DCTCP를 선택합니다. `net.ipv4.tcp_ecn_fallback=0` 설정은 선택 사항입니다.

DCTCP를 사용하는 data center network의 모든 switch는 ECN marking을 지원해야 하며, 정의한 switch buffer threshold에 도달하면 mark하도록 구성해야 합니다.

Switch의 DCTCP 기본 ECN marking threshold 경험칙은 1Gbps에서 packet 20개(30KB), 10Gbps에서 packet 65개(약 100KB)입니다. 그러나 실제 환경에 맞춰 더 신중하게 조정해야 할 수 있습니다.

자세한 내용은 아래 문서를 참고하십시오.

To enable it on end hosts::

  sysctl -w net.ipv4.tcp_congestion_control=dctcp
  sysctl -w net.ipv4.tcp_ecn_fallback=0 (optional)

All switches in the data center network running DCTCP must support ECN
marking and be configured for marking when reaching defined switch buffer
thresholds. The default ECN marking threshold heuristic for DCTCP on
switches is 20 packets (30KB) at 1Gbps, and 65 packets (~100KB) at 10Gbps,
but might need further careful tweaking.

For more details, see below documents:

논문, IETF draft와 DCTCP 자료

24-52

논문

DCTCP algorithm은 다음 두 SIGCOMM/SIGMETRICS 논문에서 더 자세히 설명합니다.

i) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye, Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, Murari Sridharan, "Data Center TCP (DCTCP)", Data Center Networks session, Proc. ACM SIGCOMM, New Delhi, 2010.

http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf

http://www.sigcomm.org/ccr/papers/2010/October/1851275.1851192

ii) Mohammad Alizadeh, Adel Javanmard, Balaji Prabhakar, "Analysis of DCTCP: Stability, Convergence, and Fairness", Proc. ACM SIGMETRICS, San Jose, 2011.

http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp_analysis-full.pdf

IETF informational draft

http://tools.ietf.org/html/draft-bensley-tcpm-dctcp-00

DCTCP site

http://simula.stanford.edu/~alizade/Site/DCTCP.html

Paper:

The algorithm is further described in detail in the following two
SIGCOMM/SIGMETRICS papers:

 i) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye,
    Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan:

      "Data Center TCP (DCTCP)", Data Center Networks session"

      Proc. ACM SIGCOMM, New Delhi, 2010.

    http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf
    http://www.sigcomm.org/ccr/papers/2010/October/1851275.1851192

ii) Mohammad Alizadeh, Adel Javanmard, and Balaji Prabhakar:

      "Analysis of DCTCP: Stability, Convergence, and Fairness"
      Proc. ACM SIGMETRICS, San Jose, 2011.

    http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp_analysis-full.pdf

IETF informational draft:

  http://tools.ietf.org/html/draft-bensley-tcpm-dctcp-00

DCTCP site:

  http://simula.stanford.edu/~alizade/Site/DCTCP.html