요약
- RFC 3742는
cwnd가max_ssthresh를 넘으면 TCP의 윈도우 성장을 늦추자고 제안했다. 지수적 슬로우 스타트는 왕복 시간 한 번에 수천 개의 세그먼트를 추가할 수 있었기 때문이다. - 검증된 에러타텀 236은 명시된 RTT당 범위를 바로잡고, 83,000개 패킷에 도달하기까지의 836 RTT를 정확한 예측이 아닌 최소 추정치로 만들었다.
이 구분이 중요한 이유는 “제한된”이 “고정 속도”를 뜻하지 않았기 때문이다. RFC 3742는 혼잡 윈도우가 수천 개 단위의 최대 세그먼트 크기(MSS)에 이를 수 있는 연결을 위한 선택적 실험적(Experimental) 제안이었다.max_ssthresh이하에서는 기존 슬로우 스타트처럼 도착하는 각 ACK마다 1 MSS씩 증가시켰다. 그 임계값을 넘으면K = int(cwnd / (0.5 * max_ssthresh))를 계산하고 ACK당 대략 MSS의 K분의 1을 더했다. 이 추가 임계값은ssthresh를 대체하는 것이 아니었고,ssthresh를 넘으면 여전히 슬로우 스타트가 끝났다.
제안의 산술은 문서가 뒷받침할 수 있는 수준보다 더 확신에 차서 제시되었다. 원래 2절은max_ssthresh를 넘는 성장이 왕복 시간당 최대 그 임계값의 절반이라고 서술했다. 그러나cwnd가 올라가면서K가 단계적으로 변하는 ACK 수준의 규칙은 하나의 범위를 기술하고 있었다. RFC Editor가 검증한 에러타텀 236은 그 불변 조건을 바로잡았다. 증가량은 RTT당max_ssthreshMSS를 넘지 않으며 그 절반보다 작지 않다는 것이었다. 또한 단일 도달 시간 공식을 하한과 상한으로 바꿨다. 100-MSS 임계값과 83,000개 패킷의 목표 윈도우에 대해 자주 인용된 836-RTT 수치는 “최소한” 836 RTT가 되었다.
이는 새로운 혼잡 제어 알고리즘이 아니라 메커니즘에 대한 서술의 정정이다. RFC의 원문은 2004년에 발표된 문서로 그대로 남아 있으며, 에러타텀은 그것과 함께 읽어야 하는 별개의 근거이다. 이 정정은 독자가 가능한 성장과 소요 기간의 그림을 더 넓게 볼 수 있게 해주지만, 어느 쪽 끝점도 보편적인 측정 결과로 만들지는 않는다.
성장을 제한해야 했던 이유는 송신자의 문제이자 외부효과였다. 큰 슬로우 스타트 도약은 많은 패킷을 한꺼번에 유실시키고 재전송 타임아웃을 유발하며 연결을 작은 혼잡 윈도우로 되돌릴 수 있었다. 같은 버스트가 다른 트래픽이 사용하는 큐와 손실 예산을 소모할 수도 있었다. RFC는 100-MSS 예시를 들고 Linux 2.4.16 Web100 커널에서의 초기 실험을 보고했지만, 이는 오늘날의 배포, 인터넷 전역의 이득, 또는 큐가 선택한 크기 이하로 유지된다는 보장을 증명하는 것이 아니라 범위가 한정된 역사적 주장이다.
이후의 TCP 문서들은 바뀐 설계 어휘를 보여준다. RFC 9438은 일반적으로 CUBIC의 슬로우 스타트에 HyStart++를 권장하면서 Limited Slow-Start를 실험적 대안으로 나열한다. RFC 9406은 대신 왕복 지연 상승을 슬로우 스타트를 빠져나갈 시점의 단서로 사용하고, 이어서 빠져나감이 이르지 않았는지 확인하는 보수적 단계를 둔다. 이는 RFC 3742의 윈도우 의존적 증분과는 다른 제어 신호이다. 메커니즘이 서로 호환되지 않기 때문에 이 계보가 유용한 것이다.
네트워크 운영자에게 이 에러타텀은 알고리즘의 대표 수치가 실제로 무엇을 한정하는지 물어보라고 일깨워 준다. 왕복 시간당 윈도우 증분은 바이트 전송률 상한도, 큐 측정도, 공유 경로에서의 공정성 증명도 아니다. 임계값, ACK 동작, 페이싱, 버퍼, RTT, 경쟁 흐름 모두가 실제 결과를 형성한다. 이 정정은 RFC 자신의 불확실성을 읽을 수 있게 만들어 줄 뿐, 그것을 제거하지는 않는다.
출처
- RFC 3742 — Limited Slow-Start for TCP with Large Congestion Windows
- RFC Editor Erratum 236 for RFC 3742
- RFC 7414 — A Roadmap for TCP Specification Documents
- RFC 9438 — CUBIC for Fast and Long-Distance Networks
- RFC 9406 — HyStart++: Modified Slow Start for TCP
- RFC Editor status page for RFC 3742
- RFC 5681 — TCP Congestion Control
- RFC 3465 — TCP Congestion Control with Appropriate Byte Counting (ABC)
- RFC 2414 — Increasing TCP’s Initial Window
- RFC 2415 — Simulation Studies of Increased Initial Window Size
- RFC 2416 — When TCP Starts Up With Four Packets Into Only Three Buffers
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





