TCP 왕복 시간

From IT Wiki
Revision as of 12:15, 13 November 2024 by Prairie (talk | contribs) (Created page with "'''TCP 왕복시간'''(TCP RTT: Round Trip Time)는 TCP 연결에서 패킷이 송신된 후 수신자로부터 응답(ACK)을 받는 데 걸리는 시간을 의미한다. RTT는 네트워크 지연을 측정하는 중요한 요소로, TCP가 최적의 데이터 전송 속도를 유지하고, 패킷 손실을 최소화하는 데 필수적인 정보이다. TCP RTT는 네트워크 품질, 대역폭, 지연 요소에 따라 달라지며, 이를 통해 네트워크 혼잡을...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

TCP 왕복시간(TCP RTT: Round Trip Time)는 TCP 연결에서 패킷이 송신된 후 수신자로부터 응답(ACK)을 받는 데 걸리는 시간을 의미한다. RTT는 네트워크 지연을 측정하는 중요한 요소로, TCP가 최적의 데이터 전송 속도를 유지하고, 패킷 손실을 최소화하는 데 필수적인 정보이다. TCP RTT는 네트워크 품질, 대역폭, 지연 요소에 따라 달라지며, 이를 통해 네트워크 혼잡을 조절하고 최적화한다.

역할 및 특징

  • 혼잡 제어 및 흐름 제어
    • RTT를 측정함으로써 TCP는 데이터 흐름을 조절하여 네트워크 혼잡을 최소화한다.
    • RTT가 길어질 경우 전송 속도를 줄이고, 짧을 경우 전송 속도를 높여 네트워크 자원을 효율적으로 사용한다.
  • 재전송 타이머 설정
    • TCP는 패킷이 손실되었을 가능성을 판단하기 위해 재전송 타이머를 설정한다.
    • RTT가 높을수록 타이머 값이 커지고, 낮을수록 타이머 값이 작아진다. 이를 통해 네트워크 상태에 따라 적절한 타이밍으로 재전송을 실행할 수 있다.
    • 타이머 값이 너무 짧을 경우 정상 패킷이 손실로 간주되어 불필요한 재전송이 발생할 수 있으며, 너무 길 경우 실제 손실 시 재전송이 늦어져 성능이 저하된다.
  • 네트워크 품질 평가
    • RTT는 네트워크 품질을 평가하는 척도로 활용된다.
    • RTT가 작을수록 네트워크의 응답 속도가 빠르며, 대기 시간이 적다는 것을 의미한다.
    • 반대로 RTT가 크면 네트워크 지연이 많고, 통신 품질이 저하될 가능성이 있다.

공식

TCP RTT는 다음과 같은 공식으로 측정된다.

  • RTT = ACK 수신 시간 - 데이터 송신 시간

TCP는 일반적으로 최신 RTT 값만을 사용하는 대신, 과거 RTT 값들을 반영한 가중 평균값을 사용하여 타이머를 설정한다. 이를 위해 Smoothed RTT (SRTT)를 계산하며, 일반적으로 아래와 같은 공식을 사용한다.

  • SRTT = (1 - α) * SRTT + α * RTT

여기서 α는 가중치를 나타내며, 일반적으로 0.125 값이 사용된다.

또한 RTT의 변동성을 반영하기 위해 RTT 변동값 (RTTVAR)을 사용해 재전송 타이머를 설정하는데, 이를 재전송 대기 시간 (RTO)이라고 한다.

  • RTO = SRTT + max(G, 4 * RTTVAR)

여기서 G는 시계 오차를 고려한 최소 지연값이다.

활용

RTT는 네트워크 상태와 혼잡도에 따라 변동되며, TCP는 이를 동적으로 측정하여 적절히 전송 속도 및 타이머 설정을 조절한다. RTT 값이 네트워크 상태에 따라 실시간으로 조정되므로 TCP는 각 연결의 성능을 최적화하고 안정적인 통신을 유지할 수 있다.

관련 TCP 개념

  • RTTVAR (Round Trip Time Variation): RTT의 변동성을 측정하여 네트워크 상태에 따라 적절한 재전송 타이머를 설정하는 데 활용된다.
  • RTO (Retransmission Timeout): RTT와 RTTVAR 값을 반영하여 재전송 대기 시간을 설정하는 값으로, 네트워크 상태에 따른 최적의 전송 속도를 유지하는 데 필수적이다.

같이 보기