📄 rfc1054.txt
字号:
- "join group" occurs when the host decides to join the group on the interface. It may occur only in the Non-Member state. - "leave group" occurs when the host decides to leave the group on the interface. It may occur only in the Delaying Member and Idle Member states. - "query received" occurs when the host receives a valid IGMP Host Membership Query message. To be valid, the Query message must be at least 8 octets long and have a correct IGMP checksum. A single Query applies to all memberships on the interface from which the Query is received. It is ignored forDeering [Page 13]RFC 1054 Host Extensions for IP Multicasting May 1988 memberships in the Non-Member or Delaying Member state. - "report received" occurs when the host receives a valid IGMP Host Membership Report message. To be valid, the Report message must be at least 8 octets long, have a correct IGMP checksum, and contain the same IP host group address in its IP destination field and its IGMP group address field. A Report applies only to the membership in the group identified by the Report, on the interface from which the Report is received. It is ignored for memberships in the Non-Member or Idle Member state. - "timer expired" occurs when the report delay timer for the group on the interface expires. It may occur only in the Delaying Member state. All other events, such as receiving invalid IGMP messages, or IGMP messages other than Query or Report, are ignored in all states. There are three possible actions that may be taken in response to the above events: - "send report" for the group on the interface. - "start timer" for the group on the interface, using a random delay value between 0 and D seconds. - "stop timer" for the group on the interface.Deering [Page 14]RFC 1054 Host Extensions for IP Multicasting May 1988 In the following diagram, each state transition arc is labelled with the event that causes the transition, and, in parentheses, any actions taken during the transition. ________________ | | | | | | | | --------->| Non-Member |<--------- | | | | | | | | | | | | | |________________| | | | | | leave group | join group | leave group | (stop timer) |(send report, | | | start timer) | ________|________ | ________|________ | |<--------- | | | | | | | |<-------------------| | | | query received | | | Delaying Member | (start timer) | Idle Member | | |------------------->| | | | report received | | | | (stop timer) | | |_________________|------------------->|_________________| timer expired (send report) The all-hosts group (address 224.0.0.1) is handled as a special case. The host starts in Idle Member state for that group on every interface, never transitions to another state, and never sends a report for that group.Protocol Parameters The maximum report delay, D, is 10 seconds.Deering [Page 15]RFC 1054 Host Extensions for IP Multicasting May 1988APPENDIX II. HOST GROUP ADDRESS ISSUES This appendix is not part of the IP multicasting specification, but provides background discussion of several issues related to IP host group addresses.Group Address Binding The binding of IP host group addresses to physical hosts may be considered a generalization of the binding of IP unicast addresses. An IP unicast address is statically bound to a single local network interface on a single IP network. An IP host group address is dynamically bound to a set of local network interfaces on a set of IP networks. It is important to understand that an IP host group address is NOT bound to a set of IP unicast addresses. The multicast routers do not need to maintain a list of individual members of each host group. For example, a multicast router attached to an Ethernet need associate only a single Ethernet multicast address with each host group having local members, rather than a list of the members' individual IP or Ethernet addresses.Group Addresses as Logical Addresses Host group addresses have been defined specifically for use in the destination address field of multicast IP datagrams. However, the fact that group addresses are location-independent (they are not statically bound to a single network interface) suggests possible uses as more general "logical addresses", both in the source as well as the destination address field of datagrams. For example, a mobile IP host might have a host group address as its only identity, used as the source of datagrams it sends. Whenever the mobile host moved from one network to another, it would join its own group on the new network and depart from the group on the old network. Other hosts communicating with the mobile one would deal only with the group address and would be unaware of, and unaffected by, the changing network location of the mobile host. Host group addresses cannot, however, be used to solve all problems of internetwork logical addressing, such as delivery to the "nearest" or the "least loaded" network interface of a multi-homed host. Furthermore, there are hazards in using group addresses in the source address field of datagrams when the group actually contains more than one host. For instance, the IP datagram reassembly algorithm relies on every host using a different source address. Also, errors in a datagram sent with a group source address may result in error reports being returned to all members of the group, not just the sender. InDeering [Page 16]RFC 1054 Host Extensions for IP Multicasting May 1988 view of these hazards, this memo specifies the use of host group addresses only in the IP destination address field. However, it is recommended that datagrams with a group source address, or a group address as part of a source routing option, be accepted without complaint, thereby allowing other implementations to experiment with logical addressing applications of host group addresses.Allocation of Transient Host Group Addresses This memo does not specify how transient group address are allocated. It is anticipated that different portions of the IP transient host group address space will be allocated using different techniques. For example, there may be a number of servers that can be contacted to acquire a new transient group address. Some higher-level protocols (such as VMTP, specified in RFC-1045) may generate higher- level transient "process group" or "entity group" addresses which are then algorithmically mapped to a subset of the IP transient host group addresses, similarly to the way that IP host group addresses are mapped to Ethernet multicast addresses. A portion of the IP group address space may be set aside for random allocation by applications that can tolerate occasional collisions with other multicast users, perhaps generating new addresses until a suitably "quiet" one is found. In general, a host cannot assume that datagrams sent to any host group address will reach only the intended hosts, or that datagrams received as a member of a transient host group are intended for the recipient. Misdelivery must be detected at a level above IP, using higher-level identifiers or authentication tokens. Information transmitted to a host group address should be encrypted or governed by administrative routing controls if the sender is concerned about unwanted listeners.APPENDIX III. CHANGES FROM RFC-988 The IP multicast extensions specified in this memo are significantly different from those specified in RFC-988. Most of the changes are due to a shift of responsibility away from the multicast routers (called "multicast agents" in RFC-988) and onto the hosts. This new distribution of responsibility is consistent with the lightweight, soft-state gateway architecture of the Internet, and it allows the IP multicast services (in the same way as the IP unicast services) to be used among hosts on a single network when no router is up or present on the network. Thus, current single-network IP broadcast applications may be migrated to the use of IP multicast before multicast routers are widely available. The following changes are a consequence of this shift of responsibility:Deering [Page 17]RFC 1054 Host Extensions for IP Multicasting May 1988 - Private hosts groups and access keys have been eliminated. The multicast routers are no longer considered trustworthy controllers of group membership; it is up to hosts and their administrators to provide their own mechanisms to prevent unwanted eavesdropping on group communication, perhaps by using end-to-end encryption or by imposing restrictions on the flow of IP multicast datagrams into and out of particular administrative domains. - The CreateHostGroup operation has been eliminated. The responsibility for allocating transient host groups has been moved from multicast routers to the hosts. See Appendix II for a brief discussion of some ways in which hosts might do their own transient group allocation. - The JoinHostGroup and LeaveHostGroup operations have become non-blocking, because it is no longer necessary to await approval from a multicast router when changing membership. It is also no longer possible for a host to have its membership revoked by a multicast router. - The IGMP protocol is substantially different from that in RFC-988, reflecting the changed roles of hosts and multicast routers. - The new IGMP requires that there be an "all-hosts" group. There is no longer a need for an "all-multicast-agents" group. Other changes that are not related to the shift of responsibility are: - The decision whether or not to loop back a multicast datagram sent from a member of the destination group is now made at the time the datagram is sent, rather than at the time the group is joined. This gives the sender another degree of scope control, beyond the IP time-to-live. - The handling of IP time-to-live, and of multiple network interfaces, has been more precisely specified. - Hosts are no longer allowed to place an IP host group address in a source routing option. - The AcceptAddress and RejectAddress operations at the local network service interface have been renamed JoinLocalGroup and LeaveLocalGroup to emphasize their semantic similarity to the JoinHostGroup and LeaveHostGroup operations at the IP service interface.Deering [Page 18]RFC 1054 Host Extensions for IP Multicasting May 1988 - A new mapping algorithm for Ethernet multicast addresses has been specified. - The organization of the memo has been changed somewhat, and a state transition diagram has been added to the IGMP specification.Deering [Page 19]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -