A channel model for multicast
David R. Cheriton, Hugh W. Holbrook · 2001
Multicast allows a host to send a single datagram and have it delivered to a set of receivers. This dissertation defines a channel model of multicast for a datagram internetwork. The channel model differs in key respects from prior approaches to multicast, and in particular from the host group model adopted in the Internet. Channels provide one-to-many delivery, in contrast to the many-to-many delivery of host groups. The first half of this dissertation describes the channel model and its implementation, and shows how it solves two problems inherent with host groups. The first problem is the difficulty of providing scalable, enforceable allocation of host group addresses. The second problem is that the host group implementations do not scale well to a large network. After presenting solutions to these problems, we consider the costs of channel routing and show that, with proper implementation techniques, a router can support millions of channels at modest cost. The second half of the dissertation considers the use of channels in multicast applications. The channel model is a natural fit for one-to-many applications like Internet television but can also be used to build many-to-many applications such as distributed simulation and interactive multimedia conferencing. We evaluate three application-level techniques for building multi-sender applications, and show that they allow robust multicast applications to be built without significantly increased cost or reduced performance. This dissertation demonstrates the importance of placing functionality at the appropriate layer—large benefits arise by simplifying the network layer and moving multi-sender functionality to applications. Channels solve key problems of the host group model and provide multicast at lower cost without sacrificing robustness or efficiency for many important applications. We conclude that channels are the appropriate form of multicast for a very large datagram internetwork.