RTT   Round Trip Time   왕복시간, RTT 예측

(2017-06-13)

RTO, Retransmission Timeout, 재전송 타임아웃, Karn Algorithm, 카른 알고리즘, Karn 알고리즘, 지수 RTO 후퇴

1. RTT (Round Trip Time, 왕복 시간)패킷망(인터넷) 상에서 상대측 호스트까지 패킷이 왕복하는데 걸리는 시간
     - 이에 영향 주는 요소 :  망의 혼잡, 거리, 전송속도 등이 있음


2. IP 패킷의 RTTIP 패킷 왕복시간은, 
     - ping 명령어를 사용하여 RTT(왕복시간) 및 TTL(IP패킷수명) 수치를 알아볼 수 있음


3. TCP 세그먼트의 RTT 측정 및 RTO 예측/추정

  ㅇ RTT (Round Trip Time, 왕복 시간) 측정
     - 1 이상의 TCP 세그먼트들이 보내면, 1번 만 확인응답이 이루어지며, 그 왕복시간을 측정

     - RTT 측정샘플 세그먼트의 송신부터 확인응답 받기까지의 왕복시간을 측정
        . 네트워크 가변성 때문에 RTT 샘플 측정값은 그때 마다 달라지게됨

  ㅇ RTO (Retransmission Timeout, 재전송 타임아웃 시간) 설정 또는 계산
       = 전송된 한 세그먼트에 대한 확인응답을 기다려야 하는 시간
       = TCP 재전송 타이머 값

     - 송신 TCP는 매 세그먼트를 전송할 때 마다 재전송 타이머(RTO) 가동함
        . RTO는 TCP 연결의 RTT(왕복시간) 보다 약간 크면 이상적임
           .. 즉, 세그먼트 전송부터 확인응답 받기까지의 시간 보다 약간 크면 좋음
        . 얼마나 커야 하는지 즉, RTT 예측에 대해 여러 계산 방식들이 있음

  ㅇ RT0 계산을 위해 필요한 변수 유지
     - TCP 송신 모듈은 RTO 계산을 위해 1개 측정변수 및 2개 상태변수를 유지해야 함
        . MRTT (measured RTT, 측정된 RTT)               : 측정변수
        . SRTT (smoothed RTT, 매끄러운 RTT)             : 상태변수
           .. 단순평균 방식 보다는 최근 망 상황에 더 높은 비중을 주는 가중평균 방식
           .. 최근 샘플값일수록 더 높은 가중치를 주게됨
           .. (EWMA, Exponential Weighted Moving Average, 지수 가중 이동 평균)
        . RTTVAR (round-trip time variation, RTT 편차)  : 상태변수
           .. 측정된 RTT 샘플변동성을 고려함
        . RTO (retransmission timeout, 재전송 타이머)   : 결과변수
           .. SRTT,RTTVAR로부터 계산되어짐

  ㅇ RT0 계산 방법
     - 초기값
        . RTO    = 시스템 마다 다름 통상, 3~6 초 정도로 세팅됨
           .. 표준 권고치는 1 초 (RFC 6298)

     - 첫 측정 이후
        . SRTT   = MRTT
        . RTTVAR = MRTT / 2
        . RTO    = SRTT + 4 RTTVAR

     - 연속 측정 이후
        . SRTT   = (1-α) SRTT + α MRTT
        . RTTVAR = (1-β) RTTVAR + β |SRTT - MRTT|
        . RTO    = SRTT + 4 RTTVAR

     * 일반적으로, α=1/8 (0.125) 및 β=1/4 (0.25)을 사용

     * 결과적으로, RTO는 최근의 SRTT 값에 균형을 위해 작은 RTTVAR의 4배 취한 값을 더함

  ㅇ 타임아웃되어서 실제 재전송 발생시 RTO 계산 방법 
     - (Karn 알고리즘)
        . 재전송 세그먼트는 RTT 측정 대상에서 제외 함
           .. 즉, 새로이 전송하는 데이터 세그먼트 만을 RTT 측정 대상으로 삼음

     - (지수 백오프, 지수 RTO 후퇴)
        . 기존에 계산된 RTO 값은 재전송이 일어난 경우에,
           .. 혼잡제어를 위해 RTO를 점차 두 배 씩 늘려가는 방식을 사용함 

  ※ 관련 표준 : RFC 2988 (舊), 6298 (現) `Computing TCP's Retransmission Timer`


[TCP 흐름/혼잡 제어] 1. 흐름제어 2. Sliding Window 3. TCP 혼잡제어 4. Slow Start 5. Silly Windown Syndrome 6. TCP 타이머 7. RTT 예측 8. 확인응답 9. TCP 재전송

 
        최근수정     요약목록     참고문헌