Timeout이 발생하지 않았을 때의 Retransmission Timeout(RTO) 값 계산에 대한 OPNET에서의 구현 방식은 초기 표준[1]을 기본으로 하고, Roud Trip Time(RTT) 값 계산 과정은 Jacobson이 제시한 방식[2, 3]을 따른 것이다. (따라서, 최신 표준[6]에서 설명된 절차와는 약간 차이가 있다.)
즉, OPNET에서 사용하고 있는 RTO 및 Smoothed RTT(SRTT) 계산 절차는 다음과 같다(RTO 계산을 위한 상수값들을 변경하지 않고 "TCP 재전송(1) - RTO 파라미터 설정"에서 설명한 기본값을 사용하였을 때).

 

 

 

 

여기에서 LBOUND는 "TCP 재전송(1) - RTO 파라미터 설정"에서 살펴본 Minimum RTO 속성값이며, UBOUND는 Maximum RTO 속성값이다.
일반적인 통신망에서 RTT는 수백ms 이내이며, RTTVAR은 RTT보다 훨씬 작은 값을 가진다. 따라서, 대부분의 경우 RTO는 LBOUND에 의해서 결정된다.

 

[1] RFC 793, "Transmission Control Protocol," IETF, Sep. 1981.
[2] Jacobson V., "Congestion Avoidance and Control," In Proceeding of SIGCOMM '88, ACM, Aug. 1988.
[3] Jacobson V. and M. Karels, "Congestion avoidance and control," LBNL, Nov. 1988.
[4] RFC 1122, "Requirements for Internet Hosts - Communication Layers," IETF, Oct. 1989.
[5] RFC 2988, "Computing TCP's Retransmission Timer," IETF, Nov. 2000.
[6] RFC 6298, "Computing TCP's Retransmission Timer," IETF, Jun. 2011.
[7] Karn, P. and C. Partridge, "Improving Round-Trip Time Estimates in Reliable Transport Protocols," In Proceeding of SIGCOMM '87, ACM, Aug. 1987.

 

Posted by 신상헌
,