TCP 느린 시작 비활성화

TCP 느린 시작 비활성화

고속 네트워크에 대한 TCP 느린 시작 메커니즘을 비활성화하려고 합니다. 현재 클라이언트는 비차단 1Gbps 링크를 사용하여 임의의 서버에 100MB 흐름을 보냅니다. 내 계산에서는 흐름 완료 시간이 1초 미만입니다.

그러나 문제는 전체 링크 대역폭에 도달할 수 없다는 것입니다. 즉, 전체 링크 대역폭을 얻기 전에 느린 시작 단계에서 완료됩니다. 따라서 TCP 혼잡 창 크기를 최대로 늘리고 싶습니다.

커널을 수정하지 않고도 해당 값을 쉽게 변경할 수 있는 방법을 아는 사람이 있습니까?

감사합니다~

답변1

이전 Linux 커널 버전에서는 초기 혼잡 창 값( initcwnd)이 2(2*MSS 또는 약 3KB)만큼 낮았으며 3.0부터 새로운 기본값은 10(약 14KB)입니다.

Linux 커널이 아주 오래되지 않은 경우 ip다음과 같이 command 를 사용하여 초기 정체 창을 늘릴 수 있습니다.

현재 기본 경로 정보 가져오기:

$ ip route | grep default
default via 192.168.1.1 dev eth0  proto static

initcwnd이 경로에 새 값을 할당합니다 .

$ sudo ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 10

이렇게 하면 기본 초기 정체 기간이 더 높은 값인 10*MSS(~14KB)로 늘어납니다. 이보다 높은 값(아마도 40 정도)을 사용하고 싶을 수도 있습니다.

자세한 내용은 다음을 읽어보세요.initcwnd를 늘리려는 Google의 원래 제안그리고 또한이 기사.

관련 정보