Protocol Independent Multicast -- Sparse Mode
Currently under development (and experimentation), PIM runs on top of the existing unicast routed network and employs an explicit model for group interconnection. The multicast tree is typically shared, but accommodations can be made to support source-based trees.
By Mike Rodbell
We dealt last month with some of the general
concepts applied to supporting multicast over widely distributed networks. There are two major protocol efforts in this area, core-based trees (CBT) and protocol independent multicast sparse mode (PIM-SM). Last month, CBT was the main topic of discussion. This time, well review PIM-SM. Currently under development (and experimentation), PIM runs on top of the existing unicast routed network and employs an explicit (rather than try and truncate) model for group interconnection. The multicast tree is
typically shared, but accommodations can be made to support source-based trees.
CBT multicast routing proves many of the fundamental concepts in sparse mode multicast routing, but it has some limitations that PIM-SM attempts to address. Given that the main concept of CBT routing is the establishment of routing trees centered around a single core router, the incorporation of several multicast routes centered around the core router can lead to heavy traffic concentration. As the number of
multicast groups sharing the core router grows, the traffic congestion increases. This obstruction isnt such a great thing when you consider that it can introduce significant delays and the loss of multicast traffic.
Recognizing the limitations of preceding multicast technology, the interdomain multicast routing (IDMR) working group of the Internet Engineering Task Force (IETF) set out to develop approaches to provide efficient multicast transport of traffic when the number of concurrent sessions is
large and the distribution of the participants is wide. The specific requirements targeted by the IDMR include:
Support sparse-mode regions
As already noted, one of the main distinguishing features of PIM-SM is its ability to support sparsely-populated multicast groups. To restrict the scope of the effort, a sparse-mode region is defined as a region in which the number of networks/domains with group members is significantly smaller than the number of networks/domains in
the region as a whole. While these groups can be widely distributed, conceivably they can still be rather large, particularly with large audience multicast applications.
High-quality data distribution
With the assumption that any data communications architecture seeks to enhance its performance and behavior, this requirement refers to the ability to optimize the network performance in large scale multicast environments. In particular, the network should be able to handle
simultaneous transmissions from multiple sources. The implied solution is the ability to tactically switch between a single large shared tree (as in the case of CBT) and shortest path trees (SPT) that optimize the behavior of a particular group or groups.
Routing protocol independence
As implied by the protocols name, PIM-SM is intended to take advantage of whatever unicast routing mechanisms are employed, such as RIP or OSPF. The protocol must be able to adapt to topology changes in
the unicast network so that the architecture of the multicast domains isnt tied to the underlying unicast network. Given this feature, it becomes a simpler matter to deploy. Only the PIM capable routers need be effected.
Interoperability with dense-mode protocols
Not wanting to reinvent the wheel, the IDMR recognized that the domain being addressed by PIM-SM is the wider area network. For applications where existing reverse path forwarding (RPF) protocols such as MOSPF or DVMRP
are available, PIM must provide gateway services. The Internet is vast, and individual providers equipment configurations may vary.
Robustness
IP network topologies frequently change over time. As a result, the underlying protocols have been designed to automatically adapt. PIM-SM is no exception and is expected to adjust to routing changes.
PIM-SM is meant to provide commercial-grade multicast services for widely-distributed applications. Successful deployment of PIM-SM is a
significant link in providing mass-market multicast delivery services over the Internet.
Components in PIM-SM
Like any protocol, PIM-SM has its own set of components and terms. Understanding the protocol requires some knowledge of these components. Some of the main players and concepts in PIM-SM are:
Member
is the host that is to receive multicast transmissions. The protocol documentation also refers to a member as a receiver.
Rendezvous point (RP)
is
much like the core router in CBT protocols; the rendezvous point is the root of the shared tree that supports one or more groups.
Shared tree (also known as the RP-tree)
is a routing tree that supports one or more multicast groups. Its architecture is essentially the same as the core-based trees we discussed last month. The RP-tree is constructed to connect all receivers to the RP.
Shortest path tree (SPT)
is unlike the shared tree. The shortest path tree is based on the
merged shortest paths from all receivers to the multicast source. This is one of the features that distinguishes PIM-SM from CBT. When appropriate, the use of the shortest path tree provides an optimal distribution network that helps to keep the multicast traffic closer to the minimum required to deliver the information to all members. The SPT mechanism helps PIM-SM meet its high-quality data distribution requirement.
Designated router (DR)
is the router on a subnet that is selected
to control multicast routes for the members on its directly attached subnet. When more than one PIM-capable router is located on a subnet, the selected DR is the router with the highest IP address (yes its arbitrary, but it works).
Last-hop router
is generally the same as the DR and is responsible for forwarding packets to its directly connected members. There are some special conditions where this last hop router is not the DR.
Bootstrap router (BSR)
is a router
with multiple potential RPs; the BSRs provide mechanisms that identify RPs for various multicast groups.
Candidate BSR (CBSR)
is a router that can potentially play the role of a BSR, provided it wins an automated BSR election process.
PIM multicast border router (PMBR)
connects the PIM domain to other multicast routing domains. The gateway functions provided by the PMBR address the need to interoperate with other multicast routing protocols.
Through this collection of
participants and concepts, PIM-SM supports distributed multicast. Now well review some of the major exchanges that need to occur to support PIM-SM.
Bootstrap/setup
To help limit the amount of manual configuration required to manage a PIM-SM domain, a series of automated techniques have been designed. This bootstrapping process is used to:
Elect the BSR
Identify and collect a list of RPs
The BSR is elected from a set of CBSRs starting when the CBSRs transmit
messages indicating their ability to act as BSRs. The messages that are sent by the CBSRs contain what is termed an RP-set. The RP-set messages contain the routers IP address and a preference value that has been preconfigured. As the messages traverse the network, the CBSR with the highest preference is elected to act as the routing domains BSR. If two CBSRs have the same preference, the router with the higher IP address is selected.
Once a router begins its activity as a BSR, it
must collect a list of potential RPs. The BSR listens to all candidate RP advertisements that are sent by PIM-capable routers in the domain. The BSRs list is used to establish and select the RP for each group on the network. When a new group membership is required, the BSR applies an algorithm to match the group identification with the hash of the IP addresses of recognized RPs that could potentially serve the indicated group.
The other remaining selection that must occur in setting up the PIM-SM
network is that of the designated router on a LAN. If more than a single candidate is on a LAN, the router with the highest IP address becomes the DR.
Joining and operating in the PIM-SM shared tree groups
As with CBT routing, member hosts first express their interest in joining a multicast group through transmission of a Internet Group Membership Protocol (IGMP) Host Membership Report. On receipt of the IGMP report, the DR will create a forwarding cache entry for a wildcard group pair,
often represented as (*, group), and transmit a corresponding unicast PIM-Join message in the direction of the groups RP. As the intermediate PIM routers receive the request, they either concatenate the membership onto a matching entry in their cache, or, if there is no preexisting entry, build a new cache record and forward the request towards the RP.
Once the shared tree has been created, source nodes can transmit their multicast traffic over the shared tree. To ensure that no transmissions find
their way into routing loops, the source nodes DR will forward the packets to the RP for distribution along the constructed delivery tree.
Shortest path tree creation
As an option, the PIM routers can direct a groups activity over a shortest path tree rather than a shared tree. The primary difference between the two types of routing trees is that the SPT is rooted at the DR adjacent to the source and the shared trees root point is the RP that could exist anywhere in the network. When
operating over the SPT, the paths through the PIM routing tree tend to provide more direct routes between the source and all participants.
The choice of whether or not a tree is to operate in shared or shortest path mode is typically at the discretion of the initial RP. The decision is made in the course of recognizing a new source and setting up the cache. The transaction between the various elements is as follows:
The new source sends its messages to its DR.
The DR
incorporates PIM-SM-register packets that are unicasted in the direction of the groups RP.
Upon receipt of the PIM-SM-register packets, the RP can either include the source as part of a shared tree, or initiate the creation of a shortest path tree rooted at the sources DR.
As the assorted PIM routers (and last-hop routers) are notified of the presence of the shortest path tree, they can issue PIM-Join messages towards the active source. As a result, the DR for the source will
capture the join request, or another intermediate router will receive the request and join the new member into the tree.
PIM-SM represents a next stage in the evolution of multicast routing protocols. Much like the earlier protocols weve reviewed in previous articles, PIM-SM leverages techniques from previous protocols and improves them with new techniques.
Mike Rodbell is director of embedded software development for CIENA Communications Inc. He has developed voice and data communications
systems for a wide range of commercial and military systems. He holds a BSCS from Trinity College of Hartford, CT, and an MSEE from Loyola College of Baltimore, MD. He can be reached
at
mrodbell@ciena.com or
www.ciena.com.