Wednesday, September 9, 2015

Cisco NX-OS/IOS Multicast Comparison & commonly used Commands

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 CLICisco NX-OS CLI
Enabling Multicast Forwarding
ip multicast-routingThe 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.1ip 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 MulticastCisco IOS Software MulticastCommand Description
show ip igmp groupsshow ip igmp groupsDisplays all IGMP attached group membership information
show ip igmp interfaceshow ip igmp interfaceDisplays IGMP information for all interfaces
show ip igmp interface brief-Displays a one line summary status per interface
show ip igmp interface int-typeshow ip igmp interface int-typeDisplays IGMP information for a specific interface
show ip igmp interface vrf nameshow ip igmp vrf nameDisplays 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-trackingshow ip igmp snooping explicit-trackingDisplays explicit tracking information for IGMPv3
show ip igmp snooping groupsshow mac-address-table multicast igmp-snoopingDisplays IGMP Snooping groups information
show ip igmp snooping mroutershow ip igmp snooping mrouterDisplays 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 statisticsshow ip igmp snooping statisticsDisplays packet/error counter statistics
show ip igmp snooping vlan #-Displays IGMP Snooping information per specific VLAN
---
show ip msdp countshow ip msdp countDisplays MSDP SA cache counters
show ip msdp mesh-group-Displays MSDP Mesh-Group members
show ip msdp peershow ip msdp peerDisplays all MSDP peers
show ip msdp peer x.x.x.xshow ip msdp peer x.x.x.xDisplays a specific MSDP peer
show ip msdp peer vrf nameshow ip msdp vrf nameDisplays 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-cacheshow ip msdp sa-cacheDisplays the MSDP SA route-cache
show ip msdp source-Displays the MSDP learned sources and associated statistics
show ip msdp summaryshow ip msdp summaryDisplays the MSDP peer summary
---
show ip pim dfshow ip pim interface dfDisplays Bidr designated forwarders
show ip pim df x.x.x.xshow ip pim interface df x.x.x.xDisplays 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-typeshow ip pim interface int-typeDisplays information for a specific PIM interface
show ip pim interface vrf name-Displays the PIM interfaces for a specific VRF instance
show ip pim neighborshow ip pim neighborDisplays all PIM neighbors
show ip pim neighbor x.x.x.xshow ip pim neighbor x.x.x.xDisplays a specific PIM neighbor for a specific IP address
show ip pim neighbor interface int-typeshow ip pim neighbor int-typeDisplays 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 rpshow ip pim rp mappingDisplays PIM RP information
show ip pim rp x.x.x.xshow ip pim rp x.x.x.xDisplays 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.xshow ip pim rp-hash x.x.x.xDisplays 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 nameshow ip pim vrf nameDisplays detailed PIM information per specific VRF instance
---
show ip mrouteshow ip mrouteDisplays the multicast routing table
show forwarding multicast route group <group>show ip mroute countDisplays mroute flags and forwarding/RPF counters
show ip mroute summaryshow ip mroute summaryDisplays the multicast routing table with packet counts and bit rates
show ip mroute x.x.x.xshow ip mroute x.x.x.xDisplays a specific multicast route
show ip mroute vrf nameshow ip mroute vrf nameDisplays the multicast routing table for a specific VRF instance
---
show ip route rpfshow ip rpfDisplays the Reverse Path Forwarding (RPF) table used for multicast source lookup

No comments:

Post a Comment