Skip to Main Content
This paper describes H-RMC, a reliable multicast protocol designed for implementation in the Linux kernel. H-RMC takes advantage of IP multicast and is primarily a NAK-based protocol. To accommodate low-loss environments, where feedback in the form of NAKs is scarce, H-RMC receivers return periodic update messages in the absence of other reverse traffic. H-RMC uses a combination of rate-based and window-based flow control. The sender maintains minimal information about each receiver so that buffered data is not released prematurely, and polls receivers in case it has not heard from them at the time of buffer release. Combined, these techniques produce a reliable multicast data stream with a relatively low rate of feedback. Performance results show that adequate kernel buffer space, combined with a two-stage rate control method and polling, are effective in minimizing feedback from receivers and thereby in maintaining reasonable throughputs.