Multicast and IGMP Snooping for AV
Multicast is the delivery mechanism behind Dante audio networking, AES67, AV-over-IP video, and many control discovery protocols. Understanding how multicast works—and how to manage it on switches—is essential for any AV network engineer.
Unicast vs. Multicast vs. Broadcast
Unicast sends a packet from one source to one specific destination. A control processor sending a command to a single display is unicast.
Broadcast sends a packet to every device on a subnet. Broadcast traffic can't cross routers and grows with network size, so it's impractical for audio distribution.
Multicast sends one copy of a packet from a source to a group of interested receivers. Dante uses multicast for audio flows: a single encoder sends one stream that multiple receivers can subscribe to, without duplicating traffic on the network. This is far more efficient than sending separate unicast streams to each receiver.
How Multicast Works
Multicast addresses occupy the 224.0.0.0/4 range (224.0.0.0 through 239.255.255.255). Dante and AES67 devices use multicast addresses in this range for audio distribution. When a receiver wants to receive a multicast stream, it sends an IGMP (Internet Group Management Protocol) Join message to the network, telling the switch which multicast group it wants to receive.
The network switch tracks which ports have interested receivers and forwards multicast only to those ports — but only if IGMP snooping is enabled. Without it, the switch treats multicast like broadcast and floods it to every port on the VLAN.
IGMP Snooping: Why It Matters
IGMP snooping is a Layer 2 feature that lets switches "snoop" on IGMP messages between hosts and routers. When IGMP snooping is enabled, the switch builds a table mapping multicast groups to the ports that have interested receivers. Multicast frames are then forwarded only to those specific ports.
Without IGMP snooping:
- A single Dante audio flow floods every port on the VLAN
- A 64-channel Dante session at ~288 Mbps gets delivered to printers, laptops, and security cameras that have no use for it
- High-density Dante networks can saturate switches and cause audio dropouts
With IGMP snooping:
- Multicast is delivered only to devices that sent IGMP Join messages for that group
- Bandwidth stays where it belongs
- Non-AV devices on the same switch are unaffected
Always enable IGMP snooping on every switch in a Dante or AES67 network. This is one of the most fundamental requirements for reliable AV networking.
IGMP Versions
Three versions of IGMP are in common use:
| Version | RFC | Key Feature | Dante Support |
|---|---|---|---|
| IGMPv1 | RFC 1112 | Basic join/leave; no explicit leave message | Supported |
| IGMPv2 | RFC 2236 | Adds explicit Leave Group message; faster leave | Supported |
| IGMPv3 | RFC 3376 | Source-specific multicast (SSM); reports source | Supported |
IGMPv2 is the minimum for AV networks. IGMPv1 lacks explicit Leave messages, meaning the switch holds multicast flows open until the membership query times out — wasting bandwidth. IGMPv3 is preferred for large systems where source-specific filtering (SSM) is beneficial, allowing switches to forward multicast only from specific source IPs.
Standardize on IGMPv2 or IGMPv3 across the network. Mixing versions without switch support for interoperability can cause membership reports to be silently ignored.
IGMP Querier
IGMP requires a querier — a device that periodically sends IGMP Query messages to solicit membership reports from receivers. In a routed network, the Layer 3 switch or router typically handles this. In a flat (non-routed) Layer 2 network, you need to configure an IGMP querier on at least one switch.
Without a querier, IGMP snooping tables eventually expire and multicast traffic stops flowing to receivers — even if they initially joined the group correctly. Configure an IGMP querier on your AV switch or the Layer 3 upstream switch for every VLAN carrying multicast audio or video.
Cisco IOS example (enable querier on VLAN 20):
ip igmp snooping querier
ip igmp snooping querier address 10.10.20.1 vlan 20
Netgear ProSafe CLI:
ip igmp snooping querier
ip igmp snooping querier address 10.10.20.1
Multicast Address Planning for AV
Dante and AES67 use dynamically assigned multicast addresses managed automatically by the protocol stack. However, knowing which address ranges different AV protocols use helps with switch ACLs, monitoring, and troubleshooting:
| Protocol | Multicast Address Range | Notes |
|---|---|---|
| Dante audio | 239.255.x.x | Audinate assigned; managed automatically |
| AES67 / RAVENNA | 239.69.x.x | Common range; varies by implementation |
| mDNS (discovery) | 224.0.0.251 | Used by Dante, NDI, AirPlay for device discovery |
| SSDP (UPnP) | 239.255.255.250 | Control discovery; limit to appropriate VLANs |
| NDI video | 239.x.x.x (variable) | Assigned by NDI encoder; IGMP snooping required |
| PTP (IEEE 1588) | 224.0.1.129, 224.0.0.107 | Timing protocol; low bandwidth, critical |
| IGMP queries | 224.0.0.1 | All-hosts group; must reach all VLAN members |
| OSPF routing | 224.0.0.5, 224.0.0.6 | Routing protocol; block on AV access ports |
The 239.x.x.x range is the "administratively scoped" space (RFC 2365) — intended for organization-internal use, not routed to the internet. All AV multicast deployments should use this range.
MLD Snooping for IPv6
Multicast Listener Discovery (MLD) is the IPv6 equivalent of IGMP. If your AV devices have IPv6 enabled (which many do by default), they use MLD for IPv6 multicast group management. Without MLD snooping on the switch, IPv6 multicast floods all ports — just like the IGMP snooping problem for IPv4.
On Cisco switches:
ipv6 mld snooping
ipv6 mld snooping vlan 20
For most AV installations where IPv6 is not intentionally deployed, the simplest solution is to disable IPv6 on AV VLAN interfaces and AV devices where possible, eliminating MLD traffic entirely.
PIM for Routed Multicast
When multicast needs to cross routers (for example, Dante audio flowing between buildings or floors), you need Protocol Independent Multicast (PIM). PIM is a routing protocol that builds multicast distribution trees across Layer 3 boundaries.
For most AV installations, keeping Dante and AES67 on a single flat VLAN avoids the need for PIM entirely. But for large campus deployments or installations spanning multiple buildings, PIM Sparse Mode (PIM-SM) with a Rendezvous Point (RP) is the standard approach.
NDI video, which is also multicast-based, may require PIM in larger facilities where video needs to cross router boundaries.
Per-Vendor IGMP Snooping Configuration
Most managed switches require IGMP snooping to be enabled both globally and per-VLAN. The "globally enabled" state alone is often insufficient.
Cisco IOS / IOS-XE:
ip igmp snooping ! Enable globally
ip igmp snooping vlan 20 ! Enable on VLAN 20
ip igmp snooping vlan 20 querier ! Enable querier on VLAN 20
Netgear M4250 / M4300:
ip igmp snooping
ip igmp snooping vlan 20 mode enable
set igmp snooping querier
HP Aruba / ProCurve:
vlan 20 igmp
vlan 20 igmp querier
After configuration, verify the snooping table is being populated: show ip igmp snooping groups (Cisco) shows the multicast group-to-port mappings. If the table is empty after Dante devices are active, IGMP snooping is not functioning correctly.
Switch Configuration Checklist
For Dante / AES67 networks:
- Enable IGMP snooping globally on the switch
- Enable IGMP snooping per-VLAN for every AV VLAN
- Configure an IGMP querier on each AV VLAN
- Set IGMP version to v2 or v3 (standardize across the network)
- Enable MLD snooping if IPv6 is active on AV VLANs
- Verify IGMP table population after bringing up Dante devices
- Replace any unmanaged switches in the chain — IGMP snooping cannot run on unmanaged hardware
Common Pitfalls
- Forgetting IGMP snooping on downstream switches — IGMP snooping must be configured on every switch in the path, not just the core. A single unmanaged or misconfigured switch in the chain will flood multicast to all ports from that point downstream.
- No IGMP querier on flat networks — In Layer 2-only deployments, if no device is sending IGMP queries, membership tables time out. Dante flows may work initially then drop out minutes later as the snooping table expires. Always configure a querier.
- IGMP version mismatch — Mixing IGMP v1, v2, and v3 devices without careful switch configuration can cause membership reports to be ignored. Standardize on v2 or v3 across the network.
- Multicast flooding on video VLANs — NDI and other video-over-IP protocols generate high-bandwidth multicast. Without snooping, a single 4K NDI stream (~200 Mbps) gets sent to every device on the VLAN. On a 1 Gbps switch, just five such streams saturate the uplinks.
- Assuming cloud-managed switches handle this automatically — Consumer-grade cloud-managed switches often have IGMP snooping disabled by default or hide it in advanced settings. Verify the configuration after provisioning.
- Ignoring IPv6 multicast — Devices with IPv6 enabled generate MLD multicast traffic. Without MLD snooping, this floods the segment and can interfere with AV protocols. Enable MLD snooping or disable IPv6 on AV VLANs.