User manual

APS User Manual
104
1.2.5 IGMP Snooping
IGMP Snooping is a way for Layer 2 switches to reduce the amount of multicast traffic on a LAN.
Without IGMP Snooping, Layer 2 switches handle IP multicast traffic in the same manner as
broadcast traffic and forward multicast frames received on one port to all other ports in the same
VLAN. IGMP Snooping allows switches to monitor network traffic, and determine hosts to receive
multicast traffic, by looking into IGMP packets to learn which attached hosts need to receive which
multicast groups. This allows the switch to forward multicast traffic only out the appropriate ports. If
it sees multiple reports sent for one group, it will forward only one of them.
Joining a multicast group (Membership report)
When a host wants to receive a stream, referred to as “joining a group”, it sends out an IGMP packet
containing the address of the group it wants to join. This packet is called an IGMP Membership
report, often referred to as a “join packet. This packet is forwarded through the LAN to the local
IGMP querier, which is typically a router. Once the querier has received an IGMP join message, it
knows to forward the multicast stream to the host. If it is not already receiving the stream, it must
tell the devices between itself and the multicast source, which may be some hops away from the
querier, that it wishes to receive the stream. This might involve a process of using Layer 3 multicast
protocols to signal across a WAN, or it might be as simple as receiving a stream from a locally
connected multicast server.
Staying in the multicast group (Query message)
The Query message is used by a querier to determine whether hosts are still interested in an IGMP
group. At certain time intervals (the default is 125 seconds), the querier sends an IGMP query
message onto the local LAN. The destination address of the query message is a special “all multicast
groups” address. The purpose of this query is to ask “Are there any hosts on the LAN that wish to
remain members of multicast groups?” After receiving an IGMP query, any host that wants to
remain in a multicast group must send a new join packet for that group. If a host is a member of
more than one group, then it sends a join message for each group it wants to remain a member of.
The querier looks at the responses it receives to its query, and compares these to the list of multicast
streAPS that it is currently registered to forward. If there are any items in that list for which it has
not received query responses, it will stop forwarding those streAPS. Additionally, if it is receiving
those streAPS through a Layer 3 network, it will send a Layer 3 routing protocol message upstream,
asking to no longer receive that stream.
Leaving the multicast group (Leave message)
How a host leaves a group depends on the IGMP version that it is using. Under IGMP version 1, when
a host has finished with a data stream, the local querier continues to send the stream to the host
until it sends out the next query message and receives no reply back from the host. IGMP version 2
introduced the Leave message. This allows a host to explicitly inform its querier that it wants to
leave a particular multicast group. When the querier receives the Leave message, it sends out a