An Implementation and Experimental Study of the
eXplicit Control Protocol (XCP)
Yongguang Zhang and Thomas R. Henderson
To appear in IEEE Infocom Conference, March 2005.
<> Abstract: The eXplicit Control Protocol (XCP) has been
proposed as a multi-level network feedback mechanism for congestion
control of Internet transport protocols. Theoretical and simulation
results have suggested that the protocol is stable and efficient over
high bandwidth-delay product paths, while being more scalable to deploy
than mechanisms that require per-flow state in routers. However, there
is little operational experience with the approach. Since the
deployment of XCP would require changes to both the end hosts and
routers, it is important to study the implications of this new
architecture before advocating such wide scale changes to internets.
This paper presents the results of an experimental study of XCP. We
first implemented XCP in the Linux kernel and solved various systems
issues. After validating previously reported simulation results, we
studied the sensitivity of XCP's performance to various environmental
factors, and discovered issues with TCP/IP configuration, capacity
misestimation due to link sharing, handling of non-congestion losses,
and the partial deployment of XCP queues in the network. These
sensitivities can significantly reduce XCP's ability to control
congestion and achieve fairness. Our contributions are twofold. First,
through implementation we have revealed the challenges in platforms
that lack large native data types or floating point arithmetic, and the
need to keep fractions in the XCP protocol header. Second, through
experiment and analysis we have identified several possibilities for
XCP to enter into incorrect feedback control loops and adversely affect
the performance. The challenges identified are deployment challenges
intrinsic to the XCP design, and they suggest that the current proposal
requires additional development and extension.>