All devices with wireless LAN interfaces feature a "LAN bridge", a software entity for transferring data between the Ethernet ports and the WLAN interface(s). In many ways the LAN bridge works like a switch. The core task of a switch, as opposed to a hub, is to forward packets precisely to the port which the relevant user is connected to. Based on the incoming data packets, the switch automatically creates a table listing the senders' MAC addresses and their ports.
If the table contains the destination address for an incoming packet, the switch forwards the packet to the corresponding port. If the destination address is not in the table, the switch forwards the packet to all ports. This means that a switch can only deliver a packet precisely if the destination address appeared earlier in a packet arriving at a certain port from the sender's address. However, broadcast or multicast packets can never be entered as a sender address into a packet, and so these packets end up being "flooded" to all ports.
This may be the correct action for broadcasts which are supposed to reach all available receivers, but this may not be the case for multicasts. Multicasts are generally aimed at a certain group of receivers within a network, but not all of them:
- For example, video streams are frequently transmitted as multicasts, but not all of the network stations are intended to receive that stream.
- Various applications in the medical field rely on multicasts to send data to certain terminal devices, but this data should not be available to all stations.
A LAN bridge in the device will have ports to which no multicast recipients are connected. This "unnecessary" transmission of multicasts to ports without any receivers is not an error, but it can compromise overall performance.
- Many stations are unable to reject the unwanted multicasts in their hardware. Instead, the packets are forwarded to higher protocol layers, which leads to an increase in CPU load.
- WLANs are particularly susceptible to bandwidth restrictions due to multicasts if none of the associated WLAN clients want to receive the multicast.
The TCP/IP protocol suite defines the protocol Internet Group Management Protocol (IGMP) for IPv4 and Multicast Listener Discovery (MLD) for IPv6 that allow network stations to inform their router that they wish to receive certain IP multicasts. Stations carry out a multicast registration with their router to subscribe to certain multicast groups which deliver the relevant packets. IGMP and MLD makes use of Join messages and Leave messages to register and de-register respectively.
As layer‑3 protocols, IGMP and MLD only manage IP subnets according to the multicast group memberships. However, network devices such as bridges, switches or WLAN access points only forward the packets on layer 2, meaning that IGMP and MDL themselves do not help in any way to further guide multicast traffic through these structures. For this reason, the bridges use the multicast registrations between stations and routers to receive additional information for distributing multicasts. IP multicasts only need to be forwarded to an interface where a router is located that is capable of multicast routing and therefore of forwarding multicasts to other IP subnets. This method is referred to as IGMP snooping with IPv4 and MLD snooping with IPv6. The bridges, which normally use the MAC on layer 2 for packet forwarding, thus additionally use the layer 3 information in the IP multicast packets.
To continue describing the functions of IGMP/MLD snooping in LCOS, we have to differentiate between two important terms:
- A port is "member of a multicast group" if at least one station connected to it wishes to receive the packets for a certain multicast address. Multicast registration can be dynamic via IGMP or MLD snooping or configured manually.
- A port is a "router port" if it is connected to a router that is capable of multicast routing and therefore of forwarding multicasts to other IP subnets.
- A multicast group is "unregistered" if none of the interfaces attached to the bridge is a member of this multicast group.