Multicasting with the GBS

In a recent field op, I got my first chance to experiment with multicasting in a production environment.  There were a bunch of scenarios I came across in my CCIE training (which is not currently going so well) and I’ve settled on having a personal preference for BSR.  Given I would like to maintain the ability to multicast to non-Cisco devices, I don’t want to do any proprietary configurations, plus BSR is very simple.

This paragraph is not going to even come close to doing the subject justice, but you have two major options when configuring multicasting: dense mode and sparse mode.  There are other options out there, but these are the biggies.  Dense mode will flood a bunch of traffic and is far from optimal in our already bandwidth constrained environment.  Sparse mode elects a “traffic cop” to control who has access to what multicast streams.  The traffic cop function is known as a Rendezvous Point (RP).  Without a RP, sparse mode will not work.

To start the configurations, you need to turn on multicasting on all layer 3 devices from the multicast source to the multicast destinations.

On a switch:

Switch(config)#ip multicast-routing distributed

On a router:

Router(config)#ip multicast-routing

Your configurations can get pretty complex from this point forward, but the basics are very simple.  On one of your devices, configure a loopback and make sure that it is routed throughout your network.  The configurations below will configure the device with the loopback as a RP using the loopback you have configured.

On the device you have configured your loopback:

Router(config)#int lo X

Router(config-if)#ip pim sparse-mode

Router(config)#ip pim bsr-candidate lo X

Router(config)#ip pim rp-candidate lo X

On every layer 3 device, on every interface connecting layer 3 devices:

Router(config-if)#ip pim sparse-mode

The basics of your multicast configuration are now complete.  The last portion which is specific to the GBS is the trickiest part.  Multicast uses a function called Reverse Path Forwarding (RPF).  You can read the basics about RPF here: http://en.wikipedia.org/wiki/Reverse_path_forwarding.  The GBS will always fail the RPF check because it is a receive only suite.  There are certainly other ways to accomplish this, but the easiest way is to create a multicast static route.  A multicast static route will allow multicasting to ignore the RPF check for the multicast source specified.  The best way to accomplish this is to sniff your multicast traffic, figure out the source of the steams you would like to have routed, and create static routes for those sources.  If this is not something you have the time or expertise for and you just want the GBS to work, you can just configure a multicast static route for everything and point it towards the GBS.  This is not the best option, but it will get the job done in a pinch.  Here is what that looks like:

Router(config)#ip mroute <Network ID> <Mask> <next-hop ip>

Router(config)#ip mroute 0.0.0.0 0.0.0.0 <ip address of SkyStream or KG-250>

If you have any issues with the employment, there are a couple of verification commands that will come in handy.  Before you attempt any verification, you actually have to try to activate a multicast stream.  Your best bet for this is to try and open VLC and attempt to view a multicast stream.  After you have tried this, start with the closest layer 3 device to where you are trying to open VLC and type:

Router#show ip pim rp

If you do not see an RP for the multicast stream you have just tried to view, you most likely forgot an “ip pim sparse-mode” on one of your layer 3 connections.  Similar to EIGRP or OSPF neighbors, you can go link by link and make sure you have neighbor relationships.  You can verify this by typing:

Router#show ip pim nei

Multicasting is one of the more difficult topics you will come across in your networking career, but this should at least get you started if you are having problems getting multicasting working with the GBS.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.