Multicast :: Part III – IGMP snooping

Multicast in an Ethernet network explained:
There are tons of multicast posts that talk about Multicast routing at IP level. But how exactly does multicast behave in an Ethernet environment? This series tries to answer that question.

IGMP snooping:
The goal of IGMP snooping is to forward IP multicast packets only to interested receivers. The required information is snooped from IGMP protocol packets. Without IGMP snooping enabled, IP based multicast traffic would be simply flooded. With IGMP snooping enabled multicast packets with a multicast group address within the following ranges will be only sent towards interested receivers:

  • Global scope: 224.0.1.0 – 238.255.255.255
  • Administrative scope: 239.0.0.0 – 239.255.255.255

This post will not explain how IGMP works, this post shows how IGMP snooping controls the delivery of IP multicast packets in an IGMP snooping enabled Ethernet network.

Multicast router and group member interfaces:
The IGMP snooping process running within an Ethernet switch builds an IGMP snooping table. This table contains information about multicast router and group member interfaces.

  • Multicast router interface entries describe the switch interfaces leading towards a PIM router or IGMP querier. This information is snooped from IGMP queries and/or PIM updates.
  • Group member interface entries describe the switch interfaces leading towards interested multicast receivers. This information is snooped from IGMP membership reports, unsolicited IGMP joins and leave massages.

It is crucial to have an IGMP querier (or PIM router which executes the IGMP queries) running in an IGMP snooping enabled network. Without the querier, hosts will not send membership reports and the snooping table cannot be build (or will time out). The result is that, in an IGMP snooping enabled network, packets addressed within the global scope and administrative scope will be dropped.

Formation of multicast router interfaces:
The following figure shows the formation of multicast router interfaces (the red crosses are STP blocked ports). The IGMP querier executes regular IGMP queries. The IGMP query destination address is 224.0.0.1, as described in the previous post multicast packets addressed to 224.0.0.x/24 are always flooded, IGMP snooping does not affect the 224.0.0.x/24 range.

Multicast router interfaces

All switch ports where flooded IGMP queries are snooped are listed as multicast router interfaces in the snooping table (purple marked interfaces).

Formation of multicast group member interfaces:
Interested hosts will respond with IGMP membership reports to the IGMP queries. Membership reports are forwarded via the multicast router interfaces towards the IGMP querier. The following figure shows the result of this process. The group member interfaces are marked green.

multicast group member interfaces

A forwarding path between the IGMP querier and the multicast receiver emerges. This doesn’t mean that the multicast traffic must be originated by the IGMP querier (PIM router). Multicast sources can be everywhere in the network, in the layer 2 domain or behind a PIM router.

Multicast traffic flow in an IGMP enabled network:
It’s important to understand that a multicast source plays no role in the described formation process. A multicast source just starts sending multicast traffic. It is the responsibility of the network to deliver the multicast packets to the interested receivers.

multicast traffic flow registered and unregistered

The figure shows the stream of packets (in red) originated by the multicast source (assuming the receiver showed interest via membership reports in the multicast group of the source). To understand the flow we must distinguish between registered and unregistered multicast packets.

  • Registered multicast packets are packets for which the multicast group address is listed in the IGMP snooping table (there is interest in this multicast stream).
  • Unregistered multicast packets are packets for which the multicast group address is not listed in the IGMP snooping table (there is no interest in this multicast stream).

A registered multicast packet is forwarded out of every multicast router interface and every interested multicast group member interface. An unregistered multicast packet is only forwarded to the multicast group interfaces. As you can see multicast frames are always send to the IGMP querier / PIM router. This enables the PIM router to learn about available multicast sources which then can be advertised throughout the PIM routed domain.

Continue with part IV of the series: Lab, multicast practice.

The opinions expressed in this blog are my own views and not those of Cisco.

Leave a Reply

Your email address will not be published. Required fields are marked *