Skip to Main Content
As multicast applications have become widely deployed on the Internet, it is increasingly important to ensure these applications respond to network congestion in a TCP-friendly manner so as to coexist with TCP connections (which constitute the majority of the Internet traffic). We present a RAte-based Congestion COntrOI scheme for Multicast, called RACCOOM, for applications that deploy source-based multicast trees as the communication paradigm. In the absence of packet loss, a RACCOOM session keeps track of the congestion status of the on-tree path with the largest round trip time (called the target path) and adjusts its sending rate using a TCP Vegas [L. S. Brakmo et al., (1995)]-like method. Upon detection of packet loss anywhere in the multicast tree, RACCOOM then responds by reducing its sending rate by half in a TCP-Reno manner. The ACK aggregation method used in RACCOOM prevents ACK implosion and yet provides the sender with a simple but comprehensive view of congestion conditions in the multicast tree. Finally, RACCOOM is equipped with mechanisms to deal with changes of the target path due to traffic change and member join/leave. To achieve TCP-friendliness, we have devised a simple method in RACCOOM to emulate how a TCP connection would behave under the same packet loss and delay characteristics. The results thus derived are used by RACCOOM to online adjust the parameters of its rate adjustment method. Alternatively, we can achieve (weighted) fairness (in terms of bandwidth sharing) among competing RACCOOM connections based on results obtained from feedback control theory. We validate the design, and demonstrate the features, of RACCOOM in ns-2. The encouraging simulation results, coupled with the fact that all the RACCOOM operations except acknowledgment aggregation (which requires modest router support) can be performed at end hosts, suggest that RACCOOM is a practical and yet effective congestion control solution for multicast applications.