Detecting Multicast Routers
About IGMP B-3
B.3 DETECTING MULTICAST ROUTERS
The location of a router needs to be known in order to forward IGMP report frames back to the
router. The router(s) send multicast routing protocol frames which get flooded throughout the
network. By snooping on these protocol, the switch will mark ports as connected to a router. The
port is put in a “forward all” mode where all multicast frames will be flooded. This allows all types
of IP multicast traffic (including IGMP streams) to go to the router.
There are many multicast routing protocols that the switch supports. These include the following:
PIM version 1 and 2
CBT (core based trees)
MOSPF
DVMRP
The routing protocols are detected as follows:
All the multicast routing protocols have a destination address of 01-00-5E.
DVMRP and PIM version 1 run over IGMP. If the IGMP frame type is not a REPORET,
QUERY, OR LEAVE, then the frame is assumed to be one of these.
PIM version 2 is IP protocol type 0x67.
OSPF is IP protocol type 0x59. To detect that the frame is a multicast OSPF (MOSPF), the OSPF
data must be looked at. The data starts after the IP header. Byte 31 (options) needs to be checked.
If bit 2 is set (0x02 the MC bit), the frame is a MOSPF frame.
CBT is IP protocol type 0x07.
IGMP frames are detected by checking the IP protocol type. If the type is -x02, it is IGMP. The
first byte following the IP header is the IGMP frame type and version. (Note that the lower 4 bits
of the first byte in the IP header is the length of the IP header in 32 bit words) The version is
always 1, so the entire byte (version +type) may be used to check the IGMP type as follows:
0x11 = query
0x12 = report version 1
0x16 = report version 2
0x17 = leave