Reliable Multicast Protocol

Felix Rauch

Diploma Thesis Winter 1996/97
Supervisors: J. Bolliger, Prof. T. Gross
Institute for Computer Systems, ETH Zürich


Objectives

As IP multicast does not transport data-packets in a reliable fashion, the goal of this work was to design and implement a reliable multicast protocol. Further, the implementation should be evaluated and a simple application for demonstration-purposes was required.

Several proposals to achieve reliable multicast are briefly compared in the thesis. While a sender-initiated approach would be easier to implement, it has the disadvantage of ACK implosions. To keep the implementation scalable and reduce the traffic for duplicate requests and repairs, a scalable reliable approach similar to one presented by Van Jacobson et. al. was choosen.

Results

A library offering an interface for reliable data-transfers using IP multicast was implemented, as well as a simple, text-based, interactive communication system based on the library. The library is stable, supports more than one multicast group at a time and handles the fragmentation of large application data units. Packets are delivered to the application in the same order in which they were sent by the sender. The repair-mechanism sends repair-requests to the whole multicast group and uses random timers as well as exponential backoffs to reduce the number of duplicate requests and repairs. The implemented network-protocol uses combined packet-types to reduce the number of packets sent to the network. In the current implementation, this feature is not fully used.

Some measurements with the library were done on a local ethernet as well as on an ATM-link. They indicate that for some packet-sizes the achieved bandwith is around the values that were to be expected. However, there are still some unexplainable effects.

 

Further Work

Because the time for the measurements was limited, they need to be extended in a future work. Especially tests on a larger network could give some interesting results about the scalability of the presented approach. The usefulness of some of the implemented optimizations has yet to be proved.


[ CS-Department | Up ]

ETH Zürich: Department of Computer Science
Comments to Jürg Bolliger <bolliger@inf.ethz.ch>
March 11, 1997