【正文】
Alberto Ornaghi 2022 1 IGMP v3 Inter Group Management Protocol, Version 3 References : Alberto Ornaghi 2022 2 Abstract This document specifies Version 3 of the Inter Group Management Protocol, IGMPv3. IGMP is the protocol used by IPv4 systems to report their IP multicast group memberships to neighboring multicast routers. Version 3 of IGMP adds support for source filtering, that is, the ability for a system to report interest in receiving packets *only* from specific source addresses, or from *all but* specific source addresses, sent to a particular multicast address. That information may be used by multicast routing protocols to avoid delivering multicast packets from specific sources to works where there are no interested receivers. Alberto Ornaghi 2022 3 Table of contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. IGMP v1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. IGMP v2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. IGMP v3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5. The API for Requesting IP Multicast Reception . . . . . . . 11 6. Message Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7. Description of the Protocol for Group Members . . . . . . . 24 8. Description of the Protocol for Multicast Routers. . . . . . . 31 9. Interoperation with Older Versions of IGMP. . . . . . . . . . 40 10. List of Timers, Counters, and their Default. . . . . . . . . . . 45 11. Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . 49 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Alberto Ornaghi 2022 4 Introduction The Inter Group Management Protocol (IGMP) is used by IPv4 systems (hosts and routers) to report their IP multicast group memberships to any neighboring multicast routers. Note that an IP multicast router may itself be a member of one or more multicast groups, in which case it performs both the multicast router part of the protocol (to collect the membership information needed by its multicast routing protocol) and the group member part of the protocol (to inform itself and other, neighboring multicast routers of its memberships). IGMP is also used for other IP multicast management functions, using message types other than those used for group membership reporting. Alberto Ornaghi 2022 5 IGMP through versions ? Version 1, specified in [RFC1112], was the first widelydeployed version and the first version to bee an Inter Standard. ? Version 2, specified in [RFC2236], added support for low leave latency, that is, a reduction in the time it takes for a multicast router to learn that there are no longer any members of a particular group present on an attached work. ? Version 3 adds support for source filtering, that is, the ability for a system to report interest in receiving packets *only* from specific source addresses, or from *all but* specific source addresses, sent to a particular multicast address. Alberto Ornaghi 2022 6 IGMP v1 Behaviour LAN 2 Group member router LAN 3 Group member router Group member LAN 1 router IGMP query IGMP query IGMP report IGMP report IGMP routing update 30 sec IGMP routing update Alberto Ornaghi 2022 7 IGMP v1 Pruning router router router router router router Group Member Group Member Group Member IGMP query Alberto Ornaghi 2022 8 IGMP v2 enhancements IGMP v2 introduces a procedure for the election of the router querier for each LAN. In the version 1 this was done by different routing policies. GroupSpecific Query – Added to permit queries form a router to a specific group and not to allhost address in the sub (). LeaveGroup – for a reduction in the time it takes for a multicast router to learn that there are no longer any members of a particular group present on an attached work. Sent to allrouters () When a router receives the LeaveGroup message, it uses the GroupSpecific Query to verify if the sender was the last one in the group. Alberto Ornaghi 2022 9 IGMP v2 Pruning router router router router router router Group Member Group Member Group Member IGMP Leave IGMP Leave Specific Group query Alberto Ornaghi 2022 10 IGMP v3 features ? MUST be interoperable with v1 and v2 ? Sourcefiltering – Only from a source – All but a source Alberto Ornaghi 2022 11 IGMP v3 API Within an IP system, there is (at least conceptually) an Application Programming Interface or API used by upperlayer protocols or application programs to ask the IP layer to enable and disable reception of packets sent to specific IP multicast addresses. In order to take full advantage of the capabilities of IGMPv3, a system39。s IP API must support the following operation IPMulticastListen ( socket, interface, multicastaddress, filtermode, sourcelist ) Alberto Ornaghi 2022 12 IGMP v3 API parameters socket is an implementationspecific parameter used to distinguish among different requesting entities. interface is a local identifier of the work interface on which reception of the specified multicast address is to be enabled or disabled. (., an Ether interface) multicastaddress is the IP multicast address to which the request pertains. If reception of more than one multicast address on a given interface is desired, IPMulticastListen is invoked separately for each desired multicast address. filtermode may be either INCLUDE or EXCLUDE. sourcelist is an unordered list of zero or more IP unicast addresses from which multicast reception is