IP Multicast Tools

Icon

Tools, tips, and suggestions for Network Engineers

ip multicast design with two rendezvous points

I recently had an interesting ip multicast problem to solve.

I needed to split multicast traffic on my network based on sender and receiver location.

There is an older Cisco Call Manger on my network that provides (among other things) music-on-hold (MOH) to around 900 ip phones.

There is also a new Cisco Call Manager on a different part of my network that provides this same function to about different 700 phones.

The challenge is to use ip pim sparse-mode and multiple rendezvous points (RP) to send the MOH stream from the correct Call Manager to the correct phone.

By the way , all this needed to be accomplished while also considering the ip mulitcast needs of Vocera badges, security cameras, and the need to be scalable for future ip mulitcast applications.

The topology diagram below along with the list configuration is the solution I developed, tested, and implemented.

Please drop a comment if would like any further information on the topic.

The multicast configuration  to accompany the diagram is listed below.

multicast configurations

Router A

!

ip pim rp-address 10.3.###.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

!

ip multicast-routing

!

ip access-list standard VOIPMC

permit 239.###.10.0 0.0.0.255

permit 239.###.80.0 0.0.0.255

!

interface Vlan210

description User Vlan

ip address 10.###.10.1 255.255.255.0

ip pim sparse-mode

end

!

interface Vlan403

description VoIP Gateway Vlan

ip address 10.###.131.1 255.255.255.0

ip pim sparse-mode

end

!

interface Vlan404

description VoIP Phone Vlan

ip address 10.###.141.1 255.255.255.0

ip pim sparse-mode

ip pim sparse-mode

end

!

interface Vlan1130

description Security Camera Vlan

ip address 10.###.15.1 255.255.255.0

ip helper-address 10.20.60.10

ip helper-address 10.20.60.11

ip pim sparse-mode

end

!

interface Vlan2111

description Uplink Vlan to ROUTERB(1)-6500 te11/2

ip address 10.###.111.5 255.255.255.0

ip pim sparse-mode

end

!

interface Vlan2221

description Uplink Vlan to ROUTERB(2)-6500 te11/2

ip address 10.###.221.5 255.255.255.0

ip pim sparse-mode

end

!

Router b(1)

ip pim rp-address 10.3.xxx.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

!

ip multicast-routing

!

ip access-list standard VOIPMC

permit 239.###.10.0 0.0.0.255

permit 239.###.80.0 0.0.0.255

!

interface Vlan341

description ROUTERE(1)-6500 tenG13/1

ip address 10.3.###.3 255.255.255.0

ip pim sparse-mode

no ip route-cache

ip summary-address eigrp 210 10.0.0.0 0.0.0.255

no ip mroute-cache

end

!

interface Vlan2111

description ROUTER A-6500 te5/4

ip address 10.242.###.3 255.255.255.0

ip pim sparse-mode

end

!

Router B(2)

ip pim rp-address 10.3.###.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

!

ip multicast-routing

!

ip access-list standard VOIPMC

permit 239.###.10.0 0.0.0.255

permit 239.###.80.0 0.0.0.255

!

interface Vlan342

description ROUTERE(2)-6500 te13/8

ip address 10.3.###.4 255.255.255.0

ip pim sparse-mode

no ip route-cache

no ip mroute-cache

end

!

interface Vlan2221

description RouterA tenG6/4

ip address 10.###.221.4 255.255.255.0

ip pim sparse-mode

end

!

ROUTERE(1)-6500

ip pim rp-address 10.3.###.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

ip msdp peer 10.3.239.2 connect-source Loopback1

ip msdp cache-sa-state

ip msdp originator-id Loopback1

!

ip multicast-routing

!

ip access-list standard VOIPMC

permit 239.###.10.0 0.0.0.255

permit 239.###.80.0 0.0.0.255

!

interface Loopback1

description MSDP Peer Address

ip address 10.3.###.1 255.255.255.255

end

!

interface Vlan120

