Configuring IGMP
This chapter describes how to configure the Internet Group Management Protocol (IGMP) on Cisco NX-OS switches for IPv4 networks.
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:
This section includes the following topics:
IGMP Versions
The switch 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 Figure 2-1. Hosts 1, 2, and 3 send unsolicited IGMP membership report messages to initiate receiving multicast data for a group or channel.
Figure 2-1 IGMPv1 and IGMPv2 Query-Response Process
In Figure 2-1, 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 Figure 2-1, 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 Figure 2-2, 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.
Figure 2-2 IGMPv3 Group-and-Source-Specific Query
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.
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 trace-route (Mtrace) server functionality to process Mtrace requests
For information about configuring VRFs, see the Cisco Nexus 3000 Series NX-OS Unicast Routing Configuration Guide.
Limitations
In Cisco NX-OS releases older than Cisco NX-OS Release 6.0(2)U1(1), you can use the ip igmp join-group command to bind a Nexus 3000 Series switch to a multicast group. The switch generates an Internet Group Management Protocol (IGMP)-join for the specified group, and any multicast packets destined to the group are sent to the CPU. If there are receivers connected to the Nexus 3000 Series switch, which request for the group, then a copy of the packet is also sent to the receiver.
In Cisco NX-OS Release 6.0(2)U1(1) and higher releases, you cannot use the ip igmp join-group command to program any Outgoing Interface Lists (OILs). Even if there are receivers that request for the stream, no packets are sent to them. To bind a Nexus 3000 Series switch to a multicast group, use the ip igmp static-oif command instead of the ip igmp join-group command.
Licensing Requirements for IGMP
The following table shows the licensing requirements for this feature:
Default Settings for IGMP
Table 2-1 lists the default settings for IGMP parameters.
|
|
---|---|
Configuring IGMP Parameters
You can configure the IGMP global and interface parameters to affect the operation of the IGMP process.
This section includes the following topics:
- Configuring IGMP Interface Parameters
- Configuring an IGMP SSM Translation
- Configuring the Enforce Router Alert Option Check
Note If you are familiar with the Cisco IOS CLI, be aware that the Cisco NX-OS commands for this feature might differ from the Cisco IOS commands that you would use.
Configuring IGMP Interface Parameters
You can configure the optional IGMP interface parameters described in Table 2-2 .
|
|
---|---|
IGMP version that is enabled on the interface. The IGMP version can be 2 or 3. The default is 2. |
|
Multicast groups that are statically bound to the interface. You can configure the groups to join the interface with the (*, G) state or specify a source IP to join with the (S, G) state. You can specify a route-map policy name that lists the group prefixes, group ranges, and source prefixes to use with the match ip multicast command. Note Although you can configure the (S, G) state, the source tree is built only if you enable IGMPv3. For information about SSM translation, see the “Configuring an IGMP SSM Translation” section. You can configure a multicast group on all the multicast-capable routers on the network so that pinging the group causes all the routers to respond. |
|
Multicast groups that are statically bound to the output interface. You can configure the groups to join the output interface with the (*, G) state or specify a source IP to join with the (S, G) state. You can specify a route-map policy name that lists the group prefixes, group ranges, and source prefixes to use with the match ip multicast command. Note Although you can configure the (S, G) state, the source tree is built only if you enable IGMPv3. For information about SSM translation, see the “Configuring an IGMP SSM Translation” section. |
|
Startup query interval. By default, this interval is shorter than the query interval so that the software can establish the group state as quickly as possible. Values range from 1 to 18,000 seconds. The default is 31 seconds. |
|
Number of queries sent at startup that are separated by the startup query interval. Values range from 1 to 10. The default is 2. |
|
Robustness variable that you can tune to reflect expected packet loss on a congested network. You can increase the robustness variable to increase the number of times that packets are resent. Values range from 1 to 7. The default is 2. |
|
Number of seconds that the software waits after the previous querier has stopped querying and before it takes over as the querier. Values range from 1 to 65,535 seconds. The default is 255 seconds. |
|
Maximum response time advertised in IGMP queries. You can tune the burstiness of IGMP messages on the network by setting a larger value so that host responses are spread out over a longer time. This value must be less than the query interval. Values range from 1 to 25 seconds. The default is 10 seconds. |
|
Frequency at which the software sends IGMP host query messages. You can tune the number of IGMP messages on the network by setting a larger value so that the software sends IGMP queries less often. Values range from 1 to 18,000 seconds. The default is 125 seconds. |
|
Interval in which the software sends a response to an IGMP query after receiving a host leave message from the last known active host on the subnet. If no reports are received in the interval, the group state is deleted. You can use this value to tune how quickly the software stops transmitting on the subnet. The software can detect the loss of the last member of a group or source more quickly when the values are smaller. Values range from 1 to 25 seconds. The default is 1 second. |
|
Number of times that the software sends an IGMP query, separated by the last member query response interval, in response to a host leave message from the last known active host on the subnet. Values range from 1 to 5. The default is 2. |
|
Group membership interval that must pass before the router decides that no members of a group or source exist on the network. Values range from 3 to 65,535 seconds. The default is 260 seconds. |
|
Option that enables sending reports for groups in 224.0.0.0/24. Link local addresses are used only by protocols on the local network. Reports are always sent for nonlink local groups. The default is disabled. |
|
Access policy for IGMP reports that is based on a route-map policy1. |
|
Option that configures a route-map policy 1 to control the multicast groups that hosts on the subnet serviced by an interface can join. |
|
Option that minimizes the leave latency of IGMPv2 group memberships on a given IGMP interface because the switch does not send group-specific queries. When immediate leave is enabled, the switch removes the group entry from the multicast routing table immediately upon receiving a leave message for the group. The default is disabled. Note Use this command only when there is one receiver behind the interface for a given group. |
|
Beginning with Cisco NX-OS Release 5.0(3)U1(2), you can use the configured Maximum Response Time (MRT) value in group-specific queries against a lower MRT value in response to IGMP global leave messages (IGMP leave reports to group 0.0.0.0). |
1.To configure route-map policies, see the Cisco Nexus 3000 Series NX-OS Unicast Routing Configuration Guide. |
For information about configuring multicast route maps, see the “Configuring Route Maps to Control RP Information Distribution” section.
SUMMARY STEPS
4. ip igmp version value
ip igmp join-group { group [ source source ] | route-map policy-name }
ip igmp static-oif { group [ source source ] | route-map policy-name }
ip igmp startup-query-interval seconds
ip igmp startup-query-count count
ip igmp robustness-variable value
ip igmp querier-timeout seconds
ip igmp query-timeout seconds
ip igmp query-max-response-time seconds
ip igmp query-interval interval
ip igmp last-member-query-response-time seconds
ip igmp last-member-query-count count
ip igmp group-timeout seconds
ip igmp report-link-local-groups
ip igmp report-policy policy
ip igmp access-group policy
ip igmp immediate-leave
ip igmp global-leave-ignore-gss-mrt
5. (Optional) show ip igmp interface [ interface ] [ vrf vrf-name | all ] [ brief ]
DETAILED STEPS
Configuring an IGMP SSM Translation
You can configure an SSM translation to provide SSM support when the router receives IGMPv1 or IGMPv2 membership reports. Only IGMPv3 provides the capability to specify group and source addresses in membership reports. By default, the group prefix range is 232.0.0.0/8. To modify the PIM SSM range, see the “Configuring SSM” section.
Table 2-3 lists the example SSM translations.
|
|
---|---|
Table 2-4 shows the resulting MRIB routes that the IGMP process creates when it applies an SSM translation to the IGMP membership report. If more than one translation applies, the router creates the (S, G) state for each translation.
|
|
---|---|
Note This feature is similar to SSM mapping found in some Cisco IOS software.
SUMMARY STEPS
2. ip igmp ssm-translate group-prefix source-addr
DETAILED STEPS
Configuring the Enforce Router Alert Option Check
You can configure the enforce router alert option check for IGMPv2 and IGMPv3 packets.
SUMMARY STEPS
2. ip igmp enforce-router-alert
no ip igmp enforce-router-alert
DETAILED STEPS
Verifying the IGMP Configuration
To display the IGMP configuration information, perform one of the following tasks:
For detailed information about the fields in the output from these commands, see the Cisco Nexus 3000 Series Command Reference,.
Configuration Examples for IGMP
This example shows how to configure the IGMP parameters:
This example shows how to configure a route map that accepts all multicast reports (joins):
This example shows how to configure a route map that denies all multicast reports (joins):
Where to Go Next
You can enable the following features that work with PIM and IGMP:
Feature History for IGMP
Table 2-5 lists the release history for this feature.
|
|
|
---|---|---|