Principles of congestion control
Congestion
- 너무 많은 source들이 네트워크가 처리하기에 너무 많은 데이터들을 너무 빨리 보냄.
- flow control 과는 다름.
- Congestion으로 발생되는 문제
- lost packets (router에서 buffer overflow 발생)
- long delays (queueing in router buffers)
Congestion Control - Graph
- 처음 연결이므로 조심스럽게 접근하며(Slow start), RTT가 증가할 수록, exponentially하게 증가함.
- Congestion 상황으로 인한 Time out으로 Packet loss가 발생한다면, 다시 1 MSS부터 SSTH(Slow Start Threshold) 값인 4 MSS까지 Slow start!
- 이후, SSTH 값을 넘어서면 Congestion Avoidance 구간으로 들어서며 Linearly 하게 증가함.
- 만약, 일정 값 이상의 Duplicated ACKs가 발생하면 빠르게 재전송 후(fast retransmission), SSTH값부터 다시 Linearly하게 증가함.
Causes/costs of congestion
Scenario 1
- Assumption
- Sender : 2 / Receiver : 2
- one router → Unlimited buffers
- Output link capacity : R
- 재전송 X
- 연결 당 최대 처리량 : $2/R$
- 도착률 $λ_{in}$이 Capacity에 가까워짐에 따라 큰 지연이 발생하게 됨.