Table of Contents
TCP의 전송 타이머는 데이터 전송을 관리하고 신뢰할 수있는 배달을 보장하는 데 필수적입니다. 그들은 보낸 사람이 unacknowledged 패킷을 다시 전송해야 할 때 결정합니다. 이러한 타이머를 계산하는 방법을 이해하는 것은 그들의 설정에 영향을 미치는 이론, 알고리즘 및 실제적인 요인을 파악하는 데 사용됩니다.
TCP Retransmission Timers의 이론적 재단
TCP 리전송 타이머 뒤에 핵심 아이디어는 sender와 수신기 사이 둥근 여행 시간 (RTT)를 견적하는 것입니다. 이 추정은 특정 기간 안에 수신되지 않는 경우에 데이터를 다시 전송할 때 결정하는 것을 돕습니다. 타이머는 불필요한 재전송 또는 지연을 방지하기 위하여 네트워크 조건에 적응해야 합니다.
캘리포레이션 타이머를 위한 알고리즘
가장 일반적인 알고리즘은 야곱슨 / 켈 알고리즘이며, 동적 RTT를 기반으로 한 재전송 타임 아웃 (RTO)을 조정합니다. 그것은 매끄럽게 RTT (SRTT) 및 RTT variance (RTTVAR)의 견적을 유지합니다. RTO는 다음과 같이 계산됩니다.
RTO = SRTT + 4 * RTTVAR
이 접근은 네트워크 상태를 변경하기 위해 타이머를 허용하고 불필요한 재전송 및 효율성을 개선합니다.
Timer Calculation의 실제적인 고려
실제로 네트워크 혼잡, 패킷 손실 및 RTT 영향 타이머 설정에서 가변성과 같은 요인이 있습니다. TCP 구현은 종종 최소한과 최대 RTO 값과 같은 안전한 가드를 포함하여 과도한 짧은 시간 또는 긴 타이머를 방지합니다. 일반적으로 최소 RTO 값은 약 200 밀리 초, 최대 몇 초에 도달 할 수 있습니다.
또한, 폭발성 백오프 전략은 네트워크 압도적인 네트워크를 피하기 위해 반복된 재전송 후 사용됩니다. Proper 타이머 계산은 TCP 성능과 신뢰성을 유지하기위한 중요한 것입니다.