Host groups: A multicast extension to the Internet Protocol
RFC 966

Document Type RFC - Unknown (December 1985; No errata)
Obsoleted by RFC 988
Last updated 2013-03-02
Stream Legacy
Formats plain text html pdf htmlized bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 966 (Unknown)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                      S. E. Deering
Request for Comments: 966                                 D. R. Cheriton
                                                     Stanford University
                                                           December 1985

                              Host Groups:
             A Multicast Extension to the Internet Protocol

1. Status of this Memo

   This RFC defines a model of service for Internet multicasting and
   proposes an extension to the Internet Protocol (IP) to support such a
   multicast service.  Discussion and suggestions for improvements are
   requested.  Distribution of this memo is unlimited.

2. Acknowledgements

   This memo was adapted from a paper [7] presented at the Ninth Data
   Communications Symposium.  This work was sponsored in part by the
   Defense Advanced Research Projects Agency under contract N00039-83-
   K-0431 and National Science Foundation Grant DCR-83-52048.

   The Internet task force on end-to-end protocols, headed by Bob
   Braden, has provided valuable input in the development of the host
   group model.

3. Introduction

   In this paper, we describe a model of multicast service we call host
   groups and propose this model as a way to support multicast in the
   DARPA Internet environment [14].  We argue that it is feasible to
   implement this facility as an extension of the existing "unicast" IP
   datagram model and mechanism.

   Multicast is the transmission of a datagram packet to a set of zero
   or more destination hosts in a network or internetwork, with a single
   address specifying the set of destination hosts.  For example, hosts
   A, B, C and D may be associated with multicast address X. On
   transmission, a packet with destination address X is delivered with
   datagram reliability to hosts A, B, C and D.

   Multicast has two primary uses, namely distributed binding and
   multi-destination delivery.  As a binding mechanism, multicast is a
   robust and often more efficient alternative to the use of name
   servers for finding a particular object or service when a particular
   host address is not known.  For example, in a distributed file
   system, all the file servers may be associated with one well-known
   multicast address.  To bind a file name to a particular server, a
   client sends a query packet containing the file name to the file
   server multicast address, for delivery to all the file servers.  The

Deering & Cheriton                                              [Page 1]

RFC 966                                                    December 1985
Host Groups: A Multicast Extension to the Internet Protocol

   server that recognizes the file name then responds to the client,
   allowing subsequent interaction directly with that server host.  Even
   when name servers are employed, multicast can be used as the first
   step in the binding process, that is, finding a name server.

   Multi-destination delivery is useful to several applications,

      - distributed, replicated databases [6,9].

      - conferencing [11].

      - distributed parallel computation, including distributed
        gaming [2].

   Ideally, multicast transmission to a set of hosts is not more
   complicated or expensive for the sender than transmission to a single
   host.  Similarly, multicast transmission should not be more expensive
   for the networks and gateways than traversing the shortest path tree
   that connects the sending host to the hosts identified by the
   multicast address.

   Multicast, transmission to a set of hosts, is properly distinguished
   from broadcast, transmission to all hosts on a network or
   internetwork. Broadcast is not a generally useful facility since
   there are few reasons for communicating with all hosts.

   A variety of local network applications and systems make use of
   multicast.  For instance, the V distributed system [8] uses
   network-level multicast for implementing efficient operations on
   groups of processes spanning multiple machines.  Similar use is being
   made for replicated databases [6] and other distributed applications
   [4]. Providing multicast in the Internet environment would allow
   porting such local network distributed applications to the Internet,
   as well as making some existing Internet applications more robust and
   portable (by, for example, removing "wired-in" lists of addresses,
   such as gateway addresses).

   At present, an Internet application logically requiring multicast
   must send individually addressed packets to each recipient.  There
   are two problems with this approach.  Firstly, requiring the sending
   host to know the specific addresses of all the recipients defeats its
   use as a binding mechanism.  For example, a diskless workstation
   needs on boot to determine the network address of a disk server and
   it is undesirable to "wire in" specific network addresses.  With a
Show full document text