Configuring IP Multicast in Sparse-mode with Auto-RP

Goal: Multicast across VLANs and across Layer 3 hops to other campus locations and verify shared-tree stream to the Rendezvous Point (RP).

Below is a diagram and basic configuration I used for sparse-mode multicasting utilizing auto-rp. I chose sparse-mode because of performance and scalability reasons for my one-to-many multicasting needs (streaming live events from a few sources).

I’m using the 6500 in Site A as my sole RP in this setup, strictly for simplicity. (FYI, the 6500 is actually a VSS cluster). Site B and Site C are over a MetroE connection across geographically diverse locations.

IGMP snooping is usually enabled by default on Cisco switches, but I have it disabled on the network, only allowing IGMP snooping on specified VLANs.

I used VLC to test multicasting, streaming source as rtp://224.10.10.10 with a TTL of 6.

NOTE: I had to modify the global VLC settings on my source PC to get this to work. Do not forget to do this if testing with VLC! This mod can be found in VLC Preferences > Stream Output > Access Output > Hop Limit.

After some headache and troubleshooting, here is the basic configuration I ended up with to get this working…

On Site A 6500:

! Enable multicast routing
 ip multicast-routing distributed
! Configure PIM-SM on the Loopback
 interface Loopback255
 ip add 10.255.0.1
 ip pim sparse-mode
! Configure PIM-SM on all VLAN SVI’s that require multicasting
  ! Enable IGMP snooping so the switch can “listen in” on IGMP conversations between hosts and routers
 interface vlan 10
 description Bldg1-Data
 ip address 10.10.0.1 255.255.255.0
 ip pim sparse-mode
 ip igmp snooping
interface vlan 20
 description Bldg2-Data
 ip address 10.20.0.1 255.255.255.0
 ip pim sparse-mode
 ip igmp snooping
interface port-channel10
 ip pim sparse-mode
 ip igmp snooping
! Announce as a potential RP using a Loopback address, this is best practice, and needed for Auto-RP
 ip pim send-rp-announce Loopback255 scope 16
! Discover other RP’s in the network – needed for Auto-RP
 ip pim send-rp-discovery Loopback255 scope 16
! Prevent Dense-mode flooding and fallback - recommended
 no ip pim dm-fallback
! Configures the device to listen for RP announcements - needed
 ip pim autorp listener

On 3750 Agg:

! Enable multicast routing
 ip multicast-routing distributed
! Configure PIM-SM on all VLAN SVI’s that require multicasting
 inteface vlan 30
 description Aggregation-Data
 ip pim sparse-mode
interface vlan 1001
 description “MetroE Routed SVI to Site B and C”
 ip add 10.253.0.2
 ip pim sparse-mode
interface Port-channel 10
 description “To Core 6500”
 ip pim sparse-mode
! Configures the device to listen for RP announcements
 ip pim autorp listener
! Discover other RP’s in the network
 ip pim send-rp-discovery Port-channel10 scope 16
! Prevent Dense-mode flooding and fallback - recommended
 no ip pim dm-fallback
! Enable IGMP snooping so the switch can “listen in” on IGMP conversations between hosts and routers
 ip igmp snooping vlan 30
 ip igmp snooping vlan 1001

On Site B 3750:

! Enable multicast routing
 ip multicast-routing distributed
! Configure PIM-SM on the Loopback
 interface Loopback 255
 ip add 10.255.0.2
 ip pim sparse-mode
! Configure PIM-SM on all VLAN SVI’s that require multicasting
 interface vlan 11
 description SiteB-Data-VLAN
 ip pim sparse-mode
interface vlan 1001
 description “MetroE Routed SVI to Site A”
 ip add 10.253.0.2
 ip pim sparse-mode
! Configures the device to listen for RP announcements
 ip pim autorp listener
! Discover other RP’s in the network
 ip pim send-rp-discovery Loopback255 scope 16
! Prevent Dense-mode flooding and fallback - recommended
 no ip pim dm-fallback
! Enable IGMP snooping so the switch can “listen in” on IGMP conversations between hosts and routers
 ip igmp snooping vlan 11
 ip igmp snooping vlan 1001

On Site C 3560:

! Enable multicast routing
 ip multicast-routing distributed
! Configure PIM-SM on the Loopback
 interface Loopback 255
 ip add 10.255.0.3
 ip pim sparse-mode
! Configure PIM-SM on all VLAN SVI’s that require multicasting
 interface vlan 12
 description SiteB-Data-VLAN
 ip pim sparse-mode
interface vlan 1001
 description “MetroE Routed SVI to Site A”
 ip add 10.253.0.3
 ip pim sparse-mode
! Configures the device to listen for RP announcements
 ip pim autorp listener
! Discover other RP’s in the network
 ip pim send-rp-discovery Loopback255 scope 16
! Prevent Dense-mode flooding and fallback - recommended
 no ip pim dm-fallback
! Enable IGMP snooping so the switch can “listen in” on IGMP conversations between hosts and routers
 ip igmp snooping vlan 12
 ip igmp snooping vlan 1001

Testing

Stream is running on my multicast source at Site A, and I have all receivers joined to the multicast group 224.10.10.10 (via rtp://224.10.10.10).

6509#sh ip mroute 224.10.10.10

(*, 224.10.10.10), 00:55:12/00:02:32, RP 10.0.255.1, flags: SJC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Vlan20, Forward/Sparse, 00:00:16/00:02:45
Port-channel10, Forward/Sparse, 00:50:45/00:02:32

(10.10.0.5, 224.10.10.10), 00:55:12/00:02:54, flags: T
Incoming interface: Vlan10, RPF nbr 0.0.0.0, RPF-MFD
Outgoing interface list:
Vlan20, Forward/Sparse, 00:00:16/00:02:45, H
Port-channel10, Forward/Sparse, 00:50:45/00:03:28, H

More to post later….

Links and References:

Multicast Quick-Start Configuration Guide
http://www.cisco.com/en/US/tech/tk828/technologies_tech_note09186a0080094821.shtml

Multicast in a Campus Network: CGMP and IGMP Snooping
http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800b0871.shtml

IP Multicast Troubleshooting Guide
http://www.cisco.com/en/US/tech/tk828/technologies_tech_note09186a0080094b55.shtml

Chesapeake Netcraftsmen PIM Sparse Mode
http://www.netcraftsmen.net/resources/archived-articles/424-pim-sparse-mode.html

Cisco Support Community Post “Multicasting across VLANs”
https://supportforums.cisco.com/message/3113302

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s