A taxonomy for congestion control algorithms in packet switching networks

ALAPATI V. S. REDDY works in the Cellular Digital Packet Data Group at BNR, Richardyon. ongestion control in packet-switching networks became a high priority in network design and research due to ever-growing network bandwidth and intensive network applications. Dozens of various congestion conGol strategies have been proposed, and more are forthcoming. This article proposes a new taxonomy of congestion control algorithms in packet-switching computer networks. Basedoncontrol-theoreticconcepts, weview a congestion control scheme as a control policy to achieve prescribed goals (e.g., round-trip delay, or throughput) in adistributed networkenvironment. Accordingly, a set of criteria for control systems can be used toclassify characteristicsofvariouscongestion control algorithms. A taxonomy that follows such a theory not only provides a coherent framework for comparative studies of existing approaches, but also helps in future research and development of new strategies for congestion control. Congestion in a packet-switching network is a state in which performance degrades due to the saturation of network resources such as communication links, processor cycles, and memory buffers. Adverse effects resulting from such congestion include the long delay of message delivery, waste of system resources, and possible network collapse, when all communication in the entire network ceases. Network congestion, like traffic jams in big cities, are becoming real threats to the growth of network interconnections and communication applications. Studies on congestion control, which outline measures for controlling network traffics in order to prevent, avoid, or recover from network congestion, have long been considered significant for the future development of network communications. A large number of various congestion control schemes have been proposed, and a few mechanisms have been implemented in real networks, such as the control methods in IBM’s System Networking architecture (SNA) [12], Digital’s Networking Architecture (DNA) [7], and the Internet [19,36]. However, despite years of research efforts, the problem of network congestion control remains a critical issue and a high priority, especially given the prospective of the continually growing speed and size of future networks. The existing approaches for network congestion control cover a broad range of techniques, including window (buffer) flow control [24], source quench [37], slow start [19], schedule-based control [32], binary feedback [38], rate-based control [4], etc. [51]. It is often difficult to characterize and compare various features among different congestion control schemes. Current literature in the field classifies most congestion control approaches into two categories: approaches for congestion avoidance, and approaches for congestion recovery. Such a simple classification only provides a very general picture of common properties between separating groups of approaches. A detailed taxonomy is required in order to help researchers and engineers understand the similarities and differences among various schemes, and to decide which techniques are best suited for particular designs. In this article, we propose, a new taxonomy for congestion control algorithms in packet-switching computer networks. We view a network as a large, distributed control system, in which a congestion control scheme is a (distributed) control policy executed at each node (hosts orswitches) of the network in order to maintain a certain level of stable conditions. Although such a distributed network control system is t oo complex to be solvable based on traditional control theories, well-established control-theoretic concepts are qualified candidates for the classification of various congestion control policies. This article shows how a set of criteria for control systems is defined as a taxonomy of congestion control algorithms for