Flow Control ‘ Self-clocking

Computer networks have experienced an explosive growth over the past few years and with that growth have come severe congestion problems. For example, it is now common to see internet gateways drop 10% of the incoming packets because of local buffer overflows. Our investigation of some of these problems has shown that much of the cause lies in transport protocol implementations (not in the protocols themselves): The ‘obvious’ ways to implement a window-based transport protocol can result in exactly the wrong behavior in response to network congestion. We give examples of ‘wrong’ behavior and describe some simple algorithms that can be used to make right things happen. The algorithms are rooted in the idea of achieving network stability by forcing the transport connection to obey a ‘packet conservation’ principle. We show how the algorithms derive from this principle and what effect they have on traffic over congested networks. In October of ’86, the Internet had the first of what became a series of ‘congestion collapses’. During this period, the data throughput from LBL to UC Berkeley (sites separated by 400 yards and two IMP hops) dropped from 32 Kbps to 40 bps. We were fascinated by this sudden factor-of-thousand drop in bandwidth and embarked on an investigation of why things had gotten so bad. In particular, we wondered if the 4.3BSD (Berkeley UNIX) TCP was mis-behaving or if it could be tuned to work better under abysmal network conditions. The answer to both of these questions was “yes”.

[1]  Stephen William Edge,et al.  An adaptive timeout algorithm for retransmission across a packet switching network , 1984, Comput. Commun. Rev..

[2]  David J. Aldous Ultimate instability of exponential back-off protocol for acknowledgment-based transmission control of random access communication channels , 1987, IEEE Trans. Inf. Theory.

[3]  Van Jacobson,et al.  Congestion avoidance and control , 1988, SIGCOMM '88.

[4]  John L. Romkey,et al.  Nonstandard for transmission of IP datagrams over serial lines: SLIP , 1988, RFC.

[5]  Frank Kelly,et al.  Stochastic Models of Computer Communication Systems , 1985 .

[6]  Lixia Zhang,et al.  Why TCP timers don't work well , 1986, SIGCOMM '86.

[7]  Raphael Rom,et al.  Transmission Control Protocol Specification. , 1976 .

[8]  J. Runnenburg PROBABILITY THEORY AND ITS APPLICATIONS , 1985 .

[9]  and Charles K. Taft Reswick,et al.  Introduction to Dynamic Systems , 1967 .

[10]  Raj Jain,et al.  A Timeout-Based Congestion Control Scheme for Window Flow-Controlled Networks , 1986, IEEE J. Sel. Areas Commun..

[11]  Bruce E. Hajek Stochastic approximation methods for decentralized control of multiaccess communications , 1985, IEEE Trans. Inf. Theory.

[12]  C. Kline Supercomputers on the internet: a case study , 1987, SIGCOMM '87.

[13]  NagleJohn Congestion control in IP/TCP internetworks , 1984 .

[14]  P. Kumar,et al.  Theory and practice of recursive identification , 1985, IEEE Transactions on Automatic Control.

[15]  Bruce Hajek,et al.  Decentralized dynamic control of a multiaccess broadcast channel , 1982 .