• [Network] Trnasport ( congestion control ~ fairness : end )

    2021. 4. 30.

    by. KimBangg

     

    Tcp congestion control - > 네트워크 상의 데이터 처리를 효율적으로 하기 위해서 사용!

     

    각각 sender가 커넥션으로 보내는 트래픽 속도를 줄이는 방법을 통해, control을 한다.

    만약, Tcp sender가 congestion이 없다고 느끼며, 전송속도 UP, 있다고 느끼면 Down !

     

    Questions

    1. how does a TCP sender limit the rate at which it send traffic into its connection?

     

    Congetsion control mechanism을 활용하는 sender는 congestion window(=cwnd)를 가지고 있다.

    cwnd를 사용해서 sender는 packet으로 인해 connection이 overflow가 되지 않도록 하기 위해

    => LastByteSent - LastByteAcked <= min { cwnd, rwnd} 만큼의 데이터를 보낼 수 있으며 , 보내는 속도는 cwnd/RTT로 제한 되어야 한다.

     

     

    2. how does a TCP congestion?

    2-1) AIMD( Addictive_increase, Multiplicative-Decrease)

    Loss가 감지되기 전 까지는 RTT당 1MSS만큼 증가 시키고, Loss가 발생하게 되면 cwnd를 half!

     

    2-2 ) slow start

    최초 cwnd는 = 1mss로 설정한 후, 충돌이 나기 전 까지는 2배씩 향상시키켜 빠르게 상승시킨다.

    대표사진 삭제

    사진 설명을 입력하세요.

     

     

    2-3) loss 발견 및 대응 방법

    1.timeout을 통해 loss가 발생한 경우

    cwnd를 1로 초기화 시키고, threshold(충돌난 지점의 2/1)지점까지는 slow start 방식으로 진행 한 후,

    threshold를 지나면 congestion avoidance를 위해 linear로 1mss씩 증가 시킨다.

     

    2) 3duplicate 를 통해 loss를 알게 된 경우

     

    RENO : loss 지점의 half부분 + 3 지점부터 시작.

    Tahoe : Timeout loss와 같은 방식으로 구현.

     

     

     

    대표사진 삭제

    사진 설명을 입력하세요.

     

    3) TCP throughput

     

    W : loss가 발생했을 때의 windowsize를 의미한다.

     

    avg window size = 3/4 * w;

    avg throughput = 3.4*w per RTT

     

    4) TCP fairness

    K개의 TCP 연결이 R bps의 전송률 (bandwidth)의 link를 공유하는 경우, 각 전송률의 평균이 K/R가 가깝다면

    Congestion control은 fairness하다고 정의 할 수 있다.

     

    공정한 이유는 ?

    - 이상적으로 두 처리율의 합은 R과 같아야 함

    - 동등한 대역폭 공유와 전체 대역폭 이용선의 교차 지점 가까운 곳의 처리율

    - throughput이 증가함에 따라, addictive는 increase slope of 1, 감소하는 비례하는 양 만큼하기 때문

     

     

    UDP faireness

    1) 멀티미디어 어플리케이션은 TCP를 사용하지 않음

    => loss < 속도 중요, 즉 congestion control 도입을 통해 속도의 감소를 원치 않는다.

     

    하지만, TCP관점에서는 UDP가 공정하지 못하는데, 그 이유는 전송률 조절 및 협력을 하지 않기 때문에, tcp 트래픽을 밀어낼 가능성이 존재한다.

     

    댓글