Information About IGMP
IGMP is an IPv4 protocol that a host uses to request multicast data for a particular group. Using the information obtained through IGMP, the software maintains a list of multicast group or channel memberships on a per-interface basis. The systems that receive these IGMP packets send multicast data that they receive for requested groups or channels out the network segment of the known receivers.
By default, the IGMP process is running. You cannot enable IGMP manually on an interface. IGMP is automatically enabled when you perform one of the following configuration tasks on an interface:
-
Enable PIM
-
Statically bind a local multicast group
-
Enable link-local group reports
IGMP Versions
The device supports IGMPv2 and IGMPv3, as well as IGMPv1 report reception.
By default, the software enables IGMPv2 when it starts the IGMP process. You can enable IGMPv3 on interfaces where you want its capabilities.
IGMPv3 includes the following key changes from IGMPv2:
-
Support for Source-Specific Multicast (SSM), which builds shortest path trees from each receiver to the source, through the following features:
-
Host messages that can specify both the group and the source.
-
The multicast state that is maintained for groups and sources, not just for groups as in IGMPv2.
-
-
Hosts no longer perform report suppression, which means that hosts always send IGMP membership reports when an IGMP query message is received.
For detailed information about IGMPv2, see RFC 2236.
For detailed information about IGMPv3, see RFC 3376.
IGMP Basics
The basic IGMP process of a router that discovers multicast hosts is shown in the figure below. Hosts 1, 2, and 3 send unsolicited IGMP membership report messages to initiate receiving multicast data for a group or channel.
In the figure below, router A, which is the IGMP designated querier on the subnet, sends query messages to the all-hosts multicast group at 224.0.0.1 periodically to discover whether any hosts want to receive multicast data. You can configure the group membership timeout value that the router uses to determine that no members of a group or source exist on the subnet. For more information about configuring the IGMP parameters, see Configuring IGMP Interface Parameters.
The software elects a router as the IGMP querier on a subnet if it has the lowest IP address. As long as a router continues to receive query messages from a router with a lower IP address, it resets a timer that is based on its querier timeout value. If the querier timer of a router expires, it becomes the designated querier. If that router later receives a host query message from a router with a lower IP address, it drops its role as the designated querier and sets its querier timer again.
In this figure, host 1’s membership report is suppressed and host 2 sends its membership report for group 224.1.1.1 first. Host 1 receives the report from host 2. Because only one membership report per group needs to be sent to the router, other hosts suppress their reports to reduce network traffic. Each host waits for a random time interval to avoid sending reports at the same time. You can configure the query maximum response time parameter to control the interval in which hosts randomize their responses.
Note |
IGMPv1 and IGMPv2 membership report suppression occurs only on hosts that are connected to the same port. |
In this figure, router A sends the IGMPv3 group-and-source-specific query to the LAN. Hosts 2 and 3 respond to the query with membership reports that indicate that they want to receive data from the advertised group and source. This IGMPv3 feature supports SSM. For information about configuring SSM translation to support SSM for IGMPv1 and IGMPv2 hosts, see Configuring an IGMP SSM Translation.
Note |
IGMPv3 hosts do not perform IGMP membership report suppression. |
Messages sent by the designated querier have a time-to-live (TTL) value of 1, which means that the messages are not forwarded by the directly connected routers on the subnet. You can configure the frequency and number of query messages sent specifically for IGMP startup, and you can configure a short query interval at startup so that the group state is established as quickly as possible. Although usually unnecessary, you can tune the query interval used after startup to a value that balances the responsiveness to host group membership messages and the traffic created on the network.
Caution |
Changing the query interval can severely impact multicast forwarding. |
When a multicast host leaves a group, a host that runs IGMPv2 or later sends an IGMP leave message. To check if this host is the last host to leave the group, the software sends an IGMP query message and starts a timer that you can configure called the last member query response interval. If no reports are received before the timer expires, the software removes the group state. The router continues to send multicast traffic for a group until its state is removed.
You can configure a robustness value to compensate for packet loss on a congested network. The robustness value is used by the IGMP software to determine the number of times to send messages.
Link local addresses in the range 224.0.0.0/24 are reserved by the Internet Assigned Numbers Authority (IANA). Network protocols on a local network segment use these addresses; routers do not forward these addresses because they have a TTL of 1. By default, the IGMP process sends membership reports only for nonlink local addresses, but you can configure the software to send reports for link local addresses.
For more information about configuring the IGMP parameters, see Configuring IGMP Interface Parameters.
Virtualization Support
A virtual device context (VDC) is a logical representation of a set of system resources. Within each VDC, you can define multiple virtual routing and forwarding (VRF) instances. One IGMP process can run per VDC. The IGMP process supports all VRFs in that VDC and performs the function of IGMP snooping within that VDC. For information about IGMP snooping, see Configuring IGMP Snooping.
You can use the show commands with a VRF argument to provide a context for the information displayed. The default VRF is used if no VRF argument is supplied.
For information about configuring VDCs, see the Cisco Nexus 7000 Series NX-OS Virtual Device Context Configuration Guide.
For information about configuring VRFs, see the Cisco Nexus 7000 Series NX-OS Unicast Routing Configuration Guide.
IGMP vPC Incremental Sync
The IGMP vPC incremental sync feature enables routes on the virtual port channel (vPC) peer to synchronize with other routes while the peer link is being established. This feature is a Layer 2 IPv4 multicast feature that enables faster convergence in vPC topologies. This feature enables Layer 2 Internet Group Management Protocol (IGMP) states to be synchronized between vPC peer devices in a triggered and incremental manner instead of periodic synchronization.
Overview of IGMP vPC Incremental Sync
The IGMP vPC Incremental Sync feature sends incremental updates to the peer link using Cisco Fabric Service (CFS), instead of sending all Join and Leave messages. The routes between peers are synced while the peer link is being set up.
Peer 1 is a vPC peer that receives the join/query/protocol independent multicast (PIM) hello either from Device 1 or from Device 2, which is on the vPC link. Peer 2 is a vPC peer that receives incremental updates from Peer 1 on the CFS. Device 1 acts as an orphan. Any port that is not configured as a vPC, but carries a vPC VLAN, is called an orphan.
The vPC peer link synchronizes states between the vPC peer devices. In addition to carrying control traffic between two VPC devices, the vPC peer link also carries multicast and broadcast data traffic. In some link failure scenarios, it also carries unicast traffic.
Interfaces that receive Query and PIM hello are added as device ports. Interfaces that receive Join messages are added as group outgoing interfaces (OIFs). Interfaces that receive Leave messages, delete the OIF from the group entry.
Benefits of IGMP vPC Incremental Sync
-
Reduces CFS congestion.
-
Results in faster convergence.
Prerequisites for IGMP vPC Incremental Sync
vPC peers must have the same version of the Cisco software image.
Verifying IGMP vPC Incremental Sync
Command | Purpose |
---|---|
show ip igmp internal vpc | Displays the summary of the IGMP vPC incremental sync configuration. |