TCP 수신 윈도우 크기가 감소하지 않는 이유?
글쓴이: dorado2 / 작성시간: 수, 2009/09/02 - 10:33오전
현재 Linux에서 tcp_adv_win_scale, tcp_app_win 값을 default로 사용하고 있습니다.
kernel의 Documentation 쪽을 보면 이 경우 65535(64kB)보다 작은 수신 window 크기를 가지게 된다고 하네요.
궁금한 점은, TCP 수신 window가 시간이 지남에 따라 32kB까지 증가하다가, 이후에는
크기 감소 없이 유지된다는 점입니다. packet loss가 발생하거나 RTT 값이 증가한다면
window 크기가 줄어들 수도 있을 것 같은데 말이죠.
혹시 이와 유사한 증상을 겪으신 분이 계신가요? 네트워크 상태가 양호해서 maximum window만큼 송수신이
계속 잘 일어난다고 봐야할지, 아니면 그 외 원인을 살펴봐야 할까요?
Forums:
요즘 네트웍이 워낙
요즘 네트웍이 워낙 빨라서 평형 상태에 도달하면 줄어들지 않겠죠.
패킷 로스가 발생하면 네트웍이 혼잡상태에 대한 증거이므로 window size를 줄이고
이로 인해 당연히 TCP 성능이 떨어지게 됩니다. 물론 내가 조금 희생해서(성능을 떨어뜨려서)
네트웍을 공유하는 다른 TCP 애플리케이션들끼리 같이 잘 살아보자는 의미이기도 합니다.
TCP congestion control 로직에 따르면 패킷 로스가 발생하면 어떤 알고리듬이든 간에
window size를 줄이게 되어있는데, 로스가 발생할만한 환경에서 실험을 해보셔야 window size가
줄어드는 것을 확인하실 수 있을 것 같습니다.
댓글 달기