An Implementation and Experimental Study of the Variable-Structure Congestion Control Protocol (VCP)

The Variable-structure Congestion control Protocol (VCP) has been proposed as an alternative approach to the eXplicit Control Protocol (XCP). In our earlier work, we reported the NS2 simulation results of cross-layer profiling studies of VCP, XCP, and TCP+REM in encrypted wireless networks. Our studies utilized finite-state Markov chains to model bit error characteristics of wireless links and applied per packet link layer FEC codes in order to compensate for such errors. Our simulation results showed that VCP takes a significant step toward addressing the tradeoff between the performance and practicality of implementation. In this paper, we report the results of our implementation of VCP in the Linux kernel. Our implementation of VCP consists of a number of Linux Loadable Kernel Modules (LKMs) associated with transmitting, intermediate, and receiving nodes. Our implementation allows for the co-existence of VCP with standard transport protocols such as TCP and UDP. Utilizing an experimental wired testbed capable of realistically emulating the fading characteristics of wireless links, we profile the performance of the Linux implementation of VCP. Based on our profiling results in the Linux kernel, we observe (1) the need for protecting protocol's metadata as well as data against bit errors, and (ii) that VCP represents a high performing yet practical congestion control protocol for encrypted wireless networks.

[1]  Sally Floyd,et al.  Quick-Start for TCP and IP , 2007, RFC.

[2]  S. Hemminger Network Emulation with NetEm , 2022 .

[3]  Saurabh Jain,et al.  Improving TCP Performance in High Bandwidth High RTT Links Using Layered Congestion Control , 2005 .

[4]  Cheng Jin,et al.  FAST TCP: Motivation, Architecture, Algorithms, Performance , 2006, IEEE/ACM Transactions on Networking.

[5]  Moshe Zukerman,et al.  MaxNet: a congestion control architecture , 2002, IEEE Communications Letters.

[6]  R. Srikant,et al.  Analysis and design of an adaptive virtual queue (AVQ) algorithm for active queue management , 2001, SIGCOMM '01.

[7]  Sally Floyd,et al.  HighSpeed TCP for Large Congestion Windows , 2003, RFC.

[8]  Injong Rhee,et al.  CUBIC: a new TCP-friendly high-speed TCP variant , 2008, OPSR.

[9]  Raj Jain,et al.  Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks , 1989, Comput. Networks.

[10]  H. Yousefi'zadeh,et al.  A Performance Comparison Study of End-to-End Congestion Control Protocols over MIMO Fading Channels , 2006, MILCOM 2006 - 2006 IEEE Military Communications conference.

[11]  Yunhong Gu A Survey of Transport Protocols other than Standard TCP , 2005 .

[12]  Injong Rhee,et al.  Binary increase congestion control (BIC) for fast long-distance networks , 2004, IEEE INFOCOM 2004.

[13]  Tom Kelly,et al.  Scalable TCP: improving performance in highspeed wide area networks , 2003, CCRV.

[14]  Lakshminarayanan Subramanian,et al.  One more bit is enough , 2005, SIGCOMM '05.

[15]  Xiaolong Li,et al.  An End-to-End Cross-Layer Profiling Study of Congestion Control in High BDP Wireless Networks , 2007, 2007 IEEE Wireless Communications and Networking Conference.

[16]  David L. Black,et al.  The Addition of Explicit Congestion Notification (ECN) to IP , 2001, RFC.

[17]  Steven H. Low,et al.  REM: active queue management , 2001, IEEE Network.

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

[19]  QUTdN QeO,et al.  Random early detection gateways for congestion avoidance , 1993, TNET.

[20]  Y. Zhang,et al.  An implementation and experimental study of the explicit control protocol (XCP) , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[21]  Mark Handley,et al.  Congestion control for high bandwidth-delay product networks , 2002, SIGCOMM '02.

[22]  Douglas J. Leith,et al.  H-TCP : TCP for high-speed and long-distance networks , 2004 .