Download - Chapter 24 Congestion Control
1
Chapter 24
Congestion Control
2
트래픽 특성
서비스에 따라 트래픽은 다양한 특성을 갖는다 .
트래픽의 특성을 나타내는 주요 파라메터(traffic descriptor)
3
데이터 트래픽
데이터 트래픽은 매우 불규칙적인 특성을 갖는다 .(bursty traffic)
반면에 전화망의 음성 트래픽은 비교적 일정한 흐름의 트래픽이다 .
4
Congestion( 체증 , 혼잡 )
망에 입력되는 트래픽 양이 망이 처리할 수 있는 한도를 초과할 경우 체증이 발생한다 .
다음 그림은 단위 시간 당 입력되는 패킷의 수 (input load) 와 단위 시간당 처리되는 패킷의 수 (throughput), 그리고 패킷이 처리될 때 까지의 지연 시간 (delay) 관계를 보여 주고있다 .
5
Congestion control
Congestion 은 패킷 망에서 해결해야 할 가장 중요한 과제이자 가장 어려운 과제 중의 하나이다 .
두 가지 congestion control 에 대한 접근법 Preventive congestion control
사전에 망에 입력되는 트래픽 양을 조절한다 . Reactive congestion control
체증현상이 발생할 때 트패픽 양을 감소시킨다 .
6
Reactive congestion control
Congestion 의 발견 (detection) Congestion 이 발생하는 것을 인식한다 . 패킷의 지연시간 , 라우터의 버퍼의 길이 등을 계속
측정을 하면 congestion 상태의 초기에 이를 발견해 낼 수 있다 .
Congestion 에 대한 대응 ( 통보와 rate control) 트래픽을 과도하게 유발시키는 소스들이 체증이
해소될 때까지 트래픽을 보내는 것을 보류하도록 통보한다 .(notification)
교과서의 후방 압박 (backpressure) 이나 초크 패킷 전송이 그 예이다 .
7
TCP congestion control
Congestion 의 발견 (detection) TCP 는 송신한 패킷에 대해서 ACK 을 수신한다 . 만약 정해진 시간이 지날 때 까지 ACK 이 도착하지
않으면 congestion 이 발생한 것으로 판단하다 .(timeout)
Rate control TCP 호스트는 처음에는 적은 양의 패킷 전송을 하고
점차 양을 늘려나간다 .(slow start) Congestion 이 발생한 것으로 판단되면 전송되는
패킷의 양을 초기 상태로 줄여서 다시 시작한다 .(congestion avoidance)
8
Congestion control 파라메터
Awnd (advertised window by receiver) 초기 연결 설정 단계에서 , TCP 는 상대방 TCP 에게
자신의 최대 버퍼 크기 ( 초기 Awnd) 를 알려준다 . 세그먼트를 수신할 때 마다 TCP 는 현재 자신의 버퍼
중 비어있는 공간의 크기 (Awnd) 를 알려준다 . Cwnd (congestion window)
TCP 가 세그먼트를 전송할 때 ACK 을 받지않고 연속해서 보낼 수 있는 세그먼트의 양을 결정한다 .
즉 , TCP 흐름 제어에 의하면 TCP 는 Awnd 만큼 연속해서 세그먼트를 전송할 수 있다 . 하지만 congestion control 에 의해서 Awnd 만큼 전송할 수 없고 Cwnd 만큼 전송하게 된다 .
9
Slow Start
initialize: cwnd = 1 (one maximum segment size);
For each segment that is acknowleged
cwnd = cwnd + 1 until min(cwnd, awnd)
10
Congestion Avoidance
TCP 는 timeout 될 때까지 ACK 을 받지 못하면 congestion avoidance 를 수행한다 .
Congestion Avoidance
If (segment timeout)
1. Set threshold = cwnd/2
2. Set cwnd = 1 and
restart “slow-start” until (cwnd = threshold)
3. If (cwnd threshold)
cwnd = cwnd + 1 every roundtrip time
11
cwnd
Round-trip times
15
20
5
21
10
43 5 126 98 107 1311 15 1614
Time out occurs
Threshold
Slow Start 와 Congestion Avoidance
12
Fast Retransmit 와 Fast Recovery 동일한 ACK 을 3 개 받을 경우
Fast Retransmit Timeout 되기 전이라도 바로 재전송한다 .
Fast Recovery Cwnd 를 현재의 Cwnd 의 반으로 줄인다 . 그리고 줄인 Cwnd 에서부터 linear 하게
증가시킨다 .
13
Fast Retransmit 와 Fast Recovery
14
Cwnd 의 변화 예