Table Of Contents
Configuring IP Multicast Routing
Cisco's Implementation of IP Multicast Routing
Internet Group Management Protocol
Protocol-Independent Multicast Protocol
Distance Vector Multicast Routing Protocol
Cisco Group Management Protocol (CGMP)
Basic IP Multicast Routing Tasks
Advanced IP Multicast Routing Tasks
Enable IP Multicast Routing
Enable PIM on an Interface
Enable Dense Mode
Enable Sparse Mode
Enable Sparse-Dense Mode
Configure a Rendezvous Point (RP)
Configure Auto-RP
Set Up Auto-RP in a New Internetwork
Add Auto-RP to an Existing Sparse-Mode Cloud
Choose a Default RP
Announce the RP and the Group Range it Serves
Assign the RP Mapping Agent
Verify the Group-to-RP Mapping
Start Using IP Multicast
Prevent Join Messages to False RPs
Filter Incoming RP Announcement Messages
Configure IGMP Features
Configure a Router to Be a Member of a Group
Control Access to IP Multicast Groups
Modify the IGMP Host-Query Message Interval
Change the IGMP Version
Change the IGMP Query Timeout
Change the Maximum Query Response Time
Configure the Router as a Statically Connected Member
Configure the TTL Threshold
Disable Fast Switching of IP Multicast
Configure sdr Listener Support
Enable sdr Listener Support
Limit How Long an sdr Cache Entry Exists
Configure Basic DVMRP Interoperability Features
Configure DVMRP Interoperability
Responding to MRINFO Requests
Configure a DVMRP Tunnel
Advertise Network 0.0.0.0 to DVMRP Neighbors
Enable the Functional Address for IP Multicast over Token Ring LANs
Configure PIM Version 2
Prerequisites
Configuration Tasks
Specify the PIM Version
Configure PIM Version 2 Only
Configure PIM Sparse-Dense Mode
Define the PIM Domain Border
Define the IP Multicast Boundary
Configure Candidate BSRs
Configure Candidate RPs
Transition to PIM Version 2
Guidelines for When to Configure a BSR
Dense Mode
Sparse Mode
Using Auto-RP and a BSR
Monitor the RP Mapping Information
Troubleshooting
Configure Advanced PIM Features
Understand PIM Shared Tree and Source Tree (Shortest Path Tree)
Delay the Use of PIM Shortest Path Tree
Understand Reverse-Path Forwarding (RPF)
Assign an RP to Multicast Groups
Increase Control over RPs
Modify the PIM Router-Query Message Interval
Enable PIM Nonbroadcast, Multiaccess (NBMA) Mode
Configure Advanced DVMRP Interoperability Features
Enable DVMRP Unicast Routing
Limit the Number of DVMRP Routes Advertised
Change the DVMRP Route Threshold
Configure a DVMRP Summary Address
Disable DVMRP Auto-Summarization
Add a Metric Offset to the DVMRP Route
Reject a DVMRP Nonpruning Neighbor
Configure a Delay between DVRMP Reports
Configure an IP Multicast Static Route
Control the Transmission Rate to a Multicast Group
Configure RTP Header Compression
Enable RTP Header Compression on a Serial Interface
Enable RTP Header Compression with Frame Relay Encapsulation
Change the Number of Header Compression Connections
Configure IP Multicast over ATM Point-to-Multipoint Virtual Circuits
Enable IP Multicast over ATM Point-to-Multipoint VCs
Limit the Number of Virtual Circuits
Idling Policy
How the Idling Policy Works
Keep VCs from Idling
Configure an IP Multicast Boundary
Configure an Intermediate IP Multicast Helper
Store IP Multicast Headers
Enable CGMP
Configure Stub IP Multicast Routing
Load Split IP Multicast Traffic across Equal-Cost Paths
Configure the Access Router
Configure the Router at the Opposite End of the Tunnel
Configure Both Routers to RPF
Load Splitting to a Stub Network
Load Splitting to the Middle of a Network
Verify the Load Splitting
Monitor and Maintain IP Multicast Routing
Clear Caches, Tables, and Databases
Display System and Network Statistics
IP Multicast Configuration Examples
PIM Dense Mode Example
PIM Sparse Mode Example
DVMRP Interoperability Example
DVMRP Tunnel Example
RTP Header Compression Examples
IP Multicast over ATM Point-to-Multipoint VC Example
Functional Address for IP Multicast over Token Ring LAN Example
PIM Version 2 Examples
BSR Configuration Example
Border Router Configuration Example
Administratively Scoped Boundary Example
IP Multicast Helper Example
Stub IP Multicast Example
Load Splitting IP Multicast Traffic across Equal-Cost Paths Example
Configuring IP Multicast Routing
This chapter describes how to configure IP multicast routing. For a complete description of the IP multicast routing commands in this chapter, refer to the "IP Multicast Routing Commands" chapter of the Network Protocols Command Reference, Part 1. To locate documentation of other commands in this chapter, use the command reference master index or search online.
Traditional IP communication allows a host to send packets to a single host (unicast transmission) or to all hosts (broadcast transmission). IP multicast provides a third scheme, allowing a host to send packets to a subset of all hosts (group transmission). These hosts are known as group members.
Packets delivered to group members are identified by a single multicast group address. Multicast packets are delivered to a group using best-effort reliability, just like IP unicast packets.
The multicast environment consists of senders and receivers. Any host, regardless of whether it is a member of a group, can send to a group. However, only the members of a group receive the message.
A multicast address is chosen for the receivers in a multicast group. Senders use that address as the destination address of a datagram to reach all members of the group.
Membership in a multicast group is dynamic; hosts can join and leave at any time. There is no restriction on the location or number of members in a multicast group. A host can be a member of more than one multicast group at a time.
How active a multicast group is and what members it has can vary from group to group and from time to time. A multicast group can be active for a long time, or it may be very short-lived. Membership in a group can change constantly. A group that has members may have no activity.
Routers executing a multicast routing protocol, such as Protocol-Independent Multicast (PIM), maintain forwarding tables to forward multicast datagrams. Routers use the Internet Group Management Protocol (IGMP) to learn whether members of a group are present on their directly attached subnets. Hosts join multicast groups by sending IGMP report messages.
Many multimedia applications involve multiple participants. IP multicast is naturally suitable for this communication paradigm.
Cisco's Implementation of IP Multicast Routing
The Cisco IOS software supports the following protocols to implement IP multicast routing:
•
Internet Group Management Protocol (IGMP) is used between hosts on a LAN and the router(s) on that LAN to track of which multicast groups the hosts are members.
•
Protocol-Independent Multicast (PIM) is used between routers so that they can track which multicast packets to forward to each other and to their directly connected LANs.
•
Distance Vector Multicast Routing Protocol (DVMRP) is the protocol used on the MBONE (the multicast backbone of the Internet). The Cisco IOS software supports PIM-to-DVMRP interaction.
•
Cisco Group Management Protocol (CGMP) is a protocol used on routers connected to Cisco Catalyst switches to perform tasks similar to those performed by IGMP.
shows where these protocols operate within the IP multicast environment. The protocols are further described after the figure.
Figure 39 IP Multicast Routing Protocols
Internet Group Management Protocol
IP hosts use Internet Group Management Protocol (IGMP) to report their group membership to directly connected multicast routers. IGMP is an integral part of IP. IGMP is defined in RFC 1112, Host Extensions for IP Multicasting.
IGMP uses group addresses, which are Class D IP addresses. The high-order four bits of a Class D address are 1110. This means that host group addresses can be in the range 224.0.0.0 to 239.255.255.255. The address 224.0.0.0 is guaranteed not to be assigned to any group. The address 224.0.0.1 is assigned to all systems on a subnet. The address 224.0.0.2 is assigned to all routers on a subnet.
Protocol-Independent Multicast Protocol
The Protocol-Independent Multicast (PIM) protocol maintains the current IP multicast service mode of receiver-initiated membership. It is not dependent on a specific unicast routing protocol.
PIM is defined in the following IETF Internet drafts:
•
Protocol Independent Multicast (PIM): Motivation and Architecture
•
Protocol Independent Multicast (PIM), Dense Mode Protocol Specification
•
Protocol Independent Multicast (PIM), Sparse Mode Protocol Specification
•
IGMP Router Extensions for Routing to Dense Multicast Groups
•
IGMP Router Extensions for Routing to Sparse Multicast Groups
PIM can operate in dense mode, sparse mode, or sparse-dense mode.
In dense mode, a router assumes that all other routers want to forward multicast packets for a group. If a router receives a multicast packet and has no directly connected members or PIM neighbors present, a Prune message is sent back to the source. Subsequent multicast packets are not flooded to this router on this pruned branch. PIM builds source-based multicast distribution trees.
In sparse mode, a router assumes that other routers do not want to forward multicast packets for a group, unless there is an explicit request for the traffic. When hosts join a multicast group, the directly connected routers send PIM Join messages toward the rendezvous point (RP). The RP keeps track of multicast groups. Hosts that send multicast packets are registered with the RP by that host's first-hop router. The RP then sends Join messages toward the source. At this point, packets are forwarded on a shared distribution tree. If the multicast traffic from a specific source is sufficient, the receiver's first-hop router may send Join messages toward the source to build a source-based distribution tree.
Distance Vector Multicast Routing Protocol
Cisco routers run PIM, and know enough about Distance Vector Multicast Routing Protocol (DVMRP) to successfully forward multicast packets to and receive packets from a DVMRP neighbor. It is also possible to propagate DVMRP routes into and through a PIM cloud. However, PIM only uses this information. Cisco routers do not implement DVMRP to forward multicast packets.
DVMRP builds a parent-child database using a constrained multicast model to build a forwarding tree rooted at the source of the multicast packets. Multicast packets are initially flooded down this source tree. If redundant paths are on the source-tree, packets are not forwarded along those paths. Forwarding occurs until Prune messages are received on those parent-child links, which further constrain the broadcast of multicast packets.
DVMRP is implemented in the equipment of many vendors and is based on the public-domain mrouted program.
The Cisco IOS software supports dynamic discovery of DVMRP routers and can interoperate with them over traditional media (such as Ethernet and FDDI), or over DVMRP-specific tunnels.
Cisco Group Management Protocol (CGMP)
Cisco Group Management Protocol (CGMP) is a protocol used on routers connected to Cisco Catalyst switches to perform tasks similar to those performed by IGMP. CGMP is necessary because the Catalyst switch cannot tell the difference between IP multicast data packets and IGMP Report messages, which are both MAC-level addressed to the same group address.
Basic IP Multicast Routing Tasks
The IP multicast routing tasks are divided into basic and advanced tasks, which are discussed in the following sections. The first two basic tasks are required to configure IP multicast routing; the remaining basic and advanced tasks are optional.
•
Enable IP Multicast Routing
•
Enable PIM on an Interface
•
Configure Auto-RP
•
Configure IGMP Features
•
Configure the TTL Threshold
•
Disable Fast Switching of IP Multicast
•
Configure sdr Listener Support
•
Configure Basic DVMRP Interoperability Features
•
Enable the Functional Address for IP Multicast over Token Ring LANs
•
Configure PIM Version 2
Advanced IP Multicast Routing Tasks
Advanced, optional IP multicast routing tasks are described in the following sections:
•
Configure Advanced PIM Features
•
Configure Advanced DVMRP Interoperability Features
•
Configure an IP Multicast Static Route
•
Control the Transmission Rate to a Multicast Group
•
Configure RTP Header Compression
•
Configure IP Multicast over ATM Point-to-Multipoint Virtual Circuits
•
Configure an IP Multicast Boundary
•
Configure an Intermediate IP Multicast Helper
•
Store IP Multicast Headers
•
Enable CGMP
•
Configure Stub IP Multicast Routing
•
Load Split IP Multicast Traffic across Equal-Cost Paths
•
Monitor and Maintain IP Multicast Routing
See the "IP Multicast Configuration Examples" at the end of this chapter for examples of multicast routing configurations.
Enable IP Multicast Routing
Enabling IP multicast routing allows the Cisco IOS software to forward multicast packets. To enable IP multicast routing on the router, use the following command in global configuration mode:
Command
|
Purpose
|
ip multicast-routing
|
Enable IP multicast routing.
|
Enable PIM on an Interface
Enabling PIM on an interface also enables IGMP operation on that interface. An interface can be configured to be in dense mode, sparse mode, or sparse-dense mode. The mode determines how the router populates its multicast routing table and how the router forwards multicast packets it receives from its directly connected LANs. You must enable PIM in one of these modes for an interface to perform IP multicast routing.
In populating the multicast routing table, dense-mode interfaces are always added to the table. Sparse-mode interfaces are added to the table only when periodic Join messages are received from downstream routers, or when there is a directly connected member on the interface. When forwarding from a LAN, sparse-mode operation occurs if there is an RP known for the group. If so, the packets are encapsulated and sent toward the RP. When no RP is known, the packet is flooded in a dense-mode fashion. If the multicast traffic from a specific source is sufficient, the receiver's first-hop router may send joins toward the source to build a source-based distribution tree.
There is no default mode setting. By default, multicast routing is disabled on an interface.
Enable Dense Mode
To configure PIM on an interface to be in dense mode, use the following command in interface configuration mode:
Command
|
Purpose
|
ip pim dense-mode
|
Enable dense-mode PIM on the interface.
|
See the "PIM Dense Mode Example" section at the end of this chapter for an example of how to configure a PIM interface in dense mode.
Enable Sparse Mode
To configure PIM on an interface to be in sparse mode, use the following command in interface configuration mode:
Command
|
Purpose
|
ip pim sparse-mode
|
Enable sparse-mode PIM on the interface.
|
See the "PIM Sparse Mode Example" section at the end of this chapter for an example of how to configure a PIM interface in sparse mode.
Enable Sparse-Dense Mode
If you configure either ip pim sparse-mode or ip pim dense-mode, then sparseness or denseness is applied to the interface as a whole. However, some environments might require PIM to run in a single region in sparse mode for some groups and in dense mode for other groups.
An alternative to enabling only dense mode or only sparse mode is to enable sparse-dense mode. In this case, the interface is treated as dense mode if the group is in dense mode; the interface is treated in sparse mode if the group is in sparse mode. You must have an RP if the interface is in sparse-dense mode, and you want to treat the group as a sparse group.
If you configure sparse-dense mode, the idea of sparseness or denseness is applied to the group on the router, and the network manager should apply the same concept throughout the network.
Another benefit of sparse-dense mode is that Auto-RP information can be distributed in a dense-mode manner; yet, multicast groups for user groups can be used in a sparse-mode manner. Thus, there is no need to configure a default RP at the leaf routers.
When an interface is treated in dense mode, it is populated in a multicast routing table's outgoing interface list when either of the following is true:
•
There are members or DVMRP neighbors on the interface.
•
There are PIM neighbors and the group hasn't been pruned.
When an interface is treated in sparse mode, it is populated in a multicast routing table's outgoing interface list when either of the following is true:
•
There are members or DVMRP neighbors on the interface.
•
An explicit Join has been received by a PIM neighbor on the interface.
To enable PIM to operate in the same mode as the group, use the following command in interface configuration mode:
Command
|
Purpose
|
ip pim sparse-dense-mode
|
Enable PIM to operate in sparse or dense mode, depending on the group.
|
Configure a Rendezvous Point (RP)
If you configure PIM to operate in sparse mode, you must also choose one or more routers to be RPs. You do not have to configure the routers to be RPs; they learn this themselves. RPs are used by senders to a multicast group to announce their existence and by receivers of multicast packets to learn about new senders. The Cisco IOS software can be configured so that packets for a single multicast group can use one or more RPs.
The RP address is used by first-hop routers to send PIM register messages on behalf of a host sending a packet to the group. The RP address is also used by last-hop routers to send PIM join/prune messages to the RP to inform it about group membership. You must configure the RP address on all routers (including the RP router).
A PIM router can be an RP for more than one group. A group can have more than one RP. The conditions specified by the access list determine for which groups the router is an RP.
To configure the address of the RP, use the following command on a leaf router in global configuration mode:
Command
|
Purpose
|
ip pim rp-address ip-address [access-list-number] [override]
|
Configure the address of a PIM rendezvous point (RP).
|
Configure Auto-RP
Auto-RP is a feature that automates the distribution of group-to-RP mappings in a PIM network. This feature has the following benefits:
•
It is easy to use multiple RPs within a network to serve different group ranges.
•
It allows load splitting among different RPs and arrangement of RPs according to the location of group participants.
•
It avoids inconsistent, manual RP configurations that can cause connectivity problems.
Multiple RPs can be used to serve different group ranges or serve as hot backups of each other. To make Auto RP work, a router must be designated as an RP-mapping agent, which receives the RP-announcement messages from the RPs and arbitrates conflicts. The RP-mapping agent then sends the consistent group-to-RP mappings to all other routers. Thus, all routers automatically discover which RP to use for the groups they support.
One way to start is to place (preserve) the default RP for all global groups at or near the border router of your routing domain, while placing another RP in a more centrally located router for all local groups using the administratively scoped addresses (239.x.x.x).
Note
If you configure PIM in sparse mode or sparse-dense mode and do not configure Auto-RP, you must statically configure an RP as described in the section "Assign an RP to Multicast Groups" later in this chapter.
Set Up Auto-RP in a New Internetwork
You do not need a default RP in this case. Follow the process described in the section "Add Auto-RP to an Existing Sparse-Mode Cloud," except that you should skip the first step of choosing a default RP.
Add Auto-RP to an Existing Sparse-Mode Cloud
The following sections contain some suggestions for the initial deployment of Auto-RP into an existing sparse-mode cloud to provide experience and allow minimal disruption of the existing multicast infrastructure.
Choose a Default RP
Sparse-mode environments need a default RP; sparse-dense-mode environments do not. If you have sparse-dense mode configured everywhere, you do not need to choose a default RP.
Adding Auto-RP to a sparse-mode cloud requires a default RP. In an existing PIM sparse mode region, at least one RP is defined across the network that has good connectivity and availability. That is, the ip pim rp-address command is already configured on all routers in this network.
Use that RP for the global groups (for example, 224.x.x.x and other global groups). There is no need to reconfigure the group address range that RP serves. RPs discovered dynamically through Auto-RP take precedence over statically configured RPs. Assume it is desirable to use a second RP for the local groups.
Announce the RP and the Group Range it Serves
Find another router to serve as the RP for the local groups. The RP-mapping agent can double as an RP itself. Assign the whole range of 239.x.x.x to that RP, or assign a subrange of that (for example, 239.2.x.x).
To designate that a router is the RP, use the following command in global configuration mode:
Command
|
Purpose
|
ip pim send-rp-announce type number scope ttl group-list access-list-number
|
Configure a router to be the RP.
|
To change the group ranges this RP optimally serves in the future, change the announcement setting on the RP. If the change is valid, all other routers automatically adopt the new group-to-RP mapping.
The following example advertises the IP address of Ethernet 0 as the RP for the administratively scoped groups:
ip pim send-rp-announce ethernet0 scope 16 group-list 1
access-list 1 permit 239.0.0.0 0.255.255.255
Assign the RP Mapping Agent
The RP mapping agent is the router that sends the authoritative Discovery packets telling other routers which group-to-RP mapping to use. Such a role is necessary in the event of conflicts (such as overlapping group-to-RP ranges).
Find a router whose connectivity is not likely to be interrupted and assign it the role of RP-mapping agent. All routers within ttl number of hops from the source router receive the Auto-RP Discovery messages. To assign the role of RP mapping agent in that router, use the following command in global configuration mode:
Command
|
Purpose
|
ip pim send-rp-discovery scope ttl
|
Assign the RP mapping agent.
|
Verify the Group-to-RP Mapping
To see if the group-to-RP mapping has arrived, use one of the following commands in EXEC mode on the designated routers:
Command
|
Purpose
|
show ip pim rp mapping
|
Display active RPs that are cached with associated multicast routing entries. Information learned by configuration or Auto-RP.
|
show ip pim rp [group-name | group-address] [mapping]
|
Display information actually cached in the routing table.
|
Start Using IP Multicast
Use your IP multicast application software to start joining and sending to a group.
Prevent Join Messages to False RPs
Note the ip pim accept-rp commands previously configured throughout the network. If that command is not configured on any router, this problem can be addressed later. In those routers already configured with ip pim accept-rp command, you must specify the command again to accept the newly advertised RP.
To accept all RPs advertised with Auto-RP and reject all other RPs by default, use the ip pim accept-rp auto-rp command.
If all interfaces are in sparse mode, a default configured RP to support the two well-known groups 224.0.1.39 and 224.0.1.40. Auto RP relies on these two well-known groups to collect and distribute RP-mapping information.When this is the case and the ip pim accept-rp auto-rp command is configured, another ip pim accept-rp command accepting the default RP must be configured, as follows:
ip pim accept-rp default RP address 1
access-list 1 permit 224.0.1.39
access-list 1 permit 224.0.1.40
Filter Incoming RP Announcement Messages
To filter incoming RP announcement messages, use the following command in global configuration mode:
Command
|
Purpose
|
ip pim rp-announce-filter rp-list access-list-number group-list access-list-number
|
Filter incoming RP announcement messages.
|
Configure IGMP Features
To configure IGMP features, perform the tasks in the following sections:
•
Configure a Router to Be a Member of a Group
•
Control Access to IP Multicast Groups
•
Modify the IGMP Host-Query Message Interval
•
Change the IGMP Version
•
Change the IGMP Query Timeout
•
Change the Maximum Query Response Time
•
Configure the Router as a Statically Connected Member
Configure a Router to Be a Member of a Group
Cisco routers can be configured to be members of a multicast group. This is useful for determining multicast reachability in a network. If a device is configured to be a group member and supports the protocol that is being transmitted to the group, it can respond (for example, the ping command). The device responds to ICMP echo request packets addressed to a group of which it is a member. Another example is the multicast traceroute tools provided in the Cisco IOS software.
To have the router join a multicast group and enable IGMP, use the following command in interface configuration mode:
Command
|
Purpose
|
ip igmp join-group group-address
|
Join a multicast group.
|
Control Access to IP Multicast Groups
Multicast routers send IGMP host-query messages to determine which multicast groups have members of the router's attached local networks. The routers then forward to these group members all packets addressed to the multicast group. You can place a filter on each interface that restricts the multicast groups that hosts on the subnet serviced by the interface can join.
To filter multicast groups allowed on an interface, use the following command in interface configuration mode:
Command
|
Purpose
|
ip igmp access-group access-list-number
|
Control the multicast groups that hosts on the subnet serviced by an interface can join.
|
Modify the IGMP Host-Query Message Interval
Multicast routers send IGMP host-query messages to discover which multicast groups are present on attached networks. These messages are sent to the all-systems group address of 224.0.0.1 with a TTL of 1.
Multicast routers send host-query messages periodically to refresh their knowledge of memberships present on their networks. If, after some number of queries, the Cisco IOS software discovers that no local hosts are members of a multicast group, the software stops forwarding onto the local network multicast packets from remote origins for that group and sends a prune message upstream toward the source.
Multicast routers elect a PIM designated router for the LAN (subnet). This is the router with the highest IP address. The designated router is responsible for sending IGMP host-query messages to all hosts on the LAN. In sparse mode, the designated router also sends PIM register and PIM join messages toward the RP router.
By default, the designated router sends IGMP host-query messages once a minute in order to keep the IGMP overhead on hosts and networks very low. To modify this interval, use the following command in interface configuration mode:
Command
|
Purpose
|
ip igmp query-interval seconds
|
Configure the frequency at which the designated router sends IGMP host-query messages.
|
Change the IGMP Version
By default, the router uses IGMP Version 2, which allows such features as the IGMP query timeout and the maximum query response time.
All routers on the subnet must support the same version. The router does not automatically detect Version 1 routers and switch to Version 1 as did earlier releases of the Cisco IOS software. However, a mix of IGMP Version 1 and Version 2 hosts on the subnet is acceptable. IGMP Version 2 routers will always work correctly in the presence of IGMP Version 1 hosts.
To control which version of IGMP the router uses, use the following command in interface configuration mode:
Command
|
Purpose
|
ip igmp version {2 | 1}
|
Select the IGMP version that the router uses.
|
Change the IGMP Query Timeout
You can specify the period of time before the router takes over as the querier for the interface, after the previous querier has stopped doing so. By default, the router waits 2 times the query interval controlled by the ip igmp query-interval command. After that time, if the router has received no queries, it becomes the querier. This feature requires IGMP Version 2.
To change the query timeout, use the following command in interface configuration mode:
Command
|
Purpose
|
ip igmp query-timeout seconds
|
Set the IGMP query timeout.
|
Change the Maximum Query Response Time
By default, the maximum query response time advertised in IGMP queries is 10 seconds. If the router is using IGMP Version 2, you can change this value. The maximum query response time allows a router to quickly detect that there are no more directly connected group members on a LAN. Decreasing the value allows the router to prune groups faster.
To change the maximum query response time, use the following command in interface configuration mode:
Command
|
Purpose
|
ip igmp query-max-response-time seconds
|
Set the maximum query response time advertised in IGMP queries.
|
Configure the Router as a Statically Connected Member
Sometimes either there is no group member on a network segment or a host cannot report its group membership using IGMP. However, you may want multicast traffic to go to that network segment. The following are two ways to pull multicast traffic down to a network segment:
•
Use the ip igmp join-group command. With this method, the router accepts the multicast packets in addition to forwarding them. Accepting the multicast packets prevents the router from fast switching.
•
Use the ip igmp static-group command. With this method, the router does not accept the packets itself, but only forwards them. Hence, this method allows fast switching. The outgoing interface appears in the IGMP cache, but the router itself is not a member, as evidenced by lack of an "L" (local) flag in the multicast route entry.
To configure the router itself to be a statically connected member of a group (and allow fast switching), use the following command in interface configuration mode:
Command
|
Purpose
|
ip igmp static-group group-address
|
Configure the router as a statically connected member of a group.
|
Configure the TTL Threshold
The time-to-live (TTL) value controls whether packets are forwarded out of an interface. You specify the TTL value in hops. Only multicast packets with a TTL greater than the interface TTL threshold are forwarded on the interface. The default value is 0, which means that all multicast packets are forwarded on the interface. To change the default TTL threshold value, use the following command in interface configuration mode:
Command
|
Purpose
|
ip multicast ttl-threshold ttl
|
Configure the TTL threshold of packets being forwarded out an interface.
|
Disable Fast Switching of IP Multicast
Fast switching of IP multicast packets is enabled by default on all interfaces (including GRE and DVMRP tunnels), with one exception: It is disabled and not supported over X.25 encapsulated interfaces. Keep the following in mind:
•
If fast switching is disabled on an incoming interface for a multicast routing table entry, the packet is sent at process level for all interfaces in the outgoing interface list.
•
If fast switching is disabled on an outgoing interface for a multicast routing table entry, the packet is process-level switched for that interface, but may be fast switched for other interfaces in the outgoing interface list.
Disable fast switching if you want to log debug messages, because when fast switching is enabled, debug messages are not logged.
To disable fast switching of IP multicast, use the following command in interface configuration mode:
Command
|
Purpose
|
no ip mroute-cache
|
Disable fast switching of IP multicast.
|
Configure sdr Listener Support
The tasks in the following sections configure Session Directory Protocol (sdr) listener support:
•
Enable sdr Listener Support
•
Limit How Long an sdr Cache Entry Exists
Enable sdr Listener Support
The multicast backbone (MBONE) allows efficient, many-to-many communication and is widely used for multimedia conferencing. To help announce multimedia conference sessions and provide the necessary conference setup information to potential participants, the Session Directory Protocol Version 2 (sdr) tool is available. A session directory client announcing a conference session periodically multicasts an announcement packet on a well-known multicast address and port.
To enable session directory listener support, use the following command in interface configuration mode:
Command
|
Purpose
|
ip sdr listen
|
Enable sdr listener support.
|
Limit How Long an sdr Cache Entry Exists
By default, entries are never deleted from the sdr cache. You can limit how long an sdr cache entry stays active in the cache. To do so, use the following command in global configuration mode:
Command
|
Purpose
|
ip sdr cache-timeout minutes
|
Limit how long an sdr cache entry stays active in the cache.
|
Configure Basic DVMRP Interoperability Features
The following sections describe some basic tasks that allow interoperability with DVMRP machines:
•
Configure DVMRP Interoperability
•
Configure a DVMRP Tunnel
•
Advertise Network 0.0.0.0 to DVMRP Neighbors
For more advanced DVMRP features, see the section "Configure Advanced DVMRP Interoperability Features" later in this chapter.
Configure DVMRP Interoperability
Cisco multicast routers using PIM can interoperate with non-Cisco multicast routers that use the Distance Vector Multicast Routing Protocol (DVMRP).
PIM routers dynamically discover DVMRP multicast routers on attached networks. Once a DVMRP neighbor has been discovered, the router periodically transmits DVMRP Report messages advertising the unicast sources reachable in the PIM domain. By default, directly connected subnets and networks are advertised. The router forwards multicast packets that have been forwarded by DVMRP routers and, in turn, forwards multicast packets to DVMRP routers.
You can configure what sources are advertised and what metrics are used by configuring the ip dvmrp metric command. You can also direct all sources learned via a particular unicast routing process to be advertised into DVMRP.
The mrouted protocol is a public-domain implementation of DVMRP. It is necessary to use mrouted Version 3.8 (which implements a nonpruning version of DVMRP). When Cisco routers are directly connected to DVMRP routers or interoperate with DVMRP routers over an MBONE tunnel. DVMRP advertisements produced by the Cisco IOS software can cause older versions of mrouted to corrupt their routing tables and those of their neighbors. Any router connected to the MBONE should have an access-list to limit the number of unicast routes that are advertised via DVMRP.
To configure the sources that are advertised and the metrics that are used when transmitting DVMRP Report messages, use the following command in interface configuration mode:
Command
|
Purpose
|
ip dvmrp metric metric [list access-list-number] [[protocol process-id] | [dvmrp]]
|
Configure the metric associated with a set of destinations for DVMRP reports.
|
A more sophisticated way to achieve the same results as the preceding command is to use a route map instead of an access list. Thus, you have a finer granularity of control. To subject unicast routes to route-map conditions before being injected into DVMRP, use the following command in interface configuration mode:
Command
|
Purpose
|
ip dvmrp metric metric route-map map-name
|
Subject unicast routes to route-map conditions before being injected into DVMRP
|
Responding to MRINFO Requests
The Cisco IOS software answers mrinfo requests sent by mrouted systems and Cisco routers. The software returns information about neighbors on DVMRP tunnels and all of the router's interfaces. This information includes the metric (which is always set to 1), the configured TTL threshold, the status of the interface, and various flags. The mrinfo command can also be used to query the router itself, as in the following example:
171.69.214.27 (mm1-7kd.cisco.com) [version cisco 11.1] [flags: PMS]:
171.69.214.27 -> 171.69.214.26 (mm1-r7kb.cisco.com) [1/0/pim/querier]
171.69.214.27 -> 171.69.214.25 (mm1-45a.cisco.com) [1/0/pim/querier]
171.69.214.33 -> 171.69.214.34 (mm1-45c.cisco.com) [1/0/pim]
171.69.214.137 -> 0.0.0.0 [1/0/pim/querier/down/leaf]
171.69.214.203 -> 0.0.0.0 [1/0/pim/querier/down/leaf]
171.69.214.18 -> 171.69.214.20 (mm1-45e.cisco.com) [1/0/pim]
171.69.214.18 -> 171.69.214.19 (mm1-45c.cisco.com) [1/0/pim]
171.69.214.18 -> 171.69.214.17 (mm1-45a.cisco.com) [1/0/pim]
See the "DVMRP Interoperability Example" section at the end of this chapter for an example of how to configure a PIM router to interoperate with a DVMRP router.
Configure a DVMRP Tunnel
The Cisco IOS software supports DVMRP tunnels to the MBONE (the multicast backbone of the Internet). You can configure a DVMRP tunnel on a router if the other end is running DVMRP. The software then sends and receives multicast packets over the tunnel. This allows a PIM domain to connect to the DVMRP router in the case where all routers on the path do not support multicast routing. You cannot configure a DVMRP tunnel between two routers.
When a Cisco router runs DVMRP over a tunnel, it advertises sources in DVMRP Report messages much as it does on real networks. In addition, the software caches DVMRP Report messages it receives and uses them in its Reverse Path Forwarding (RPF) calculation. This allows the software to forward multicast packets received over the tunnel.
When you configure a DVMRP tunnel, you should assign a tunnel an address in the following two cases:
•
To enable the sending of IP packets over the tunnel
•
To indicate whether the Cisco IOS software should perform DVMRP summarization
You can assign an IP address either by using the ip address interface configuration command, or by using the ip unnumbered interface configuration command to configure the tunnel to be unnumbered. Either of these two methods allows IP multicast packets to flow over the tunnel. The software will not advertise subnets over the tunnel if the tunnel has a different network number from the subnet. In this case, the software advertises only the network number over the tunnel.
To configure a DVMRP tunnel, use the following commands in interface configuration mode:
Step
|
Command
|
Purpose
|
1
|
interface tunnel number
|
Specify a tunnel interface in global configuration mode. This puts the router into interface configuration mode.
|
2
|
tunnel source ip-address
|
Set the tunnel interface's source address. This is the IP address of the interface on the router.
|
3
|
tunnel destination ip-address
|
Set the tunnel interface's destination address. This is the IP address of the mrouted multitask router.
|
4
|
tunnel mode dvmrp
|
Configure a DVMRP tunnel.
|
5
|
ip address address mask
ip unnumbered type number
|
Assign an IP address to the interface. or Configure the interface as unnumbered.
|
6
|
ip pim [dense-mode | sparse-mode]
|
Configure PIM on the interface.
|
7
|
ip dvmrp accept-filter access-list-number [distance | neighbor-list access-list-number]
|
Configure an acceptance filter for incoming DVMRP reports.
|
See the "DVMRP Tunnel Example" section at the end of this chapter for an example of how to configure a DVMRP tunnel.
Advertise Network 0.0.0.0 to DVMRP Neighbors
The mrouted protocol is a public-domain implementation of DVMRP. If your router is a neighbor to an mrouted Version 3.6 machine, you can configure the Cisco IOS software to advertise network 0.0.0.0 to the DVMRP neighbor. Do not advertise the DVMRP default into the MBONE. You must specify whether only route 0.0.0.0 is advertised or if other routes can also be specified.
To advertise network 0.0.0.0 to DVMRP neighbors on an interface, use the following command in interface configuration mode:
Command
|
Purpose
|
ip dvmrp default-information {originate | only}
|
Advertise network 0.0.0.0 to DVMRP neighbors.
|
Enable the Functional Address for IP Multicast over Token Ring LANs
By default, IP multicast datagrams on Token Ring LAN segments used the MAC-level broadcast address 0xFFFF.FFFF.FFFF. That places an unnecessary burden on all devices that do not participate in IP multicast. The IP multicast over Token Ring LANs feature defines a way to map IP multicast addresses to a single Token Ring MAC address.
This feature defines the Token Ring functional address (0xc000.0004.0000) that should be used over Token Ring. A functional address is a severely restricted form of multicast addressing implemented on Token Ring interfaces. Only 31 functional addresses are available. A bit in the destination MAC address designates it as a functional address.
The implementation used by Cisco Systems complies with RFC 1469, IP Multicast over Token-Ring Local Area Networks.
If you configure this feature, IP multicast transmissions over Token Ring interfaces are more efficient than they formerly were. This feature reduces the load on other machines that do not participate in IP multicast because they do not process these packets.
The following restrictions apply to the Token Ring functional address:
•
This feature can be configured only on a Token Ring interface.
•
Neighboring devices on the Token Ring on which this feature is used should also use the same functional address for IP multicast traffic.
•
Because there are a limited number of Token Ring functional addresses, it is possible there are other protocols assigned to the Token Ring functional address 0xc000.0004.0000. Therefore, not every frame sent to the functional address is necessarily an IP multicast frame.
To enable the mapping of IP multicast addresses to the Token Ring functional address 0xc000.0004.0000, use the following command in interface configuration mode:
Command
|
Purpose
|
ip multicast use-functional
|
Enable the mapping of IP multicast addresses to the Token Ring functional address.
|
For an example of configuring the functional address, see the section "Functional Address for IP Multicast over Token Ring LAN Example" at the end of this chapter.
Configure PIM Version 2
PIM Version 2 includes the following improvements over PIM Version 1:
•
A single, active rendezvous point (RP) exists per multicast group, with multiple backup RPs. This compares to multiple active RPs for the same group in PIM Version 1.
•
A bootstrap router (BSR) provides a fault-tolerant, automated RP discovery and distribution mechanism. Thus, routers dynamically learn the group-to-RP mappings.
•
Sparse mode and dense mode are properties of a group, as opposed to an interface. We strongly recommend sparse-dense mode, as opposed to either sparse mode or dense mode only.
•
PIM Join and Prune messages have more flexible encodings for multiple address families.
•
A more flexible Hello packet format replaces the Query packet to encode current and future capability options.
•
Register messages to an RP indicate whether they were sent by a border router or a designated router.
•
PIM packets are no longer inside IGMP packets; they are stand-alone packets.
PIM Version 1, together with the Auto-RP feature, can perform the same tasks as the PIM Version 2 BSR. However, Auto-RP is a standalone protocol, separate from PIM Version 1, and is Cisco proprietary. PIM Version 2 is a standards track protocol in the Internet Engineering Task Force (IETF).
Cisco's PIM Version 2 implementation allows good interoperability and transition between Version 1 and Version 2. You can upgrade to PIM Version 2 incrementally. PIM Versions 1 and 2 can be configured on different routers within one network. Internally, all routers on a shared media network must run the same PIM version. Therefore, if a PIM Version 2 router detects a PIM Version 1 router, the Version 2 router downgrades itself to Version 1 until all Version 1 routers have been shutdown or upgraded.
PIM uses the BSR to discover and announce RP-set information for each group prefix to all the routers in a PIM domain. This is the same function accomplished by Auto-RP, but the BSR is part of the PIM Version 2 specification. The BSR mechanism interoperates with Auto-RP on Cisco routers.
To avoid a single point of failure, you can configure several candidate BSRs in a PIM domain. A BSR is elected among the candidate BSRs automatically; they use bootstrap messages to discover which BSR has the highest priority. This router then announces to all PIM routers in the PIM domain that it is the BSR.
Routers that are configured as candidate RPs then unicast to the BSR the group range for which they are responsible. The BSR includes this information in its bootstrap messages and disseminates it to all PIM routers in the domain. Based on this information, all routers will be able to map multicast groups to specific RPs. As long as a router is receiving the bootstrap message, it has a current RP map.
PIM Version 2 is a standards track protocol in the IETF.
Prerequisites
When PIM Version 2 routers interoperate with PIM Version 1 routers, Auto-RP should have already been deployed. A PIM Version 2 BSR that is also an Auto-RP mapping agent will automatically advertise the RP elected by Auto-RP. That is, Auto-RP prevails in its single RP being imposed on every router in the group. All routers in the domain refrain from trying to use the PIM Version 2 hash function to select multiple RPs.
Because bootstrap messages are sent hop by hop, a PIM Version1 router will prevent these messages from reaching all routers in your network. Therefore, if your network has a PIM Version 1 router in it, and only Cisco routers, it is best to use Auto-RP rather than the bootstrap mechanism. If you have a network that includes routers from other vendors, configure the Auto-RP mapping agent and the BSR on a Cisco PIM Version 2 router. Also ensure that no PIM Version 1 router is located on the path between the BSR and a non-Cisco PIM Version 2 router.
Configuration Tasks
There are two approaches to using PIM Version 2. You can use Version 2 exclusively in your network, or migrate to Version 2 by employing a mixed PIM version environment.
•
If your network is all Cisco routers, you may use either Auto-RP or the bootstrap mechanism (BSR).
•
If you have routers other than Cisco in your network, you need to use the bootstrap mechanism.
•
If you have PIM Version 1 and PIM Version 2 Cisco routers and routers from other vendors, then you must use both Auto-RP and the bootstrap mechanism.
The tasks to configure PIM Version 2 are described in the sections that follow.
•
Specify the PIM Version
•
Configure PIM Version 2 Only
•
Transition to PIM Version 2
•
Monitor the RP Mapping Information
Specify the PIM Version
All systems using Cisco IOS Release 11.3(2)T or later start in PIM Version 2 mode by default. In case you need to reenable PIM Version 2 or specify PIM Version 1 for some reason, you can control the PIM version by using the following command in interface configuration mode:
Command
|
Purpose
|
ip pim version [1 | 2]
|
Configure the PIM version used.
|
Configure PIM Version 2 Only
To configure PIM Version 2 exclusively, perform the tasks in this section. It is assumed that no PIM Version 1 system exists in the PIM domain.
The first task is recommended, configuring sparse-dense mode. If you configure Auto-RP, none of the other tasks are required to run PIM Version 2. To configure Auto-RP, see the section "Configure Auto-RP" earlier in this chapter.
If you want to configure a BSR, complete the tasks in the sections that follow:
•
Configure PIM Sparse-Dense Mode
•
Define the PIM Domain Border
•
Define the IP Multicast Boundary
•
Configure Candidate BSRs
•
Configure Candidate RPs
Configure PIM Sparse-Dense Mode
To configure PIM sparse-dense mode, use the following commands on all PIM routers inside the PIM domain, beginning in global configuration mode:
Step
|
Command
|
Purpose
|
1
|
ip multicast-routing
|
Enable IP multicast routing.
|
2
|
interface type number
|
Configure an interface.
|
3
|
ip pim sparse-dense-mode
|
Enable PIM on the interface. The sparse-dense mode is identical to the implicit interface mode in the PIM Version 2 specification.
|
4
|
|
Repeat Steps 2 and 3 for each interface on which you want to run PIM.
|
Define the PIM Domain Border
Configure a border for the PIM domain, so that bootstrap messages do not cross this border in either direction. Therefore, different BSRs are elected on the two sides of the PIM border. Use the following command on the interface of a border router peering with one or more neighbors outside the PIM domain. Use the following command in interface configuration mode:
Command
|
Purpose
|
ip pim border
|
Configure a PIM domain boundary.
|
Define the IP Multicast Boundary
To prevent Auto-RP messages from entering the PIM domain, use the following commands beginning in global configuration mode. The access list will deny packets destined for 224.0.1.39 and 224.0.1.40, which carry Auto-RP information.
Step
|
Command
|
Purpose
|
1
|
access-list access-list-number {deny | permit} source [source-wildcard]
|
Define an administratively scoped boundary.
|
2
|
ip multicast boundary access-list-number
|
Prevent Auto-RP messages (used in PIM Version 1) from coming into the local PIM domain.
|
Configure Candidate BSRs
Configure one or more candidate BSRs. The routers to serve as candidate BSRs should be well connected and be in the backbone portion of the network, as opposed to the dial-up portion of the network. On the candidate BSRs, use the following command in global configuration mode:
Command
|
Purpose
|
ip pim bsr-candidate type number hash-mask-length [priority]
|
Configure the router to be a candidate bootstrap router.
|
Configure Candidate RPs
Configure one or more candidate RPs. Similar to BSRs, the RPs should also be well connected and in the backbone portion of the network. An RP can serve the entire IP multicast address space or a portion of it. Candidate RPs send candidate RP advertisements to the BSR. Consider the following when deciding which routers should be RPs:
•
In a network of Cisco routers where only Auto-RP is used, any router can be configured as an RP.
•
In a network of routers that includes only Cisco PIM Version 2 routers and routers from other vendors, any router can be used as an RP.
•
In a network of Cisco PIM Version 1 routers, Cisco PIM Version 2 routers, and routers from other vendors, only Cisco PIM Version 2 routers should be configured as RPs.
On the candidate RPs, use the following command in global configuration mode:
Command
|
Purpose
|
ip pim rp-candidate type number ttl group-list access-list-number
|
Configure the router to be a candidate RP.
|
For examples of configuring PIM Version 2, see the section "PIM Version 2 Examples" at the end of this chapter.
Transition to PIM Version 2
On each LAN, Cisco's implementation of PIM Version 2 automatically enforces the rule that all PIM messages on a shared LAN are in the same PIM version. To accommodate that rule, if a PIM Version 2 router detects a PIM Version 1 router on the same interface, the Version 2 router downgrades itself to Version 1 until all Version 1 routers have been shutdown or upgraded.
Guidelines for When to Configure a BSR
If there are only Cisco routers in your network (no routers from other vendors), there is no need to configure a BSR. Configure Auto-RP in the mixed PIM Version 1/Version 2 environment.
On the other hand, if you have non-Cisco, PIM Version 2 routers that need to interoperate with Cisco routers running PIM Version 1, both Auto-RP and a BSR are required. We recommend that a Cisco PIM Version 2 router be both the Auto-RP mapping agent and the BSR.
Dense Mode
Dense mode groups in a mixed Version 1/Version 2 region need no special configuration; they will interoperate automatically.
Sparse Mode
Sparse mode groups in a mixed Version 1/Version 2 region are possible because the Auto-RP feature in Version 1 interoperates with the RP feature of Version 2. Although all PIM Version 2 routers are also capable of using Version 1, we recommend that the RPs be upgraded to Version 2 (or at least upgraded to PIM Version 1 in the Cisco IOS Release 11.3 software).
To ease the transition to PIM Version 2, we also recommend:
•
Auto-RP be used throughout the region
•
Sparse-dense mode be configured throughout the region
If Auto-RP was not already configured in the PIM Version 1 regions, configure Auto-RP. See the section "Configure Auto-RP" earlier in this chapter.
Using Auto-RP and a BSR
If you must have one or more BSRs, as discussed in the prior section "Guidelines for When to Configure a BSR," we recommend the following:
•
Configure the candidate BSRs as the RP-mapping agents for Auto-RP.
•
For group prefixes advertised via Auto-RP, the Version 2 BSR mechanism should not advertise a subrange of these group prefixes served by a different set of RPs. In a mixed Version 1/Version 2 PIM domain, it is preferable to have backup RPs serve the same group prefixes. This prevents the Version 2 designated routers (DRs) from selecting a different RP from those Version 1 DRs, due to longest match lookup in the RP-mapping database.
•
Verify the consistency of group-to-RP mappings by performing the following tasks in EXEC mode:
Step
|
Command
|
Purpose
|
1
|
show ip pim rp [[group-name | group-address] | mapping]
|
On any router, display the available RP mappings.
|
2
|
show ip pim rp-hash group
|
On a PIM Version 2 router, confirm that the same RP appears that a PIM Version 1 system chooses.
|
Monitor the RP Mapping Information
To monitor the RP mapping information, use the following commands in EXEC mode:
Command
|
Purpose
|
show ip pim bsr
|
Display information about the currently elected BSR.
|
show ip pim rp-hash group
|
Display the RP that was selected for the specified group.
|
show ip pim rp [group-name | group-address | mapping]
|
Display how the router learns of the RP (via bootstrap or Auto-RP mechanism).
|
Troubleshooting
When debugging interoperability problems between PIM Version 1 and Version 2, check the following in the order indicated:
1
Verify RP mapping with the show ip pim rp-hash command, making sure that all systems agree on the same RP for the same group.
2
Verify interoperability between different versions of DRs and RPs. Make sure the RPs are interacting with the DRs properly (by responding with register-stops and forwarding decapsulated data packets from registers).
Configure Advanced PIM Features
Perform the optional tasks in the following sections to configure PIM features:
•
Understand PIM Shared Tree and Source Tree (Shortest Path Tree)
•
Delay the Use of PIM Shortest Path Tree
•
Understand Reverse-Path Forwarding (RPF)
•
Assign an RP to Multicast Groups
•
Increase Control over RPs
•
Modify the PIM Router-Query Message Interval
•
Enable PIM Nonbroadcast, Multiaccess (NBMA) Mode
Understand PIM Shared Tree and Source Tree (Shortest Path Tree)
By default, members of a group receive data from senders to the group across a single data distribution tree rooted at the rendezvous point (RP). This type of distribution tree is called shared tree, as shown in . Data from senders is delivered to the RP for distribution to group members joined to the shared tree.
Figure 40 Shared Tree and Source Tree (Shortest Path Tree)
If the data rate warrants, leaf routers on the shared tree may initiate a switch to the data distribution tree rooted at the source. This type of distribution tree is called a shortest path tree or source tree. By default, the Cisco IOS software switches to a source tree upon receiving the first data packet from a source.
The following process describes the move from shared tree to source tree in more detail:
1
Receiver joins a group; leaf Router C sends a Join message toward RP.
2
RP puts link to Router C in its outgoing interface list.
3
Source sends data; Router A encapsulates data in Register and sends it to RP.
4
RP forwards data down the shared tree to Router C and sends a Join message toward Source. At this point, data may arrive twice at Router C, once encapsulated and once natively.
5
When data arrives natively (unencapsulated) at RP, RP sends a Register-Stop message to Router A.
6
By default, reception of the first data packet prompts Router C to send a Join message toward Source.
7 