description vlan 120 to ROUTERF-6500

ip address 10.3.###.1 255.255.255.0

ip pim sparse-mode

!

interface Vlan341

description ROUTERB(1)-6500 te7/4

ip address 10.3.##.1 255.255.255.0

ip pim sparse-mode

end

!

interface Vlan351

description ROUTERD(1)-6500 te5/4

ip address 10.3.###.1 255.255.255.0

ip pim sparse-mode

end

ROUTERE(2)-6500

ip pim rp-address 10.3.###.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

ip msdp peer 10.3.239.1 connect-source Loopback1

ip msdp cache-sa-state

ip msdp originator-id Loopback1

!

ip multicast-routing

!

ip access-list standard VOIPMC

permit 239.###.10.0 0.0.0.255

permit 239.###.80.0 0.0.0.255

!

interface Loopback1

description MSDP Peer Address

ip address 10.3.###.2 255.255.255.255

end

!

interface Vlan121

description vlan 121 to ROUTERF-6500

ip address 10.3.###.1 255.255.255.0

ip pim sparse-mode

!

interface Vlan342

description ROUTERB(2)-6500 te7/4

ip address 10.3.###.1 255.255.255.0

ip pim sparse-mode

end

!

interface Vlan352

description ROUTERD(2)-6500 te5/4

ip address 10.3.###.2 255.255.255.0

ip pim sparse-mode

end

ROUTERF-6500>ROUTERF-15msfc

!

ip pim rp-address 10.3.###.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

!

ip access-list standard VOIPMC

permit 239.###.10.0 0.0.0.255

permit 239.###.80.0 0.0.0.255

!

ip multicast-routing

!

interface Vlan120

description Uplink to ROUTERE(1)

ip address 10.3.###.5 255.255.255.0

ip pim sparse-mode

no ip unreachables

end

!

interface Vlan121

description Uplink to ROUTERE(2)

ip address 10.3.###.5 255.255.255.0

ip pim sparse-mode

no ip unreachables

end

!

interface Vlan140

description ROUTERF 14th Floor

ip address 10.120.###.5 255.255.255.0

ip pim sparse-mode

no ip redirects

no ip unreachables

standby 140 priority 100 preempt

standby 140 ip 10.120.140.1

end

ROUTERF-6500>ROUTERF-16msfc

!

ip pim rp-address 10.3.###.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

!

ip multicast-routing

!

ip access-list standard VOIPMC

permit 239.###.10.0 0.0.0.255

permit 239.###.80.0 0.0.0.255

!

interface Vlan120

description Uplink to ROUTERE(1)

ip address 10.3.###.6 255.255.255.0

ip pim sparse-mode

no ip unreachables

end

!

interface Vlan121

description Uplink to ROUTERE(2)

ip address 10.3.xxx.6 255.255.255.0

ip pim sparse-mode

ip helper-address 10.22.60.50

no ip unreachables

end

!

interface Vlan140

description ROUTERF 14th Floor

ip address 10.###.140.6 255.255.255.0

ip pim sparse-mode

no ip redirects

no ip unreachables

standby 140 priority 101 preempt

standby 140 ip 10.120.###.1

end

ROUTERD(1)-6500

ip pim rp-address 10.3.###.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

ip msdp peer 10.###.239.2 connect-source Loopback1

ip msdp cache-sa-state

ip msdp originator-id Loopback1

!

ip access-list standard VOIPMC

permit 239.###.10.0 0.0.0.255

permit 239.###.80.0 0.0.0.255

!

ip multicast-routing

!

interface Loopback1

description MSDP Peer Address

ip address 10.###.239.1 255.255.255.255

!

interface Loopback239

description RP Anycast Address

ip address 10.###.239.255 255.255.255.255

!

interface Vlan10

description Call Manager Vlan

ip address 10.###.10.2 255.255.255.0

ip pim sparse-mode

standby 1 ip 10.###.10.1

standby 1 priority 255

