chapter 24 congestion control
DESCRIPTION
Chapter 24 Congestion Control. 트래픽 특성. 서비스에 따라 트래픽은 다양한 특성을 갖는다 . 트래픽의 특성을 나타내는 주요 파라메터 (traffic descriptor). 데이터 트래픽. 데이터 트래픽은 매우 불규칙적인 특성을 갖는다 .(bursty traffic) 반면에 전화망의 음성 트래픽은 비교적 일정한 흐름의 트래픽이다. 망에 입력되는 트래픽 양이 망이 처리할 수 있는 한도를 초과할 경우 체증이 발생한다 . - PowerPoint PPT PresentationTRANSCRIPT
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 의 변화 예