4.9 Multicast
4.9.1 IGMP Snooping
Theory
Computers and network devices that want to receive multicast transmissions need to inform nearby routers that
they will become members of a multicast group. The Internet Group Management Protocol (IGMP) is used to
communicate this information. IGMP is also used to periodically check the multicast group for members that are no
longer active. In the case where there is more than one multicast router on a sub network, one router is elected as
the ‘queried’. This router then keeps track of the membership of the multicast groups that have active members.
The information received from IGMP is then used to determine if multicast packets should be forwarded to a given
sub network or not. The router can check, using IGMP, to see if there is at least one member of a multicast group
on a given subnet work. If there are no members on a sub network, packets will not be forwarded to that sub
network.
IGMP Versions 1 and 2
Multicast groups allow members to join or leave at any time. IGMP provides the method for members and
multicast routers to communicate when joining or leaving a multicast group.
IGMP version 1 is defined in RFC 1112. It has a fixed packet size and no optional data.
The format of an IGMP packet is shown below:
IGMP Message Format
Octets
0
8 16
31
Type Response
Time
Checksum
Group Address (all zeros if this is a query)
The IGMP Type codes are shown below:
Type Meaning
0x11
Membership Query (if Group Address is 0.0.0.0)
0x11
Specific Group Membership Query (if Group Address is Present)
0x16
Membership Report (version 2)
0x17
Leave a Group (version 2)
0x12
Membership Report (version 1)
IGMP packets enable multicast routers to keep track of the membership of multicast groups, on their respective
sub networks. The following outlines what is communicated between a multicast router and a multicast group
member using IGMP.