standby 1 preempt

!

interface Vlan20

description Unity Vlan

ip address 10.###.20.2 255.255.255.0

ip pim sparse-mode

standby 1 ip 10.###.20.1

standby 1 priority 255

standby 1 preempt

!

interface Vlan30

description IPCC Vlan

ip address 10.###.30.2 255.255.255.0

ip pim sparse-mode

standby 1 ip 10.###.30.1

standby 1 priority 255

standby 1 preempt

!

interface Vlan60

description Vocera Vlan

ip address 10.###.60.2 255.255.255.0

ip pim sparse-mode

standby 1 ip 10.###.60.1

standby 1 priority 255

standby 1 preempt

!

interface Vlan351

description ROUTERE(1)-6500 te13/3

ip address 10.3.###.3 255.255.255.0

ip pim sparse-mode

no ip route-cache

no ip mroute-cache

end

ROUTERD(2)-6500

ip pim rp-address 10.3.239.255

ip pim rp-address 10.###.239.255  VOIPMC

ip pim spt-threshold infinity

ip msdp peer 10.###.239.1 connect-source Loopback1

ip msdp cache-sa-state

ip msdp originator-id Loopback1

!

ip multicast-routing

!

interface Loopback1

description MSDP Peer Address

ip address 10.###.239.2 255.255.255.255

!

interface Loopback239

description RP Anycast Address

ip address 10.###.239.255 255.255.255.255

!

interface Vlan10

description Call Manager Vlan

ip address 10.###.10.3 255.255.255.0

ip pim sparse-mode

standby 1 ip 10.###.10.1

standby 1 priority 254

standby 1 preempt

!

interface Vlan20

description Unity Vlan

ip address 10.###.20.3 255.255.255.0

ip pim sparse-mode

standby 1 ip 10.###.20.1

standby 1 priority 254

standby 1 preempt

!

interface Vlan30

description IPCC Vlan

ip address 10.###.30.3 255.255.255.0

ip pim sparse-mode

standby 1 ip 10.###.30.1

standby 1 priority 254

standby 1 preempt

!

interface Vlan60

description Vocera Vlan

ip address 10.###.60.3 255.255.255.0

ip pim sparse-mode

standby 1 ip 10.###.60.1

standby 1 priority 254

standby 1 preempt

!

interface Vlan352

description ROUTERE(2)-6500 uplink vlan

ip address 10.3.###.4 255.255.255.0

ip pim sparse-mode

no ip route-cache

ip summary-address eigrp 210 10.###.0.0 255.255.0.0 5

no ip mroute-cache

end

Filed under: ip multicast

ip multicast designated router

I worked recently  with Cisco TAC on a case that lasted several hours .  My network was having trouble successfully passing music-on-hold from the Call Manager (multicast sender) to the Cisco VOIP phones (multicast receiver) that are located at various locations across the layer 3 core.

The TAC engineer introduced me to the dr-priority command.  With this command you can set a designated router (dr) for forwarding the multicast traffic along the pat from the sender to the receiver.  This is helpful when there is possibly more than one router along an equal-cost path.  An example would be HSRP with a virtual router on the front of two or more physical (or vlan) interfaces.

The Cisco IOS information to configure this is below.

ip pim dr-priority

To set the priority for which a router is elected as the designated router (DR), use the ip pim dr-priority command in interface configuration mode. To disable this function, use the no form of this command.

ip pim dr-priority priority-value

no ip pim dr-priority priority-value

Syntax Description

priority-value Value in the range from 0 to 4294967294 used to determine the priority of the router to be selected as the DR.

Defaults

The command is disabled.

Command Modes

Interface configuration

Command History

Release Modification
12.1(2)T This command was introduced.

Usage Guidelines

When a DR is a candidate for election, the following conditions apply:

•The router with the highest priority value configured on an interface will be elected as the DR. If this priority value is the same on multiple routers, then the router with the highest IP address configured on an interface will be elected as the DR.

