혼잡이 왜 나쁜지, 네트워크 혼잡이 상위 계층 애플리케이션들이 수신하는 성능과 네트워크 혼잡을 피하거나 대응하기 위해 취할 수 있는 다양한 접근 방식에서 어떻게 나타나는지 일반적인 컨텍스트에서의 혼잡 제어 문제를 고려함.
혼잡 제어가 발생하는 점차 복잡해지는 세 가지 시나리오
혼잡에 어떻게 반응 혹은 회피하는지에 초점을 맞추기보다는 호스트들이 자신의 전송률을 증가시키고 네트워크 혼잡이 발생함에 따라 무슨 일이 일어나는지에 대한 문제에 초점을 맞춘다.
두 호스트 a, b가 각각 출발지와 목적지 사이에 단일 홉을 공유하는 연결을 갖는다.
호스트 a의 애플리케이션이 ~ 평균 전송률로 연결상으로 데이터를 보내고 있다고 가정. 이러한 데이터는 각 데이터 단위가 소켓으로 한 번만 전송된다는 점에서 원본 데이터이다. 하위의 트랜스포트 계층 프로토콜은 단순하게 데이터를 캡슐화하고 전송한다. 오류 복구, 흐름 제어 또는 혼잡 제어를 수행하지 않는다.
호스트 a와 호스트 b가 전송되는 패킷은 라우터와 용량 r의 공유출력 링크를 통과한다.
첫 번째 시나리오에서 라우터는 무제한의 버퍼 공간을 갖는다고 가정한다.
연결당 처리량
0 ~ 2/R 사이의 전송률에 대해 수신자 측의 처리량은 송신자의 전송률과 같다. 송신자가 보내는 모든 데이터는 유한한 지연으로 수신자에게 수신된다. 그러나 전송률이 R/2이상일 때 처리량은 단지 R/2에 불과하다. 처리량에서 이러한 상한은 두 연결 사이에서 링크 용량 공유의 결과다. 링크는 안정 상태에서는 R/2를 초과해서 패킷을 수신자에게 전달할 수 없다.
cwnd + rwnd = 지연시간
p.238 → 람다 아웃이 throwput인데, 그 중에서 goodput