⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc966.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 4 页
字号:
Network Working Group                                      S. E. DeeringRequest for Comments: 966                                 D. R. Cheriton                                                     Stanford University                                                           December 1985                              Host Groups:             A Multicast Extension to the Internet Protocol1. 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.  TheDeering & Cheriton                                              [Page 1]RFC 966                                                    December 1985Host 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,   including:      - 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   multicast facility, the multicast address of the boot servers (orDeering & Cheriton                                              [Page 2]RFC 966                                                    December 1985Host Groups: A Multicast Extension to the Internet Protocol   name servers that hold the addresses of the boot servers) can be   well-known, allowing the workstation to transmit its initial queries   to this address.   Secondly, transmitting multiple copies of the same packet makes   inefficient use of network bandwidth, gateway resources and sender   resources.  For instance, the same packet may repeatedly traverse the   same network links and pass through the same gateways.  Furthermore,   the local network level cannot recognize multi-destination delivery   to take advantage of multicast facilities that the underlying network   technologies may provide.  For example, local-area bus, ring, or   radio networks, as well as satellite-based wide-area networks, can   provide efficient multicast delivery directly.  Besides using   excessive communication resources, the use of multiple transmissions   to effect multicast severely limits the amount of parallelism in   transmission and processing that can be achieved compared to an   integrated multicast facility.   The next section describes the host group model of multicast service.   Section 5 describes the extensions to IP to support the host group   model.  Section 6 discusses the implementation of multicast within   the networks and gateways making up the Internet.  Section 7 relates   this model to other proposals.  Finally, we conclude with remarks on   our experimental prototype implementation of host groups and comments   on future directions for investigation.4. The Host Group Model   The Internet architecture defines a name space of individual host   addresses.  The host group model extends that name space to include   addresses of host groups.  A host group is a set of zero or more   Internet hosts <1>.   When an IP packet is sent with a host group   address as its destination, it is delivered with "best effort"   datagram reliability to all members of that host group.   The sender need not be a member of the destination group.  We refer   to such a group as open, in contrast to a closed group where only   members are allowed to send to the group.  We chose to provide open   groups because they are more flexible and more consistent as an   extension of conventional unicast models (even though they may harder   to implement).   Dynamic management of group membership provides flexible binding of   Internet addresses to hosts.  Hosts may join and leave groups over   time. A host may also belong to more than one group at a time.   Finally, a host may belong to no groups at times, during which that   host is unreachable within the Internet architecture.  In fact, aDeering & Cheriton                                              [Page 3]RFC 966                                                    December 1985Host Groups: A Multicast Extension to the Internet Protocol   host need not have an individual Internet address at all.  Some hosts   may only be associated with multi-host group addresses.  For   instance, there may be no reason to contact an individual time server   in the Internet, so time servers would not require individual   addresses.   Internet addresses are dynamically allocated for transient groups,   groups that often last only as long as the execution of a single   distributed program.  In addition, a range of host group identifiers   is reserved for identifying permanent groups.  One use of permanent   host groups identifiers is for host groups with standard logical   meanings such as "name server group", "boot server group", "Internet   monitor group", etc.   In the current Internet architecture, addresses are bound to single   hosts.  The host group model generalizes the binding of Internet   addresses to hosts by allowing one address to bind to multiple hosts   on multiple networks, more than one address to be bound (in part) to   one host, and the binding of an address to host to be dynamic, i.e.   possible to be modified under application control.  Within this more   general model, the current architecture is supported as a special   case, retaining its current semantics and implementation.   The following subsections provide further details of the model.   4.1. Host Group Management      Dynamic binding of Internet addresses to hosts is managed by the      following three operations which are made available to clients of      the Internet Protocol <2>:         CreateGroup ( type ) --> outcome, group-address, access-key      requests the creation of a new transient host group with the      invoking host as its only member.  The type argument specifies      whether the group is restricted or unrestricted.  A restricted      group restricts membership based on the access-key.  Only hosts      presenting a valid host access-key are allowed to join.  All      unrestricted host groups have a null access-key.  outcome      indicates whether the request is approved or denied.  If it is      approved, a new transient group address is returned in      group-address.  access-key is the protection key (or password)      associated with the new group.  This should fail only if there are      no free transient group addresses.         JoinGroup ( group-address, access-key ) --> outcomeDeering & Cheriton                                              [Page 4]RFC 966                                                    December 1985Host Groups: A Multicast Extension to the Internet Protocol      requests that the invoking host become a member of the identified      host group (permanent or transient).  outcome indicates whether      the request is approved or denied.  A request is denied if the      access key is invalid.         LeaveGroup ( group-address ) --> outcome      requests that the invoking host be dropped from membership in the      identified group (permanent or transient).  outcome indicates      whether the request is approved or denied.      There is no operation to destroy a transient host group because a      transient host group is deemed to no longer exist when its      membership goes to zero.      Permanent host group addresses are allocated and published by      Internet administrators, in the same way as well-known TCP and UDP      port numbers.  That is, they are published in future editions of      the "Assigned Numbers" document [17].   4.2. Packet Transmission      Transmission of a packet in the host group model is controlled by      two parameters of scope, one being the destination internetwork      address and the other being the "distance" to the destination      host(s).  In particular,         Send ( dest-address, source-address, data, distance )      transmits the specified data in an internetwork datagram to the      host(s) identified by dest-address that are within the specified      distance.  The destination address is thus similar to conventional      networks except that delivery may be to multiple hosts; the      distance parameter requires further discussion.      Distance may be measured in several ways, including number of      network hops, time to deliver and what might be called      administrative distance. Administrative distance refers to the      distance between the administrations of two different networks.      For example, in a company the networks of the research group and      advanced development group might be considered quite close to each      other, networks of the corporate management more distant, and      networks of other companies much more distant.  One may wish to      restrict a query to members within one's own administrative domain      because servers outside that domain may not be trusted.      Similarly, error reporting outside of an administrative domain may      not be productive and may in fact be confusing.Deering & Cheriton                                              [Page 5]RFC 966                                                    December 1985Host Groups: A Multicast Extension to the Internet Protocol      Besides limiting the scope of transmission, the distance parameter      can be used to control the scope of multicast as a binding      mechanism and to implement an expanding scope of search for a      desired service.  For instance, to locate a name server familiar      with a given name, one might check with nearby name servers and      expand the distance (by incrementing the distance on      retransmission) to include more distant name servers until the      name is found.      To reach all members of a group, a sender specifies the maximum      value for the distance parameter.  This maximum must exceed the      "diameter" of the Internet.      Packet reception is the same as conventional architectures.  That      is,         Receive () --> dest-address, source-address, data      returns the next internetwork datagram that is, or has been,      received.   4.3. Delivery Requirements      We identify several requirements for the packet delivery mechanism      that are essential to host groups being a useful and used      facility.      Firstly, given the predominance of broadcast local-area networks      and the locality of communication to individual networks, the      delivery mechanism must be able to exploit the hardware's      capability for very efficient multicast within a single local-area      network.      Secondly, the delivery mechanism must scale in sophistication to      efficient delivery across the Internet as it acquires high-speed      wide-area communication links and higher performance gateways.      The former are being provided by the introduction of high-speed      satellite channels and long-haul fiber optic links.  The latter      are made feasible by the falling cost of memory and processing      power plus the increasing importance in controlling access to      relatively unprotected local network environments.  A host group      delivery mechanism must be able to take advantage of these trends      as they materialize.      Finally, the delivery mechanism must avoid "systematic errors" in      delivery to members of the host group.  That is, a small number of      repeated transmissions must result in delivery to all groupDeering & Cheriton                                              [Page 6]RFC 966                                                    December 1985Host Groups: A Multicast Extension to the Internet Protocol      members within the specified distance, unless a member is      disconnected or has failed.  We refer to this property as      coverage.  In general, most reliable protocols make this basic      assumption for unicast delivery.  It is important to guarantee      this assumption for multicast as well or else applications using      multicast may fail in unexpected ways when coverage is not      provided.  For efficiency, the multicast delivery mechanism should      also avoid regularly delivering multiple copies of a packet to      individual hosts.      Failure notification is not viewed as an essential requirement,      given the datagram semantics of delivery.  However, a host group      extension to IP should provide "hint"-level failure notification      as the natural extension of the failure notification for unicast.5. Extensions to IP   This section discusses the specific extensions to the DARPA Internet   Protocol required to support the host group model.  The extensions   need be implemented only on those hosts that wish to join host groups   or send to host groups; existing implementations are not affected by   the proposed changes.   5.1. Group Addresses      A portion of the 32-bit IP address space is reserved for host      group addresses.  The range of group addresses is chosen to be      easily recognized and to not conflict with existing individual      addresses. Either Class A addresses with a distinguished      (currently unused) network number or Class D addresses (those      starting with 111) would be suitable. The range of group addresses      is further subdivided into a set of permanent group addresses and      a set of temporary group addresses.      Host group addresses may be used in the same way as individual      addresses in the source, destination, and options fields of IP      datagrams.  An IP implementation adds to the list of its own      individual addresses, the addresses of all groups to which it      belongs.  The source addresses of locally originated datagrams are

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -