TCP Window Scale option을 사용하면 TCP의 전송률을 크게 증가시킬 수 있음은 "TCP Window Scaling(1) - LFN에서의 동작"에서 살펴보았으며, LFN이 아닌 경우에는 Window Sccaling option을 사용하더라도 TCP 전송률의 개선은 기대할 수 없음을 "TCP Window Scaling(2) - LFN이 아닌 경우의 동작"에서 살펴보았다. 이번에는 Window Scale option을 사용하였을 때 이론적으로 예상되는 성능과 시뮬레이션 결과가 잘 일치하는지를 살펴보기로 한다.
1.544Mbps 대역폭과 513ms의 RTT를 가지는 전송 링크에서 Window Scaling 기능이 적용되지 않는 TCP를 사용할 경우 이론적인 최대 전송율은 1.02Mbps이며, 1.5Mbps의 전송율을 내기 위해서는 100,860바이트의 Window가 필요하다[1, 2].
시뮬레이션을 통해 이 예측을 확인해 보자. "TCP Window Scaling(1) - LFN에서의 동작"에서 사용한 시나리오들에서 대역폭은 DS1(1.544Mbps)로, RTT는 513ms가 되도록 변경한다.
다음은 [1]의 예제에 맞추어 수정된 시나리오에서 Window Scaling 속성을 사용하였을 때와 사용하지 않았을  때의 전송률(throughput)을 비교한 것이다.

 


Window Scaling을 사용하지 않았을 때는 최대 전송률이 약 1Mbps이고 Window Scaling을 사용하면 1.5Mbps임을 확인할 수 있으며, 이는 이론적인 예측과 일치하는 것이다.

 

[1] http://en.wikipedia.org/wiki/Window_scaling
[2] http://nenunena.tistory.com/149

 

Posted by 신상헌
,