【正文】
rnaghi 2022 31 IGMP v3 The protocol (for multicast routers) The purpose of IGMP is to enable each multicast router to learn, for each of its directly attached works, which multicast addresses are of interest to the systems attached to those works. IGMP version 3 adds the capability for a multicast router to also learn which *sources* are of interest to neighboring systems, for packets sent to any particular multicast address. The information gathered by IGMP is provided to whichever multicast routing protocol is being used by the router, in order to ensure that multicast packets are delivered to all works where there are interested receivers. NOTE: Multicast routers may also themselves bee members of multicast groups, and therefore also perform the group member part of IGMPv3 Alberto Ornaghi 2022 32 IGMP v3 The protocol (for multicast routers) If a multicast router has more than one interface to the same work, it only needs to operate this protocol over one of those interfaces. On each interface over which this protocol is being run, the router MUST enable reception of multicast address , from all sources. Multicast routers need to know only that *at least one* system on an attached work is interested in packets to a particular multicast address from a particular source。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 ? Sourcefilt