Layer 2 multicast - IGMP and MLD snooping
In one line
Without snooping a switch floods multicast like broadcast to every port - snooping constrains it to only the ports that asked.
The pieces
- IGMP (IPv4: v2 ASM, v3 SSM) and MLD (IPv6: v1 ~ IGMPv2, v2 ~ IGMPv3) are how hosts signal group membership.
- IGMP / MLD snooping lets the switch listen to those reports and build per-group port lists, so multicast is forwarded selectively within the VLAN.
- A querier must exist on the segment to periodically solicit reports; if there's no multicast router, configure a snooping querier on a switch - otherwise membership state ages out and multicast reverts to flooding.
IP-to-MAC multicast mapping (a switched-multicast pitfall)
IPv4 multicast maps into the MAC range 0100.5e00.0000-0100.5e7f.ffff by copying the low 23 bits of the group address into the MAC. But the group ID carries 28 significant bits, so the top 5 are dropped - giving 32:1 mapping: 32 different IPv4 groups collapse onto one multicast MAC. Groups differing only in those dropped bits land on the same MAC, so a switch delivers both streams to a host that joined only one (wasted bandwidth on dense IPTV / market-data segments). IPv6 maps into **33:33
/16 keeping the low 32 bits (far lower, but non-zero, collision odds). Two design cautions: avoid groups that map to 0100.5e00.00xx (the 224.0.0.0/24 link-local range) - switches flood these regardless of snooping; and on a shared VLAN between routers, IGMP/MLD snooping can't optimize, because routers signal with PIM**, not IGMP reports - so the stream reaches every router on the segment unless you constrain it.
mDNS/Bonjour - discovery is link-local by design
Service discovery (AirPlay, printing, casting) rides mDNS on **224.0.0.251 / FF02
FB with link-local scope: it cannot cross an L3 boundary, which is correct for a flat home network and broken for a segmented enterprise. Plain multicast forwarding is the wrong fix - it floods every advertisement everywhere with no service selectivity. The design pattern is an mDNS gateway: a device (classically the WLC) snoops, caches, and re-advertises services across VLANs, which turns discovery into a policy point - which services are relayed at all, per-WLAN opt-in, origin filters (wired-only or wireless-only), a priority-MAC escape hatch because the service cache is a finite platform resource, and location-specific services (LSS), which scopes answers by the querier's AP neighbourhood (RRM's neighbour lists, RF design - coverage, capacity, high density, voice, location) so a user is offered the nearby classroom's screen rather than all five hundred. An mDNS-AP** role lets APs snoop wired services near them that a distant gateway would never hear. The scale story is the point: unfiltered mDNS across a large campus is a chatty database and an airtime tax; a gateway makes discovery deliberate.
Multicast over WLAN - the basic-rate trap
802.11 transmits multicast unacknowledged at a basic (mandatory) rate that every associated receiver can decode - legacy rates only - so one stream drags a modern cell to its slowest common denominator, and every client in the cell pays the airtime whether subscribed or not. The fix is multicast-to-unicast conversion (media streams): the controller learns subscribers from their IGMP/MLD reports and delivers the flow as per-client unicast at each client's real rate, with an admission check against the cell's channel utilisation deciding which streams fit and which fall to best effort or drop. It applies to any subscribed multicast (video, paging), and it is the WLAN complement to snooping: Multicast routing design - PIM, RP, MSDP gets the stream to the edge; the conversion decides how it crosses the air.
Why it matters for design
High-rate multicast (video, market data, storage replication) on a switched segment without snooping behaves like a broadcast storm to non-members. Snooping + a present querier is the L2 complement to the L3 design in Multicast routing design - PIM, RP, MSDP. Mind IPv4-MAC overlap (multiple groups can map to one multicast MAC).
IPv6 / dual-stack note
MLD is the IPv6 equivalent of IGMP; enable MLD snooping and an MLD querier so v6 multicast (incl. heavy ND/MLD-based services) isn't flooded.
Related
Spaced repetition
What does a switch do with multicast on a VLAN that has no IGMP/MLD snooping?
It floods the multicast to every port in the VLAN (like broadcast).
If a segment has no multicast router, what must you configure so snooping state doesn't age out?
A snooping querier on a switch (to send periodic IGMP/MLD queries).
The IPv6 equivalents of IGMPv2 and IGMPv3 are [...].
The IPv6 equivalents of IGMPv2 and IGMPv3 are MLDv1 and MLDv2.
Why can two different IPv4 multicast groups arrive on a host that joined only one (on a switched segment)?
IPv4-to-MAC mapping keeps only the low 23 bits of the 28-bit group ID (5 bits dropped) - 32:1, so 32 groups share one multicast MAC and the switch forwards by MAC, delivering both streams.
Why does mDNS need a gateway rather than multicast routing?
mDNS is link-local by design - a gateway snoops, caches, and re-advertises services across VLANs and adds policy (service list, per-WLAN opt-in, origin, LSS proximity scoping); merely forwarding it floods every advertisement unfiltered.
802.11 sends multicast [...] - media streams convert subscribed flows to per-client unicast with an airtime admission check.
802.11 sends multicast unacknowledged at a basic legacy rate all associated receivers can decode - media streams convert subscribed flows to per-client unicast with an airtime admission check.
Sources
- Cisco Press, CCIE Wireless v3 Study Guide (Alcantara, Darchis, Henry, Jimenez, Ziliotto) - mDNS gateway/LSS, media streams (multicast-to-unicast).
- Cisco Press, IP Multicast, Volume I; Cisco LAN Switching.