Internet Group Management Protocol (IGMP) | 111IGMP Version 3Conceptually, IGMP version 3 behaves the same as version 2. However, there are differences:• Version 3 adds the ability to filter by multicast source, which helps the multicast routing protocolsavoid forwarding traffic to subnets where there are no interested receivers.• To enable filtering, routers must keep track of more state information, that is, the list of sources thatmust be filtered. An additional query type, the group-and-source-specific query, keeps track of statechanges, while the group-specific and general queries still refresh existing state.• Reporting is more efficient and robust. Hosts do not suppress query responses (non-suppression helpstrack state and enables the immediate-leave and IGMP snooping features), state-change reports areretransmitted to insure delivery, and a single membership report bundles multiple statements from asingle host, rather than sending an individual packet for each statement.To accommodate these protocol enhancements, the IGMP version 3 packet structure is different fromversion 2. Queries (Figure 9-2) are still sent to the all-systems address 224.0.0.1, but reports (Figure 9-3)are sent to all the IGMP version 3-capable multicast routers address 244.0.0.22.Figure 9-2. IGMP version 3 Membership Query Packet FormatFigure 9-3. IGMP version 3 Membership Report Packet FormatfnC0070mpType(0x11)Max. ResponseCodeGroup AddressChecksumCode: 0x11: Membership QueryMaximum Response Timederived from this valueReserved S Querier RobustnessValue(2)Querier's QueryInterval CodeNumber ofSourcesSource AddressesBit flag that when set to1 suppresses router queryresponse timer updatesNumber of times that arouter or receiver transmitsa query or report to insurethat it is receivedQuery Interval derivedfrom this valueNumber of source addressesto be filteredSource addresses to befilteredfnC0071mpType Reserved ReservedChecksum Number of GroupRecordsGroup Record 1Value used by IGMP to calculatemulticast reception stateGroup Record 2 Group Record NRecord Type Auxiliary DataLength(0)Multicast AddressNumber ofSourcesSourceAddressesLength of AuxiliaryData fieldNumber of source addressesto be filteredGroup address to whichthe group record pertainsAuxiliary DataSource addressesto be filteredNone defined in RFC 3376Range: 1-6Code: 1: Current state is Include2: Current state is Exclude3: State change to Include4: State change to Exclude5: Allow new sources and no state change6: Block old sources and no state changeVersion(4)IHL TOS(0xc0)Total Length Flags Frag Offset HeaderChecksumSrc IP AddrTTL(1)Protocol(2)Dest IP Addr(224.0.0.22)Options(Router Alert)Padding IGMP Packet0x12: IGMP version 1 Membership Report0x16: IGMP version 2 Membership Report0x17: IGMP Leave Group0x22: IGMP version 3 Membership Report