Congestion avoidance with BUC (buffer utilization control) gateways and RFCN (reverse feedback congestion notification)

This paper proposes the BUC (buffer utilization control) algorithm, a congestion avoidance algorithm executed exclusively in a gateway we call the "BUC gateway". The BUC gateway maintains separate queues per transport-level-conversation at each output-port. These "per-conversation-queues" are served in a round-robin manner. To control the data-flow of conversations, the BUC algorithm updates a window in well-defined time-intervals called "epochs". At the beginning of each epoch a conversation's window is computed as a function of the per-conversation-queue-size and the window-size of the preceding epoch. Additionally, we propose a novel signalling mechanism called RFCN-reverse feedback congestion notification. RFCN is applicable to transport protocols using sliding window flow control, e.g. TCP. Window flow control requires that the receiver transmits it's available buffer size to the sender in a window field in the ACK-header. The BUC algorithm may update the credit value in this window field to it's computed window to control the transmission rate of a data-sender. As only the common sliding window flow control mechanism has to be provided by the transport protocol, RFCN has the ability of controlling the data flow of transport entities without needing cooperative transport protocols. This allows the deployment of the BUC algorithm in existing networks without having to upgrade (TCP) transport entities. Simulations are performed to evaluate the convergence behavior and the performance of the BUC algorithm.

[1]  Van Jacobson,et al.  Random early detection gateways for congestion avoidance , 1993, TNET.

[2]  K. K. Ramakrishnan,et al.  A binary feedback scheme for congestion avoidance in computer networks with a connectionless network layer , 1995, CCRV.

[3]  George Varghese,et al.  Efficient fair queueing using deficit round robin , 1995, SIGCOMM '95.

[4]  Sally Floyd,et al.  TCP and explicit congestion notification , 1994, CCRV.

[5]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1997, TNET.

[6]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM 1989.

[7]  John B. Nagle,et al.  On Packet Switches with Infinite Storage , 1987, IEEE Trans. Commun..

[8]  Van Jacobson,et al.  TCP Extensions for High Performance , 1992, RFC.

[9]  Jeffrey C. Mogul Observing TCP dynamics in real networks , 1992, SIGCOMM 1992.

[10]  Srinivasan Keshav A control-theoretic approach to flow control , 1991, SIGCOMM 1991.

[11]  E. L. Hahne,et al.  Round-Robin Scheduling for Max-Min Fairness in Data Networks , 1991, IEEE J. Sel. Areas Commun..

[12]  Raj Jain,et al.  A comparison of hashing schemes for address lookup in computer networks , 1992, IEEE Trans. Commun..

[13]  V. Jacobson,et al.  Congestion avoidance and control , 1988, CCRV.

[14]  Robert T. Braden,et al.  Requirements for Internet Hosts - Communication Layers , 1989, RFC.

[15]  Sally Floyd,et al.  Dynamics of TCP Traffic over ATM Networks , 1995, IEEE J. Sel. Areas Commun..

[16]  Hui Zhang,et al.  Hierarchical packet fair queueing algorithms , 1996, SIGCOMM 1996.

[17]  I. Miloucheva,et al.  Protocol mechanisms for reliable transmission and flow control on multimedia highways , 1996, Conference Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix Conference on Computers and Communications.

[18]  Paul E. McKenney,et al.  Stochastic fairness queueing , 1990, Proceedings. IEEE INFOCOM '90: Ninth Annual Joint Conference of the IEEE Computer and Communications Societies@m_The Multiple Facets of Integration.