CUBIC 알고리즘이 적용되었을 때의 TCP 동작을 살펴보기 위하여 "TCP Window Scaling(1) - LFN에서의 동작"에서 사용한 시나리오를 수정한 시험망 토폴로지를 나타낸 것이다. Discarder_2 노드에서 200초와 300초에 패킷 1개씩을 폐기하도록 설정하고, Server 노드와 STA 노드 사이의 RTT는 100ms가 되도록 설정한다.
CUBIC 알고리즘을 사용하지 않은 경우와 사용한 경우의 비교를 위하여, New Reno를 적용한 시나리오와 CUBIC을 적용한 시나리오를 작성한다.
다음 그림은 시뮬레이션을 수행한 후, CUBIC 알고리즘을 적용한 시나리오의 Server 노드에서 측정된 CWND 값을 관찰한 것이다. [1, 2, 3]에 설명된 것처럼 cubic 함수에 의한 전형적인 CWND 변화 패턴을 확인할 수 있다.
다음 그림은 기존 방식과의 차이를 확인하기 위하여, New Reno를 적용한 시나리오와 CUBIC을 적용한 시나리오의 결과를 비교한 것이다.
New Reno에서는 재전송이 발생하면 Slow-Start 과정과 Congestion Avoidance 과정을 거치므로, CWND가 최소값으로 줄어들었다가 다시 급격하게 증가한다. 반면, CUBIC에서는 재전송을 수행한 후 Steady State Behavior 과정과 Probing 과정을 거치므로, CWND의 변화가 훨씬 완만하게 이루어진다.
다음 그림은 Server 노드에서 Discarder_2 노드로 전달되는 트래픽 양을 비교한 것이다. 재전송이 발생하였을 때에도 CUBIC을 사용한 경우에는 전송률의 저하가 심하지 않으며, 파일 전송 완료까지의 시간도(미미한 차이이기는 하지만) 더 짧다.
[1] http://research.csc.ncsu.edu/netsrv/?q=content/bic-and-cubic
[2] http://tools.ietf.org/html/draft-rhee-tcpm-cubic-02
[3] Sangtae Ha, Injong Rhee and Lisong Xu, "CUBIC: A New TCP-Friendly High-Speed TCP Variant", ACM SIGOPS Operating System Review, Volume 42, Issue 5, July 2008, Page(s):64-74, 2008.
[4] http://kernelnewbies.org/Linux_2_6_19
'Riverbed Modeler(OPNET) > TCP Model' 카테고리의 다른 글
OS별 TCP 프로파일 (16.1 버전) (0) | 2019.10.06 |
---|---|
TCP CUBIC(3) - 큰 수신 버퍼 사용시 (2) | 2019.05.24 |
TCP CUBIC(1) - 파라미터 설정 (0) | 2018.06.24 |
TCP 가속 (0) | 2018.02.01 |
TCP 연결 정보 (0) | 2017.07.06 |