Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    IGMP Snooping Overview

    With IGMP snooping enabled, a switch monitors the IGMP (Internet Group Management Protocol) traffic between hosts and multicast routers and uses what it learns to forward multicast traffic to only the downstream interfaces that are connected to interested receivers. This conserves bandwidth by allowing the switch to send multicast traffic to only those interfaces that are connected to devices that want to receive the traffic (instead of flooding the traffic to all the downstream VLAN interfaces).

    This IGMP snooping topic includes:

    How IGMP Snooping Works

    A switch usually learns unicast MAC addresses by checking the source address field of the frames it receives and then sends any traffic for that unicast address only to the appropriate interface. However, a multicast MAC address can never be the source address for a packet. As a result, when a switch receives traffic for a multicast destination address, it floods the traffic on the relevant VLAN, which can cause a significant amount of traffic to be sent unnecessarily.

    IGMP snooping prevents this flooding. When you enable IGMP snooping, the switch monitors IGMP packets between receivers and multicast routers and uses the content of the packets to build a multicast cache table—a database of multicast groups and the interfaces that are connected to members of the groups. When the switch receives multicast packets, it uses the cache table to selectively forward the traffic to only the interfaces that are connected to members of the appropriate multicast groups.

    Note: IGMP snooping is enabled by default on all VLANs.

    Note: You cannot configure IGMP snooping on a secondary (private) VLAN.

    How IGMP Snooping Works with Routed VLAN Interfaces

    A switch can use a routed VLAN interface (RVI) to forward traffic between VLANs that connect to it. IGMP snooping works with Layer 2 interfaces and RVIs to forward multicast traffic in a switched network.

    When a switch receives a multicast packet, its Packet Forwarding Engines perform a multicast lookup on the packet to determine how to forward the packet to its local interfaces. From the results of the lookup, each Packet Forwarding Engine extracts a list of Layer 3 interfaces that have ports local to the Packet Forwarding Engine. If the list includes an RVI, the switch provides a bridge multicast group ID for the RVI to the Packet Forwarding Engine.

    For VLANs that include multicast receivers, the bridge multicast ID includes a sub-next-hop ID, which identifies the Layer 2 interfaces in the VLAN that are interested in receiving the multicast stream. The Packet Forwarding Engine then forwards multicast traffic to bridge multicast IDs that have multicast receivers for a given multicast group.

    How Hosts Join and Leave Multicast Groups

    Hosts can join multicast groups in two ways:

    • By sending an unsolicited IGMP join message to a multicast router that specifies the IP multicast group that the host is attempting to join.
    • By sending an IGMP join message in response to a general query from a multicast router.

    A multicast router continues to forward multicast traffic to a VLAN provided that at least one host on that VLAN responds to the periodic general IGMP queries. For a host to remain a member of a multicast group, therefore, it must continue to respond to the periodic general IGMP queries.

    To leave a multicast group, either a host cannot respond to the periodic general IGMP queries, which results in a “silent leave” (the only leave option for IGMPv1), or a host can send a group-specific IGMPv2 leave message.

    IGMP Snooping Support for IGMPv3

    IGMPv3 enables IGMP snooping to filter multicast streams based on the source address of the multicast stream. A switch supports only IGMPv3 INCLUDE reports. EXCLUDE reports are dropped.

    Note: IGMPv3 and IGMPv3 snooping are not supported on QFabric systems.

    When a host sends an IGMPv3 INCLUDE report through a switch interface to indicate that it wants to receive a multicast stream from a source address, the switch adds the source address to its source list. The switch requests traffic for the specified multicast group from only those IP source addresses listed in the source-list parameter. However, because a switch does not support forwarding on a per-source basis, it merges all IGMPv3 reports for a VLAN to create a (*,G,V) route. This means that hosts on the same VLAN interested in traffic from group G can receive traffic for that group even if they do not specify the source in their INCLUDE report. For example, if Host 1 wants traffic for G from Source A and Host 2 wants traffic for G from Source B, they both receive traffic for G regardless of whether A or B sends the traffic. When IGMP snooping for IGMPv3 is used with an RVI, the same (*,G,V) route is added to the snooping information in the RVI’s output interface list (olist).

    IGMP Snooping and Forwarding Interfaces

    To determine how to forward multicast traffic, a switch with IGMP snooping enabled maintains information about the following interfaces in its multicast forwarding table:

    • Multicast-router interfaces—These interfaces lead toward multicast routers or IGMP queriers.
    • Group-member interfaces—These interfaces lead toward hosts that are members of multicast groups.

    The switch learns about these interfaces by monitoring IGMP traffic. If an interface receives IGMP queries or Protocol Independent Multicast (PIM) updates, the switch adds the interface to its multicast forwarding table as a multicast-router interface. If an interface receives membership reports for a multicast group, the switch adds the interface to its multicast forwarding table as a group-member interface.

    Table entries for interfaces that the switch learns about are subject to aging. For example, if a learned multicast-router interface does not receive IGMP queries or PIM hellos within a certain interval, the switch removes the entry for that interface from its multicast forwarding table.

    Note: For a switch to learn multicast-router interfaces and group-member interfaces, an IGMP querier must exist in the network. This is often a multicast router, but if there is no multicast router on the local network, you can configure the switch itself to be an IGMP querier.

    You can statically configure an interface to be a multicast-router interface or a group-member interface. The switch adds a static interface to its multicast forwarding table without having to learn about the interface, and the entry in the table is not subject to aging. You can have a mix of statically configured and dynamically learned interfaces on a switch.

    General Forwarding Rules

    Multicast traffic received on a switch interface in a VLAN on which IGMP snooping is enabled is forwarded according to the following rules.

    IGMP traffic is forwarded as follows:

    • IGMP general queries received on a multicast-router interface are forwarded to all other interfaces in the VLAN.
    • IGMP group-specific queries received on a multicast-router interface are forwarded to only those interfaces in the VLAN that are members of the group.
    • IGMP reports received on a host interface are forwarded to multicast-router interfaces in the same VLAN, but not to the other host interfaces in the VLAN.

    Multicast traffic that is not IGMP traffic is forwarded as follows:

    • A multicast packet with a destination address of 224.0.0.0/24 is flooded to all other interfaces on the VLAN.
    • An unregistered multicast packet—that is, a packet for a group that has no current members—is forwarded to all multicast-router interfaces in the VLAN.
    • A registered multicast packet is forwarded only to those host interfaces in the VLAN that are members of the multicast group and to all multicast-router interfaces in the VLAN.

    Published: 2014-03-10