📄 rfc966.txt
字号:
elegant way of implementing existing Internet applications. We are currently implementing a prototype host group facility as an extension of IP. For practical reasons, this prototype implements all group management functions and multicast routing outside of the Internet gateways, in special hosts called multicast agents, which are similar to the broadcast repeaters of Lebowitz and Mankins. The collection of multicast agents in effect provides a second gateway system on top of the existing Internet, for multicast purposes. The major costs of this separation are redundancy of routing tables between gateways and multicast agents and the increased delay and unreliability of extra hops in the delivery path. Much of the routing information in the multicast agents must be "wired-in" because they do not have access to the gateways' routing tables. However, this rudimentary implementation provides an environment for evaluating the interface to the multicast service and for investigating group management and multicast routing protocols for eventual use in the gateways. It also serves as a testbed for porting multicast-based distributed applications to the Internet. For now, we are restricting group membership to local networks that already have a broadcast or multicast capability, such as theDeering & Cheriton [Page 14]RFC 966 December 1985Host Groups: A Multicast Extension to the Internet Protocol Ethernet. We feel that, in the future, any network that is to support hosts other than just gateways must have a multicast addressing mode. Efficient implementation of multicast within point-to-point or virtual circuit networks deserves investigation. A significant issue raised by the host group model is authentication and access control in the Internet. Gateways must control which hosts can create and join host groups, presumably making their decision based on the identity of the requestor (thus requiring authentication) and permissions (access control lists). This issue does not arise in conventional internetwork architectures because host addresses are administratively assigned with no notion of dynamic assignment and binding as provided by host groups. We believe that access control should be recognized as a proper and necessary function of gateways so as to protect the hosts of local networks from general internetwork activity. Thus, group access control can be subsumed as part of this more general mechanism, although more investigation of the general issue is called for. On a philosophical point, there has been considerable reluctance to make open use of multicast on local networks because it was network-specific and not provided across the Internet. We were originally of that school. However, we recognized that our "hidden" uses of multicast in the V distributed system were essential unless we resorted to dramatically poorer solutions - wired-in addresses. We also recognized, as described in this paper, that an adequate multicast facility for the Internet was feasible. As a consequence, we now argue that multicast is an important and basic facility to provide in local networks and internetworks. Higher levels of communication, including applications, should feel free to make use of this powerful facility. Networks and internetworks lacking multicast should be regarded as deficient relative to the future (and present) requirements of sophisticated distributed applications and communication systems.Deering & Cheriton [Page 15]RFC 966 December 1985Host Groups: A Multicast Extension to the Internet ProtocolAppendix I. Internet Group Management Protocol (IGMP) The Internet Group Management Protocol (IGMP) is used between IP hosts and their immediate neighbour multicast agents to support the allocation of temporary group addresses and the addition and deletion of members of a group. Like ICMP, IGMP is a required part of all IP implementations. IGMP messages are encapsulated in IP datagrams, with an IP protocol number of 2. IGMP messages are formatted similarly to ICMP messages and the different IGMP message types are given values distinct from ICMP message types, so that both protocols may share common implementation modules or, perhaps, be merged into a single protocol. IGMP interactions take the form of request-response transactions. A request message is sent by hosts to the permanent group of all immediate neighbour multicast agents. Multicast agents reply to the IP source address of a request. If no reply is received within a (currently unspecified) timeout interval, a host retransmits its request, up to some (currently unspecified) maximum number of times. IGMP transactions are considered idempotent, so that multicast agents need not recognize and filter out duplicate requests nor buffer replies <4>. The IGMP message formats and procedures are defined below, in the style used in the ICMP specification.Deering & Cheriton [Page 16]RFC 966 December 1985Host Groups: A Multicast Extension to the Internet Protocol Create Group Request or Create Group Reply Message 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Access Key + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IP Fields: Addresses A Create Group Request message is sent with an individual IP address of the sending host as its source, and the well-known group address of the multicast agents as its destination. The corresponding Create Group Reply is sent with those two addresses reversed. IGMP Fields: Type 101 for Create Group Request 102 for Create Group Reply Code For a Create Group Request message, the Code field indicates if the group is to be restricted: 0 = unrestricted 1 = restricted For a Create Group Reply message, the Code field specifies the outcome of the request: 0 = request approved 1 = request denied, no resourcesDeering & Cheriton [Page 17]RFC 966 December 1985Host Groups: A Multicast Extension to the Internet Protocol Checksum The checksum is the 16-bit one's complement of the one's complement sum of the IGMP message starting with the IGMP Type. For computing the checksum, the checksum field should be zero. This checksum may be replaced in the future. Identifier An identifier to aid in matching Request and Reply messages. Sequence Number A sequence number to aid in matching Request and Reply messages. Group Address For a Create Group Request message, a value of 0. For a Create Group Reply message, either a newly allocated group address (if the request is approved) or a value of 0 (if denied). Access Key For a Create Group Request message, a value of 0. For a Create Group Reply message, either a pseudo-random 64-bit number (if the request for a restricted group is approved) or 0. Description A Create Group Request message is sent to the the group of local multicast agents by a host wishing to allocate a new temporary group. If no Reply message is received within t seconds, the Request is retransmitted. If no Reply is received after n transmissions, the request is deemed to have failed. The first Reply message to arrive, if any, specifies the outcome of the request. The request may be denied because of lack of resources (e.g. no table space in gateways or all temporary addresses in use).Deering & Cheriton [Page 18]RFC 966 December 1985Host Groups: A Multicast Extension to the Internet Protocol If the request is approved, the requesting host is considered to be the first and only current member of the new host group. The Identifier and Sequence Number fields are used to match the Reply to the corresponding Request. The multicast agents may choose to use these values to minimize the chance of allocating more than one new group for a single request, for example when a Reply is lost and a Request is retransmitted. However, the multicast agents must be prepared to recover temporary group addresses without requiring explicit Leave Group Requests from all members; they may choose simply to allocate a new address for every retransmission and recover unused ones when needed <5>.Deering & Cheriton [Page 19]RFC 966 December 1985Host Groups: A Multicast Extension to the Internet Protocol Join Group Request or Join Group Reply Message 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Access Key + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IP Fields: Addresses A Join Group Request message is sent with an individual IP address of the sending host as its source, and the well-known group address of the multicast agents as its destination. The corresponding Join Group Reply is sent with those two addresses reversed. IGMP Fields: Type 103 for Join Group Request 104 for Join Group Reply Code For a Join Group Request message, the Code field contains 0. For a Join Group Reply message, the Code field specifies the outcome of the request: 0 = request approved 1 = request denied, no resources 2 = request denied, invalid group address 3 = request denied, invalid access keyDeering & Cheriton [Page 20]RFC 966 December 1985Host Groups: A Multicast Extension to the Internet Protocol Checksum The checksum is the 16-bit one's complement of the one's complement sum of the IGMP message starting with the IGMP Type. For computing the checksum, the checksum field should be zero. This checksum may be replaced in the future. Identifier An identifier to aid in matching Request and Reply messages.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -