Cisco AVVID (page 4 of 5)
29 Nov 2004 @ 09:31AM

Updated: 20 Jan 2010 @ 09:31AM
Dense Mode Multicast Routing Protocols

Distance Vector Multicast Routing Protocol (DVMRP) is the first multicast routing protocol to be used in a large scale. It functions using 'reverse-path flooding', which basically makes it flood multicast packets out of every port but the one on which it received the packet. If a subsequent router does not want to be part of the multicast group, it can send a prune request which then removes that branch from the multicast distribution tree.

DVMRP will occasionally flood the entire network again to discover any new hosts. There is no way for a pruned section to request to be included in the distribution tree again... it must instead wait for a flood, at which point it simply doesn't request to be pruned again. Cisco routers do not run DVMRP, though they can understand DVMRP enough to forward multicast packets sent via DVMRP and also propagate DVMRP routes. Cisco routers use PIM instead.
Comments (0)

Protocol Independent Multicast is, as its name might suggest, independent of any IP routing protocol. It can use the information in the routing table to forward multicast packets, regardless of which routing protocol generated that information (including static routes). PIM uses the existing unicast routing table to perform Reverse Path Forwarding (RPF) checks and doesn't actually maintain a multicast routing table. As such, there are no multicast routing updates broadcast.

Like DVMRP, PIM DM floods multicast packets out of all ports and then is pruned down. It should be used in the following situations.

  • Servers and clients are close together
  • There are few servers and many clients
  • High multicast traffic volume
  • Constant multicast traffic volume
Comments (0)

Multicast Open Shortest Path First is defined in RFC 1584 and is meant to function within a single routing domain. It is dependent on OSPF being the unicat routing protocol on the network. MOSPF is best with few (S,G) pairs functioning at a time. In larger environments or in networks with unstable links, MOSPF is less effective. Cisco routers do not support MOSPF.
Comments (0)
Sparse Mode Multicast Routing Protocols

Core-Based Tree is described in RFC 2201 and builds a single tree that is shared by all members of a group. All multicast traffic for that group is distributed using the same tree, regardless of the source of the broadcast (*,G). A CBT has a designated core router which receives join messages from all routers wishing to become part of the multicast tree. A router join message need only reach a router that is part of the tree. Once the message has progressed that far, the router is a member.

Current CBT implementation is at v2, which is not backwards-compatible with version 1. Version 3 is currently being drafted, which is not compatible with either previous version. CBT has not seen wide deployment.
Comments (0)

Protocol Independent Multicast Sparse Mode is another Sparse Mode multicast routing protocol. It is optimized for performance in a network which has intermittent multicast traffic and has few multicast receivers per group. All multicast data is sent to a centralized rendezvous point. If a client wishes to receive that multicast group, it registers with the rendezvous point. At this point, the multicast packets begin traversing the network from the rendezvous point to the client. Routers in this path will automatically optimize this path to remove any unnecessary hops. PIM is also able to simultaneously support both dense mode for some groups and sparse mode for others.

PIM is the multicast routing protocol used by Cisco routers. Any router that is connected to an interface is considered a neighbor router, whether it be on a multiaccess or point to point connection. In a multiaccess environment, a single router needs to be elected the Designated Router (DR) for that segment. To do this, every PIM router connected to a multiaccess LAN issues PIM router queries. Whatever router on that LAN has the highest IP address becomes the DR. If that router goes down, a new DR is elected. This DR is then used to poll that LAN for host group membership using IGMP host-query messages.
Comments (0)
Configuration of Multicast routing

To configure multicast routing, do the following:

Router(config)#ip multicast-routing
Router(config-if)#ip pim sparse-mode
Router(config)#ip pim rp-address address

The ip multicast-routing command turns on multicast routing. The ip pim sparse-mode command should be used on all interfaces on the router that either send or receive multicast packets. Finally, ip pim rp-address address specifies the address of the PIM Rendezvous Point. This, if you'll recall, is where all multicast join requests are sent.

Alternate to the ip pim sparse-mode command, you could use the ip pim sparse-dense-mode command which allows the router to use either sparse or dense mode depending on the existence of RP information. This makes it easier to switch back and forth between the modes.

The show ip pim interface [type number] [count] command shows various information regarding the PIM protocol. It shows next-hop router ip address, the interface type and number (or VLAN on an RSM), the PIM-mode and version, the number of neighbors discovered through the interface, the frequency of PIM router-query messages (in seconds), and the DR's IP address on that LAN.

To display a list of PIM neighbors, issue this command: show ip pim neighbor type number. Type and number refer to a specific interface.

It is possible to automatically configure RPs on a network using the auto-RP command. This is an optional command, as it's possible to manually configure all your RPs. However, auto-rp simplifies the configuration process. Additionally, multiple RPs can be used to serve different multicast groups, implement load splitting, and arrange the placement of RPs depending on client location. Additionally, RPs can be set up as backups.

An RP mapping agent receives RP-announcement messages for a router and then sends a message containing a group-to-RP map. This allows all routers in a multicast environment to discover the proper RP to use. Auto-RP is disabled by default, but can be enabled on a router using the following command line:

Router(config)#ip pim send-rp-announce type number scope ttl group-list access-list-number

Routers with auto-rp configured multicast packets to CISCO-RP-ANNOUNCE (, which is listened to by a router configured as an RP-mapping agent. This agent assigns multicast groups to these RPs and then sends CISCO-RP-DISCOVERY ( packets detailing these assignments. PIM DRs listen to these packets to determine which RP to use.

To configure a router as a PIM-mapping agent, use the following command:

Router(config)#ip pim send-rp-discovery scope ttl

The ttl limits the scope of the discovery message (how many hops the discovery message will travel).

The command to set the max ttl allowed for multicast packets on an interface follows. This was mentioned earlier, but is reprinted here so all the configuration commands are close to one another.

Router(config-if)#ip multicast ttl-threshold ttl

You can also have a router join a specific multicast group. This would then allow the router to ping and traceroute that multicast IP address. All routers that are part of the multicast group will then respond to pings. This could be handy for multicast troubleshooting.

Router(config-if)#ip igmp join-group address

To change the version of igmp that is being used on a network, the following commands can be used:

Router(config-if)#ip igmp version {1 | 2 | 3}
Router#show ip igmp interface type number

The first command will set the igmp version to the number specificied, while the latter will show what the version is. The default version is 2.
Comments (0)