cisco Nexus 3000 Series NX-OS Multicast Routing Configuration Guide User Guide
- June 8, 2024
- Cisco
Table of Contents
cisco Nexus 3000 Series NX-OS Multicast Routing Configuration Guide User Guide
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 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
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 queried 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, on page 12 section.
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 nonpink 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.
Guidelines and Limitations for IGMP
IGMP has the following guidelines and limitations:
- Excluding or blocking a list of sources according to IGMPv3 (RFC 3376) is not supported.
- All external multicast router ports (either statically configured or dynamically learned) use the global LTL index. As a result, traffic in VLAN X goes out on the multicast router ports in both VLAN X and VLAN Y, in case both multicast router ports (Layer 2 trunks) carry both VLAN X and VLAN Y.
- On Cisco Nexus 3000 Series switches, you must carve the switch RACL TCAM regions in order to make IGMP and PIM work on Layer 3 interfaces. Some system default Multicast ACLs that are installed in the RACL regions are required for IGMP and PIM to work on Layer 3 interfaces.
- Starting with Release 7.0(3)I2(1), when you configure an interface in the VRF, configure the PIM, send the IGMP joins and verify the CLI command show ip fib mroute, an error message is displayed as follows: ERROR: Invalid Table-id. The default table is not created until there are joins in the interface under the default VRF. Therefore, an error is displayed while attempting to display the default table. When a group is learned in the default table, the default table is created and the error message is not displayed anymore. The CLI command show ip fib route is not supported on the Cisco Nexus 34180YC platform switch.
- 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 ipigmp 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 staticoif command instead of the ip igmp join-group command.
- Ingress RACL for L3 multicast data traffic, is not supported on the Cisco Nexus 34180YC platform switch.
Default Settings for IGMP
This table 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.
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 the
table below.
Procedure
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 (PIM) section.
This table lists the example SSM translations.
Note This feature is similar to SSM mapping found in some Cisco IOS software.
Configuring the Enforce Router Alert Option Check
You can configure the enforce router alert option check for IGMPv2 and IGMPv3
packets.
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
The following example shows how to configure the IGMP parameters:
switch# configure terminal
switch(config)# ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
switch(config)# interface ethernet 2/1
switch(config-if)# no switchport
switch(config-if)# ip igmp version 3
switch(config-if)# ip igmp join-group 230.0.0.0
switch(config-if)# ip igmp startup-query-interval 25
switch(config-if)# ip igmp startup-query-count 3
switch(config-if)# ip igmp robustness-variable 3
switch(config-if)# ip igmp querier-timeout 300
switch(config-if)# ip igmp query-timeout 300
switch(config-if)# ip igmp query-max-response-time 15
switch(config-if)# ip igmp query-interval 100
switch(config-if)# ip igmp last-member-query-response-time 3
switch(config-if)# ip igmp last-member-query-count 3
switch(config-if)# ip igmp group-timeout 300
switch(config-if)# ip igmp report-link-local-groups
switch(config-if)# ip igmp report-policy my_report_policy
switch(config-if)# ip igmp access-group my_access_policy
switch(config-if)# ip igmp immediate-leave
switch(config-if)# ip igmp global-leave-ignore-gss-mrt
This example shows how to configure a route map that accepts all multicast
reports (joins):
switch(config)# route-map foo
switch(config-route-map)# exit
switch(config)# interface vlan 10
switch(config-if)# no switchport
switch(config-if)# ip pim sparse-mode
switch(config-if)# ip igmp report-policy foo
This example shows how to configure a route map that denies all multicast
reports (joins):
switch(config)# route-map foo deny 10
switch(config-route-map)# exit
switch(config)# interface vlan 5
switch(config-if)# ip pim sparse-mode
switch(config-if)# ip igmp report-policy foo
Where to Go Next
You can enable the following features that work with PIM and IGMP:
- Configuring IGMP Snooping
- Configuring MSDP
Feature History for IGMP
This Table lists the release history for this feature.
Table 5: Feature History for IGMP
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>