https://dl.acm.org/doi/10.1145/52324.52356
Congestion avoidance and control | Symposium proceedings on Communications architectures and protocols
Overall Acceptance Rate 331 of 2,663 submissions, 12%
dl.acm.org
오늘날 네트워크 책들에 나오는 congestion control과 관련한 부분들을 그대로 읽어볼 수 있는 굉장히 유명한 논문이다.
앞으로는 논문을 읽게 되면 여기에 리뷰해 보도록 해봐야겠다. 이 논문의 경우 ppt를 만들어 두었기에 첫 게시물로 대체한다. 발표 script도 있으니 참고하길 바란다. 발표자 ppt가 딱히 마땅한 게 없어서 블로그 주인장이 직접 전부 만든 것이다.. ㅠ
그래도 블로그 글이니 아주아주 간단하게 요약만 해보자면,
Conservation of packet이라는 개념에 대한 정의를 하게 되는데, (New packet isn't put into the network until an old packet leaves) 이 Conservation of packet을 하도록 하고자 하는 것이 이 paper의 goal이다.
그리고 packet conservation이 fail할 수 있는 3가지 경우에 대해 이야기를 한다. 그 경우는 다음과 같다.
1. Connection doesn't get to equilibrium 2. Sender injects a new packet before an old packet has exited 3. The equilibrium can't be reached because of resource limits along the path |
이러한 것들을 해결하기 위해 제시한 아이디어는 Slow-start, RTT RTO estimation by mean variance, Congestion avoidance 이렇게 총 3가지 아이디어가 있다.
자세한 내용은 논문과 ppt에 설명되어 있으니 궁금한 사람들을 살펴 보도록 하자.
ps. slow-start 는 exponential 하기에 fast 해보이는데 왜 이름이 slow start라고 붙여졌을까?
Why any exponential mechanism would be called “slow” is puzzling at first, but it can be explained if put in the proper historical context. We need to compare slow start not against the linear mechanism of the previous subsection, but against the original behavior of TCP. Consider what happens when a connection is established and the source first starts to send packets—that is, when it currently has no packets in transit. If the source sends as many packets as the advertised window allows—which is exactly what TCP did before slow start was developed—then even if there is a fairly large amount of bandwidth available in the network, the routers may not be able to consume this burst of packets. It all depends on how much buffer space is available at the routers. Slow start was therefore designed to space packets out so that this burst does not occur. In other words, even though its exponential growth is faster than linear growth, slow start is much “slower” than sending an entire advertised window’s worth of data all at once.
https://book.systemsapproach.org/congestion/tcpcc.html
6.3 TCP Congestion Control — Computer Networks: A Systems Approach Version 6.2-dev documentation
This section describes the predominant example of end-to-end congestion control in use today, that implemented by TCP. The essential strategy of TCP is to send packets into the network without a reservation and then to react to observable events that occur
book.systemsapproach.org