About IGMP
IGMP is an IPv4 protocol that a host uses to request multicast data for a particular group. Using the information that is 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 switch supports IGMPv2 and IGMPv3, and 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 this figure. Hosts 1, 2, and 3 send unsolicited IGMP membership report messages to initiate receiving multicast data for a group or channel.
In the figure IGMPv1 and IGMPv2 Query-Response Process, 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 the Configuring IGMP Interface Parameters section.
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 the following 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 the Configuring an IGMP SSM Translation section.
Note |
IGMPv3 hosts do not perform IGMP membership report suppression. |
Messages that are sent by the designated querier have a time-to-live (TTL) value of 1, which means that the directly connected routers on the subnet do not forward the messages. 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 unnecessary, you can tune the query interval that is used after startup to a value that balances the responsiveness to host group membership messages and the traffic that is 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 the Configuring IGMP Interface Parameters section.
Virtualization Support
Cisco NX-OS supports virtual routing and forwarding (VRF). You can define multiple VRF instances. A VRF configured with IGMP supports the following IGMP features:
-
IGMP is enabled or disabled on per interface.
-
IGMPv1, IGMPv2, and IGMPv3 provide router-side support.
-
IGMPv2 and IGMPv3 provide host-side support.
-
Supports configuration of IGMP querier parameters
-
IGMP reporting is supported for link local multicast groups.
-
IGMP SSM-translation supports mapping of IGMPv2 groups to a set of sources.
-
Supports multicast traceroute (Mtrace) server functionality to process Mtrace requests.
For information about configuring VRFs, see the Cisco Nexus 3000 Series NX-OS Unicast Routing Configuration Guide.