RLReadyLinks Docs

Multicast

Unicast, broadcast, and multicast compared; multicast addresses; IGMP joins and queries; why IGMP snooping and a querier matter; and how to troubleshoot a stream that stops after a few minutes.

Most traffic is one device talking to one other device. Some traffic, such as IPTV, video walls, camera feeds, and device discovery, is one device talking to many at once. Multicast is the mechanism that makes that efficient, and it only behaves well when the switches understand it.

#Three ways to address a frame

DeliveryDestinationWho receives itExample
UnicastOne specific deviceThat device onlyA web page, an SSH session
BroadcastEverybody on the segmentEvery device in the VLAN, whether it cares or notARP, DHCP Discover
MulticastA groupOnly devices that have joined the group, if the switch is doing its jobIPTV channel, AirPlay discovery, a camera feed to several recorders

Without multicast, a video server streaming one channel to 50 TVs would have to send 50 copies. With multicast it sends one copy to the group address, and the network replicates it only where receivers exist. The source doesn't know or care how many receivers there are.

#Multicast addresses

IPv4 reserves 224.0.0.0/4 (224.0.0.0 to 239.255.255.255) for multicast groups. A group address is only ever a destination; nothing has a multicast address as its own IP. Ranges worth recognising:

RangeScopeExamples
224.0.0.0/24Link-local: never forwarded by routers, always flooded by switches224.0.0.1 all hosts · 224.0.0.2 all routers · 224.0.0.251 mDNS (Bonjour, AirPlay, Chromecast) · 224.0.0.252 LLMNR
239.0.0.0/8Organisation-local: for use inside a private network, like private IP rangesIPTV channel line-ups, in-house video, camera streams
232.0.0.0/8Source-specific multicast (SSM)Receivers join a specific source and group pair
everything elseGlobally scopedRare on enterprise networks

Every multicast IP maps to a multicast MAC address so switches can handle it. IPv4 group addresses map into 01:00:5e:00:00:00 to 01:00:5e:7f:ff:ff by copying the low 23 bits of the IP address. Because the IP address has 28 significant bits and the MAC only has room for 23, 32 different groups share each MAC address. That is normally harmless, but it is why 239.1.1.1 and 239.129.1.1 arrive on the same ports if the switch is only looking at MAC addresses.

IPv6 uses ff00::/8 for multicast, with ff02::1 (all nodes) and ff02::fb (mDNS) being the ones you will meet most, and maps to MAC addresses beginning 33:33.

#IGMP: joining and leaving a group

A device that wants to receive a group says so with IGMP (Internet Group Management Protocol). A device that wants to stop says so too. Routers and switches listen to these messages to work out where a group should be sent.

MessageSent byMeaning
Membership report (join)A receiver"Send me group 239.1.1.1." Sent when an application subscribes, and again in answer to every query.
LeaveA receiver"I no longer want 239.1.1.1."
General queryThe querier"Who still wants anything?" sent to all hosts every 60 to 125 seconds. Receivers answer with reports for every group they are in.
Group-specific queryThe querier"Does anyone else still want 239.1.1.1?" sent after a leave, to check whether the last receiver on a port has gone.

IGMP version 2 is the one in near-universal use. Version 3 adds source filtering, so a receiver can ask for a group only from a particular source, which is what SSM relies on. IPv6 uses MLD (Multicast Listener Discovery), which works the same way.

#IGMP snooping: making the switch pay attention

A switch on its own treats a multicast frame like a broadcast: the destination MAC isn't in its MAC table, so it floods the frame to every port in the VLAN. On a network with any real multicast traffic that is a problem. A single 20 Mbit/s IPTV channel floods every port, every access point, and every phone in the VLAN, whether they wanted it or not. Wi-Fi suffers worst, because multicast over the air is sent at the lowest supported rate.

IGMP snooping fixes it. The switch watches the IGMP reports and leaves passing through it and builds a table of which groups are wanted on which ports. It then forwards each group only to those ports, plus any port that leads to a multicast router.

Side by side: without IGMP snooping a video stream is flooded to all four ports; with snooping the switch forwards it only to the two TVs that joined the group
IGMP snooping turns multicast from an accidental broadcast into targeted delivery.

Settings that go with it, all found under multicast settings on a ReadyLinks switch:

  • Fast leave (immediate leave) removes a port from a group as soon as a Leave arrives, instead of sending a group-specific query and waiting. It suits ports with exactly one receiver (a TV, a set-top box). On ports with several receivers behind them (a downstream switch, an access point) one device leaving will cut off the others for a few seconds. On GL-series switches fast leave is a single global setting, so enable it only when every port carrying multicast has one receiver.
  • Host timeout (group membership interval) is how long a port stays in a group without hearing a report. If it is shorter than the query interval, memberships expire between queries and streams stutter.
  • Multicast router ports are the ports the switch has heard queries on. Groups are always forwarded there, so that routers and upstream snooping switches see every stream.

Snooping, the querier, timers and fast leave are global settings in config mode. The IGMP version and a static multicast router port are set per VLAN.

