-
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 트래픽을 밀어낼 가능성이 존재한다.
'CS > Computer Network' 카테고리의 다른 글
[ Network ] 라우팅 알고리즘 ( 라우터 & Distance Vertor 편 ) (0) 2021.07.06 [Network] Application layer [ 복습, 심화] (0) 2021.04.30 [Network] Transport layer ( handshake ~ disconnection ) (0) 2021.04.30 [Network] Link layer ( ethernet, hub , switch, vlan ) (0) 2021.04.30 [Network] Link layer ( Mac addressing & ARP table ) (0) 2021.04.30 댓글