Upload
jackson8002
View
226
Download
0
Embed Size (px)
Citation preview
7/27/2019 Multicast Protocols Comaprison
1/12
A comparison of the Internet multicast routing protocols
Jhyda Lina, Ruay-Shiung Changb,*
aDepartment of Information Management, National Taiwan University of Science and Technology, Taipei, TaiwanbDepartment of Computer Science and Information Engineering, National Dong Hwa University, Hualien 974, Taiwan
Received 21 November 1997; received in revised form 5 August 1998; accepted 10 August 1998
Abstract
The exploding Internet has brought many novel network applications. These include teleconferencing, interactive games, the voice/video
phone, real-time multimedia playing, distributed computing, web casting, and so on. One of the specific characteristics of these applications
is that all involve interactions among multiple members in a single session. Unlike the traditional one-to-one message transmission
(unicasting), if the underlying networks provide no suitable protocol supports, these applications may be costly and infeasible to implement.
Multicasting is one technique proposed to efficiently distribute datagrams to a set of interested group members on the interconnected
networks. In this article, we survey the multicast routing protocols on the Internet today. Four well-known multicast routing protocols,
Distance Vector Multicast Routing Protocol (DVMRP), Multicast extensions to OSPF (MOSPF), Core Based Tree multicast routing protocol
(CBT), and Protocol Independent Multicast routing protocol (PIM), are introduced. Different protocols have different design concepts and
use different techniques to delivery datagrams and each has its special functions and properties. We provide a succinct explanation of their
features. The advantages and weaknesses of these Internet protocols are also examined and compared in detail by several protocol
characteristics. 1999 Elsevier Science B.V. All rights reserved.
Keywords:Multicasting routing protocols; Delivery tree; Datagrams
1. Introduction
From the Internet, corporate Intranet, to various on-line
information services, we have seen and are witnessing a
series of unprecedented innovative applications. These
applications include video conferencing, distance learning,
shared collaborative computing, and so on. The require-
ments of these applications highlight several strategic
research and development directions for networks in the
future. One of them is to provide a new interactive service
architecture to facilitate the highly distributed sets of co-
operating applications. Unlike most of the successful appli-
cations in use today, they involve the interactions among
multiple members in a single session. For example, theimages and voices of the lecturer in distance learning
must be transmitted to multiple destinations at the same
time on demand. These real-time member interactions
need supports from the underlying networks. That is, the
network protocol layers must be able to perform an impor-
tant function called multicasting.
Multicasting [5,6] refers to transmit a single data packet
to a set of receivers that are members of a multicast group.
Different from one-to-one unicasting and one-to-all broad-
casting, multicasting is considered as the more generalized
concept: many-to-many. That is, the number of group
members varies from zero to all. They may spread across
a large network. At any time, each of them is allowed to join
and leave the group dynamically. Individual network node
can also be a member to different groups at the same time.
Consequently, for such situations, multicasting manages the
multiple members with a unique group address. Datagrams
designated to the specific group address will be distributed
to all members of that group. To avoid consuming band-width by forwarding datagrams repeatedly on unicasting
basis or causing heavy traffic by broadcasting, it takes
advantage of the spanning tree concept to force the
network to replicate datagrams only when necessary at
branches. Multicasting offers a better improvement of the
network load and resource usage in comparison with tradi-
tional delivering.
In this article, we discuss and compare four well-known
multicast routing protocols on the Internet today. First,
Section 2 explains what multicasting is about. Section 3
gives an overview of the current Internet protocols:
Computer Communications 22 (1999) 144155
0140-3664/99/$ - see front matter 1999 Elsevier Science B.V. All rights reserved.
PII: S0140-3664(98) 00236-9
This research is supported in part by ROC NSC under contracts
NSC87-2213-E011-013 and NSC87-2622-E007-002.
* Corresponding author. Tel.: 886 3 8662500 Ext. 1 831; Fax: 886 3
8662781; e-mail: [email protected]
7/27/2019 Multicast Protocols Comaprison
2/12
DVMRP (Distance Vector Multicast Routing Protocol)
[7,18], MOSPF (Multicast extensions to OSPF) [15,16],
CBT (Core Based Tree multicast routing protocol) [13],
and PIM (Protocol Independent Multicast routing protocol)
[810]. Then, in Section 4, we examine these protocols in
detail and evaluate them with respect to a number of criteria.
Finally, Section 5 presents a summary of these protocols and
a conclusion of our discussion.
2. Multicasting
Multicasting on the local subnetworks is easily supported.
For example, in Ethernet or most shared media, a host can
simply deliver a multicast data packet to any directly
connected hosts by mapping the group address to reserved
portions of the IEEE-802 MAC-layer multicast address
space. So, the remaining task is how to manage the
mappings between group addresses and specific member-
ships. The well-known Internet Group Management Proto-
col (IGMP) [4,13] is one of such mechanisms. IGMP
operates between hosts and multicast routers belonging to
the same subnetwork. It allows a host to inform its multicast
router what group it wishes to participate. By monitoring the
group membership presence on its directly attached links,
the multicast router knows how to send a copy of the multi-
cast data packets to the appropriate links.
However, IGMP only handles the membership manage-
ment on one directly-attached subnetwork. This capability
limits the forwarding of multicast traffic from a router to
group members on the specific local subnetwork. For multi-
casting to extend beyond the scope of the local subnetwork,
a multicast routing protocol must first construct multicastdelivery trees. It then has to keep track of the group
memberships on the network, maintain the delivery trees
for dynamic group changes, and forward multicast data-
grams to the target destination across the internetworks.
Therefore, we can examine a multicast routing protocol
from the following perspectives.
1. Neighbor discovery: There are many different types of
routers in the Internet. Not all routers have the same
capability. Some of them support multicast routing, and
others do not. In addition, a particular router with the
capability of multicast might not support some specific
multicast protocols with others. Consequently, passing amulticast datagram to multicast ignorant routers will
cause that datagram to be ignored and discarded. Provid-
ing a mechanism for multicast routers to be able to
discover neighbors with the same multicast capability
is necessary on internetwork multicasting. Based on
this information about neighbor distributions, the multi-
cast control messages can then concentrate on specific
routers to exchange the group membership information
and to build the multicast tree.
2. Group membership maintenance: When a host wants to
join or leave a group, a specific message should be sent to
inform multicast routers in the network. Later on, multi-
cast routers can know how to forward the multicast data-
grams by keeping track of these group memberships.
IGMP supports the basic maintenance for group
membership for the directly-attached networks. Each
multicast router periodically sends IGMP Host Member-
ship Queries on that subnetwork. Hosts then respond with
IGMP Host Membership Reports for multicast groups to
which they belong. A local group database is then main-
tained by each router to indicate that their attached
network has one or more hosts belonging to some multi-
cast group. However, in order to enable multicast across
internetworks, this information should be distributed to
inform other routers to help them decide which multicast
datagrams need to be forwarded over which subnet-
works.
3. Multicast delivery tree maintenance: For multicasting, to
deliver multicast datagrams to specific members of the
target group is equivalent to construct a multicast deliv-
ery tree to span those members. There are many differenttechniques proposed to establish the multicast trees. Two
classic types of trees are widely used in todays multi-
casting protocols. They are source-based tree and
shared tree schemes. The shared tree schemes might
cause the traffic concentration. The source-based tree
schemes could easily build a shortest path delivery tree
to minimize the delay. However, the shared tree schemes
make a better utilization of resources than the source-
based ones. Further, the maintenance of multicast tree
must also be considered together with the building of
multicast tree. It involves how to prune and graft the
branches from and to an existing tree for dynamicchanges of group memberships. In addition, fault toler-
ance must also be taken into account for different
designs.
These three characteristics are basics for multicast rout-
ing protocols. But, there are many other topics that might be
considered for a multicast routing protocol, for example, the
interoperability problem. In order to communicate with
other multicast routing protocols, the interoperability
capability must be an integral part of a multicast routing
protocol. Other issues such as management and security
are also important. Based on these discussions, we will
introduce current Internet multicasting protocols and usethese characteristics to examine each of them for highlight-
ing each protocols special features in the next two sections.
3. Multicasting in Internet: overview
Deerings work [6] in the late 1980s is considered as a
pioneer in this topic. He defined a service model for multi-
casting and devised the related algorithms. After several
years of studying and practical experience with multicast-
ing, there are four mainstream multicasting protocols in the
Internet today: Distance Vector Multicast Routing Protocol
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155 145
7/27/2019 Multicast Protocols Comaprison
3/12
(DVMRP) [7,18], Multicast extensions to OSPF (MOSPF)
[15,16], Core-Based Tree (CBT) [13], and Protocol-Inde-
pendent Multicast (PIM) [810]. Note that PIM actually
consists of two protocols: PIM Sparse Mode (PIM-SM)
and PIM Dense Mode (PIM-DM). This definition is becauseof the objective of the Inter-Domain Multicast Routin-
g(IDMR) working group for the PIM. They hope to develop
one or possibly more than one standard track multicast rout-
ing protocol that can provide scalable multicast routing
across the Internet. So, in addiction to the PIM-SM driven
by the need to provide scaleable spare-mode multicasting
across internetworks, the IDMR also defines a Dense-Mode
to operate in environments where members are densely
packed and bandwidth is ample. As the PIM-DM is similar
to the DVMRP with several minor differences, we discuss
the PIM-SM in this section only. The word PIM used in
this article is referred to PIM-SM excepting when explicitlystated.
Different protocols use different techniques to construct
the multicast delivery trees and each of them has its special
functions and properties. However, based on the concepts
behind them, we can classify the multicast routing protocols
into three categories by considering the way multicast rout-
ing trees are built. In the following paragraphs, we will
discuss the tree building mechanisms first. A simplified
example is also used to explain the operation of these
mechanisms and highlight their basic concepts. The exact
and detailed operations of each protocol can be found in
their related RFCs.
3.1. Multicast protocols with source-based tree technology
Source-based tree multicasting means multicast delivery
trees are built from each active source (sender) to its current
members (receivers). That is, for each node participating in
multiple groups and acting as a sender for many groups, a
separate multicast tree rooted at this node would be built to
span every group member. If a group has many senders,
there are many multicast trees existing to cover all the
members of the group and each tree is rooted at each source
respectively. Both DVMRP and MOSPF are examples of
the source-based tree multicast routing protocols.
DVMRP uses a broadcast and prune technique to
construct the forwarding tree for delivering multicast data-
grams. When a multicast datagram arrives at an interface ofa DVMRP router, the reverse interfaces to the incoming one
of that datagram are used as downstream interfaces to
forward the datagrams initially. If the downstream router
has no membership registered, it then sends back a prune
message to avoid unnecessary packets forwarding. The trees
are calculated and updated dynamically to track the
memberships of individual group. Fig. 1 illustrates the
basic concept about the DVMRP operations.
In Fig. 1, the rectangles represent the host. The circles
represent the DVMRP routers. Assuming that a host Xacts
as a source in the multicast session and Xwants to send a
multicast datagram to the group members (Hosts Yand Z).Initially, it would send the datagram with the multicast
address of the target group to the connected LAN. Upon
receiving the multicast datagram, designated router A
would check the multicast routing table for the target
group. There is unfortunately, no information for the target
group in routerA. The default action of the designated router
Ais to forward it to all connected links except the incoming
one (similar to broadcasting). Owing to the absence of group
information, other routers would also initially forward the
datagram to its outgoing interfaces as router A does.
However, for leaf routers that have no group members in
its downstream such as router Cand router H, they would
send an explicit prune message upstream to avoid unneces-sary datagrams forwarding. At the end, the forwarding paths
that are not pruned form the multicast delivery tree from the
source to all the group members.
Another protocol, MOSPF, is designed to enhance the
Open Shortest Path First (OSPF) [9] routing protocol for
routing IP multicast datagrams. Similar to OSPF, MOSPF
uses the OSPF link-state mechanism to advertise the local
states to the whole network periodically. Each router
collects this state information, and maintains a link-state
database to memorize current group memberships and
topology reachability of the network. Then, upon receiving
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155146
Fig. 1. The basic concept of the DVMRP operations.
7/27/2019 Multicast Protocols Comaprison
4/12
a multicast datagram, the forwarding delivery tree could be
calculated according to that database. MOSPF Routers
located on the delivery tree would then forward the multi-
cast datagrams based on the calculation. This procedure is
repeated hop by hop until all group members are reached.
Fig. 2 and Fig. 3 provide an example to illustrate the
operations of the MOSPF. This figure is abstracted from
the MOSPF specification [15]. H represents host and RT
represents routers. The label, M.a, represents a host that
has joined the group A. M.b has the same meanings but
for a different group B. A cost is assigned to each outboundrouter interface. The lower-right table is an example of the
information of network topology and member distributions
hold by each MOSPF routers link-state database. For exam-
ple, the first line of the table denotes the following facts: (a)
there are two links incident to Router-1, (b) a 1-unit cost link
exists between theRouter-1andNetwork-3, (c) a 3-unit cost
link exists between Router-1and Network-1, and (d) on the
directly-connected LANs of Router-1, there is a host that
has joined group B.
In Fig. 3, assume H.3 sends a multicast datagram to
groupA. Before forwarding that datagram, the designated
router Router-3 would execute a Dijkstra-like algorithm
to compute a shortest spanning tree based on the link-state
database. The built tree is rooted at the source router
(Router-3) and covers all group members of the group
A. According to its location on the delivery tree Router-
3 then forwards that datagram into Network-3 towardRouter-2 and Router-4. Upon receiving the datagram,
Router-2 and Router-3 would individually compute the
multicast delivery tree that spans to all the group
members. As these calculations are based on the same
database, the resulting trees are identical. Thus, according
to the location on the tree, Router-2 forwards the
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155 147
Fig. 2. A simple sample for MOSPF configuration.
Fig. 3. The operations of the MOSPF.
7/27/2019 Multicast Protocols Comaprison
5/12
datagram to its connected LAN (Network-2) andRouter-4
delivers it to Network-6for M.a.
3.2. Multicast protocols with shared tree technology
For the source-based tree multicast routing protocols, a
distinct delivery tree is built per active source. The
complexity of source-based tree protocols is O(S*G),
where S is the number of sources and G is the number of
groups. It might not scale well in the case of wide-area
multicasting, which potentially has to support many thou-
sands of active groups, each of which may be sparsely
distributed. Theoretically, using a single group-shared tree
to span members is the optimal solution to minimize the
band width usage. However, finding this optimal tree for a
set of nodes in a graph is known as the minimal Steiner tree
problem in graph theory. It has been proved to be an NP-Complete problem [14].
A simpler approach to constructing a group-shared tree
was proposed by Wall [19] using a center-specific tree
scheme. In this approach, a single node is designated to be
the center of a shared tree. It is responsible for expanding
the tree when a new source/member joins the multicast
session, and it is also responsible for collecting traffic
from all sources and multicasting it to all receivers. That
is, the group-shared tree is the shortest-path tree rooted at
that node. The advantages of a center-specific tree over a
minimal Steiner tree thus include simpler implementation
and bounded delay. Estrin and Wei [11] also show that in
terms of the total bandwidth usage, center-specific trees lie
somewhere between the minimal Steiner tree and source-specific tree.
Core-Based Tree (CBT) multicast routing protocol is an
example of the methods to reduce the bandwidth usage.
Different from DVMRP and MOSPF, it constructs a single
multicast tree (core-based tree) per group. In CBT, each
local router invokes a tree joining process to the groups
core router when receiving an IGMP join message. Then,
a shared tree rooted at the groups core router is built for all
of the groups receivers. The core router is selected by a
manual configuration or some special protocol [8], and acts
as a junction for the groups multicast traffic. Datagrams
from the source will travel to the core first, and then willbe distributed along the other branches to the groups recei-
vers indirectly from the core via the shared tree constructed.
As an example of multicast datagram routing in CBT,
consider the sample network system shown in Figs. 46.
Fig. 4 illustrates the basic concept about the CBT when
there are no group members in a system. Assume router E
is selected to be the core for group Sby manual configura-
tion in this example and the four hosts do not join any group.
If host Xwants to send a datagram to group S, it can only
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155148
Fig. 4. The operations of the CBT protocols: there are no members in the CBT system.
Fig. 5. The operations of the CBT protocols: some hosts join GroupS.
7/27/2019 Multicast Protocols Comaprison
6/12
send that datagram to the core, router E. This is because
there is no mechanisms designed to distribute group
membership information in CBT. The next-hop router, A,
has no group information about the groupS. Therefore, the
default action is to forward that datagram to the core. As noone has joined group S yet, router E would discard the
received datagrams.
In Fig. 5, assume hostYand host Zwant to join group S.
Host Y would send an IGMP membership report to
announce that it wishes to receive traffic addressed to the
multicast group S. Upon receipt of this IGMP report, the
next-hop router Fwill issue a Join-Request message to the
groups core router E. This request message travels a speci-
fic path along the way towards the core. The next-hop router
Bfor hostZwould try to build such a path towards the core,
too. Then, a multicast delivery tree rooted at the core router
can be constructed successfully to cover all the groupmembers.
However, when some hosts join groupS, the groups core
router would keep the group membership information. If
hostXtries to send a multicast datagram to group Sagain,
the datagram would again be sent to core router E. As the
core router has information for the group Snow, it would
forward the datagram along the constructed multicast deliv-
ery tree to all group members of group S. Fig. 6 shows this
scenario. If host W also wants to send a datagram to the
groupS, it would also send the datagram to the core first.
3.3. Multicast protocols with mixed approaches
As mentioned, CBT proposes the use of one single multi-
cast tree per multicast session. All sources transmitting to
that multicast session distribute their traffic over that tree.
The use of shared tree is motivated by the fact that less
overhead is required to construct and administer one shared
tree per multicast session than to construct and maintain a
source-specific multicast tree for every source transmitting
to that session. For example, when a new source joins an
already existing multicast session, it does not have to
construct an entire source-specific tree that spans all
members of that session. It merely has to find a path to
connect itself to the existing shared tree. As a result, a
source node does not have to keep an explicit list of the
members of the multicast session it is transmitting to. Simi-
larly, when a new member joins an already existing multi-
cast session, it does not have to join the source-specific treesof all sources transmitting to that session. It simply has to
find a path to connect itself to the existing shared tree. There
is no need to keep an explicit list of the sources of a multi-
cast session at each member node. Eliminating the need for
explicit source lists or explicit member lists results in good
scalability for the shared multicast tree.
CBT, consequently, eliminates the source (S) factor in the
complexity. As all sources of a group use the same shared tree
to deliver datagrams, a shared tree scheme has complexity
O(G). This implies that application with many active senders,
such as interactive conferencing and distributed video-
gaming applications, would have significantly less impactson network resources. However, for the shared tree architec-
ture, there are still some problems to be solved. One of them is
that the delay of packet delivery might not be minimal. That
is, all datagrams are delivered to the core router first and then
distributed to group members in turn. The shared tree
approach might also result in the traffic concentration and
bottlenecks on the shared links near the core router.
It is evident that both tree types have their advantages and
disadvantages. One type of tree may perform very well
under on certain of conditions, while the other type may
be better in other situations. Therefore, PIM is proposed
to possess the advantages of both types of methods. It allows
applications to choose between shortest-path trees and agroup-shared tree. In PIM, the default operations for the
group member joining and datagrams forwarding is identi-
cal to CBT. Each host sends IGMP_JOIN message to
announce its participation for the particular group. Its desig-
nated router records this membership and issues an addi-
tional Join-Request to the rendezvous point (RP)1 for
constructing a path between the RP and itself. A shared
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155 149
Fig. 6. The operations of the CBT protocols: HostXsends a datagram to Group S.
1 The term, rendezvous point, in PIM is equivalent to the core in
CBT. Both refer to the router that acts as a hinge node or meeting point
between a sender and group members.
7/27/2019 Multicast Protocols Comaprison
7/12
multicast delivery tree is then constructed to forward multi-
cast datagrams between group members and the sources.
Consequently, the recommended policy in PIM is for each
member to receive datagrams from the RP-shared tree.
However, if the data rate does not meet the receivers
requirement, the particular receiver can issue a new JOIN
message to construct a source-based shortest path tree for
the specific source and a PRUNE message to prune branches
of the original RP tree. The decision can be made
independently for each receivers designated router based
on its requirements. By taking advantage of different types
of tree for different sources at the same time, PIM reduces
the resources and overheads of delivering packets and
supports QoS distribution trees for heterogeneous
applications.
4. Detailed analysis and comparison
In the Section 3, we gave a synoptic description for each
multicast routing protocol. These Internet protocols are clas-
sified based on how the multicast routing trees and built.
Other types of classification are also possible. For example,
CBT and PIM are also referred as rendezvous-based
multicast routing protocols because both of them initiate a
RP-or Core-rooted multicast tree per group for multicasting
datagrams. DVMRP and MOSPF are termed sender
initiated because the multicast tree is triggered by a
group sender. In the following sections, the detailed opera-
tions of these multicast protocols are discussed and exam-
ined individually. We decompose a multicast routing
protocol into several components as we have mentioned in
Section 2: Neighbor discovery, Group memberships main-tenance, and the Multicast delivery tree maintenance. The
decomposition with the specific functions helps us clarify a
protocols operations and its capabilities.
4.1. Distance vector multicast routing protocol
4.1.1. DVMRP: neighbor discovery
Neighbors could be discovered dynamically by exchan-
gingProbemessages between DVMRP routers. In DVMRP,
each router periodically sends a message to all of its local
multicast interfaces. This message is called Probe
message, and it contains a router list about known neighbors
to the originated router. Initially, DVMRP routers do nothave any knowledge about their neighbors in the network.
Each of them issues a Probe message, which contains only
the sending router itself in the list, to all of its interfaces.
Once a router receiving a Probe message from its directly
connected LAN and finding it is not in the list of that
received message, it will add itself into the list and then
issue a new Probe message back to inform the neighbor of
its existence. After some time, each router would have the
up-to-date neighbor list about the whole network. Then, the
processing of datagram multicasting and other control
messages can focus on these DVMRP routers.
4.1.2. DVMRP: group membership
Similar to neighbor discovery, the information of group
membership is propagated into the whole network by
exchanging Route messages between DVMRP routers.
The original IGMP messages would be translated to Route
reports by DVMRP routers. The Route messages from a
particular neighbor indicate a list of sources that are located
in the direction of that neighbor. The list would be used to
decide the direction of forward datagrams during multicast
routing. Further, the Route messages also contain the route
metrics about the distances between the router originating
this report and the source network. This additional informa-
tion can help DVMRP routers to build a better delivery tree.
4.1.3. DVMRP: multicast delivery tree maintenance
DVMRP belongs to the source-based tree scheme. It
generates the multicast delivery tree using a technique
called broadcast and prune mechanism. When receiving
a multicast datagram, a DVMRP router would use the
unicast routing tables, the Probe and Route messages todetermine the interfaces lead back to the source. If a packet
did not arrive on that interface, the router would discard it.
Otherwise, it duplicates and forwards the datagram onto all
reverse interfaces. When the packet arrives on a router that
has no group members in its downstream interfaces, a Prune
message is sent back to the upstream router to clip the tree.
As the Route messages with metrics are exchanged between
DVMRP routers periodically, the delivery trees would
change dynamically according to the status of the network.
That is, some parts of the tree might be rerouted if a shorter
path is found or if some router is faulty.
For dynamic changes of the group members, DVMRPprovides two mechanisms to trim the delivery trees. A
Prune message is used to reduce unwanted multicast traffic.
During multicast tree building or when a member leaves a
group, any router that detects no group members present
would send a Prune message to the appropriate upstream.
In contrast to Prune messages, Graft messages are used for
new receivers to join a multicast tree. Any Graft message is
passed between adjacent DVMRP routers until it reaches the
first router that recognizes the target group. The new recei-
ver will then be grafted to the nearest routers on the reverse
path.
In summary, by exchanging the routing information peri-
odically and making route decisions by each router,DVMRP routers refine the delivery multicast tree for multi-
cast groups dynamically. The routing in DVMRP is depen-
dent on the control messages received from other neighbor
routers. If one of these messages is lost, the related router
might make wrong decisions in forwarding multicast data-
grams. Some packets might be forwarded to an interface
unnecessarily. Therefore, there are some timing parameters
used in DVMRP. For example,Membership timeout period
indicates how long a local group membership remains valid
without confirmation. When a groups memberships timeout
timer is expired, DVMRP routers would broadcast this
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155150
7/27/2019 Multicast Protocols Comaprison
8/12
groups datagrams as it was starting to collect the group
membership information.
4.1.4. DVMRP: specific features
The Internet Multicast Backbone (MBONE) is an inter-
connected set of routers and subnets that provide IP multi-
cast delivery in the Internet. It is a collection ofautonomously administered multicast regions defined by
one or more multicast-capable border routers. Each region
independently chooses to run whichever multicast routing
protocol best suits its needs, and the regions interconnect via
the backbone region. For DVMRP, it is currently used in
the backbone region of the MBONE and plays as an inter-
mediate protocol among other multicast routing protocols.
When talking about interoperability, any other protocol
must support the parameters exchanged between DVMRP
and itself. It is interesting that in DVMRP no interoperabil-
ity issues are described. Another characteristic of DVMRP
is tunneling. [17] Datagrams are encapsulated in a
unicasting packet and then sent through non-multicastrouters between two DVMRP routers. Tunneling enables
DVMRP to interoperate with traditional routers. As
DVMRP treats these tunnels as physical network interfaces,
tunneling in DVMRP is transparent for routers. The routing
algorithm and control messages described before need not
change.
4.2. Multicast extensions to OSPF
4.2.1. MOSPF: neighbor discovery
No special mechanisms about neighbor discovery are
proposed in MOSPF. It follows the original mechanism in
OSPF. That is, each MOSPF router is responsible for
collecting reachability information from its attached subnet-
works. It then floods this information throughout the
network domain periodically. A minor difference is that
MOSPF routers would set an optional flag to indicate the
multicast capability of a specific router. In addition, because
the enhancements of MOSPF are added in a backward-
compatible fashion to OSPF, routers running MOSPF
would interoperate with non-multicast OSPF routers when
forwarding regular unicast IP data traffic. On the contrary,
non-multicast routers do not understand any multicast
messages innately. Multicast datagrams flooded from
MOSPF router to them would be ignored and discarded.Unlike DVMRP, no tunnel ability is available in
MOSPF. Networks intermixed with MOSPF routers and
non-multicast routers would be limited in delivery of multi-
cast datagrams. To rectify this, some manual configurations
must be done to route datagrams away from those non-
multicast routers.
4.2.2. MOSPF: group memberships
In order to maintain the group membership in the
network, MOSPF introduces a new type of link-state adver-
tisement, The group-membership-LSAs. Its operations
are the same as other link-state advertisements in OSPF.
All of them are advertised throughout the whole network
periodically. The contents of the group-membership-LSAs
pinpoint the locations of all multicast group members in the
network.
4.2.3. MOSPF: multicast delivery tree maintenance
Both DVMRP and MOSPF use the source-base tree
algorithm. They construct a specific tree from each source to
all its members. But they use different schemes to build the
multicast delivery trees. DVMRP adopts the broadcast and
prune technique. The tree is built dynamically along the
delivery of datagrams. In contrast to DVMRP, MOSPF
multicast trees could be determined before datagrams deliv-
ery. When a multicast datagram arrives at a MOSPF router,
the router first calculates a pruned shortest path tree from its
link-state database. Then, forwarding paths for that packet is
defined. The link-state database describes the topology and
group memberships about the whole network. This informa-
tion is collected by exchanging link-state messages.For datagram receiving, receivers use IGMP messages for
participating a target group. Their last-hop MOSPF routers
would translate these messages and advertise them into the
network such that all routers know this information for
calculating multicast trees. When members leave or join a
group, the internal topology of the MOSPF changes. As
these changes may invalidate the previously calculated data-
gram shortest-path trees, some trees may be removed and
new ones built. In contrast, DVMRP only needs to rearrange
some branches to adjust to changes of the network instead of
rebuilding a whole new tree.
4.2.4. MOSPF: specific features
Other Internet multicast routing protocols treat the overall
network as a single flat routing domain. That is, the
whole network is seen as a single Autonomous System
[10,15]. The multicasting routers maintain a separate entry
in its routing table for every member in the network and
exchange periodic routing messages with each of their
neighbors. They incur additional processing costs whenever
there is a change anywhere in the network. MOSPF inher-
ited the characteristics of OSPF. It allows a whole network
to be configured into several logical areas. Any link-state
and group memberships messages are only flooded through-
out their originated area. Each area works independentlyand communicates by their border routers. This mechanism
limits the size of the link-state database and reduces the
operation complexity of each router.
However, the logical-area configuration also makes the
MOSPF routers with incomplete knowledge about the
whole Autonomous System. This might lead to some ineffi-
ciency in routing when forwarding multicast datagrams
between areas. To rectify it, MOSPF configures a subset
of the area border router to be inter-area multicast forwar-
dersandwild-card multicast receivers. They are responsible
for summarizing and conveying link-state information and
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155 151
7/27/2019 Multicast Protocols Comaprison
9/12
act as hinge routers to merge multiple paths into a single
forwarding path between areas.
Further, the MOSPF tree is also a least cost tree. It is
calculated based on the link-state advertisements and the
Dijkstra-like algorithm. Even in cases of inter-area and
inter-AS routing, the optimal arrangement of the sources
and destinations is still approximated by the summarized
information for constructing a shortest-path tree. All
branches not containing multicast members are pruned
from the delivery tree, and the replications that are
performed by the algorithm in common branches are as
few as possible. Therefore, MOSPF multicast tree always
tries to use a pruned shortest-path multicast delivery tree.
4.3. Core-based tree
4.3.1. CBT: neighbor/core discovery
Unlike DVMRP and MOSPF, no additional mechanisms
about neighbor discovery are defined in CBT. This is
because CBT employs unicasting to deliver all of its controlmessages. The multicast datagrams are also encapsulated
before sending by IP-in-IP tunneling [17]. Therefore, it
does not worry that non-multicast router would discard any
CBT message. It is protocol-independent and works well
with any routers.
The core election in the network and the distribution of
information about the core location is very important in
CBT. The core placement has a significant effect on the
performance of the protocol in terms of the amount of
control traffic generated and the delay imposed on the data-
gram delivery. While how to elect cores remains an open
problem, there are two mechanisms available now: the
bootstrap mechanism and manual configuration. Thebootstrap [12] mechanism is specified in PIM. CBT version
2 implements it in all routers. The main idea of it is using a
hash function to map a multicast group address to the IP
address of the groups core.
4.3.2. CBT: group memberships
For group memberships, CBT does not provide any
mechanism for distributing this information either. The
main reason is that the CBT algorithm belongs to rendez-
vous-based. What is rendezvous-based and how it is used?
The following two sections provide an introduction.
4.3.3. CBT: multicast delivery tree maintenance
The CBT protocol is designed to build and maintain a
shared multicast distribution tree for all sources and recei-
vers in the same group. A local CBT router would invoke
the tree joining process when receiving an IGMP report
from a host expressing its interest in joining a particular
group. First, the router decides the core router for the target
group. Then, it generates a Join-Request message towards
the groups core router. This message is sent hop by hop
based on unicast routing. On the way it goes through, the
Join-Request messages would set up transient states in the
traversed routers. These states consist of information about
the group that the message is intended, the interface it came
from and the interfaces it is sent out. Once the message
arrives at the core or any on-tree router, an explicit acknowl-
edgement (Join-Ack) would be sent back. Along the way of
Join-Ack message, those transient states in routers help to
branch and graft the tree to the host. A multicast distribution
tree is then built to cover all receivers of the target group.
To send datagrams, there are two cases to consider. If the
senders local router is already on-tree for the target group,
the multicast datagram would be forwarded along the tree
edges. If the senders router is not attached to the group tree,
it would encapsulate the datagram and unicast it to the
groups core router by tunneling. The core router would
encapsulate and then re-send them to all members based
on the shared tree indirectly. Note that data can flow either
way along a tree branch in CBT because the states created in
routers are bi-directional. There are no distinctions between
upstream and downstream interfaces in CBT. It refers these
interfaces as parent or child interface in different cases.When a member leaves the target group, a Quit-Notifica-
tionmessage would be sent to a routers parent router if it
finds its child interface list is empty. Similar to other proto-
cols, a CBT tree is pruned in the child-to-parent fashion.
But, it is not as easy to achieve the same degree of robust-
ness as in the source-based tree schemes. A shared trees
core maintains connectivity between all group members.
Thus it is a crucial point. Once the core fails, CBT must
detect it quickly and rebuild all trees to root at a new core.
To accomplish this, each router periodically sends an Echo-
Requestmessage as a keep-alive message to its parents in
CBT. If no Echo-Reply message is received within someperiod, the router assumes that the parent failed. This
mechanism helps routers on the trees to maintain consistent
information.
4.3.4. CBT: specific features
CBT is currently in version 2. It differs significantly from
version 1, and is not intended to be backwards compatible
with version 1. This is because IETF expects that version 1
is not widely deployed and there will be no extensive
compatibility problems. IETF only guarantees that the
future versions of CBT will be backward compatible with
version 2.
CBT is also one of the rendezvous-based multicast rout-ing protocols. A receiver of the same group explicitly joins
to a designated core. A multicast distribution tree rooted at
the core is then built to cover those receivers. Based on the
RP-based feature, all receivers could hear from all group
sources and the sources could send datagrams to all group
members by that groups RP. As the group memberships are
kept by all RPs, the distribution of such information is not
required.
Finally, shared tree architecture saves significant band-
width and resources. It has a very good property on scal-
ability. However, the delay in such architecture might not be
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155152
7/27/2019 Multicast Protocols Comaprison
10/12
minimal [1]. The phenomenon of traffic concentration on
the shared links might make the CBT unsuitable for some
time-critical applications. Further, new receivers join to the
nearest routers on the delivery tree. As it does not consider
the possibility of using common tree edges, the resulting
shared tree might not be optimal.
4.4. Protocol-independent multicast
4.4.1. PIM: neighbor/RP discovery and group memberships
The specifications about neighbor discovery and group
memberships in PIM are the same as CBT. The major differ-
ence is that the senders can deliver multicast datagrams
directly to receivers in PIM, not necessary by cores as in
CBT. That is, the senders and receivers would involve a join
procedure while sending or receiving datagrams to construct
a particular path from the RP to itself. By these constructed
delivery paths, RP acts as a central forwarder to transmit
datagrams from sources to group members. Dependent on
different requirements of the applications, however, PIM
allows the specific sender to build a source-based multicast
tree to deliver datagrams to the group members directly
without passing the RP first. Here, the explicit join for
senders is a major and specific feature for PIM. Other proto-
cols do not have the same mechanism for senders.
4.4.2. PIM: multicast delivery tree maintenance
The major improvement in PIM is that it proposes a good
architecture with both properties of shortest-path tree andshared-based tree schemes. It allows applications to choose
the kind of delivery trees to meet their requirements. Like
CBT, PIM can be deployed without requiring a specific
unicasting routing protocol. Multicast datagrams are propa-
gated only among PIM routers. All PIM control messages
are delivered in the unicasting fashion. PIM is also a rendez-
vous-based protocol. The following explains its detailed
operations.
When receiving an IGMP join message from a host, the
last-hop PIM router would start to send periodic PIM-Join
messages towards the RP for that group. Each intermediate
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155 153
Table 1
The comparison of DVMRP, MOSPF, CBT and PIM.
DVMRP MOSPF CBT PIM
Neighbor discovery Exchange Probe messages
between each router
Based on OSPF link-state
advertisements
No additional mechanism about neighbor discovering
Interoperability with unicasting Routers would refer the unicast routing table to forwardmulticast datagrams. But they work as independent
systems from unicasting
Deliver datagrams and its control messages based onunicasting
Interaction with non-multicast
routers
Use the tunneling technique
to pass multicast datagram
through
Use manual configurations
to keep away from those
routers
Group Memberships Exchange Route messages
between each router
Add a new advertisement,
Group-membership LSA
The rendezvous-based property avoids the need for
distribution of group memberships
Tree Type Source-based tree Share-based tree Source-based and shared-
based trees
Tree construction point When a sender delivers a
multicast datagram
Before delivery of multicast When a receiver wants to
join a particular group
When a receiver joins the
group or a sender starts todeliver datagrams
Protocol is initiated by Sender Receiver
Actions of senders router Send datagrams directly Send datagrams after the
multicast tree has been
calculated
Send datagrams to the core
router
Send datagrams in PIM-
Register messages to the
rendezvous point
Actions of receivers router Based on the Group memberships schemes to announce
their existences
Use explicit join/prune messages to join or leave the group
Tree Construction Dynamic Static Static Static
Disadvantage Consume too many resources Not minimal delay Complex
Suitability for environment Where group members are densely represented or
bandwidth is universally plentiful
Where group members are distributed sparsely around the
network and the bandwidth is not widely available
7/27/2019 Multicast Protocols Comaprison
11/12
router along the path would set up the multicast tree branch
from the RP to the originated host. This constructs an initial
PIM tree for the group. On the contrary, unlike CBT,
datagrams from sources must be sent to the RP first.
When a source starts sending datagrams to the multicast
group, the last-hop PIM router would encapsulate the origi-
nal datagram in aPIM-Registermessage and then send it to
the RP for that group. This PIM-Register message acts as
the PIM-Join message. It would construct a delivery path
from the source to the groups RP. Then, the groups PIM
tree is really built for communicating between sources and
receivers. The following datagrams would be sent along that
path to the RP, and then distributed to all receivers.
Based on sources data rate for different applications or
some other configuration parameters of network administra-
tion policy, if a source-specific tree is desired, a new PIM-
Join message would be triggered by the last-hop router of
each member to the source. Processing of these messages by
intermediate routers constructs a shortest-path tree rooted at
the source to those members. After data packets are receivedon the new path, those members would send PIM-Prune
messages towards the groups RP to inform it of the transi-
tion from shared tree to source-specific tree. Then, the RP
will not forward any datagram sent by that source to those
members. However, if there are other senders for that group,
the tree branches between RP and those members would not
be pruned. They will be used to forward other sources
datagrams.
4.4.3. PIM: specific features
PIM is designed to provide architecture for efficiently
routing to multicast groups that span wide-area internet-works. It uses explicit source- and receiver-specific join/
prune processes to build shared trees for delivering multi-
cast datagrams by default. This reduces the bandwidth and
resources used for multicasting. And, for special application
requirements, it allows the shared tree to be switched to the
shortest-path tree.
PIM also provides several mechanisms for traffic control.
For example, PIM allows users to set some threshold in its
routers. If the sources data rate is lower than that threshold,
shortest path Join messages would not be triggered and
receivers still receive datagrams via the shared trees instead
and no source specific tree would be constructed. On the
contrary, PIM also adopts the scalable timer approach to
make the total overhead of its control messages be some
small percentage of the link bandwidth. To summarize,
PIM has the properties of high-quality data distribution
and efficient sparse group support for multicasting.
5. Conclusions
In this article, we have discussed four well-known multi-
cast routing protocols in the Internet. These discussions
include the concepts behind their developments and the
detailed operations of each protocol. The differences
between them were analyzed in detail by three characteris-
tics. We summarize their characteristics in Table 1.
DVMRP uses the broadcast the prune technique to build
the delivery tree dynamically. MOSPF maintains a database
about the network topology and group memberships. Then,
it uses a Dijkstra-like algorithm to build the tree before
forwarding datagrams. Both CBT and PIM members use a
tree joining process to construct an RP-rooted delivery tree.
Sources send datagrams via the RP to distribute to all
members for that group.
Regarding the present state and the trends of multicasting,
DVMRP was developed in November 1988 with RFC 1075.
The newest version of it is the draft version 3.4 and it is
currently used in the backbone of the MBONE. CBT and
PIM-DM were proposed in 1995 and 1996 respectively.
They only have draft documents now. PIM-SM was released
as a formal document, RFC 2117, in June 1997 to provide an
efficient mechanism for multicasting across a wide area. The
other protocol, MOSPF, proposed in 1985 seems pessimis-tic in the future. The requirement of resources for
maintaining a large database of the whole network is the
main disadvantage.
DVMRP and CBT use extreme strategies to meet their
different design objectives. PIM breaks this tie. It allows
members to switch between the shortest path tree and the
shared tree according to their requirements. However, this
scheme might not be optimal for the whole groups and
networks. Traffic concentration problems still exist between
the specific links used by different groups or sourcedesti-
nation pairs at the same time. In addition, these multicast
protocols are not implemented and used widely in todaysnew applications. The performances of them are still
doubted. Consequently, more quantitative analysis about
the performance of these protocols need to be done. These
may include the messages overhead and their behaviors for
different applications or different network topologies.
Acknowledgements
The authors would like to express their thanks to the
anonymous referees for their valuable comments that
greatly improved the quality of this article.
References
[1] A. Ballardie, Core based tree (CBT) multicast: architectural over-
view, Internet draft, draft-ietf-idmr-cbt-arch-06, March 1997.
[2] A. Ballardie, Core based tree (CBT) multicast: protocol specification,
Internet draft,draft-ietf-idmr-cbt-spec-09, May 1997.
[3] A. Ballardie, Core based tree (CBT) multicast border router specifica-
tion for connecting a CBT stub region to a DVMRP backbone, Inter-
net draft, draft-ietf-idmr-cbt-dvmrp-00, March 1997.
[4] B. Cain, S. Deering, A. Thyagarajan, Internet group management
protocol version 3, Internet drafts, draft-cain-igmp-00.txt, August
1995.
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155154
7/27/2019 Multicast Protocols Comaprison
12/12
[5] S. Deering, Host extensions for IP multicasting, RFC 1112, August
1989.
[6] S. Deering, Multicast routing in datagram internetworks and extended
LANs, ACM transactions on computer systems 8 (2) (1990) 85110.
[7] S. Deering, C. Partridge, D. Waitzman, Distance vector multicast
routing protocol, RFC 1075, November 1988.
[8] S. Deering, D. Estrin, D. Fariancci, M. Handley, A. Helmy, V. Jacob-
son, C. Liu, P. Sharma, D. Thaler, L. Wei, Protocol independent
multicast-spare mode (PIM-SM): motivation and architecture, Inter-net draft, draft-ietf-idmr-pim-arch-04, October 1996.
[9] S. Deering, D. Estrin,D. Fariancci, M. Handley, A. Helmy, V. Jacobson,
C. Liu, P. Sharma, D. Thaler, L. Wei, Protocol independent multicast-
spare mode (PIM-SM): protocol specification, RFC 2117, June 1997.
[10] S. Deering, D. Estrin, D. Farincci, V. Jacobson, A. Helmy, L. Wei,
Protocol independent multicast-dense mode (PIM-DM): protocol
specification, Internet draft, draft-ietf-idmr-pim-dm-05, May 1997.
[11] D. Estrin, L. Wei, The trade-offs of multicast tree and algorithms, In
proceedings of the 1994 international conference on computer
communication of networks, September 1994.
[12] D. Estrin, M. Handley, A. Helmy, P. Huang, D. Thaler, A dynamic
bootstrap mechanism for rendezvous-based multicast routing, Tech-
nical report, ftp://catarina.usc.edu/pim.
[13] W. Fenner, Internet group management protocol, version 2, Internet
draft,draft-ietf-idmr-igmp-v2-01.txt, September 1995.
[14] F.K. Hwang, D.S. Richards, Steiner tree problems, Networks 22 (1)
(1992) 5589.[15] J. Moy, Multicast extensions to OSPF, RFC 1584, March 1994.
[16] J. Moy, MOSPF, analysis and experience, RFC 1585, March
1994.
[17] C. Perkins, IP encapsulation with IP, RFC 2003, October 1996.
[18] T. Pusateri, Distance vector multicast routing protocol, Internet draft,
draft-ietf-idmr-dvmrp-v3-04, February 1997.
[19] W. Wall, Mechanisms for broadcast and selective broadcast, Ph.D.
dissertation, Standford University, June 1990.
J. Lin, R.-S. Chang / Computer Communications 22 (1999) 144 155 155