markup
GL-24xT-P600D# configure terminal
GL-24xT-P600D(config)# ip igmp snooping
GL-24xT-P600D(config)# ip igmp snooping querier
GL-24xT-P600D(config)# ip igmp snooping query-interval 125
GL-24xT-P600D(config)# ip igmp snooping host-aging-time 260
GL-24xT-P600D(config)# ip igmp snooping router-aging-time 260
GL-24xT-P600D(config)# ip igmp snooping immediate-leave
GL-24xT-P600D(config)# vlan 20
GL-24xT-P600D(vlan20)# ip igmp snooping version v2
GL-24xT-P600D(vlan20)# multicast static-router-port ethernet Fiber/G1
GL-24xT-P600D(vlan20)# end
GL-24xT-P600D(config)# write
GL-24xT-P600D(config)# exit
GL-24xT-P600D# show ip igmp snooping configuration
GL-24xT-P600D# show ip igmp snooping group
GL-24xT-P600D# show ip igmp snooping vlan 20

Keep the host aging time (20 to 1000 seconds) comfortably longer than twice the query interval (1 to 255 seconds), so a missed query doesn't expire a membership. The static router port is only needed when the upstream switch or router doesn't send queries into this VLAN. The dashboard equivalents are under multicast settings.

#The querier problem

IGMP snooping only works while something is sending queries. Receivers answer queries with reports, and reports are what keep the snooping table alive. On a VLAN with a multicast-capable router, the router is the querier. On a VLAN with no such router, which describes most access VLANs, nothing sends queries. The snooping table fills from the initial joins, then entries expire after the host timeout and the stream stops.

The symptom is unmistakable: a multicast stream works for two to five minutes after a device joins, then dies, and comes back when the device re-joins.

The fix is to enable the switch's built-in IGMP querier on every VLAN that carries multicast and has no multicast router. Exactly one querier is needed per VLAN; if several switches have the querier enabled, IGMP elects the one with the lowest IP address and the rest stand by, so enabling it on every switch is safe.

Two cases bypass the snooping table on purpose:

  • Link-local groups (224.0.0.0/24) are flooded to every port regardless of snooping, because protocols such as OSPF, VRRP, and mDNS rely on it and never send IGMP joins.
  • Unknown multicast, meaning groups no port has joined, is by default flooded like a broadcast. Some switches offer a setting to drop it instead. Dropping it is tidier but breaks any application that sends to a group without expecting receivers to join first.

mDNS deserves a special mention because it is how AirPlay, Chromecast, printers, and most smart-home devices find each other. It is link-local multicast, so it never crosses a router. A phone in the guest VLAN can't discover a TV in the staff VLAN, no matter what firewall rules exist. Sites that need discovery across VLANs run an mDNS reflector or gateway on the router that repeats the announcements between selected VLANs.

#Multicast across VLANs

Snooping is a Layer 2 feature. Getting a group from the VLAN where the source lives to receivers in another VLAN requires multicast routing, which is a separate feature with its own protocol, PIM (Protocol Independent Multicast). Many access switches and small firewalls don't support it.

The practical consequence: keep multicast sources and receivers in the same VLAN wherever possible. For an IPTV deployment that means a dedicated video VLAN that set-top boxes are placed in, rather than relying on routing the streams. Where streams genuinely must cross VLANs, confirm the gateway device supports PIM or an equivalent before designing around it.

#Where you meet multicast

ApplicationGroup rangeWhat to configure
IPTV, hospitality TV, digital signage239.x.x.xSnooping on, querier on in the video VLAN, fast leave on set-top box ports
Video walls, in-house broadcast239.x.x.xAs above
IP cameras to several recorders239.x.x.x or unicastSnooping and querier if multicast is used; most small deployments use unicast
AirPlay, Chromecast, printers (mDNS)224.0.0.251Nothing on the switch; an mDNS gateway on the router if discovery must cross VLANs
Routing protocols, VRRP, HSRP224.0.0.xNothing; always flooded
Windows discovery (LLMNR, SSDP)224.0.0.252, 239.255.255.250Nothing, but consider blocking SSDP from guest VLANs

#Troubleshooting multicast

SymptomLikely cause
Stream works for a few minutes then stopsNo querier in the VLAN. Enable the switch querier.
Stream works on wired devices, but Wi-Fi is slow for everyoneSnooping is off and the stream is being flooded to the access points. Enable snooping.
Stream never arrives, but unicast to the same server worksSource and receiver are in different VLANs with no multicast routing; or the switch is dropping unknown multicast and the receiver's join isn't reaching the switch.
One TV changing channel interrupts anotherFast leave is enabled on a port that has more than one receiver behind it.
Everything works until a second switch is addedThe new switch has no querier and no multicast router port toward the first switch; or snooping is on in one and off in the other.
AirPlay or Chromecast can't find devicesThey are in different VLANs. mDNS doesn't route; use an mDNS gateway.

show ip igmp snooping group on the switch lists each group, the VLAN, and the ports it is being forwarded to, which is the quickest way to confirm whether a join was heard.

Next: Layer 2 security covers DHCP snooping, ARP inspection, and the other features that protect the VLANs you have built.

Edit this page on GitLab

Last updated October 5, 2026