TCP Congestion Control   TCP 혼잡제어

(2020-02-19)

혼잡 제어

1. TCP 혼잡제어TCP 혼잡제어 원칙
     - TCP 관점 : TCP패킷 손실의 원인을 망의 혼잡에 기인한 것으로 만 보고있음
     - TCP 행동 : 이때 망 혼잡이 가중되지 않도록, 각자가 덜 이기적이도록 노력함

  ㅇ 주요 관리 요소
     - 혼잡 윈도우(Congestion Window)의 크기 조절
        . 혼잡시 혼잡 윈도우 크기(cwnd) 조정에 의해 전송률 제어


2. TCP 혼잡제어 방식

  ㅇ 제한된 형태의 혼잡제어 방식
     - RTT(왕복시간) 편차 고려함
        . 최근에 계산된 RTT 값에 균형을 주도록 작은 RTTVAR(RTT 편차)의 4배 취한 값을 더함
     - 카른 알고리즘(Karn Algorithm)
        . 재전송 세그먼트RTT 측정 대상에서 제외
     - 지수 RTO 후퇴
        . 재전송이 일어난 경우에, 혼잡제어를 위해 RTO를 점차 두 배 씩 늘려가는 방식

     * 송신측에서 연이은 재전송을 계속함으로 인해, 혼잡상황을 악화시키지 않도록 하는 방식

  ㅇ 포괄적 형태의 혼잡제어 방식
     - 느린시작 (Slow Start) : 지수 증가
        . 연결 초기에 한꺼번에 보내지 않고, 
           .. 처음에는 작게 시작하나, 점차 빠르게 송신 데이터량을 늘이는 방식
           .. 송신 데이터량을 늘리는 임계치 한계는 TCP MSS(65535 바이트)

        . 혼잡 발생 상황을 예방하기 위해 세그먼트 송신율을 사전 억제하는 방식

     - 혼잡 회피 (Congestion Avoidance) : 가산 증가
        . 혼잡이 감지되면, 지수적이 아닌 가산적인 증가 방식을 채택하는 방식

     - 빠른 재전송 (Fast Retransmit)                           ☞ TCP 재전송 참조
        . 정상적인 재전송  과정을 따르지 않고, 중간 누락된 세그먼트를 빠르게 재전송

     - 빠른 회복 (Fast Recovery)                               ☞ TCP 재전송 참조
        . 이미 여러번 ACK가 오게되면, 비록 세그먼트들이 순서가 어긋나게 수신되더라도,
          네트워크 혼잡이라 여기지 않고, 송신률을 빠르게 증가시킴

  ※ 관련 표준 
     - RFC 2001 : `TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery
                   Algorithms` (1997) 
        . TCP 구현 별칭 : TCP Tahoe
           .. Jacobson의 혼잡제어 매커니즘을 기반으로, Fast Recovery를 제외한 기타 모든 기능 포함
           .. BSD Network Release 1.0 (BNR1) (1988년)
     - RFC 2581,5681 : `TCP Congestion Control` (1999)(2009)
        . TCP 구현 별칭 : TCP Reno
           .. 위 Tahoe 구현에 Fast Recovery 등도 추가 
           .. BSD Network Release 2.0 (BNR2) (1990년)
     - RFC 2582,3782 : `The NewReno Modification to TCP's Fast Recovery Algorithm` (1999)(2004)
        . TCP 구현 별칭 : TCP NewReno
     * 위 구현 별칭은 관례적으로 미국 도시명에서 따옴


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

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