•If a router does not advertise a priority value in its hello messages, the router is regarded as having the highest priority and will be elected as the DR. If there are multiple routers with this priority status, then the router with the highest IP address configured on an interface will be elected as the DR.

Examples

The following example sets the DR priority value of the Ethernet0 interface to 200:

interface Ethernet0
  ip address 10.0.1.2 255.255.255.0
  ip pim dr-priority 200

I worked with Cisco TAC on a case that lasted several hours recently.  My network was having trouble successfully passing music-on-hold from the Call Manager (multicast sender) to the Cisco VOIP phones (multicast receiver) that are located at various locations across the layer 3 core.

The TAC engineer introduced me to the dr-priority command.  With this command you can set a designated router (dr) for forwarding the multicast traffic along the pat from the sender to the receiver.  This is helpful when there is possibly more than one router along an equal-cost path.  An example would be HSRP with a virtual router on the front of two or more physical (or vlan) interfaces.

The Cisco IOS information to configure this is below.

ip pim dr-priority

To set the priority for which a router is elected as the designated router (DR), use the ip pim dr-priority command in interface configuration mode. To disable this function, use the no form of this command.

ip pim dr-priority priority-value

no ip pim dr-priority priority-value

Syntax Description

priority-value Value in the range from 0 to 4294967294 used to determine the priority of the router to be selected as the DR.

Defaults

The command is disabled.

Command Modes

Interface configuration

Command History

Release Modification
12.1(2)T This command was introduced.

Usage Guidelines

When a DR is a candidate for election, the following conditions apply:

•The router with the highest priority value configured on an interface will be elected as the DR. If this priority value is the same on multiple routers, then the router with the highest IP address configured on an interface will be elected as the DR.

•If a router does not advertise a priority value in its hello messages, the router is regarded as having the highest priority and will be elected as the DR. If there are multiple routers with this priority status, then the router with the highest IP address configured on an interface will be elected as the DR.

Examples

The following example sets the DR priority value of the Ethernet0 interface to 200:

interface Ethernet0
  ip address 10.0.1.2 255.255.255.0
  ip pim dr-priority 200

Filed under: ip multicast

Cisco ip multicast mindmap

I created a mind-map breaking down the Cisco ip multicast documentation.  Using the mind-map to layout all of the various configuration methods helps to identify all of the required configuration parameters as well as all of the ‘optional’ configuration parameters.  The optional parameters are only optional in that ip multicast will function at the base level without the options unless your application needs the optional features to function properly.  Typically the optional features allow network engineers the ability to design ip multicast into the network without compromising other aspects of the total network design.

Click here for the full Cisco document that I created the mind-map from.

configuring cisco ip multicast routing

Filed under: ip multicast

ip pim–Sparse Mode vs. Dense Mode

As a Network Engineer starting to design ip multicast into my network, I had to pause and research the variety of ways it could be implemented and weigh my needs against the complexity of the various methods.  I found a great resource in www.netcraftsmen.net.  The paragraphs below are direct from their site.  It simply explains why you would employ dense or sparse mode.I am also including the link to their article below.

Sparse Versus Dense Mode

Recall that PIM Dense Mode is used (in principle) when the multicast is desired in most locations. Thus initial multicast packets are flooded everywhere, with pruning cutting off traffic to locations that do not need the multicast feed. Until recently, PIM Dense Mode suffered from periodic re-flooding every 3 minutes, but in 12.1(5)T, the PIM Dense Mode State Refresh feature alleviated this. With this feature, PIM Dense Mode is arguably suitable for simple implementation of multicast. Especially where the additional control of PIM Sparse Mode is not needed, and where occasional “accidental” flooding would not be very harmful.

