So far we have been talking about multicast transmissions using UDP. This is the usual practice, as it is impossible to do it with TCP. However, intense research is taking place since a couple of years in order to develop some new multicast transport protocols.
Several of these protocols have been implemented and are being tested. A good lesson from them is that it seems no multicast transport protocol is general and good enough for all types of multicast applications.
If transport protocols are complex and difficult to tune, imagine dealing with delays (in multimedia conferences), data loss, ordering, retransmissions, flow and congestion control, group management, etc, when the receiver is not one, but perhaps hundreds or thousands of sparse hosts. Here scalability is an issue, and new techniches are implemented, such as not giving acknowledges for every packet received but, instead, send negative acknowledges (NACKs) for data not received. RFC 1458 gives the proposed requirements for multicast protocols.
Giving descriptions of those multicast protocols is out of the
scope of this section. Instead, I'll give you the names of some
of them and point you to some sources of information: Real-Time
Transport Protocol (RTP) is concerned with multi-partite
multimedia conferences, Scalable Reliable Multicast (SRM)
is used by the wb (the distributed White-Board tool,
see section Multicast
applications), Uniform Reliable Group Communication
Protocol (URGC) enforces reliable and ordered transactions
based in a centralized control, Muse was developed as an
application specific protocol: to multicast news articles over
the MBone, the Multicast File Transfer Protocol (MFTP) is
quite descriptive by itself and people "join" to file
transmission (previously announced) much in the same way they
would join a conference, Log-Based Receiver-reliable
Multicast (LBRM) is a curious protocol that keeps track of
all packets sent in a logging server that tells the sender
whether it has to retransmit the data or can drop it safely as
all receivers got it. One protocol with a funny name -especially
for a multicast protocol- is STORM (STructure-Oriented
Resilient Multicast). Lots and lots of multicast protocols
can be found searching the Web, along with some interesting
papers proposing new activities for multicast (for instance, www
page distribution using multicast).
A good page providing comparisons between reliable multicast protocols is
http://www.tascnets.com/mist/doc/mcpCompare.html.
A very good and up-to-date site, with lots of interesting links (Internet drafts, RFCs, papers, links to other sites) is:
http://research.ivv.nasa.gov/RMP/links.html.
http://hill.lut.ac.uk/DS-Archive/MTP.html is also a good source of information on the subject.
Katia Obraczka's "Multicast Transport Protocols: A Survey and Taxonomy" article gives short descriptions for each protocol and tries to classify them according to different features. You can read it in the IEEE Communications magazine, January 1998, vol. 36, No. 1.