Communication between the router and the host is done via the IGMP, which has two versions. In IGMPv1, two IGMP packets are defined. The first packet is a membership query sent by the query router every 1 minute on the segment to find out what multicast groups are still in use. The second packet is a membership report. The hosts use a membership report to inform the query router of their interest for a specific multicast traffic. No leave process exists in IGMPv1. If the query router does not receive a membership report within 3 minutes, the router will prune the interface. A pruned interface stops receiving the multicast feed for that group. The show mroute command displays which interface has been pruned for a specific multicast stream. In IGMPv1, no selection process exists for the query router. The designated router (DR) is responsible for forwarding multicast traffic and also performs the query router function.
Example 9-1 shows the packet format for IGMPv1. As noted in Example 9-1, Protocol number 2 in IP protocol is defined for IGMP. The source address is 10.1.3.5 and the multicast group is 239.1.1.1. Any host interested in receiving the multicast stream from 10.1.3.5 will join the 239.1.1.1 group.
IP: Protocol = 2 (IGMP) IP: Header checksum = 8455 (correct) IP: Source address = [10.1.3.5] IP: Destination address = [239.1.1.1] IP: No options IP: IGMP: ----- IGMP header ----- IGMP: IGMP: Version = 1 IGMP: Type = 2 (Ver1 Membership Report) IGMP: Unused = 0x00 IGMP: Checksum = AC99 (correct) IGMP: Group Address = [239.1.1.1] IGMP: IP: Protocol = 2 (IGMP) !Protocol is IGMP IP: Header checksum = 8455 (correct)
IGMPv2 has additional functionality defined by the following IGMP packet types and is currently deployed in today's networks:
Query election process? All routers on the segment send query messages to all hosts, 224.0.0.1. The router with the lowest IP address wins and becomes the query router. Re-election process starts after 250 seconds if the query router is not heard from.
Maximum Response Time field? This field tweaks the report suppression mechanism (default is 10 seconds). The purpose of this field is to reduce burstiness, especially on segments with a lot of multicast receivers. In large segments, it is desirable to tune this value higher to prevent multiple hosts sending membership reports.
Group-specific query message? After the query router has received a leave group message, the router sends a group-specific query message to ensure no other hosts require the multicast flow. The maximum response time field for a group-specific query message is 1 second to keep the latency short. The other query message is a general membership query message also found in IGMPv1.
Leave group messages? The host sends a leave group message to all routers 224.0.0.2 that it is leaving a specific multicast group. The query router sends back a group-specific query message to ensure no other hosts are part of the multicast group. It does this twice for a total of 2 seconds and then it stops sending that specific multicast flow down to the segment.