
This version of Internet Protocol Multicast is compliant with Draft IETF pim-sm-v2-new-01.txt which obsoletes RFC 2362.
Internet Protocol Multicast is an Internet routing protocol designed to provide efficient data transmission to multiple users. Multicast uses Class D addressing to identify and route multicast traffic and Protocol Independent Multicast (PIM) to configure and structure the multicast network.
IP Multicast assembles users who wish to receive multicast traffic into multicast groups and assigns each group a specific Class D IP address. The Class D IP address range reserved for multicast addresses is 224.0.0.0 to 239.255.255.255. PIM is enabled on interfaces to provide the routing mechanism to structure the multicast traffic. When a message is sent to a multicast group, the sending host forwards a single copy of the data packet over the network. The intermediate routers replicate these data packets and distribute them to the multicast group members.
Related Information
Multicast Routing and Switching, Parkhurst, PH.D., William, 1999, McGraw-Hill, ISBN 0-07-134647-3.
IP Multicast Configuration
IP Multicast routing configuration requires enabling Protocol Independent Multicast (PIM) at the interface level to specify the mode of transmission. This release supports sparse-mode multicast. Enabling PIM on interfaces allows the Avici router to accept and forward multicast traffic and specifying the mode determines the routing structure for the multicast traffic.
Sparse-mode uses a a Bootstrap Router (BSR), a Rendezvous Point (RP), and a shared tree topology to route multicast traffic. Within multicast domains, the RP serves as a distribution point for a specific set of multicast groups. Each RP informs the Bootstrap Router (BSR) of the multicast group it serves.The Bootstrap Router (BSR) collects the RP to multicast group mappings (RP-set) within its domain, builds a database, and dynamically distributes the RP-set to the multicast routers within its domain. RPs may use BSR messages or be statically configured for specific multicast groups. Static configuration (without keywords) specifies that multicast traffic for specified group(s) goes directly to the statically configured RP.
Within multicast, boundaries and borders further organize the routing of multicast traffic. Setting a boundary on an interface restricts the flow of traffic for specific groups or ranges of groups over the interface. Boundaries effectively restrict unwanted multicast traffic. Border configuration is another option to effectively partition a PIM network into separate domains. Configuring borders on an interface blocks bootstrap messages from crossing the interface - either in or out. This has the effect of load balancing the multicast traffic among BSRs. Other PIM traffic may cross this interface, but not boostrap messages.
Other features of multicast functionality available are Reverse Path Forwarding (RPF) and Multicast Virtual Interface (MVIF). RPF increases efficiency by restricting duplicate multicast traffic on incoming interfaces, which may occur when traffic is flooded to all multicast group members. When a packet for a specific multicast group arrives on an incoming interface according to the shared tree distribution, it is forwarded to the group member. When future packets arrive on different incoming interfaces destined for that same group member, they are silently discarded. RPFs provide information for each incoming interface distributing multicast traffic. The use of a virtual interface number representing a full IP Multicast address listing greatly simplifies the process of viewing configuration information. The show ip mvifs command displays interface and virtual interface mappings and the show ip mcache command displays incoming and outgoing virtual interfaces.
Enabling PIM Sparse-Mode on an Interface
IP Multicast requires enabling PIM at the interface level to set the mode of multicast transmission, to allow an interface to accept and forward multicast traffic, and to determine the routing structure for the multicast traffic. The mode supported for this release is sparse-mode. Use the ip pim sparse-mode command to configure PIM sparse mode on an interface.
Use the no ip pim command to disable PIM on an interface,
Example: The following example configures an interface for PIM-SM:T
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface pos 1/1/2
router(config-if)#ip pim sparse-mode
router(config-if)end
Use the show running-config command to display the interface configuration information as required.
Configuring for Interoperability
Because the standards for multicast implementations are not strictly followed at all times, enabling PIM configuration requires the use of the ip pim rp-hash-proprietary command. The ip pim rp-hash-proprietary command ensures compatibility with multicast implementations that are non-IETF compliant. Configuration of this command ensures congruous selection of RPs with implementations of multicast not presently in compliance with IETF standards.
Use the no ip pim rp-hash-proprietary command to disable this functionality,
Example: In the following example, the ip pim rp-hash proprietary command globally configures compatibility:
l
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
route(config)#ip pim rp-hash-proprietary
router(config)#end
Use the show running-config command to display the global settings.
Configuring PIM Source Specific Multicast (SSM)
IPriori has been enhanced to support PIM Source Specific Multicast (SSM).
PIM Sparse Mode (SM) operates within a framework where receivers specify the multicast group that they are interested in, and the sources are not known beforehand. Any source can start sending multicast traffic to any group in the network. It is the job of the network to discover these sources and setup multicast paths to deliver the traffic from each source to all the receivers who are interested in a particular group. PIM-SM first delivers the traffic on a shared tree with the Rendezvous Point (RP) or Destination Designated Router (D-DR) switching to the shortest-path tree for specific sources. The receivers express their interest to receive traffic for a particular G by generating group specific IGMP membership reports. This results in a (*, G) tree (RPT) being setup by the D-DR. When a new S starts sending to G, the D-DR first gets the traffic via the RPT and if interested it can trigger a setup of a (S, G) tree (SPT) to the source.
The SSM model operation is much simpler for the network as compared to SM. In this model, the receivers gain knowledge about the sources that they are interested in via out-of-band arrangement and thus are able to specify to the network the explicit (S, G) channel that they want to receive multicast traffic from. This makes the network's operations simpler as the SPTs are immediately setup to the required sources. In SSM, there is no need for an RP and the S-DR does not forward traffic unless an explicit (S, G) SPT is setup to it due to the (S, G) joins from the D-DR(s). The receivers express their interest to receive specific (S, G) multicast streams by the source group specific membership reports supported by IGMPv3.
SSM operation is restricted to a range of groups. The Internet Assigned Numbers Authority (IANA) has reserved the IPv4 addresses in the 232.0.0.0/8 (232.0.0.0 to 232.255.255.255) range as source-specific multicast destination addresses and for use by SSM applications and protocols. However, IPriori supports a configuration for any subset of the multicast address range (224.0.0.0 through 239.255.255.255) for SSM operation. By default, the 232.0.0.0/8 will be used for SSM when enabled.
NOTE Static (*,G) joins and RP operations are not allowed within an enabled SSM address range. If either configuration overlaps or conflicts with an enabled SSM configuration, they will be rendered un-operational until the conflicting SSM configuration is removed.
Use the ip pim ssm command to enable PIM SSM and configure the SSM address range.
Use the no ip pim ssm command to disable PIM SSM.
Use the show ip mroute command to display the multicast route entries in the SSM range. SSM groups are denoted with the s flag.
Example 1: The following example enables PIM SSM-mode for this router specifying address range contained in the test access-list:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip pim ssm range test
router(config)#end
router#
Example 2: The following example enables PIM SSM-mode for this router and resets the address range to default:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip pim ssm default
router(config)#end
router#
Configuring Bootstrap Routers (BSRs)
In the hierarchy of the PIM-SM domain, the bootstrap router (BSR) is the core distribution point within each domain. The function of the BSR is to collect and distribute the multicast group-to-RP mappings (RP-set) for each of the RPs within its domain. The BSR collects this information by receiving an ip pim rp-candidate message from each of the RPs within its domain. The ip pim rp-candidate message (also known as the RP-set) includes the addresses of each RP along with the multicast groups it supports. If the BSR receives two ip pim rp-candidate messages, advertising the same multicast group, the RP with the highest IP address wins the tie. Once collected, the BSR advertises this information to each router in the domain via the ip pim bsr-candidate message.
Use the ip pim bsr-candidate type number hash-mask-length [priority] command to configure a router to be a Bootstrap Router.
Use the no ip pim bsr-candidate command to remove the BSR designation from the router.
Example: In the following example, the pos interface 1/2/1 is configured as the BSR for this multicast domain:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip pim bsr-candidate pos 1/2/1
router(config)#end#
Configuring RPs
Within multicast configurations, there are command options to control the flow of the multicast traffic. One option is to restrict traffic for specific multicast groups through a particular RP by statically configuring the RP using the ip pim rp-address RP_address group_address command. By statically configuring the RP a user can specify that certain multicast groups route only to this RP. After configuring the RP, the next step is to configure the RP to announce its candidacy - inform the network of the multicast groups it serves. The RP uses the ip pim rp-candidate command to accomplish this.
Announcing Candidacy - RPs
The RP advertises its candidacy to the BSR through the ip pim rp-candidate message. In order for an RP to advertise this message, each RP must be configured with the ip pim rp-candidate type number [group_access_list | access list name] command. After configuration, the router can then advertise the ip pim rp-candidate message (also known as the RP-set) to the BSR. The ip pim rp-candidate message includes the addresses of each RP along with the multicast groups it supports. The BSR then includes the RP-set for each RP into its ip pim bsr-candidate message which it broadcasts to each router in the PIM domain.
Use the no ip pim rp-candidate command to remove RP candidacy from a router.
Example: In the following example, the ip pim rp-candidate command is use to configure the RP to advertise itself as an RP:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip pim rp-candidate pos 1/2/2 group_access_list myAccessList
router(config)#end
Configuring Static RPs
To address this requirement, the ip pim rp-address RP_address group_address [group_mask | group_access_list] {override | backup} command allows an administrator to further structure the multicast network by statically configuring the RP. When an RP is statically configured for a multicast group without using keywords, multicast traffic for that group goes only to that statically configured RP. The [group mask] option allows configuration of ranges of multicast groups.
The required keywords override and backup set the precedence in the RPs. The override keyword sets the precedence of the statically configured RP higher than any other dynamically learned RPs. The backup keyword sets the precedence of the statically configured RP lower than any other dynamically learned RPs.
In addition, if a group address is statically configured on two RPs with the override keyword, the RP with the highest IP address takes precedence.
PROCEDURE: To statically configure the RP using the override keyword use the following steps:
Step 1 Enter the configure command to enter configuration mode.
Step 2 Enter the ip pim rp-address RP_address group_address [group_mask] override command to statically configure the RP for a specific multicast group.
Step 3 Enter the end command to return to privileged mode:
router#configur terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip pim rp-address 198.5.6.7 225.1.0.0 255.255.0.0 override
router#end
PROCEDURE: To statically configure the RP using the backup keyword use the following procedure:
Step 4 Enter the configure command to enter configuration mode.
Step 5 Enter the ip pim rp-address RP_address group_address [group_mask] backup command to statically configure the RP:
Step 6 Enter the ip pim rp-address RP_address group_address [group_mask] backup command to statically configure the RP for a specific multicast group.
Step 7 Enter the end command to return to privileged mode:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip pim rp-address 198.5.6.7 225.1.0.0 255.255.0.0 backup
router#end
Use the show running-config command to display the interface configuration information as required.
Configuring Multicast Boundaries
Boundary configuration organizes multicast traffic by specifying groups or ranges of groups not allowed to flow over interfaces. Using the ip multicast boundary group_access_list command, interfaces are configured to discard specific multicast traffic for ranges of multicast groups or access lists. The use of multicast boundaries effectively restricts specified multicast traffic.
Use the no ip multicast boundary group_access_list command to remove a boundary.
Example: In the following example, a boundary is configured on the pos 1/2/2 to discard traffic for any groups in the MyAccessList:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface pos 1/2/2
router(config)#ip pim multicast boundary MyAccessList
router(config-if)#end
Configuring Multicast Borders
The ip pim border command partitions the network into separate domains by constructing a border on an interface over which no bootstrap message can pass - incoming or outgoing. PIM messages are not blocked - only bootstrap messages. This command partitions the network into regions using different bootstrap routers.
Multicast networks can also be partitioned by the use of the ip pim border command. This command partitions the network by constructing a border over which no BSR bootstrap message can pass - incoming or outgoing. This command blocks unnecessary information from passing into domains where it is not needed and also allows a network manager to efficiently manage the flow of the multicast traffic.
NOTE This command does not set up multicast boundaries. It only sets up a PIM Bootstrap message boundary.
Example: In the following example, a border is configured on the pos 1/2/2:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface pos 1/2/2
router#ip pim border
router(config)#end
Configuring the IP PIM Query-Interval
In sparse-mode configurations, the query-interval hello messages are used to inform neighboring interfaces of their PIM capability. These messages help construct the shared tree and ensure the flow of the multicast traffic.
The ip pim query-interval seconds command sets the frequency of the hello messages sent to neighboring interfaces. Use the no IP PIM query-interval to return to the default interval. The default query response time is 30 seconds.
PROCEDURE: To change the default settings, use the ip pim query-interval seconds command:
Step 1 Enter the enable command to enter configuration mode.
Step 2 Enter the ip pim query-interval 45 command to globally configure the query-interval.
Step 3 Set the interval time in seconds.
Step 4 Enter the end command to return to executive mode:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip pim query-interval 20
router(config)#end
Use the show ip pim interface command to display the global settings.
Enabling IP IGMP Static-Group Command
IP IGMP Static configuration has been enhanced to include (S, G) joins.
The ip igmp static-group command configures specific multicast groups (*, G) or (S, G) joins as permanently reachable out a defined interface as long as they were received on the correct RPF interface. In this way, continuous line rates can be tested and/or monitored. Use the following syntax when configuring groups (*, G):
Syntax: ip igmp static-group groupAddr [number of groups]
Specify the group address optionally followed by the number of multicast groups (defaults to 1 group). The maximum number of groups per command line is 1,024.
Use the following syntax when configuring static (S, G) joins:
Syntax: ip igmp static-group groupAddr [number of groups] source srcAddr
Specify the group address optionally followed by the number of groups, followed by the source keyword and source address.
PROCEDURE: To configure the ip igmp static-group command use the following steps:
Step 1 Enter the configure command to enter configuration mode.
Step 2 Enter the interface pos bay#/slot#/port# command to enter configuration interface mode.
Step 3 Enter ip igmp static-group groupAddr to configure the specified group to be reachable on the interface. The example shows a range of multicast groups from 232.0.0.1 to 232.0.0.100.
Step 4 Enter the end command to return to privileged mode:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface pos 1/3/4
router(config-if)#ip igmp static-group 232.0.0.1 100
router(config-if)#end
PROCEDURE: To configure ip igmp static-group for (S, G) join use the following steps:
Step 1 Enter the configure command to enter configuration mode.
Step 2 Enter the interface pos bay#/slot#/port# command to enter configuration interface mode.
Step 3 Enter ip igmp static-group groupAddr source srcAddr to configure the specified group to be reachable on the interface. The example shows a range of multicast groups from 232.0.0.1 to 232.0.0.100 to (S, G) 20.7.7.0.
Step 4 Enter the end command to return to privileged mode:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#interface pos 1/3/4
router(config-if)#ip igmp static-group 226.0.0.1 100 source 20.7.7.0
router(config-if)#end
Use the show ip mroute to view the configuration settings.
Use the show ip igmp groups command to display the static IGMP entries.
Configuring Static Multicast Routes
Configuration of IP multicast static routes enables multicast NLRI (Network Layer Reachability Information) pertaining to PIM-sparse receivers to be advertised by manually configuring a border router interface default route located within a neighboring Autonomous System. PIM Sparse receivers use this default gateway address to construct a shortest path tree to the PIM sender. Use the ip multicast route route-prefix mask gateway configure a multicast static route.
Static routes can be overridden by dynamically-learned routes by careful configuration of the distance argument. Each routing protocol has a default distance. To override a static route, configure the distance for the static route as more than the default distance for the routing protocol.
Use the distance argument to configure the distance of a route so that it can be compared to routes learned from dynamic routing protocol updates.
Use the tag keyword to append a tag to the route.
Each routing protocol has a default distance:
PROCEDURE: To configure a multicast static route, use the following steps:
Step 1 Enter the configure command to enter configuration mode.
Step 2 Enter the ip multicast-route route-prefix mask gateway command to configure a multicast static path to the specified destination via the specified gateway. Use the distance argument to configure the distance of a route.
Step 4 Enter the end command to return to privileged mode.
Example 1: In the following example, the distance argument is used to configure the distance for the route as 20, making it a more preferred router than most supplied by routing protocols updates:
router#configure terminal
router(config)#ip multicast-route 85.1.1.0 255.255.255.0 10.1.9.1 20
router(config)#end
Use the no ip multicast-route route-prefix mask gateway [distance] syntax to delete a multicast static route. The no form of the command accepts a gateway or distance specifier to help identify the route to be deleted.
Use the show ip route-multicast command to display configured multicast static routes.
Configuring IP Multicast Multipath Load Splitting
In accordance with RFC 2362, if two or more equal-cost routes are available, by default IPv4 multicast traffic for PIM-SM groups will provide Reverse Path Forwarding (RPF) towards the PIM neighbor with the highest IP address.
With IP Multicast Multipath Load Splitting, the RPF interface for each (*, G) or (S, G) state will be selected amongst the available equal cost paths depending on the RPF address to which the state resolves. For an (S, G) state, this is the address S of the source, for a (*, G) state this is the address of the RP associated with the group G of the state. What results is multicast traffic for different states can be received across more than just one equal-cost interface.
IP multicast load splitting is disabled by default.
The result of a given RPF selection can be verified using the show ip rpf command, which shows the chosen RPF for actually established state, as well as the RPF interface/neighbor that IPv4 Multicast would use for sources or RPs for which there is no state build. This show command executes the RPF calculation for the address argument given, whether it is an RP address or a source address.
Use the ip multicast multipath command in global configuration mode to enable load splitting of IP multicast traffic across multiple equal-cost paths.
Use the no ip multicast multipath command to disable load splitting of IP multicast traffic.
Example 1: In the following example, the ip multicast multipath command enables load splitting across multicast ECMPs on this router. The show ip rpf displays RPF information for source address 2.1.1.1:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#ip multicast multipath
router(config)#end
router#show ip rpf 2.1.1.1
RPF information for (2.1.1.1)
RPF interface: Ethernet3/0
RPF neighbor: (131.1.1.3)
RPF route/mask: 2.1.1.1/32
RPF type: (static)
router#
Example 2: In the following example, the no ip multicast multipath command disables load splitting across multicast ECMPs on this router:
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#no ip multicast multipath
router(config)#end
router#
Display Information about Multicast
Multicast includes a variety of commands to display information about multicast traffic. The commands are:
Copyright © 2004
Avici Systems Inc.
Avici® and TSR®
is a registered trademark of Avici Systems Inc.
IPriori, Composite Links, SSR, QSR, and NSR® are
trademarks of Avici Systems Inc.
Source
File Name: Multicast.fm
HTML File Name: Multicast.html
Last Updated: 12/19/04 at 16:11:56