|
|
Protocol-Independent Multicast (PIM) Version 2 includes the following improvements over PIM Version 1:
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.
This feature is supported on these platforms:
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.
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.
The tasks to configure PIM Version 2 are described in the sections that follow.
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 performing the following task in interface configuration mode:
| Task | Command |
|---|---|
| Configure the PIM version used. | ip pim version [1 | 2] |
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, refer to the "Configuring IP Multicast Routing" chapter in the Cisco IOS Release 11.3 Network Protocols Configuration Guide, Part 1.
If you want to configure a BSR, complete the tasks in the sections that follow:
Perform the following tasks on all PIM routers inside the PIM domain, beginning in global configuration mode:
| Task | Command |
|---|---|
| Step 1 Enable IP multicast routing. | ip multicast-routing |
| Step 2 Configure an interface. | interface type number |
| Step 3 Enable PIM on the interface. The sparse-dense mode is identical to the implicit interface mode in the PIM Version 2 specification. | ip pim sparse-dense-mode |
| Step 4 Repeat Steps 2 and 3 for each interface on which you want to run PIM. |
| Task | Command |
|---|---|
| Configure a PIM domain boundary. | ip pim border |
To prevent Auto-RP messages from entering the PIM domain, perform the following tasks 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.
| Task | Command |
|---|---|
| Step 1 Define an administratively scoped boundary. | access-list access-list-number {deny | permit} source [source-wildcard] |
| Step 2 Prevent Auto-RP messages (used in PIM Version 1) from coming into the local PIM domain. | ip multicast boundary access-list-number |
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, perform the following task in global configuration mode:
| Task | Command |
|---|---|
| Configure the router to be a candidate bootstrap router. | ip pim bsr-candidate type number hash-mask-length [priority] |
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:
On the candidate RPs, perform the following task in global configuration mode:
| Task | Command |
|---|---|
| Configure the router to be a candidate RP. | ip pim rp-candidate type number ttl group-list access-list-number |
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.
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 groups in a mixed Version 1/Version 2 region need no special configuration; they will interoperate automatically.
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:
If Auto-RP was not already configured in the PIM Version 1 regions, configure Auto-RP. Refer to the "Configuring IP Multicast Routing" chapter in the Cisco IOS Release 11.3 Network Protocols Configuration Guide, Part 1.
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:
| Task | Command |
|---|---|
| Step 1 On any router, display the available RP mappings. | show ip pim rp [[group-name | group-address] | mapping] |
| Step 2 On a PIM Version 2 router, confirm that the same RP appears that a PIM Version 1 system chooses. | show ip pim rp-hash group |
To monitor the RP mapping information, perform the following tasks in EXEC mode:
| Task | Command |
|---|---|
| Display information about the currently elected BSR. | show ip pim bsr |
| Display the RP that was selected for the specified group. | show ip pim rp-hash group |
| Display how the router learns of the RP (via bootstrap or Auto-RP mechanism). | show ip pim rp [[group-name | group-address] | mapping] |
When debugging interoperability problems between PIM Version 1 and Version 2, check the following in the order indicated:
This section provides examples in the following sections:
The following example is a configuration for a candidate BSR, which also happens to be a candidate RP:
version 11.3 ! ip multicast-routing ! interface Ethernet0 ip address 171.69.62.35 255.255.255.240 ! interface Ethernet1 ip address 172.21.24.18 255.255.255.248 ip pim sparse-dense-mode ! interface Ethernet2 ip address 172.21.24.12 255.255.255.248 ip pim sparse-dense-mode ! router ospf 1 network 172.21.24.8 0.0.0.7 area 1 network 172.21.24.16 0.0.0.7 area 1 ! ip pim bsr-candidate Ethernet2 30 10 ip pim rp-candidate Ethernet2 group-list 5 access-list 5 permit 239.255.2.0 0.0.0.255
The following example is a configuration for a PIM border on Ethernet interface 1. Address list 1 prevents Auto-RP packets and data packets in the 239.x.x.x range from going over Ethernet interface 1.
version 11.3 ! ip multicast-routing ! ! interface Ethernet0 ip address 171.69.62.35 255.255.255.240 ! interface Ethernet1 ip address 172.21.24.18 255.255.255.248 ip pim sparse-dense-mode ip pim border ip multicast boundary 1 ! interface Ethernet2 ip address 172.21.24.12 255.255.255.248 ip pim sparse-dense-mode ! access-list 1 deny 239.0.0.0 0.255.255.255 access-list 1 deny 224.0.1.39 0.255.255.255 access-list 1 deny 224.0.1.40 0.255.255.255 access-list 1 permit 224.0.0.0 15.255.255.255
If you remove the RP-related commands and the boundary command, it becomes a configuration for other internal routers.
This section documents new or modified commands. All other commands used with this feature are documented in the Cisco IOS Release 11.3 command references.
To configure the interface to be the PIM domain border, use the ip pim border interface configuration command. To remove the border, use the no form of this command.
ip pim borderThis command has no arguments or keywords.
Disabled
Interface configuration
This command first appeared in Cisco IOS Release 11.3 T.
When this command is configured on an interface, no bootstrap message can pass through this border in either direction. This command effectively partitions the network into regions using different bootstrap routers. Other PIM messages can pass the domain border.
The following example configures the interface to be the PIM domain border:
interface ethernet 1 ip pim border
To configure the router to announce its candidacy as a bootstrap router (BSR), use the ip pim bsr-candidate global configuration command. To remove this router as a candidate for being a bootstrap router, use the no form of this command.
ip pim bsr-candidate type number hash-mask-length [priority]| type number | Interface type and number on this router from which the bootstrap router address is derived, to make it a candidate. This interface must be enabled with PIM. |
| hash-mask-length | Length of a mask (32 bits maximum) that is to be ANDed with the group address before the hash function is called. All groups with the same seed hash (correspond) to the same RP. For example, if this value is 24, only the first 24 bits of the group addresses matter. This fact allows you to get one RP for multiple groups. |
| priority | (Optional) Integer from 0 to 255. The bootstrap router with the larger priority is preferred. If the priority values are the same, the router with the larger IP address is the bootstrap router. The default value is 0. |
Disabled
Global configuration
This command first appeared in Cisco IOS Release 11.3 T.
This command causes the router to send bootstrap messages to all its PIM neighbors, with the designated interface's address as the BSR address. Each neighbor compares the BSR address with the address it had from previous bootstrap messages (not necessarily received on the same interface). If the current address is the same address or better, it caches the current address and forwards the bootstrap message. Otherwise, it drops the bootstrap message.
This router continues to be the BSR until it receives another candidate BSR's message saying it has a higher priority (or if the same priority, a higher IP address).
Use this command only in backbone routers that have good connectivity to all parts of the PIM domain. That is, a stub router that relies on an on-demand dialup link to connect to the rest of the PIM domain is not a good candidate BSR.
The following example configures the router's IP address on Ethernet interface 0 to be a candidate bootstrap router with priority of 10:
ip pim bsr-candidate ethernet 0 10
ip pim border
ip pim rp-candidate
ip pim send-rp-discovery
show ip pim bsr
show ip pim rp
To configure the router to advertise itself as a PIM Version 2 candidate Rendezvous Point (RP) to the bootstrap router, use the ip pim rp-candidate global configuration command. To remove this router as a candidate for being an RP, use the no form of this command.
ip pim rp-candidate type number [group-list access-list-number]| type number | IP address associated with this interface type and number on this router is advertised as a candidate RP address. |
| group-list access-list-number | (Optional) Standard IP access list number that defines the group prefixes that are advertised in association with the RP address. |
Disabled
Global configuration
This command first appeared in Cisco IOS Release 11.3 T.
This command causes the router to send a PIM Version 2 message advertising itself as a candidate RP to the bootstrap router. The addresses allowed by the access list, together with the router identified by the type and number, constitute the RP and its range of addresses it is responsible for.
Use this command only in backbone routers that have good connectivity to all parts of the PIM domain. That is, a stub router that relies on an on-demand dialup link to connect to the rest of the PIM domain is not a good candidate RP.
The following example configures the router to advertise itself as a candidate RP to the bootstrap router in its PIM domain. Standard access list number 4 specifies the group prefix associated with the RP that has the address identified by Ethernet interface 2. That RP is responsible for the groups with the prefix 239.
ip pim rp-candidate ethernet 2 group-list 4 access-list 4 permit 239.0.0.0 0.255.255.255
ip pim rp-announce-filter
ip pim bsr-candidate
To configure the PIM version of the interface, use the ip pim version interface configuration command. To restore the default value, use the no form of this command.
ip pim version [1 | 2]| 1 | (Optional) Configures PIM Version 1. |
| 2 | (Optional) Configures PIM Version 2. |
Version 2
Interface configuration
This command first appeared in Cisco IOS Release 11.3 T.
An interface in Version 2 mode automatically downgrades to Version 1 mode if that interface has a PIM Version 1 neighbor. The interface returns to Version 2 mode after all Version 1 neighbors disappear (that is, they are shut down or upgraded).
The following example configures the interface to operate in PIM Version 1 mode:
interface ethernet 0 ip address 1.1.1.1 255.0.0.0 ip pim sparse-dense-mode ip pim version 1
To display the bootstrap router (BSR) information, use the show ip pim bsr EXEC command.
show ip pim bsrThis command has no arguments or keywords.
EXEC
This command first appeared in Cisco IOS Release 11.3 T.
The output includes elected BSR information and information about the locally configured candidate RP advertisement.
The following is sample output from the show ip pim bsr command:
Router# show ip pim bsr
PIMv2 Bootstrap information
This system is the Bootstrap Router (BSR)
BSR address: 171.69.143.28
Uptime: 04:37:59, BSR Priority: 4, Hash mask length: 30
Next bootstrap message in 00:00:03 seconds
Next Cand_RP_advertisement in 00:00:03 seconds.
RP: 171.69.143.28(Ethernet0), Group acl: 6
Table 1 describes the fields in the display.
| Field | Description |
|---|---|
| BSR address | IP address of the bootstrap router. |
| Uptime | Length of time that this router has been up, in hours:minutes:seconds. |
| BSR Priority | Priority as configured in the ip pim bsr-candidate command. |
| Hash mask length | Length of a mask (32 bits maximum) that is to be ANDed with the group address before the hash function is called. This value is configured in the ip pim bsr-candidate command. |
| Next bootstrap message in | Time (in hours:minutes:seconds) in which the next bootstrap message is due from this BSR. |
| Next Cand_RP_advertisement in | Time (in hours:minutes:seconds) in which the next candidate RP advertisement will be sent. |
| RP | List of IP addresses of RPs. |
| Group acl | Standard IP access list number that defines the group prefixes that are advertised in association with the RP address. This value is configured in the ip pim rp-candidate command. |
ip pim bsr-candidate
ip pim rp-candidate
show ip pim rp
show ip pim rp-hash
To display which RP is being selected for a specified group, use the show ip pim rp-hash EXEC command.
show ip pim rp-hash group| group | Group for which to display RP information. |
EXEC
This command first appeared in Cisco IOS Release 11.3 T.
This command displays which RP was selected for the group specified. It also shows whether this RP was selected by Auto-RP or the PIM Version 2 bootstrap mechanism.
The following is sample output from the show ip pim rp-hash command with the group address 239.1.1.1 specified:
Router# show ip pim rp-hash 239.1.1.1
RP 172.21.24.12 (mt1-47a.cisco.com), v2
Info source: 172.21.24.12 (mt1-47a.cisco.com), via bootstrap
Uptime: 05:15:33, expires: 00:02:01
Table 2 describes the fields in the display.
| Field | Description |
|---|---|
| RP 172.21.24.12 (mt1-47a.cisco.com), v2 | Address of the RP for the group specified (239.1.1.1). Within parentheses is the DNS name of the RP. If the RP's address is not registered in the DNS, a question mark (?) is displayed. PIM Version 2 configured. |
| Info source: 172.21.24.12 (mt1-47a.cisco.com), via bootstrap | Indicates from which system the router learned this RP information, along with the source's DNS name. RP was selected by the bootstrap mechanism. In this case, the BSR is also the RP. |
| Uptime | Length of time (in hours:minutes:seconds) that the router has known about this RP. |
| expires | Time (in hours:minutes:seconds) after which the information about this RP expires. If the router does not receive any refresh messages in this time, it will discard information about this RP. |
|
|