Principles of congestion control
congestion : 긴 딜레이, 패킷 손실
scenario 1 (simplest)
설정 : 하나의 라우터, 무한 크기 버퍼, 입출력 링크 용량 R, 재전송이 필요하지 않음
=> 용량이 R/2이면 네트워크 도착이 절반임으로 네트워크가 가득 찬다. 버퍼의 크기가 무한이므로 패킷 손실은 발생하지 않지만, 큐잉 지연이 발생하게 된다. 이에 따라 전송 지연이 증가한다.
scenario 2
설정 : 하나의 라우터, 유한 버퍼, 재전송 있음
애플리케이션 레이어은 입력과 출력이 같고, 재전송을 포함한 transport 레이어의 입력은 애플리케이션의 입력보다 크거나 같다.
Idealization(이상화)
완벽한 정보 가짐: sender는 라우터 버퍼가 사용 가능할 때만 데이터를 전송한다.
일부 완벽한 정보: 패킷이 라우터에 가득 차서 손실될 수 있다. 패킷 손실이 확인됐을 때 재전송한다.
Realistic scenario: un-needed duplicates (불필요한 중복 패킷)
- 버퍼가 가득차면 라우터는 드랍하여 패킷이 손실되기에 재전송이 필요하다.
- 그러나 sender의 타임아웃으로 인해 두 개의 패킷이 전송될 수도 있다.
congestion으로 인한 비용
- 수신자의 throughput(처리량)에 대해 더 많은 재전송이 필요하다.
- 불필요한 재전송 때문에 링크가 여러 패킷 복사본을 전송하게 된다. 최대 처리량이 줄어들게 된다.
scenario 3
설정 : 4 senders, multi-hop paths(경로에 여러 중간 노드), timeout/retransmit
위에서 빨간색 데이터 스트림이 증가할 수록 파란색 데이터 스트림이 드랍돼, 종단에는 파란색 스트림의 처리량이 0이 된다.
congestion으로 인한 비용
패킷이 드랍될 때, 해당 패킷에 사용된 upstream trasmission capacity와 buffering이 낭비되었다 볼 수 있다.
Causes/costs of congestion : insights
- throughput은 capacity를 초과할 수 없다.
- capacity에 접근할 수록 딜레이가 증가한다.
- 손실/재전송은 효과적인 throughput를 감소시킨다.
- 필요하지 않은 복제는 효과적인 throughput을 더욱 감소시킨다.
- upstream에서 전송된 패킷이 downstream에서 손실되면 capacity와 buffering이 낭비된다.
Approaches towards congestion control
End-end congestion control
- 네트워크로부터 명시적인 피드백이 없다
- 혼잡은 손실, 딜레이 관측으로부터 추론된다.
- TCP에서 사용되는 접근법이다.
Network-assisted congestion control
- 라우터는 congested router를 통과하는 flow을 가진 송신/수신 호스트에게 직접 피드백을 제공한다.
- congestion level을 나타내거나, sending rate를 명시적으로 설정할 수 있다.
- TCP ECN, ATM, DECbit 프로토콜 등이 이런 방식을 사용한다.
'학교강의필기장 > 컴퓨터네트워크' 카테고리의 다른 글
컴퓨터네트워크[16]: congestion control (0) | 2023.04.26 |
---|---|
컴퓨터네트워크[14]: flow control / connection management - TCP (0) | 2023.04.25 |
컴퓨터네트워크[13]: Connection-oriented transport: TCP (0) | 2023.04.20 |
컴퓨터네트워크[12]: Principles of reliable data transfer (0) | 2023.04.20 |
컴퓨터네트워크[11]: Connectionless transport: UDP (0) | 2023.04.19 |