Robust and fair Multicast Congestion Control (M2C)
Since 1995 and the Receiver-driven Layered Multicast (RLM) protocol, numerous multicast congestion control protocols have been proposed, such as RLC, FLID-SL, FLID-DL and finally the WEBRC protocol. However these protocols suffer from some limitations and have not been extensively experimented on a wide range of network conditions. This article presents the Multicast Congestion Control (M2C) protocol, which is based on a dynamic layer mechanism and a congestion window mechanism for each receiver. M2C is designed to be TCP-friendly and to fairly share the bandwidth when competing with unicast and multicast streams. To reduce simulation approximations and to carry out extensive evaluations over the Internet we implemented M2C and several other multicast congestion control protocols. The experiments reveal interesting network behaviors, such as the join time latency problem, that simulations and local testbeds had not revealed before. We evaluated the impact of this latency on the state of the art protocols. Focusing on WEBRC and M2C, we have then defined and run a validation benchmark to qualify their behavior in terms of fairness and convergence time. These experiments show M2C robustness and good behavior for the mentioned metrics and its improvements compared to WEBRC. Furthermore, we have analyzed the signaling overhead of these protocols. Thus, M2C is an efficient multicast congestion control with an open source implementation which is easily usable by multicast applications, such as file transfer or video streaming.