Cisco NX-OS/IOS Multicast Comparison
Objective
This tech note outlines the main differences in multicast protocol support between Cisco® NX-OS Software and Cisco IOS® Software. Sample configurations are included for Cisco NX-OS and Cisco IOS Software to demonstrate the similarities and differences. Please refer to the NX-OS documentation on Cisco.com on Cisco.com for a complete list of supported features.
Multicast Overview
Multicast transmission (one-to-many) provides the capability for a source host to forward IP packets to an interested group of destination hosts , as opposed to using unicast transmission (one-to-one) or broadcast transmission (one-to-everyone in the broadcast domain). Multicast functionally is typically enabled using multiple protocols. This tech note includes the following Cisco NX-OS protocols: Protocol Independent Multicast (PIM), Internet Group Membership Protocol (IGMP) and Multicast Source Discovery Protocol (MSDP).
Important Cisco NX-OS and Cisco IOS Software Differences
In Cisco NX-OS:
- PIM and MSDP protocols require a LAN Enterprise Services license.
- The global ip multicast-routing command does not exist and is not required to enable multicast forwarding/routing. (It is required in Cisco IOS Software to enable multicast forwarding/routing)
- PIM command-line interface (CLI) configuration and verification commands are not available until you enable the PIM feature with the feature pim command.
- MSDP CLI configuration and verification commands are not available until you enable the MSDP feature with the feature msdp command.
- IGMP versions 2 and 3 are supported. IGMP version 1 and Version 3 Lite are not supported.
- An IGMP Snooping Querier is configured under the layer-2 VLAN with the ip igmp snooping querier CLI command (Physical L3 interfaces cannot be configured as IGMP Snooping Queriers). In Cisco IOS Software, an IGMP Snooping Querier is configured under the layer-3 interface.
- IGMP Snooping performs a layer-3 (IP) look-up by default, as opposed to a layer-2 (MAC) look-up performed in Cisco IOS Software on a Catalyst 6500 with a Sup720. However, a Catalyst 6500 with a Sup2T performs a layer-3 (IP) look-up by default. IP based look-up/forwarding is more efficient than MAC based look-up/forwarding.
- PIM version 2 Sparse Mode is supported. Cisco NX-OS does not support PIM version 1 Sparse Mode or Dense Mode. The NX-OS cannot fallback to Dense Mode operation.
- When configuring a PIM Auto-RP Candidate or BSR RP-Candidate the NX-OS requires a configured group-list (i.e. x.x.x.x/x), whereas Cisco IOS Software defaults to 224.0.0.0/4. An optional standard ACL can be configured to specify multicast groups in Cisco IOS Software.
- When configuring PIM Auto-RP Mapping-Agent's or Candidate-RP's, Cisco NX-OS uses a default scope of 32, whereas Cisco IOS Software requires it to be specified with the scope option (1-255).
- When configuring PIM Auto-RP, Cisco NX-OS multicast devices must be enabled to listen and/or forward RP advertisements with the ip pim auto-rp forward listen global CLI configuration command. Cisco IOS Software has to be configured for Sparse-Dense Mode or Sparse Mode with the global ip pim autorp listener CLI configuration command.
- When configuring PIM BSR, Cisco NX-OS multicast devices must be enabled to listen and/or forward RP advertisements with the ip pim bsr forward listen global CLI configuration command. Cisco IOS Software doesn’t require additional configuration, but does not have the ability to enable/disable RP forwarding and listening capabilities.
- BSR-Candidate routers have a default priority of 64. Cisco IOS Software defaults to 0. The priority value can be configured between 0 – 255 in both operating systems using the priorityoption. A higher numeric value is preferred when comparing priorities.
- BSR RP-Candidate routers have a default priority of 192. Cisco IOS Software defaults to 0. The priority value can be configured between 0 – 255 in both operating systems using thepriority option. The lower numeric value is preferred when comparing priorities.
- When configuring a Static-RP, NX-OS releases prior to version 5.2(1) does not have an override option like Cisco IOS Software that forces the Static-RP to be elected for it’s specified multicast group list over dynamically learned RP’s. NX-OS 5.2(1) introduced the override option, which provides the same behavior as Cisco IOS Software; static RP’s are preferred over dynamic RP’s for the same multicast group list when the override option is configured.
- When comparing PIM Static-RP’s to dynamically learned RP’s (Auto-RP and BSR) during the election process: The RP with the most specific multicast group-list is elected. If the group-lists are identical, the router with the highest RP IP address is elected.
- When configuring a PIM domain border, the ip pim border interface CLI command prevents BSR and Auto-RP packets from being sent or received on an interface. The Cisco IOS Software command equivalent (ip pim bsr-border) only prevents BSR packets. Cisco IOS Software requires the ip multicast boundary interface command to prevent Auto-RP packets.
- PIM neighbor authentication (IPSec ah-md5) can be enabled to authenticate directly connected neighbors to increase security. Cisco IOS Software does not support this functionality.
- PIM neighbor logging can be enabled with the global ip pim log-neighbor-changes CLI command. (Cisco IOS Software enables PIM neighbor logging by default)
- The data in the MSDP Source-Active (SA) messages are cached by default, whereas Cisco IOS Software requires the global ip msdp cache-sa-state and ip msdp cache-rejected-sa CLI commands.
- PIM is configured with the Source Specific Multicast (SSM) group range 232.0.0.0/8 by default (ip pim ssm range 232.0.0.0/8).
- Beginning with NX-OS 5.0(2a), PIM supports Bidirectional Forwarding Detection (BFD) for rapid failure detection.
Things You Should Know
The following list provides some additional facts about Cisco NX-OS that should be helpful when designing, configuring, and maintaining multicast enabled networks.
- If you remove the feature pim command, all relevant PIM configuration information is also removed.
- If you remove the feature msdp command, all relevant MSDP configuration information is also removed.
- IGMP Snooping is enabled globally by default. It can be disabled globally, or per layer-2 VLAN with the no igmp snooping command.
- IGMP version 2 is enabled by default when PIM Sparse Mode is configured on an interface.
- PIM configuration is supported under IP Tunnel (GRE) interfaces in Cisco NX-OS 5.2(1) and onward (PIM was previously not supported in IP Tunnels).
- PIM supports three modes of operation: Any Source Multicast (ASM), Single Source Multicast (SSM), Bidirectional Shared Tree (Bidr). The default mode is ASM. Bidr can be configured with the bidr option when configuring a RP.
- The Cisco NX-OS supports four types of PIM Rendezvous Points: Static, Bootstrap router (BSR), Auto-RP and Anycast-RP. (Do not configure Auto-RP and BSR in the same network)
- When configuring a PIM Static-RP, the group-list defaults to 224.0.0.0/4 if one is not specified.
- The Cisco NX-OS has two different CLI syntax options when configuring BSR and Auto RP's (New Cisco NX-OS syntax, and backwards compatible Cisco IOS Software syntax).
- The Cisco NX-OS supports multicast routing per layer-3 Virtual Routing and Forwarding (VRF) instance.
- PIM SSM and Bidr are not supported on Virtual Port-Channels (vPCs).
Configuration Comparison
The following sample code shows configuration similarities and differences between the Cisco NX-OS and Cisco IOS Software CLIs. There are few significant differences: Cisco NX-OS does not require the global ip multicast-routing command, but does require PIM and MSDP to be enabled individually with the global feature CLI commands. The Cisco NX-OS has backwards compatible syntax with Cisco IOS Software when configuring PIM BSR and Auto-RP, but Cisco NX-OS requires RP forwarding and/or listening to be configured prior to learning or forwarding dynamic RP information. Both Cisco NX-OS and Cisco IOS Software support multicast routing within a VRF instance, but Cisco NX-OS requires global commands to be configured under the VRF context as opposed to using the vrf option as with Cisco IOS Software.
Cisco IOS CLI | Cisco NX-OS CLI |
---|---|
Enabling Multicast Forwarding |
ip multicast-routing | The Cisco NX-OS does not have a single global command to enable multicast forwarding/routing. |
---|---|
Enabling the PIM Feature |
Cisco IOS Software does not have the ability to enable or disable PIM. | feature pim |
---|
Configuring PIM Sparse Mode on an Interface |
interface TenGigabitEthernet1/1
ip address 192.168.10.1 255.255.255.0
ip pim sparse-mode
| interface Ethernet1/1
ip address 192.168.10.1/24
ip pim sparse-mode
|
---|
Configuring a PIM Auto-RP |
interface Loopback10
ip address 172.16.1.1 255.255.255.255
ip pim sparse-mode
ip pim send-rp-announce Loopback10 scope 32
ip pim send-rp-discovery Loopback10 scope 32
ip pim autorp listener
| interface loopback10
ip address 172.16.1.1/32
ip pim sparse-mode
ip pim auto-rp rp-candidate loopback10 group-list 224.0.0.0/4
ip pim auto-rp mapping-agent loopback10
ip pim auto-rp forward listen
or
ip pim send-rp-announce loopback10 group-list 224.0.0.0/4
ip pim send-rp-discovery loopback10
ip pim auto-rp forward listen
|
---|
Configuring a PIM BSR RP |
interface Loopback10
ip address 172.16.1.1 255.255.255.255
ip pim sparse-mode
ip pim bsr-candidate Loopback10
ip pim rp-candidate Loopback10
| interface loopback10
ip address 172.16.1.1/32
ip pim sparse-mode
ip pim bsr bsr-candidate loopback10
ip pim bsr rp-candidate loopback10 group-list 224.0.0.0/4
ip pim bsr forward listen
or
ip pim bsr-candidate loopback10
ip pim rp-candidate loopback10 group-list 224.0.0.0/4
ip pim bsr forward listen
|
---|
Configuring a PIM Static-RP |
ip pim rp-address 172.16.1.1 | ip pim rp-address 172.16.1.1 |
---|
Configuring a PIM Anycast-RP (BSR Example) |
Cisco IOS Software does not have the ability to enable the PIM Anycast RP feature. | interface loopback0
ip address 192.168.10.1/32
ip pim sparse-mode
interface loopback10
description Anycast-RP-Address
ip address 172.16.1.1/32
ip pim sparse-mode
ip pim bsr bsr-candidate loopback0
ip pim bsr rp-candidate loopback10 group-list 224.0.0.0/4
ip pim anycast-rp 172.16.1.1 192.168.10.1
ip pim anycast-rp 172.16.1.1 192.168.10.2
ip pim bsr forward listen
|
---|
Configuring PIM Neighbor Authentication |
Cisco IOS Software does not have the ability to enable neighbor authentication. | interface Ethernet1/1
ip address 192.168.10.1/24
ip pim sparse-mode
ip pim hello-authentication ah-md5 3 a667d47acc18ea6b
|
---|
Configuring a PIM BSR Border on an Interface |
interface TenGigabitEthernet1/1
ip address 192.168.10.1 255.255.255.0
ip pim bsr-border
ip pim sparse-mode
ip multicast boundary 10
access-list 10 deny 224.0.1.39
access-list 10 deny 224.0.1.40
access-list 10 permit 224.0.0.0 15.255.255.255
| interface Ethernet1/1
ip address 192.168.10.1/24
ip pim sparse-mode
ip pim border
|
---|
Configuring PIM in a Non-Default VRF Instance |
ip vrf production
ip multicast-routing vrf production
interface Loopback10
ip vrf forwarding production
ip address 172.16.1.1 255.255.255.255
ip pim sparse-mode
interface TenGigabitEthernet1/1
ip vrf forwarding production
ip address 192.168.10.1 255.255.255.0
ip pim sparse-mode
ip pim vrf production rp-address 172.16.1.1 | vrf context production
ip pim rp-address 172.16.1.1 group-list 224.0.0.0/4
interface loopback10
vrf member production
ip address 172.16.1.1/32
interface Ethernet1/1
vrf member production
ip address 192.168.10.1/24
ip pim sparse-mode
|
---|
Configuring IGMP Version 3 for an Interface |
interface TenGigabitEthernet1/1
ip address 192.168.10.1 255.255.255.0
ip pim sparse-mode
ip igmp version 3
| interface Ethernet1/1
ip address 192.168.10.1/24
ip pim sparse-mode
ip igmp version 3
|
---|
Configuring an IGMP Snooping Querier for a VLAN |
interface Vlan10
ip address 192.168.10.1 255.255.255.0
ip igmp snooping querier
| vlan 10
ip igmp snooping querier 192.168.10.1
|
---|
Configuring MSDP (Anycast-RP) |
interface Loopback0
description MSDP Peer Address
ip address 192.168.1.1 255.255.255.255
interface Loopback10
description PIM RP Address
ip address 1.1.1.1 255.255.255.255
ip pim rp-address 1.1.1.1
ip msdp peer 192.168.2.1 connect-source Loopback0
ip msdp cache-sa-state
| interface loopback0
description MSDP Peer Address
ip address 192.168.1.1/32
interface loopback10
description PIM RP Address
ip address 1.1.1.1/32
ip pim rp-address 1.1.1.1 group-list 224.0.0.0/4
ip msdp peer 192.168.2.1 connect-source loopback0
|
---|
Verification Command Comparison
The following table compares some useful show commands for verifying and troubleshooting multicast network configurations.
Cisco NX-OS Multicast | Cisco IOS Software Multicast | Command Description |
---|---|---|
show ip igmp groups | show ip igmp groups | Displays all IGMP attached group membership information |
show ip igmp interface | show ip igmp interface | Displays IGMP information for all interfaces |
show ip igmp interface brief | - | Displays a one line summary status per interface |
show ip igmp interface int-type | show ip igmp interface int-type | Displays IGMP information for a specific interface |
show ip igmp interface vrf name | show ip igmp vrf name | Displays IGMP information for a specific VRF instance |
show ip igmp local-groups int-type | - | Displays IGMP local groups associated to a specific interface |
show ip igmp local-groups vrf name | - | Displays IGMP local groups associated to a specific VRF instance |
show ip igmp route | - | Displays IGMP attached group membership information |
show ip igmp route x.x.x.x | - | Displays IGMP attached group membership for a specific group |
show ip igmp route int-type | - | Displays IGMP attached group membership for a specific interface |
show ip igmp route vrf name | - | Displays IGMP attached group membership for a specific VRF instance |
show ip igmp snooping | - | Displays global and per interface IGMP Snooping information |
show ip igmp snooping explicit-tracking | show ip igmp snooping explicit-tracking | Displays explicit tracking information for IGMPv3 |
show ip igmp snooping groups | show mac-address-table multicast igmp-snooping | Displays IGMP Snooping groups information |
show ip igmp snooping mrouter | show ip igmp snooping mrouter | Displays detected multicast routers |
show ip igmp snooping otv | - | Displays IGMP Snooping OTV information |
show ip igmp snooping querier | - | Displays IGMP Snooping querier information |
show ip igmp snooping statistics | show ip igmp snooping statistics | Displays packet/error counter statistics |
show ip igmp snooping vlan # | - | Displays IGMP Snooping information per specific VLAN |
- | - | - |
show ip msdp count | show ip msdp count | Displays MSDP SA cache counters |
show ip msdp mesh-group | - | Displays MSDP Mesh-Group members |
show ip msdp peer | show ip msdp peer | Displays all MSDP peers |
show ip msdp peer x.x.x.x | show ip msdp peer x.x.x.x | Displays a specific MSDP peer |
show ip msdp peer vrf name | show ip msdp vrf name | Displays MSDP peers related to a specific VRF instance |
show ip msdp peer policy | - | Displays the MSDP peer policies |
show ip msdp peer route | - | Displays the MSDP route-cache |
show ip msdp sa-cache | show ip msdp sa-cache | Displays the MSDP SA route-cache |
show ip msdp source | - | Displays the MSDP learned sources and associated statistics |
show ip msdp summary | show ip msdp summary | Displays the MSDP peer summary |
- | - | - |
show ip pim df | show ip pim interface df | Displays Bidr designated forwarders |
show ip pim df x.x.x.x | show ip pim interface df x.x.x.x | Displays Bidr designated forwarders for a specific RP or group |
show ip pim df vrf name | - | Displays Bidr designated forwarders for a specific VRF instance |
show ip pim group-range | - | Displays the PIM group-ranges |
show ip pim group-range x.x.x.x | - | Displays a specific PIM group-range |
show ip pim group-range vrf name | - | Displays the PIM group-ranges for a specific VRF instance |
show ip pim interface | - | Displays all PIM enabled interfaces |
show ip pim interface brief x.x.x.x | - | Displays a one line summary of all PIM enabled interfaces |
show ip pim interface int-type | show ip pim interface int-type | Displays information for a specific PIM interface |
show ip pim interface vrf name | - | Displays the PIM interfaces for a specific VRF instance |
show ip pim neighbor | show ip pim neighbor | Displays all PIM neighbors |
show ip pim neighbor x.x.x.x | show ip pim neighbor x.x.x.x | Displays a specific PIM neighbor for a specific IP address |
show ip pim neighbor interface int-type | show ip pim neighbor int-type | Displays a specific PIM neighbor for a specific interface |
show ip pim neighbor vrf name | - | Displays PIM neighbors for a specific VRF instance |
show ip pim oif-list x.x.x.x | - | Displays PIM OIF-List for a specific multicast group address |
show ip pim policy statistics | - | Displays PIM statistics |
show ip pim route | - | Displays PIM routes |
show ip pim route x.x.x.x | - | Displays a specific PIM route |
show ip pim route vrf name | - | Displays PIM routes for a specific VRF instance |
show ip pim rp | show ip pim rp mapping | Displays PIM RP information |
show ip pim rp x.x.x.x | show ip pim rp x.x.x.x | Displays information for a specific PIM group address |
show ip pim rp vrf name | - | Displays information for PIM RP's in a specific VRF instance |
show ip pim rp-hash x.x.x.x | show ip pim rp-hash x.x.x.x | Displays PIM RP-Hash value for a specific group |
show ip pim statistics | - | Displays PIM packet statistics |
show ip pim statistics vrf name | - | Displays per packet statistics for a specific VRF instance |
show ip pim vrf name | show ip pim vrf name | Displays detailed PIM information per specific VRF instance |
- | - | - |
show ip mroute | show ip mroute | Displays the multicast routing table |
show forwarding multicast route group <group> | show ip mroute count | Displays mroute flags and forwarding/RPF counters |
show ip mroute summary | show ip mroute summary | Displays the multicast routing table with packet counts and bit rates |
show ip mroute x.x.x.x | show ip mroute x.x.x.x | Displays a specific multicast route |
show ip mroute vrf name | show ip mroute vrf name | Displays the multicast routing table for a specific VRF instance |
- | - | - |
show ip route rpf | show ip rpf | Displays the Reverse Path Forwarding (RPF) table used for multicast source lookup |
No comments:
Post a Comment