PIM Sparse Mode uses an explicit request approach, where a router has to ask for the multicast feed with a PIM Join message. PIM Sparse Mode is indicated when you need more precise control, especially when you have large volumes of IP multicast traffic compared to your bandwidth. PIM Sparse Mode scales rather well, because packets only go where they are needed, and because it creates state in routers only as needed. Because of this, it has been written up as an Internet Experimental Protocol. See http://www.ietf.org/rfc/rfc2362.txt .

The price we pay for this extra control is mild extra complexity. PIM Sparse Mode uses a special router called a Rendezvous Point (RP) to connect the flow source or multicast tree to the router next to the wannabe receiver. The RP is typically used only temporarily, as we’ll see below.

There can be different RP’s for different multicast groups, which is one way to spread the load. There is usually one RP per multicast group. Redundancy of RP’s is an advanced topic, and requires a little deeper expertise. One way to do this is with the  MSDP protocol (possible later article in the series).

Recall that a PIM Join message is sent towards a Source (or for PIM-SM, possibly towards an RP), based on unicast routing. The Join message says in effect “we need a copy of the multicasts over here”. It connects the sender of the Join and intervening routers to any existing multicast tree, all the way back to the target of the Join if necessary. A Prune message says in effect “we no longer need this over here”. A router receiving a Prune sees whether it has any other interfaces requiring the multicast flow, and if not, sends its own Prune message. One advanced technique is to arrange a separate and perhaps different copy of the unicast routing information just for multicast purposes. This allows “steering” of the Join messages. MultiProtocol BGP, MBGP, for multicast, is one way to do this (possible later article in the series).

Click here for the full netcraftsman.net article.

Filed under: ip multicast

IP multicast redundancy– multiple layer 3 links

Topology:

There are 2 equal cost paths from the multicast source attached to router A and the client(s) attached on Router D.

As per the topology one path transits Router B and other Router C. The problem with this type of setup is because  Reverse Path Forwarding (RPF) must have only one incoming interface to work correctly.

That is if the Router B is chosen as the RPF neighbor and multicast traffic arrives from Router C, then that traffic will not arrive on the RPF interface and will be dropped and vice versa.

The way to get around this problem is to use a GRE tunnel. The tunnel is built between the loopback interfaces of Router A and Router D, and all multicast traffic from the source to the group member is sent to this virtual tunnel interface rather than to either physical link. The multicast packets are then encapsulated and forwarded as regular IP packets. At this point, the encapsulated packets can be balanced across the two links, using either the default per-destination balancing or the optional per-packet balancing.

When the packets arrive at Router D, it does not matter whether they were received from Router B or from Router C, because their destination is the egress of the tunnel. At the virtual tunnel interface, the encapsulation is removed. From the perspective of the PIM process at Router D, the multicast packets appear to have all been received on the same interface, TU0, and to have been received from the same upstream neighbor, Router A.

Filed under: ip multicast

Intro

IP Multicast is a method to send IP traffic to multiple interested receivers from a single sender simultaneously. Implementing IP multicast has benefits to network planners in that it is the most efficient way to distribute streaming media (video, audio, etc…) from one to many over an IP network. IP Multicast can be simple to implement, but often network engineers find it vastly difficult to determine if the configuration on the network is done properly.  Often, network engineers must depend on the application to determine if they truly have things configured properly.  If the application works as intended, then they assume all is well. IP multicast is a protocol with its own unique benefits and subtleties. There is also a lack of simple IP multicast testing tools.  There are tools that exist, but they are often difficult to find and subsequently difficult to use.  The average networking professional will often search for assistance from other professional or will search the Internet for tips, suggestions, and tools.  My hope is that future searches will find this web site and my offerings.

I will be posting tips and suggestions and troubleshooting advice on implementing ip multicast in a medium to large enterprise network.  This will include information on Cisco IOS, Cisco LWAPP(CAPWAP) wireless networks, ip pim, show ip pim rp, Microsoft mrinfo, and many other IP multicast releated subjects.  Please visit often and feel free to comment.

Filed under: Uncategorized

Hello world!

Filed under: Uncategorized

Follow

Get every new post delivered to your Inbox.