1. Principles of Congestion control
- Congestion
- 너무 많은 소스가 너무 많은 데이터를 너무 빨리 전송해서 네트워크가 감당하기가 힘든 것
- lost packets, long delays로 알 수 있음
- 네트워크에서 top10 problem으로 꼽힘
- congestion을 감지하는 방법?
- congestion이 감지되었을 때 대책?
2. Causes/costs of congestion
- 예시1
- 두 송신자, 두 수신자
- 하나의 라우터와 무한의 버퍼
- output link capacity: R
- 재전송 없음
- 송수신자가 두명이기 때문에 output link의 최대 throughput은 R/2. input의 throughput이 R/2와 가까워질 수록 점점 delay가 늘어나고, R/2를 넘어가는 순간 무조건 큐에 쌓임
- 예시2
- 하나의 라우터, 유한의 버퍼
- 송신자는 timeout된 패킷을 재전송함
- application-layer input = application-layer output
- transport-layer input >= application-layer input
- 재전송되기 때문
- idealization-1: 송신자가 버퍼에 빈공간이 얼마나 있는지 알고 있음.
- 버퍼에 공간이 있는 경우에만 재전송
- idealization-2: packet loss가 생기면 송신자가 안다.
- 패킷이 loss된 경우에만 재전송을 함
- 재전송하는 경우가 있기 때문에 재전송을 포함한 input link의 처리량은 R/2일 때 R/2가 되지 않음
- 결국 전송을 하기 때문에 output link의 처리량의 상한은 R/2가 됨
- Realistic: duplicates이 있을 수 있음
- 가다가 packet loss가 일어나거나 buffer overflow가 일어날 수 있음 --> timeout 필요
- timeout 간격이 너무 빠르면, 같은 패킷이 두 번 전달되는 경우가 생김
- "congestion" 비용: 잘 전달된 패킷에 대한 불필요한 재전송
- 예시3
- 4명의 송신자, multi-hop paths
- timeout과 재전송
- 빨간 link 처리량이 증가하면, 파란 링크와 빨간 링크가 동시에 지나가는 라우터의 버퍼에서 파란 링크의 패킷이 드롭됨. 그래서 파란링크의 패킷이 재전송되는데 그러면 분홍링크랑 파랑링크가 동시에 지나가는 라우터(upstream transmission capacity)에서는 멀쩡하게 지나간 파란 패킷이 또 지나가게 되므로 낭비가 발생함
- 현실의 congestion은 다음과 같은 이유로 악화됨
- packet loss나 duplicates 등의 재전송 때문에 낭비되는 bandwidth
- ACK나 timeout을 기다리기 위해 낭비되는 시간
'학교 > network' 카테고리의 다른 글
[ch3] 5-7. connection-oriented transport: TCP (0) | 2022.06.19 |
---|---|
[ch3] 7. TCP congestion control (0) | 2022.05.16 |
[ch3] 5. connection-oriented transport: TCP (0) | 2022.05.16 |
[ch1] 3. network core - packet switching, circuit switching, network structure (0) | 2022.04.23 |
[ch1] 2. network edge - end systems, access networks, link (0) | 2022.04.23 |
댓글