Internet DRAFT - draft-biswas-pim-sm-qos
draft-biswas-pim-sm-qos
HTTP/1.1 200 OK
Date: Mon, 08 Apr 2002 22:52:47 GMT
Server: Apache/1.3.20 (Unix)
Last-Modified: Fri, 25 Jun 1999 16:23:20 GMT
ETag: "2e6cfc-16875-3773acf8"
Accept-Ranges: bytes
Content-Length: 92277
Connection: close
Content-Type: text/plain
Internet Engineering Task Force Subir Biswas
INTERNET DRAFT Rauf Izmailov
Expires November, 1999 Bala Rajagopalan
NEC USA Inc
June 25, 1999
A QoS-Aware Routing Framework for PIM-SM Based IP-Multicast
<draft-biswas-pim-sm-qos-00.txt>
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
Abstract
This document describes a framework for QoS-aware multicast routing
based on enhancements to PIM-SM. This framework has two components:
the development of multicast tree computation schemes that account
for heterogeneous receiver QoS requirements, and the incorporation
of QoS capabilities into PIM-SM for establishing computed paths.
The choice of PIM-SM is based on its ability to support
receiver-initiated join, both shared and source-specific trees. Two
decentralized tree computation schemes, TIQM and NUQM, are
considered in this document, both requiring support from the
underlying unicast routing scheme to acquire link and nodal resource
availability information. Additionally, TIQM requires complete
information at each router about the resource allocation in the
network for the existing multicast tree. After a brief analysis of
these two schemes, the incorporation of QoS awareness in PIM-SM with
Biswas et. al. [Page 1]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
NUQM as its underlying route computation mechanism is presented. It
is shown that with few extensions to its existing control syntaxes,
PIM-SM can be successfully used for QoS integration. Finally, a Tree
State Update (TSU) mechanism, which can be used for efficient and
scalable dissemination of multicast tree state information, is
proposed. It is shown that by using the proposed TSU protocol it is
possible to partially alleviate the control overhead of TIQM.
Table of Contents
1. Introduction .............................................. 2
2. Multicast Routing and Quality of Service.... .............. 4
2.1 Core Based Tree (CBT)................................... 5
2.2 Dense Mode Protocols: DVMRP and PIM-DM.................. 6
2.3 Multicast OSPF (MOSPF).................................. 6
2.4 Protocol-Independent Multicast - Sparse Mode (PIM-SM)... 7
3. QoS-Aware Multicast Tree Construction...................... 8
3.1 Problem Statement........................................ 8
3.2 Solution Outline......................................... 10
4. Tree Information Based QoS Multicast (TIQM)................ 11
4.1 Path Computation......................................... 11
4.2 Tree Construction and Maintenance........................ 12
4.3 Discussion............................................... 16
5. Nave Unicast Based QoS Multicast (NUQM)................... 17
5.1 Path Computation......................................... 17
5.2 Tree Construction and Maintenance........................ 18
5.3 Discussion............................................... 18
6. Architecture for QoS-Enhanced PIM-SM....................... 19
6.1 Service Model............................................ 20
6.2 Tree Construction and Switching.......................... 21
6.3 QoS-extensions Necessary for PIM-SM...................... 25
7. Further Enhancements by Tree State Update (TSU) Protocol.... 26
8. Summary and Conclusions..................................... 28
References..................................................... 29
Authors' Addresses............................................. 32
Full Copyright Statement ...................................... 32
1. Introduction
This document describes a QoS-aware multicast routing framework that
implements resource reservation at the IP routing level. This
approach aims to alleviate a problem that may be encountered with
RSVP, under which routing is decoupled from resource reservation:
the inability to satisfy receiver QoS requests even when suitable
paths exist in the network. As a background note, few other
researchers have already identified and attempted to solve this
problem. The works in [5] and [6] propose bandwidth reservation on a
bi-directional shared tree that can be easily incorporated within
the Core Based Tree (CBT) [7] multicast routing protocol. It can be
argued that in the presence of heterogeneous and receiver-specified
QoS requirements, source specific trees are more efficient than
bi-directional trees for optimal QoS provisioning. It is therefore
concluded that source specific tree oriented protocols like MOSPF
Biswas et. al. [Page 2]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
[8] and PIM-SM [9] are more suitable than CBT, for QoS enhancements.
In [10], a new protocol QoSMIC that uses source specific trees is
proposed. While this protocol is functionally feasible, the
following problems can be identified. First, every new receiver-join
process requires an extensive network-wide search that is carried
out by both the receiver and the multicast tree that it intends to
join. In addition to being excessively control-intensive, it
increases the join-latency for a new receiver. Moreover, the path
search-space for a potential new receiver is restricted to paths
used by the route advertisement packets from the potential joining
routers on the tree to the new receiver. This restriction may give
rise to reduced join-success rate in certain scenarios. Also, there
are two administrative limitations. The protocol requires a tree
manager that is responsible for coordinating what is termed as a
multicast tree search procedure. This centralized component of the
protocol makes it vulnerable to a single point of failure. Finally,
QoSMIC requires message and timer syntaxes, which are significantly
different from those of any of the existing IP multicast protocols.
This implies that deployment of QoSMIC may require a completely new
routing protocol implementation rather that upgrading an existing
one for QoS support.
This document describes a multicast routing framework that is
capable of providing receiver-oriented and heterogeneous Quality of
Service to point-to-multipoint applications. Also, it is attempted
to maintain backward compatibility in the sense that the new
QoS-aware protocols should be able to (a) support best-effort
multicast applications and (b) be implemented by extending an
existing IP-multicast routing protocols.
(Similar work is reported in [28] where a nave unicast routing
approach [18] is used for incremental construction of multicast trees
with bandwidth reservation. Three tree computation algorithms are
proposed in this paper, each assuming different amount of
tree-specific information available at the intermediate multicast
routers. These algorithms support both heterogeneity and
receiver-oriented bandwidth reservation. End-to-end additive QoS
constraints like delay and loss, however, are not considered in
[28]. The objective in this document is to design incremental tree
construction algorithms which consider both bandwidth and additive
QoS constraints specified by the receivers.)
This document has three distinct contributions. The first one is to
design a set of receiver-based algorithms for multicast tree
computation with QoS constraints. The second part is to design
protocol syntaxes for tree construction and maintenance using the
proposed tree computation algorithms. Note that these two components
are independent of any specific existing multicast routing protocol
and can be used with any QoS-aware routing protocol that uses
source-specific multicast trees. The third and final component of
this work is to incorporate the first two into a PIM-SM routing
framework. In this regard, starting with a QoS service model it is
shown how the PIM-SM protocol can be augmented for QoS support. It
Biswas et. al. [Page 3]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
is notable that this is done without sacrificing the soft-state
feature of PIM-SM. It is also shown how the proposed tree
computation algorithms can be integrated within PIM-SM while keeping
the latter backward compatible with best-effort services. This
extension for PIM-SM is done only for intra-AS scenarios. Extensions
for inter-AS are currently under consideration.
For QoS-aware tree computation two algorithms are proposed. The
first one, termed as Tree Information based QoS Multicast (TIQM),
relies on tree-specific link-state information storage at every node
in the network. While being extremely successful in discovering
QoS-accommodating paths, TIQM suffers from scalability problems due
to its reliance on multicast session-specific information storage.
This limitation is alleviated in the second algorithm, namely Nave
Unicast based QoS Multicast (NUQM), in which no session or
tree-specific link-states are used at a receiver for computing its
join path. It is shown that any QoS-aware unicast routing algorithm
can be used for developing NUQM. This very feature makes NUQM
suitable also for inter-domain multicast tree construction. For
this, all it requires is a QoS-extended version of inter-domain
routing algorithm like BGP [11]. It is anticipated that at low to
moderate network loads NUQM can deliver performance that is
comparable to TIQM. Detailed performance comparisons between these
two tree computation algorithms are furnished in [12].
The rest of this draft is structured as follows. The next section
introduces the problem of multicast QoS guarantee and presents a
comprehensive analysis of the QoS potential of the existing
IP-multicast routing protocols. The problem of constructing
QoS-constrained multicast trees is formally presented in Section 3.
Sections 4 and 5 describe the proposed tree construction algorithms
TIQM and NUQM, respectively. QoS-enhanced PIM-SM design is described
in Section 6. In Section 7, a Tree State Update (TSU) protocol,
which can be used for tree information dissemination in PIM-SM is
described. Finally, in Section 8 a summary is presented.
2. Multicast Routing and Quality of Service
The objective of this work is to devise an efficient, yet simple,
multicast routing mechanism that integrates both route setup and
resource reservation within a single QoS-aware protocol framework.
Considering RSVP, the multicast tree for a group is first built
using any of the standard IP multicast routing protocols like DVMRP
[16] or MOSPF [18], which are QoS unaware. Afterwards, RSVP PATH
messages are sent from a sender to the receivers [2] over this tree
and then RESERVE messages are sent from receivers to the sender to
establish resource reservation.
Since RSVP resource reservation is de-coupled from route creation,
the reservation is restricted only along the route that was created
by the underlying IP multicast routing protocol. This implies that
if the multicast routing protocols are not QoS-aware then RSVP alone
cannot always provide quality of service guarantees to the multicast
Biswas et. al. [Page 4]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
receivers. Therefore, it is necessary to integrate both routing and
reservation installation procedures into a single multicast protocol.
Existing multicast routing protocols can be classified based on
their following properties. The first one is the type of tree a
protocol uses for data forwarding. The second one is its underlying
unicast routing protocol and the last one is the way a receiver is
added to a multicast group.
------------------------------------------------------------------------
DVMRP MOSPF CBT PIM-DM PIM-SM
------------------------------------------------------------------------
Tree Type Source Source Shared Source Both
U. cast Routing RIP OSPF Independent Independent Independent
Rx. Join Mode Flood& Rx Init Rx. Init Flood& Rx. Init
Prune Prune
------------------------------------------------------------------------
Table 1: Classification of IP Multicast routing protocols
A classification summary of the existing multicast protocols is
shown in Table 1. It is instructive to evaluate the QoS potentials
of all five protocols in light of their properties as listed in the
table.
2.1 Core Based Tree (CBT)
CBT [7] is the only protocol that does not support source-based
trees. It was designed so because the primary objectives of the
protocol were to maintain scalability while providing efficient link
sharing. This is achieved by forwarding data packets from all the
sources of a multicast group through a single bi-directional shared
tree. In the absence of QoS constraints and bandwidth reservation, a
bi-directional tree can minimize the number of links involved with a
multicast group. This is achieved through link sharing among packets
from multiple senders.
Link sharing, however, causes traffic concentration [27], which in
turn may degrade the end-to-end performance of a multicast session. It
was shown in [29] that the bound on maximum delay of an optimal
core-based tree is two times the shortest path delay. Also, simulation
results in [27] show that the maximum delays of core based trees, with
optimal core placement, are up to 1.4 times those of the shortest path
trees.
For multicast with resource reservation, bi-directional tree poses
additional restrictions. Consider a QoS-enabled scenario where multiple
sources of a multicast group are transmitting through a shared
bi-directional tree. Each sender has to transmit at a data rate that is
the maximum of the individual data rates required by its receivers. In
this case, a link on the tree may have to reserve bandwidth for packets
from one or more of those senders. In other words, in the presence of
bandwidth guarantee (between each sender-receiver pair), even though a
Biswas et. al. [Page 5]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
link can be shared, separate bandwidth reservations on the link is
necessary for packets from different senders.
The problem that arises here is that the bandwidth reservations for
all sources are restricted within the links only on the bi-directional
tree. The number of links, which can be potentially used, is higher in
scenarios where each sender has a source-specific multicast tree. This
implies that the amount of bandwidth-constrained multicast traffic (and
the number of senders/receivers) supported by a bi-directional CBT tree
can potentially be smaller than that supported by multiple
source-specific trees. The situation may become worse when one
considers additive QoS constraints like end-to-end delay and loss.
Another problem with CBT is its core selection process. CBT core
selection for a group is not based on the QoS requirements of the
receivers of that group. Once a core is selected, the CBT tree
gradually grows around it. This process may restrict the tree topology
and further reduce the QoS-constrained traffic handling capacity of the
bi-directional CBT trees.
The protocols in [5] and [6] propose QoS extensions to CBT but do
not identify these problems. Based on the preceding reasons,
source-specific trees seem better suited for scalable QoS-based IP
multicast.
2.2 Dense Mode Protocols: DVMRP and PIM-DM
Both DVMRP [16] and PIM-DM [17] use source specific trees. Both of
them, however, rely on a flood-and-prune mechanism for joining new
receivers to a multicast tree. With flood-and-prune, the data packets
start arriving at a potential multicast receiver even before the
receiver explicitly joins the group. As a result, the route from the
source to a receiver cannot be chosen based on the specific QoS
requirements of the receiver. It has to be chosen based on the QoS
parameters specified by the source. Another option is to perform
best-effort routing. In either case, receiver-oriented QoS cannot be
entertained. Based on this observation, it may be concluded that
both DVMRP and PIM-DM are not naturally suitable for
receiver-oriented QoS.
2.3 Multicast OSPF (MOSPF)
Support for both source-specific tree and receiver-initiated join
makes MOSPF [8] suitable for QoS-oriented multicast routing. In the
following, a brief outline of a possible mechanism for
augmenting MOSPF to support receiver-oriented QoS is described.
In order to compute a tree, a multicast router needs to know about
the complete group membership information for that tree. This
information is already available within standard MOSPF framework. In
addition, for QoS support, the router also requires to know about the
amount of resource reservation for the group at every link on the tree.
This information can also be obtained through the MOSPF link-state
Biswas et. al. [Page 6]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
dissemination mechanism. When a multicast packet arrives at a router,
using this information, the router can uniquely compute the necessary
multicast tree and forward the data packet accordingly. When a new
receiver wants to join a group, the receiver's topological identity,
along with its QoS requirements, is disseminated all over the local
domain using MOSPF link-state update protocol. Upon reception of this
new information, a multicast router re-computes the relevant multicast
tree. Note that the protocol requires every router to use the same tree
computation algorithm in order to avoid potential looping problems.
While being functionally sufficient for QoS extensions, MOSPF does
not scale well because of its reliance on group-specific link-state
information dissemination [15], across the network. Note that most of
the network routing protocols, including OSPF, floods network-specific
information like physical topology and link-state parameters. When
necessary, route computation is performed based on this information.
Control and storage requirements of these protocols increase only with
the network size and not with the number of sessions/connections in the
network. MOSPF however departs from this model significantly by
flooding and storing multicast group-specific information. The control
and the storage complexities go up with both the network size and the
number of active sessions in the network. With resource reservation,
the situation is aggravated because in addition to group membership
changes, any change in group reservation on a link will now generate a
link state update message. This may cause scalability concerns for
MOSPF with described QoS extensions.
2.4 Protocol-Independent Multicast - Sparse Mode (PIM-SM)
PIM-SM [9] is the most recently designed multicast protocol and it
attempts to incorporate most of the desirable features of multicast
routing. In addition to supporting source-specific trees, the protocol
provides a mechanism for uni-directional shared tree construction. The
preferred mode for a receiver is to initially join the shared tree for
a group and then, if better service from a source is necessary, to join
the source specific tree for that particular source. This provides an
ideal paradigm for QoS based multicast where a receiver can initially
join the shared tree when it does not have any QoS requirements. Later,
if and when the receiver decides about its specific QoS parameters, it
can join the individual source-specific trees one at a time. Also, note
that this paradigm can allow multiple receivers, with heterogeneous QoS
requirements, to join a single source-specific tree.
Another advantage of PIM-SM is its independence from the underlying
unicast routing protocol. This implies that, unlike MOSPF, one is free
to choose a unicast protocol that is specifically designed and better
suited for routing with QoS constraints. Also, it is possible to use
the same unicast protocol for computing both the source-specific and
the shared trees of a multicast group. Later in Section 6, it is
described how a common QoS-based tree construction algorithm can be
implemented for creating both types of trees in PIM-SM.
Based on these observations, MOSPF and PIM-SM are identified as
Biswas et. al. [Page 7]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
target multicast routing protocols for QoS extensions. But
considering the potential scalability problems of MOSPF,
PIM-SM is proposed as the preferred multicast protocol for the
QoS routing framework.
3. QoS-Aware Multicast Tree Construction
In this section, the problem of constructing
QoS-aware multicast trees is described. This applies to
both source-specific
and shared trees in PIM-SM. After outlining a solution,
two tree-construction algorithms are proposed in the next section.
The first
is based on globally disseminated multicast group information and it is
functionally similar to the tree computation part of QoS-augmented
MOSPF (see Section 2.3). The second algorithm constructs QoS-aware
trees without any global distribution of group membership information.
It uses the underlying QoS-aware unicast routing algorithm. After
the description and analysis of these algorithms, it is shown how they
can be incorporated within the PIM-SM framework.
_____
| N_0 | S
|_____|
\ E_(0,1)
__\__
/ \ _____
| N_1 | | | Source
| | |_____|
\_____/ _____
E_(1,2) / \ / \
__ /_ \ | | Router
/ \ \ | |
| N_2 | \ \_____/
| | \
\_____/ \ E_(1,4) _____
* \ \ | | Receiver
E_(2,5) * \ E_(2,3) \ |_____|
* \ \ |_____|
___*_ __\__ __\__
| N_5 | | N_3 | | N_4 |
|_____| |_____| |_____|
|_____| |_____| |_____|
R_3 R_1 R_2
Figure 1: Model for multicast tree with reservation and QoS guarantees
3.1 Problem Statement
An incremental tree construction model is assumed in which the
receivers join and leave a multicast group asynchronously. The
tree construction problem is explained using the example scenario
Biswas et. al. [Page 8]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
depicted in Figure 1. A new receiver R_3 intends to join a multicast
tree (S, G) with source S and two existing receivers R_1 and R_2. The
tuple (S,G) refers to the source-specific tree for source S in group G.
Similarly, a shared tree for group G is represented as (*,G). The
objective here is to join the new receiver with its desired Quality of
Service, while not interrupting the existing QoS that is being
delivered to the receivers R1 and R2.
The i_th node of the tree is enumerated as N_i and the edge between
the nodes N_i and N_j is represented as E_(i,j). Let B_(i,j)(S,G)
represent the amount of bandwidth reserved on edge E_(i,j) for the tree
(S,G). Similarly, D_(i,j) and L_(i,j) represent the delay and loss
bounds which have been advertised for the edge E_(i,j). We also define
a parameter A_(i,j) which indicates the amount of unoccupied bandwidth
that is available for new traffic across the edge E_(i,j). Note that
these notations are instantaneous and directional in nature. For
instance, the quantity D_(i,j) represents the current value of the
advertised delay bound for link E_(i,j) in the direction N_i to N_j.
Now the QoS specifications for a receiver R_i is defined as the
tuple {r_i(S,G), d_i(S,G), l_i(S,G)}. The parameter r_i indicates the
rate with which the receiver intends to receive IP packets through tree
(S,G). Similarly, d_i, and l_i represent the bounds for end-to-end
delay and packet-loss-rate, which the receiver can tolerate. Data rate
from the source is expressed as B(S,G).
Using these notations, the bandwidth constraints of the
QoS-aware tree with receivers R_1 and R_2 can be stated as:
r_1(S,G) <= B_(2,3)(S,G), r_2(S,G) <= B_(1,4)(S,G),
B_(2,3)(S,G) <= B_(1,2)(S,G),
Max(B_(1,2)(S,G), B_(1,4)(S,G)) <= B_(0,1)(S,G) and
B_(0,1)(S,G) <= B(S,G).
Similarly, the delay and the loss constraints can be stated as:
d_1(S,G) >= D_(2,3) + D_(1,2) + D_(0,1),
l_1(S,G) >= L_(2,3) + L_(1,2) + L_(0,1),
d_2(S,G) >= D_(1,4) + D_(0,1) and l_2(S,G) >= L_(1,4) + L_(0,1).
Biswas et. al. [Page 9]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
Now the problem is to add the new receiver R_3 to the tree in a way so
that the bandwidth, delay and loss constraints are satisfied for both
the new and the existing receivers. In this example the new receiver can
join the tree (S,G) at any of the nodes N_1 or N_2. This is because in
this model it is assumed that a new receiver can join only at an
intermediate
router and not at the source or at any of the existing receiver nodes.
If R_3 joins at node N_2 then in addition to the previous conditions
the following should be satisfied.
r_3(S,G) <= B_(2,5)(S,G),
Max(B_(2,5)(S,G), B_(2,3)(S,G)) <= B_(1,2)(S,G),
d_3(S,G) >= D_(2,5) + D_(1,2) + D_(0,1) and
l_3(S,G) >= L_(2,5) + L_(1,2) + L_(0,1).
This model of tree construction assumes that when a new receiver
joins, the existing part of the tree is not changed. By eliminating
this restrictive assumption it is possible to construct and maintain
trees which are more efficient in terms of network resource utilization
[18]. In practice, however, it means that every time a new receiver
joins, the tree might have to undergo a reconstruction phase and this
may cause significant service disruptions for the existing receivers.
Hence, the provisions for reconstruction of the
existing parts of a multicast tree are precluded.
3.2 Solution Outline
The tree construction problem as described above is different from
static Steiner Minimal Tree (SMT) computation [15, 18]. The reasons
are as follows. First, in addition to bandwidth, additive QoS
constraints are also considered. These are not considered in the
standard SMT computation. Also, the standard SMT computation does
not take into account heterogeneous receiver requests and
incremental multicast trees. In the present case, after satisfying
the bandwidth, delay and loss constraints of individual receivers,
it is necessary to minimize the bandwidth consumption of a computed
tree.
It is shown in [19] that computing just a point-to-point route with
more than one additive QoS constraint (i.e. delay and loss) is
NP-complete. However, algorithms are available to compute such a
route with bandwidth and only one additive constraint in polynomial
time [3]. Using similar algorithms it is also possible to compute
source-specific multicast trees, with bandwidth and only one
additive constraint, in polynomial time. However, construction of
such a tree with bandwidth, delay and loss constraints is
NP-compete.
For computational scalability reasons, the constrained tree is
computed using a set of heuristics based on Dijkstra's shortest path
computation algorithm [20]. Two algorithms, differing in their
assumptions about the amount of group-specific information
availability, are proposed in this draft.
Biswas et. al. [Page 10]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
4. Tree Information Based QoS Multicast (TIQM)
In this algorithm, the joining point for a new receiver R, to an
existing tree (S,G), is computed based on the network and
tree-specific information stored at R. Following is a list of state
information which are required to be stored within every
multicast-aware router. The general scenario is considered in which
a receiver can also act as a multicast router. This is to include
the behavior of a PIM-SM Designated Router (DR) that can act both as
a receiver and an intermediate multicast router
1. Physical connectivity of the domain (with N nodes).
2. Link-state information A_(i,j), D_(i,j) and L_(i,j) for links
E_(i,j), where i,j = 1..N and i != j.
3. Topology and membership of all the multicast trees in the
domain.
4. For every tree (S,G), the reservation information
B_(i,j)(S,G). This quantity refers to the amount of bandwidth
reserved for tree (S,G) along the direction N_i -> N_j on link
E_(i,j), where i,j = 1..N and i != j.
The information in item (1) can be disseminated using an existing
link-state update protocol such as OSPF [13]. The information
indicated in item (2) can be propagated in link-state
advertisement(LSA) messages. Such additions are already proposed and
partially implemented in various QoS-aware unicast protocols like
those presented in [21] and [22]. Tree-specific membership
information in item (3) can also be flooded by the link-state
protocol, as exemplified by MOSPF. Finally, the tree-specific
reservation information of item (4) can also be broadcast in LSAs of
a protocol like MOSPF.
Design of TIQM involves two major steps. The first part is the
development of the algorithm used by a joining receiver to determine
the path to the appropriate node in the target tree. Once such a
path is computed, the second part involves the syntax and protocol
specification for routing the join message, and for actually
grafting the new receiver to the existing tree. This also includes
mechanisms for membership deletion and tree pruning.
4.1 Path Computation
As stated in Section 3.1, the problem here is to compute a route for
a new receiver R_n to join a multicast tree (S,G). The route computation
should be such that the QoS requirements {r_n(S,G), d_n(S,G),
l_n(S,G)} of R_n are respected while those of the existing receivers
are not violated. It can be shown that computing just a unicast route
with more than one additive QoS constraints (i.e. delay and loss) is
NP-compete [19]. Extending this for multicast makes it computationally
even more expensive. For computational scalability reasons,
a polynomial time heuristic solution that can compute a join-route is
considered.
Biswas et. al. [Page 11]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
The join-route computation algorithm is executed at the new receiver
R_n, with its QoS requirement {r_n(S,G), d_n(S,G), l_n(S,G)}. The steps
of the heuristic algorithm are as follows:
1. From the network graph, prune all the links E_(i,j) with
A_(i,j) + B_(i,j)(S,G) <= r_n(S,G). If the pruned graph contains
multiple disjoint sub-graphs, and the nodes R_n and S becomes
disconnected then declare a join-rejection and terminate the
algorithm. If R_n and S belong to a connected sub-graph then
on every link of that sub-graph there should be enough
bandwidth to support a join-route from R_n to (S,G).
2. Run Dijkstra's min-cost algorithm [20] on the sub-graph with
D_(i,j) as the cost parameter. The result of this would be
the minimum-delay paths from Rn to all other nodes in the
sub-graph.
3. Choose M of those, which are the min-delay paths from Rn to
all M nodes which are on tree (S,G). Extend each of these M
paths, from the node on (S,G) tree to the source S, by
traversing upwards along the tree.
4. Check the delay (d_n(S,G)) and loss (l_n(S,G)) feasibility for
all of those M extended paths. If available, choose a
feasible path and terminate the algorithm. When multiple
paths are feasible, one can be selected based on a preset
policy like minimizing bandwidth consumption.
5. If no feasible path was found at this stage, run Dijkstra's
min-cost algorithm with loss L_(i,j) as the cost parameter
and repeat steps 2 to 4.
6. If no path is found then declare a join-rejection for receiver Rn.
The worst case computational complexity of the algorithm is as
follows. Step (1) is O(N^2) complex, where N is the number of nodes
in the network. Dijkstra's min-cost path computation in Step (2)
has a worst case complexity of O(N^2) [20]. Steps 3 and 4, together,
are again O(N^2) complex. Combining these, the worst case complexity
turns out to be O(N^2).
4.2 Tree Construction and Maintenance
The route computation of TIQM is de-coupled from the actual tree
construction and maintenance protocol. TIQM can be used with the
QoS-enhanced versions of both MOSPF and PIM-SM. In this section,
the signaling syntax for receiver initiated join and tree
maintenance is described. A variation of this will be used later,
in Section 6, for incorporating TIQM into the proposed QoS-aware
PIM-SM framework.
Consider the scenario in Figure 2, where a new receiver R_n intends
to join a tree (S,G) that has two existing receivers R_1 and R_2.
Based on the route computation algorithm described in Section 4.1,
Biswas et. al. [Page 12]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
R_n computes a QoS-feasible path {N_5->N_6->N_2->N_1->N_0}. Two
signaling messages, namely, Join and Join_Ack are defined. These
are used for path setup from receiver R_n to tree (S,G). A Join
message is formatted as:
Join(R_n, (S,G), {r_n(S,G), d_n(S,G), l_n(S,G) }, ERO),
where r_n(S,G) indicates the receiver specified data-rate and
{d_n(S,G), l_n(S,G)} represent the remainder of the delay and the loss
budgets, initially specified by R_n. To explain it further, when an
intermediate node receives a Join message, it interprets d_n(S,G) as
the maximum delay that can be incurred by the remainder of the hops to
the tree source. The node also modifies the delay budget as d_n(S,G)
d_n(S,G) - D_(i,j), before forwarding the Join message. The last entity
ERO is the Explicit Route Object, which is {N_5-N_6-N_2-N_1-N_0} in the
present example. A Join_Ack message is constructed as:
Join_Ack(R_n, (S,G), Success_Flag, Failure_Reason, Failed_Link),
in which the Success_Flag indicates if R_n was successfully joined
to (S,G). The parameter Failure_Reason encodes the reason for
join-rejection and Failed_Link carries the identity of the link on
which the join had failed.
_____
+ | N_0 | S
Receiver-Computed + -->|_____|.....
Join-path to (S,G) + | \ :
+ | __\__ :
+ |____/ \<..:
+ | N_1 |
+ ------>| |
+ | \_____/\
+ | / : \
+ | __ /_ : \
+ |___/ \<.: \
+ | N_2 | \
+ ------>| | \
+ | \_____/\ \
+ | * : \ \
+ | __*__ : \ \
+ |____/ \<.: \ \
+ | N_6 | \ \
+ ----->| |.... \ \
+ | \_____/ : \ \
+ | * : \ \
+ | ___*_ : __\__ __\__
+ |___| N_5 | : | N_3 | | N_4 |
+ Join |_____|<.....: |_____| |_____|
+ |_____| Join_Ack |_____| |_____|
R_n R_1 R_2
Figure 2: Join procedure for a new receiver
Biswas et. al. [Page 13]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
The join procedure has the following steps.
1. Receiver R_n computes a join-path and launches a Join
message towards (S,G).
2. Upon reception of the Join message, an intermediate
node N_i checks for resources and QoS constraints along the
downstream direction (sender to receiver) on the incoming
link E_(i,j). The resource check succeeds if
r_n(S,G) <= A_(i,j) + B_(i,j)(S,G), d_n(S,G) >= D_(i,j) and
l_n(S,G) >= L_(i,j). Given that TIQM has included link
E_(i,j) in the ERO, this resource-check should fail only due
to transient mismatch between the actual link-states and
those stored within the receiver node R_n. In case of a
failure, the node sends a Join_Ack message, with Failed_Link
as E_(i,j), back to R_n. On its way back to Rn, the Join_ack
message clears all the resources that were reserved by the
corresponding Join message.
3. If link E_(i,j) is on tree (S,G) then a check is performed
to see if the existing reservation B_(i,j)(S,G) for tree
(S,G) is sufficient to handle the new receiver with
bandwidth requirement r_n(S,G). If B_(i,j)(S,G) <= r_n(S,G),
first the available bandwidth record is adjusted as
A_(i,j) <- A_(i,j) - (r_n(S,G) - B_(i,j)(S,G)) and then the
reservation B_(i,j)(S,G) is increased to r_n(S,G).
If E_(i,j) is not on tree (S,G) then a reservation for tree
(S,G) is made as B_(i,j)(S,G) <- r_n(S,G) and the available
bandwidth record is adjusted as
A_(i,j) <- A_(i,j) - B_(i,j)(S,G).
4. After executing steps 2 and 3, if the intermediate node N_i
finds that it itself is not the source node then it forwards
the Join message towards the source. If the node is not on
(S,G) then it uses the ERO object for forwarding. Otherwise,
it is forwarded upstream towards S along the tree (S,G).
Before forwarding a Join message it's delay and loss objects
are modified as d_n(S,G) <- d_n(S,G) - D_(i,j) and
l_n(S,G) <- l_n(S,G) - L_(i,j).
If N_i is the source, it sends back a Join_Ack, with
Success_Flag as TRUE, to the receiver R_n. If the Join
message is forwarded up, the next upstream nodes execute
steps 2 and 3.
Note that this signaling protocol assumes that every
successful Join message has to travel all the way up to the
source S. This turns out to be a requirement only when the
joining receiver specifies at least one additive QoS metrics
like delay or loss.
This requirement can be avoided as follows. Every
intermediate multicast router on a tree stores its distance
Biswas et. al. [Page 14]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
(both in terms of delay and loss) from the source along the
tree. When a Join message arrives, based on the stored
distance information a node can judge if the additive
constraints can be satisfied. With such an arrangement, a
Join message has to travel up only for the bandwidth
constraint but not for the additive ones. Downstream
Join-Ack messages can be used for building up these distance
information along the routers.
In the absence of any additive metric, the Join message
propagation stops as soon as an intermediate node N_i finds
the condition r_n(S,G) <= B_(i,j)(S,G) to be true.
5. When a Join_Ack message comes back with a failure indication
to Rn, it has the option to crank-back [23] the join
operation. Cranking-back involves running TIQM with the
Failed_Link pruned out of the network, and then re-launching
a Join message with the newly computed ERO object. Note that
a crank-back will help only when the initial join-rejection
was a result of transient errors in link-state information
within Rn.
A join operation may also fail in the following situation. Since the
receivers do not know about the sender's capability a priori, it is
possible for a receiver to ask for bandwidth that is more than the
sender's data rate. In such a situation the Join message will travel
all the way to the source and if the source is not ready to increase
its data rate, a Join_Ack message will be returned to the
corresponding receiver. The Join_Ak message will carry the rate
bound for the sender. If the receiver intends to retry the Join,
this time it should choose a realistic bandwidth parameter based on
the rate bound, specified by the sender. The usual crank-back would
not help in this situation.
The join-protocol assumes an explicit routing model in which the new
receiver computes the entire join-path and sends that as the ERO
component in a Join message. TIQM can also be used by a hop-by-hop
join-protocol in which every hop node has to run TIQM and find the
next hop link on the join path. This has the advantage of being more
dynamic and not requiring a long Join message for incorporating a
large information field like ERO. However, the hop-by-hop model may
suffer from larger join latency, caused by TIQM computation at every
intermediate node on the join-path. Also, a hop-by-hop mechanism is
less immune to looping that may result from possible inconsistencies
in link-state information in different TIQM computing nodes.
TIQM can be implemented as soft-state or hard-state. In hard-state
(e.g. [7]), after a receiver joins a tree the routing states in the
multicast routers are nailed down permanently. It can be deleted
only when the receiver leaves the tree and a prune message is sent
explicitly to the tree. With soft-state, a receiver, after joining
the tree, sends periodic Join messages for refreshing the routing
states in the network. In order to leave the receiver simply stops
sending Join messages and the routers eventually time out and delete
Biswas et. al. [Page 15]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
the corresponding routing states. More about soft-state protocols
can be found in [2].
Every multicast router with a (S,G) routing entry maintains an
input-interface (iif) and a number of output-interfaces (oif)
associated with the routing entry. A multicast IP packet, that has
a source stamp (S,G) and is received through the iif, is copied and
forwarded through all the oif-s.
Note that the Reverse Path Forwarding (RPF) check [4] is not
feasible for forwarding with QoS constraints. This is simply because
there is no way to ensure that a router will receive an IP packet,
on a QoS-aware multicast tree, through an interface which is used by
the router for sending unicast packets to the tree source. So the
loop prevention has to be performed at the TIQM route computation
level.
4.3 Discussion
TIQM provides an algorithm for QoS-aware multicast route computation
in the presence of both network-specific and tree-specific link
state information. Availability of global information ensures that
when enough bandwidth is available to accommodate a new receiver,
TIQM does so with very low join-rejection probability. Also, because
of its reliance on multicast group-specific information, TIQM has
the potential for performing traffic engineering [24] while
computing multicast routes.
However, the algorithm has the following disadvantages. First, it
relies on group and tree-specific link state information, which may
be of severe scalability concern [15]. It will be more so when
multicast applications become widespread in the Internet. In
addition to the network-specific state changes, every join and leave
event for all trees in a domain would generate a link state update
event. This adds to both control and storage complexity.
Performance of the algorithm can be broadly categorized into a
user-specific part and a network-specific part. The user-specific
part includes mean join-acceptance rate and the packet-level Quality
of Service, experienced by the multicast receivers. The
network-specific part can be expressed in terms of bandwidth
utilization, which translates to the multicast traffic handling
capacity of the protocol. More about the performance of TIQM can be
found in [12].
Since TIQM relies on maximum amount of possible link and group state
information, its performance is considered as a reference for
comparison while evaluating the next tree computation algorithm,
NUQM.
Biswas et. al. [Page 16]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
5. Nave Unicast Based QoS Multicast (NUQM)
This algorithm avoids the scalability problems encountered with
TIQM. The idea behind NUQM is quite simple and it has
two components. In order to join a receiver R_n,
QoS-aware unicast route from R_n to the source S (of tree (S,G)) is
first computed and this route is then merged with the
existing tree (S,G).
Since the algorithm needs to compute only unicast routes, it can be
implemented using any QoS-aware unicast routing algorithm [21, 22],
or an overlay QoS-routing protocol, as proposed in [25]. This
unicast protocol-independence makes NUQM an ideal candidate for
PIM-SM. Also, note that in NUQM no group or tree-specific link-state
information is necessary for route computation.
Following is a list of state information which are required to be
stored within every multicast-aware router.
1. Physical connectivity of the domain (with N nodes).
2. Link-state information A_(i,j), D_(i,j) and L_(i,j) for links
E_(i,j), where i,j = 1..N and i != j.
While the information in item (1) can be obtained through a link-state
update protocol such as OSPF, the information required under item (2)
requires either a QoS-aware version of OSPF [21, 22]
or an overlay routing protocol like [25]. Like in TIQM, NUQM also
has a route computation and a join-signaling phase. It is the
signaling phase during which the computed unicast path is merged
with a multicast tree.
5.1 Path Computation
The problem here is to compute a unicast route from a new receiver
Rn to the source S of the destination tree (S,G). The constraints
are to satisfy QoS requirements {r_n(S,G), d_n(S,G), l_n(S,G)} of
R_n. As stated earlier, computing such a path with more than one
additive QoS constraints is NP-complete. Therefore, a heuristic
solution that can compute a route in polynomial time is considered.
The route computation steps at Rn are as follows.
1. From the network graph, prune all the links E_(i,j) with
A_(i,j) <= r_n(S,G). If the pruned graph contains multiple
disjoint sub-graphs and the nodes R_n and S becomes
disconnected then declare a join-rejection and terminate the
algorithm. If R_n and S belong to a connected sub-graph then
on every link of that sub-graph there should be enough
bandwidth to support a unicast connection from Rn to S.
2. Run Dijkstra's min-cost algorithm on the sub-graph with
delay D_(i,j) as the cost parameter. This step will yield the
minimum-delay path from R_n to source S.
Biswas et. al. [Page 17]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
3. Check the delay (d_n(S,G)) and loss (l_n(S,G)) feasibility for
this min-delay path. If feasible, select this path and
terminate the algorithm.
4. If the path was not feasible then run Dijkstra's min-cost
algorithm with loss L_(i,j) as the cost parameter and repeat
steps 2 and 3.
5. If no path is still found then declare a join-rejection for
receiver Rn.
It should be noted that the path computation is only to find a
unicast route and no multicast group or tree-specific link-state
information is used for this unicast route computation. In the worst
case, Step (1) is O(N^2) complex where N is the number of nodes in the
network. Dijkstra's min-cost path computation in Step (2) also has a
worst case complexity of O(N^2). Finally, O(N) is the worst case
complexity of Step (3). Combining these, the worst case computational
complexity of NUQM turns out to be O(N^2).
5.2 Tree Construction and Maintenance
The same Join and Join_Ack message formats, as defined
for TIQM in Section 4.2, is used here. The join procedure is
explained with an
example scenario that is depicted in Figure 2. The new receiver R_n
first computes a QoS-constraint unicast route {N_5-N_6-N_2-N_1-N_0}
to the source S and then it launches a Join message with the entire
unicast route as the ERO in it. On its way towards S, the Join
message checks if each link on its path belongs to the tree (S,G).
If a link is not part of the tree, as in the case of links E_(6,5)
and E_(2,6), the required resources are reserved on them. For links
that are part of the tree, as in the case of E_(1,2) and E_(0,1), it
is first checked if enough resources are already reserved for the
existing tree. If the existing reservation is not sufficient for
handling receiver R_n, then the tree reservation is increased on
those two links. Once the join message reaches the source S, a
successful join for R_n is declared. Note that if sufficient
resources are not available at any of these steps, a join-rejection
occurs and a Join_Ack with failure indication is sent back to
receiver R_n.
The join procedure, formally described for TIQM in Section 4.2,
canbe used for NUQM without any modification. In addition, the
explicit routing, crank-back, pruning, soft-state, packet forwarding
and loop prevention issues, which were discussed for TIQM, also
apply for NUQM in the same way.
5.3 Discussion
NUQM provides multicast routing with heterogeneous and
receiver-oriented QoS support. While using the same join and prune
protocols, NUQM differs from TIQM in that it computes a QoS-aware
Biswas et. al. [Page 18]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
unicast route based only on network link-state information. Unlike
TIQM, by not using group and tree-specific information, NUQM keeps
the control and storage overheads low. For instance, NUQM can easily
scale for inter-domain multicast, provided there exists a
QoS-extended inter-domain unicast routing protocol [11]. Considering
this, NUQM may be of significant potential for next
generation QoS-based multicast protocols.
The downside of NUQM is its high receiver join-rejection probability
in certain scenarios. Consider a QoS-aware unicast route computation
that fails because of insufficient A_(i,j) values. This can be a
false rejection because the network may already have reservation
B_(i,j)(S,G), which is sufficient for accommodating the new receiver
with requirement r_n(S,G). In other words, the algorithm is
bandwidth-conservative because it anticipates more bandwidth than
what is really needed to accommodate a new receiver.
When compared with TIQM, this nave protocol is expected to provide
similar performance in light to moderately loaded scenarios. For
higher load, however, NUQM will have larger join-rejection rate
because of its conservative bandwidth assumption. Under the present
incremental tree construction model, even for TIQM, a multicast tree
may drift away from optimality (in terms of overall bandwidth
consumption) as new receivers join and leave the tree. This effect
is expected to shrink the performance gap between TIQM and NUQM at
high network load.
Optimizing the unicast route computation algorithm in the following
way can alleviate the mentioned false join-rejection problem of
NUQM. A new receiver should use larger (than Ai,j values) bandwidth
availability numbers, A_(i,j) + k_(i,j), while computing the unicast
route. The excess amount ki,j can be estimated from various higher
level topology and tree information. For instance, topologically
(physical) closer a link from the tree source, it is more likely
that the link is on the tree. And if it is assumed to be on the tree
then one can optimistically infer that certain amount of bandwidth
on the link is already reserved for the tree. Based on this
assumption, along with a suitable estimation model, the receiver can
calculate the quantity k_(i,j) for computing the unicast route.
Performance details for both TIQM and NUQM, along with the
improvements by this heuristics, are reported in [12].
6. Architecture for QoS-Enhanced PIM-SM
After comparing the existing multicast routing protocols it was
concluded in Section 2 that PIM-SM is the preferred candidate for
QoS extensions. This is mainly because of its ability to support
receiver-initiated join, both shared and source-specific trees and
its independence from the underlying unicast routing protocol. In
this section, an architecture for QoS-oriented PIM-SM is described.
This can be implemented using either TIQM or NUQM as its underlying
multicast tree construction algorithm.
Biswas et. al. [Page 19]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
In order to keep the description specific, the architecture is
presented with NUQM. NUQM and TIQM differ only in terms a of their
path computation algorithms, but the join and the prune procedures
for both of them are identical. This implies that a common set of
QoS-enhanced PIM-SM protocol syntaxes can be used for both NUQM and
TIQM. Here only NUQM is considered. While joining a multicast tree, a
receiver can opt for TIQM or NUQM based on the amount of
tree-specific information available to it.
After specifying the NUQM integration details, a set of
architectural changes that are necessary for QoS support in PIM-SM
are outlined.
The exact message, protocol and timer syntaxes are deferred to a
future design specification. The present protocol architecture is
targeted only towards intra-domain multicast applications; the
inter-domain scenarios are left for future consideration.
6.1 Service Model
Before embarking into the protocol details let us illustrate the
multiparty service model that can be supported by QoS-extended
PIM-SM. Consider an example of a technical conference with 16
parallel sessions being multicast over the Internet. Video and audio
IP packets from all 16 sessions are sent initially over a single
PIM-SM shared tree. We shall refer each machine that generates
packets for a session as the source for that multicast session.
There are therefore 16 sources for this session.
A researcher, who wants to tele-attend the conference, takes the
following steps on her machine in the given sequence.
1. She launches her Conference-Viewer application
which, using a unicast connection, contacts the
conference-server (e.g. www.comsoc.org) in order to retrieve
the multicast group address assigned to the conference.
Optionally, the application may also receive finer grain
details including number of multicast sources, their IP
addresses and the current traffic specification of each source.
2. Conference-Viewer now sends a PIM-SM Join message in order to
join the researcher's machine to the shared tree. After a
successful join, 16 windows are created and the conference
session proceedings are displayed individually in those
windows. At this stage, since all the traffic is coming
through the non-optimal shared tree, the viewing performance
of a number of sessions could be less than satisfactory.
3. After looking at the session windows, the researcher may
decide on a specific session she may want to view at a
specific data-rate. Once she indicates this to the
application, it initiates a QoS-aware join to the
corresponding source-specific tree of PIM-SM. Once joined, a
session window with desired video quality pops up at her
workstation terminal. At this stage, the application may or
Biswas et. al. [Page 20]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
may not leave the shared tree. When it decides to do so, it
sends an explicit prune message towards the shared tree.
In this model, it was assumed that the shared tree is QoS-unaware.
This is because providing QoS over the shared tree requires the receivers
to know about the details of the unicast tunneled routes between the
sources and the Rendezvous Point (RP) of the tree. This information
may or may not be available to the receivers. However, if a receiver
has access to this information, possibly from a session server (the
conference server in the above example), then it is possible to
incorporate QoS constraints even within the shared tree.
6.2 Tree Construction and Switching
The mechanisms for QoS-aware tree construction and
switching are explained through an example multicast session.
Details of standard
PIM-SM will not be described here. Only the bare minimum that is
necessary for QoS details will be presented. For a comprehensive
description of the standard PIM-SM architecture and protocol details
the readers are referred to [27].
(1) |S_1 (1) | S_2 (1) |S_1 (1) | S_2
__|__ __|__ __|__ __|__
| N_1 | | N_2 | | N_1 | | N_2 |
|_____| |_____| |_____| |_____|
(2)\ /(2) (2)\ /(2)
\ RP / \ RP /
(2) \_____/ (1) (2) \_____/ (1)
/ \ / \
Shared | N_0 |(*,G):null->3(0) | N_0 |(*,G):
Tree | |<----- (ST) | |null->3(0)
(ST) \_____/ |Join # \_____/
# |(3) | # |(3)
# | | # |
# (1) _|___ | # (1) _|___
# / \----- ## / \
# | N_3 |(*,G):1(0)->3(0) # # | N_3 |(*,G):
# | | # # | |1(0)->2(0),3(0)
# \_____/<---- # # \_____/<--------------
# /(2) |Join # #/(2) \(3) Join|
# / | # /# \ |
# __/__ (1) | # (1)__/__# __\__ (1) |
# | N_4 | | # | N_4 |# | N_5 | |
# |_____|-------- # |_____| # |_____|---------
|_____|(*,G):1(0)->2(0) (*,G): |_____| #|_____|(*,G):
| 1(0)->2(0) | | 1(0)->2(0)
R_1 |(2) R_1 |(2) R_2 |(2)
(part-a) (part-b)
Figure 3: Receivers R_1 and R_2 join shared tree (*,G)
Biswas et. al. [Page 21]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
In Figure 3, a multicast group G is shown with two sources S_1 and
S_2. Router N_0 in G is designated as the Rendezvous Point (RP) for
its shared tree (*,G). Note that the nodes N_1, N_2 and N_4
represent the designated routers (DR) [4] for sources and receivers,
which are directly connected to them. The DRs can be root, leaf and
non-leaf nodes of the multicast trees. In order to keep the protocol
description simple, the DRs are referred to as sources and
receivers. This
way, QoS-aware PIM-SM can be described without involving the IGMP
[26] protocol details. Note that this assumption does not restrict
the scope of the described protocol.
(1) |S_1 (1) | S_2 # N_0
__|__ __|__ #
-------------->| N_1 | | N_2 | shared #
| /|_____| |_____| tree #
|Join /(3) \(2) /(2) ## N_3
| / \ RP / # #
| B=2 / (2)\_____/ (1) # #
| / / \ # #
| / | N_0 |(*,G): # #
| / | |null->3(0) # #
| (1)_/__ \_____/ # N_4 #N_5
| / \ |(3)
----| N_6 |RP=0:(S1,G): |
| | 1(2)->2(2) _|___ (1) N_1 #
\_____/ / \RP=1:(S_1,G): #source
^ \(2) | N_3 | 1(0)->3(0) # specific
| \ | |(*,G): # QoS tree
| \ \_____/ 1(0)->2(0),3(0) # (SSQT)
Join \ \ (2)/ ^ \ (3) # B=2
\ \ / | \ #
\ B=2 \ (1)/ | \ # N_6
\ \ / P| \ #
RP=0: \ \ /____ | __\__ #
(S_1,G): \ \ | N_4 |-/ | N_5 |(1) # B=2
3(2)->2(2) \-----\|_____| |_____| #
(*,G): (3)|_____| |_____|(*,G): #
1(0)->2(0) | | 1(0)->2(0) #
R_1 |(2) R_2 |(2) N_4 #
Figure 4: Receiver R_1 joins source specific QoS tree (S_1,G)
Receiver Join
-------------
When a receiver R_1 intends to join the Shared Tree (ST) it uses
NUQM (with RP as the source and without any QoS constraint) to compute
the join-path to ST. The first part of the figure shows how the join
messages are forwarded towards RP. Note that Join and Prune messages
are indicated by the 'J' and 'P' symbols in all the following
figures. Although in standard PIM-SM both join and prune syntaxes
are combined into a single message, these messages will be referred to
separately throughout this document for the sake of clarity. The
Biswas et. al. [Page 22]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
interface numbers of the routers are shown within dotted circles.
Multicast routing-table entries are shown as:
[RP=X, (tree): iif(B) -> oif_j(B_j)],
where RP indicates the standard PIM-SM RP-Bit, tree refers to the
associated tree with this entry, 'iif' is the input interface, B is
the bandwidth reservation at input interface, oif_j refers to one of
multiple possible output interfaces and B_j indicates the
reservation at output interface oif_j.
After the join is complete for R_1, the (*,G) tree topology and
multicast routing entries for the tree becomes as shown in Figure
3:a. At this stage, a new receiver R_2 joins the shared tree by
first computing an ERO using NUQM and then sending a Join message
towards RP. The scenario is shown in Figure 3:b, where the computed
ERO contains {N_5, N_3, N_0} and the Join message is forwarded up to
the node N_3. Note that for this non QoS-aware case, a Join message
does not have to travel all the way to the source; it is terminated
by the first intermediate node that is already on ST.
Tree Switching
--------------
Initiation of a tree switching is considered in Figure 4. The
receiver R_1 decides to join the Source Specific QoS Tree (SSQT) for
source S_1. In this example, R_1 decides to join with a bandwidth
specification of 2 units. It first computes the join-path using NUQM
(with r_1(S_1,G) = 2) and then it launches a Join message with the
computed ERO {N_4, N_6, N_1}. While reserving the required resources
(it is indicated as B=2 in Figure 4) the Join message travels all
the way up to the source S_1. After a successful join, the SSQT for
S_1 would be as shown in the figure. Note that the receiver R_1
remains a member of both (*,G) and (S_1,G) trees. Through (*,G) it
continues receiving IP packets from source S_2.
After the join to SSQT is complete, R_1 sends a Prune message along
the (*,G) tree with a prune list containing source S_1. This is
necessary to make sure that packets from S_1 should no longer be
delivered to R_1 along the (*,G) tree. The Prune message does not
have to travel beyond node N_3 because N_3 still has to forward
packets from S_1 along (*,G) in order to deliver them to receiver
R_2. After this Prune procedure is completed, the multicast routing
table entries across the network looks like those in Figure 4.
Figure 5 shows what happens when receiver R_2 also joins the SSQT
for S_1. Using NUQM, R_2 computes a join-path ERO {N_5->N_3->N_6->N_1}
and that is with a specified data-rate r_2(S1,G) = 5. Then it
launches a Join message which travels all the way up to S1 and
installs the new bandwidth reservation state B=5 on all the links
on its way. Note that in this example the Join message has to
traverse all the way to the root of SSQT because the new reservation
(B=5) is more than what was already reserved (B=2) for SSQT after
receiver R1 has joined it. With r_2(S_1,G) = 1, for instance, the
Biswas et. al. [Page 23]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
Join message propagation could have been terminated at node N6.
After the Join operation is completed, SSQT entries
[RP=0:(S_1,G):4(5) -> 3(5)] at node N_3 and
[RP=0:(S1,G):1(5) -> 2(2),3(5)] at node N_6 are set up.
At this stage, R_2 sends a Prune message along the (*,G) tree with a
prune list containing source S_1. Upon reception of it, node N_3
deletes the S1-specific part of the shared tree entry
[RP=1:(S_1,G):1(0) -> 3(0)]. It also realizes that there is no more
downstream node that is interested in the packets from S1 along the
shared tree. That is why it forwards the Prune message upstream
towards RP. Upon reception of this message, RP inactivates the
S1-specific part of the shared tree entry and sends a Register-Stop
[27] message towards source S_1. This is for instructing S_1 not to
forward its encapsulated packets towards RP any longer.
(1) |S_1 (1) | S_2 # N_0
__|__ __|__ #
-------------->| N_1 | | N_2 | shared #
| (3)/|_____| |_____| tree #
|Join / (2)\ /(2) ## N_3
| / \ RP / # #
| B=5 / (2)\_____/(1) # #
| / / \ # #
| / | N_0 |RP=1:(S_1,G): # #
| / | | null->null # #
| (1)_/__ \_____/(*,G):null->3(0) # N_4 # N_5
----/ \ (3) | ^
| N_6 | | : Prune
| |(3) B=5 (1)_|_:_RP=0:(S_1,G): N_1 #
\_____/___________ / \ 4(5)->3(5) # source
(2)\ <-----------| N_3 |(*,G): # specific
RP=0: \ Join (4)| | 1(0)->2(0),3(0) # QoS tree(SSQT)
(S_1,G): \ \_____/<..... #
1(5)->2(2), \ (2)/ ^\(3) :Prune # B=5
3(5) \ / | \ : ############# N_3
\ / | \B=5 : # N_6 #
B=2 \ /(1) | \ : # #
\ _/___ |J __\__: # #
(3)\| N_4 | | | N_5 |(1) # B=2 # B=5
RP=0: |_____| -|_____|RP=0:(S_1,G): # #
(S_1,G):3(2)->2(2)|_____| |_____| 1(5)->2(5) # #
(*,G) :1(0)->2(0) | | (*,G): # #
R_1 |(2) R_2 |(2) 1(0)->2(0) N_4 # N_5 #
Figure 5: Receiver R2 joins source specific QoS tree (S1,G)
Receiver Departure
------------------
Consider the scenario in which receiver R_2 intends to
leave the multicast group. This requires two separate Prune
Biswas et. al. [Page 24]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
processes for modifying both (*,G) and (S_1,G) trees. Pruning the
shared tree is just as in standard PIM-SM. However, for the SSQT,
the Prune message may or may not have to travel up to the source;
this will be decided based on the (S_1,G) reservation status at
different edges of the tree. In this particular example, a Prune for
(S_1,G), from R_2, would travel the route {N_5->N_3->N_6->N_1} so that
it can delete the entry for (S_1,G) at node N_3 and adjust the
bandwidth reservation (from 5 to 2) for (S_1,G) over link E_(1,6).
This concludes an outline of the NUQM based PIM-SM architecture that
allows receivers to join multicast sessions with heterogeneous QoS
specifications. In the present example, it was assumed that
the PIM shared
tree was QoS-unaware and the source specific tree was QoS-aware.
This is because of the assumption that in the service model
a receiver does
not know anything about the tunneled unicast route between a source
and the Rendezvous Point of the shared tree. However, if this
information is available, the proposed architecture does not preclude the
possibility of constructing QoS-aware shared trees. Note that the
protocol description is restricted only for point-to-point links.
This is mainly because a clean model is still unavailable for
resource reservation over multi-access links like Ethernet. However,
the present architecture is fully backward compatible in the sense
that non QoS-aware receivers can also be incorporated across shared
media links.
6.3 QoS-extensions Necessary for PIM-SM
In this section, the necessary functional and protocol
extensions for PIM-SM for incorporating QoS are outlined.
Although both NUQM and TIQM can work hop-by-hop or explicitly
routed, the latter is preferred for its better loop-prevention
capabilities. Also, for explicit routing, only the joining receiver
has to compute the route whereas for hop-by-hop routing every
intermediate router needs to compute a QoS-aware route. For standard
PIM-SM, however, routing is performed in a hop-by-hop mode. For
better integration of the QoS-aware routing mechanisms, it is proposed
that an explicit-routing option for PIM-SM be adopted.
Explicit routing requires a Join message to carry a variable length
Explicit Routing Object (ERO). In order to avoid IP-fragmentation
issues it is proposed that control messages are sent over TCP. Reliable
transfer of the Join/Prune messages will also make the protocol
simpler at PIM-SM level.
The next important issue would be to decide about an acknowledgement
strategy. Since the use of TCP has been proposed, there is no need for a
hop-by-hop PIM-SM level acknowledgement for reliability. However, an
end-to-end Join_Ack is necessary for confirming a receiver-join and
for activating reservation along the newly setup route for the new
receiver.
Biswas et. al. [Page 25]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
The soft-state nature of the standard PIM-SM is still maintained in
the proposed framework. While the event-initiated (receiver
join/departure)
Join/Prune messages need to travel across multiple hops, the
timer-initiated messages need to travel only one hop to maintain the
soft routing states within routers.
Incorporating the reserved bandwidth numbers also augments the
format of multicast routing table entries. This is necessary for
Join and Prune operations with data-rate guarantees.
Finally, the Reverse Path Forwarding (RPF) check [4] is not feasible
for forwarding with QoS constraints. This is simply because there is
no way to ensure that a router will receive an IP packet, on a
QoS-aware multicast tree, through an interface that is used by the
router for sending unicast packets to the tree source. So the loop
prevention has to be performed at the NUQM (or TIQM) route
computation level.
7. Further Enhancements by Tree State Update (TSU) Protocol
In this section propose an architectural enhancement to
significantly improve the QoS capabilities of the PIM-SM protocol is
discussed. In Section 6, the architecture described for
QoS-aware PIM-SM can use either TIQM or NUQM as its underlying
multicast tree
computation algorithm. The motivation for using TIQM is that it can
provide better join-success rate than that for NUQM. However, the
downside of TIQM is that it relies on tree-specific link state
information, dissemination of which may cause both control and
storage scalability problems at the multicast routers. The problem
stems from the fact that every multicast router within a domain
requires to maintain both topology and resource reservation
information about all the multicast trees within the domain. This
can pose non-scalable control burden on the underlying link-state
update protocols. In addition, a multicast router needs to store
information about multicast trees, which may never pass through the
router itself.
Here, a mechanism is described for partially alleviating the
scalability problem can while not compromising the functionalities
of TIQM. The scheme exploits the service model of PIM-SM (see
Section 6.1), in which a receiver first joins the QoS unaware Shared
Tree (ST) and then, if necessary, it switches to the Source-Specific
QoS Trees (SSQT), one at a time.
The idea is that while a receiver is connected to the ST, it can
gather SSQT-specific information through the shared tree. When the
receiver wants to switch from the ST to a SSQT, it can run TIQM
using the gathered tree-specific information. Now the objective here
is to devise an efficient tree information gathering mechanism
(through the shared tree) that bypasses the conventional link state
update protocols. If such a low-cost information gathering mechanism
can be designed then clearly TIQM can be used without its
Biswas et. al. [Page 26]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
scalability penalties.
Following is the description of a mechanism that proposed for
distributing SSQT information through the shared tree.
1. Every receiver that had joined an SSQT periodically sends a Tree
State Update (TSU) message to its parent router on the tree. TSU
contains both membership and reservation information for the link
between the receiver and the parent node.
2. A parent router aggregates
TSU information from all its children nodes and constructs a new
TSU message with the aggregated information. The router also adds
its own topological identity and relevant tree-specific link
reservation information to the TSU message. This message is now
sent up to the router's parent node and the step is carried out
recursively until all the TSU messages, carrying entire SSQT
topology and reservation information, reach the root of the tree.
Steps 1 and 2, together, ensure that at steady state the root of
an SSQT maintains information about the entire tree. Since the
receivers sends TSU messages periodically, any change in tree
topology and its reservation eventually get reflected in the
information base that is maintained by the toot.
3. A multicast source, which is the root of its SSQT, periodically
sends its tree information to the Rendezvous Point (RP) of its
designated multicast group. This way, it is ensured that in
steady state the RP of a group will contain tree information for
all the existing SSQTs for that group.
Note that the TSU propagation is carried out entirely in
soft-state and therefore any change in the SSQTs of a group will
eventually be informed to the group RP.
4. Now that the RP maintains SSQT-specific information, the question
is how to disseminate this to the multicast receivers. Following
are the design options.
The first option is that when a receiver wants to join an
SSQT, it fetches the tree information for the SSQT from the
group RP. Using this information, then it executes TIQM in
order to calculate the join-path towards the SSQT.
The other option is to arrange for the RP to periodically send
the tree information for existing group SSQTs along the shared
tree. This way, all the receivers on the shared tree will be
informed about the current state of all the group's SSQTs. In
this model, when a receiver wants to join an SSQT it does not
have to explicitly contact the RP to get the relevant SSQT
information.
In the first approach, the amount of TSU traffic is less than the
second one. However, in this approach when a receiver wants to
Biswas et. al. [Page 27]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
join an SSQT it has to tolerate an initial latency for accessing
the tree-specific information from the RP. In the second approach
this latency problem is solved at the expense of additional TSU
control traffic.
A distinction must be made between this Tree State Update (TSU)
and the standard Link State Update (LSU) that is used by multicast
protocols like MOSPF. For a conventional LSU protocol every router
within a domain requires to receive and store multicast
tree-specific information even if it is not part of any of those
trees. Whereas in the TSU, only the nodes, that are on the SSQT and
ST, keep tree-specific information for that group. This can offer
significant performance improvement in terms of both control and
storage complexities of tree information dissemination.
The described TSU mechanism has the following shortcomings. First,
all tree-specific information dissemination through RP makes the
protocol vulnerable to a single point of failure. In addition, for
the very same reason the RP may also become a point of
control-traffic congestion. The situation may become especially
aggravated when a single router takes the role of the RP for
multiple PIM-SM multicast groups.
To summarize, the described TSU mechanism provides a low-cost and
scalable mechanism for disseminating multicast tree information.
This mechanism can be used in QoS-aware PIM-SM so that a
receiver, when switching from shared tree to a source-specific tree,
can use TIQM. TIQM, as noted earlier, provides better join-success rate
and efficient network bandwidth utilization.
8. Summary and Conclusions
In this draft, an IP-multicast routing framework that is capable of
delivering receiver-specified and heterogeneous QoS guarantees was
described. After analyzing the QoS enhancement potentials of the
existing multicast protocols it was concluded that PIM-SM is the
best candidate for QoS extensions. This is mainly because of its
support for both source-specific and shared multicast trees and its
ability to incorporate receiver-initiated joins. After deciding on
PIM-SM, the problem of constructing multicast trees with QoS
constraints was defined. Two algorithms, namely TIQM and NUQM, for
tree construction were proposed. It was shown that TIQM, while being
able to compute near-optimal QoS-constrained trees, might have
scalability concerns in certain situations. This was overcome in
NUQM by restricting the amount of information that is used during
tree computation. It was argued that under low to moderate network
loads NUQM can deliver performance that is comparable to TIQM. A
QoS-extended PIM-SM framework, with NUQM as its underlying route
computation algorithm, was proposed. It was shown that with moderate
extensions to the existing syntaxes of PIM-SM, it is possible to
introduce QoS support. Numerical performance results are reported in
[12].
Biswas et. al. [Page 28]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
The following extensions of this work are currently being carried
out:
- Simulation and performance works for TIQM and NUQM
- Detailed design specification with exact message, timers and
protocol syntaxes for the proposed framework
- Extension of the protocol from intra-domain to the
inter-domain case, and
- Incorporation into the MPLS framework.
References
[1] B. Quinn et al,
IP Multicast Applications: Challenges and Solutions,
IETF Internet-Draft: draft-ietf-mboned-mcast-apps-00.txt, February
1999.
[2] Lixia Zhang et al,
RSVP: A New Resource ReServation Protocol,
IEEE Network Magazine, September 1993.
[3] S. Chen et al,
An Overview of Quality of Service Routing for Next-Generation
High-Speed Networks: Problems and Solutions,
IEEE Network Magazine, November/December 1998.
[4] S. Paul,
Multicasting on Internet and Its Applications,
Book published by Kluwer Academic Publishers, 1998.
[5] D. Cavendish et al,
On the Construction of Low Cost Multicast Trees with Bandwidth
Reservation,
Lecture Notes in Computer Science, Springer-Verlag, 1998.
[6] J. Hou et al,
QoS Extensions to CBT,
IETF Internet-Draft: draft-hou-cbt-qos-00.txt, February 1999.
[7] A. J. Ballardie et al,
Core Based Trees,
Proceedings of ACM SIGCOMM, San Francisco, 1993.
[8] J. Moy,
Multicast Extensions to OSPF,
IETF Request for Comments: RFC-1584, March 1994.
[9] D. Estrin et al,
Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol
Specification,
IETF Internet-Draft: draft-ietf-idmr-PIM-SM-spec-10.txt, March
1997.
Biswas et. al. [Page 29]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
[10] M. Faloutsos et al,
QoSMIC: Quality of Service sensitive Multicast Internet protoCol,
Proceedings of ACM SIGCOMM, Vancouver, 1998.
[11] Y. Rekhter et al,
A Border Gateway Protocol 4 (BGP-4),
IETF Internet-Draft: draft-ietf-idr-bgp4-08.txt, August 1998.
[12] S. K. Biswas et al,
Performance of Multicast Route Computation Algorithms for
QoS-aware PIM-SM Protocol,
NEC CCRL Internal Document, Under Preparation.
[13] J. Moy,
OSPF Version 2,
IETF Request for Comments: RFC-1583, March 1994.
[14] S. Bradner et al,
Internet Protocol Quality of Service Problem Statement,
IETF Internet-Draft: draft-bradner-qos-problem-00.txt, September
1997.
[15] L. Wei et al,
The Trade-offs of Multicast Trees and Algorithms,
Proceedings of ICCCN'94, San Francisco, September 1994.
[16] T. Pusateri,
Distance Vector Multicast Routing Protocol,
IETF Internet-Draft: draft-ietf-idmr-dvmrp-v3-05.txt, October 1997.
[17] S. Deering et al,
Protocol Independent Multicast Version 2 Dense Mode Specifcation,
IETF Internet-Draft: draft-ietf-pim-v2-dm-01.txt, November 1998.
[18] M. Doar et al,
How Bad is Nave Multicast Routing?,
Proceedings of IEEE INFOCOM'93, San Francisco, April 1993.
[19] M. R. Garey et al,
Computers and Intractibility - A Guide to the Theory of
NP-Completeness,
Book published by Freeman, California, 1979.
[20] E. Dijkstra,
A Note on Two Problems in Conexion with Graph,
Numerische Mathematik, Vol. 1, 1959.
[21] Z. Zhang et al,
Quality of Service Extensions to OSPF,
IETF Internet-Draft: draft-zhang-qos-ospf-01.txt, September 1997.
Biswas et. al. [Page 30]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
[22] W. Wimer,
Additional OSPF Extensions for Traffic Engineering and QoS
Routing,
IETF Internet-Draft: draft-wimer-ospf-traffic-00.txt, September
1997.
[23] Private Network-Network Interface Specification version 2.0,
btd-pnni-02.00,
ATM Forum, September 1997.
[24] D. Awduche et al,
Requirements for Traffic Engineering Over MPLS,
IETF Internet-Draft: draft-awduche-mpls-traffic-eng-00.txt, April
1998.
[25] B. Rajagopalan,
IGP-Independent Routing Support for Traffic Engineering,
IETF Internet-Draft: draft-rajagopalan-igpfree-te-00.txt, February
1999.
[26] B. Cain,
Internet Group Management Protocol, Version 3,
IETF Internet-Draft: draft-ietf-idmr-igmp-v3-01.txt, February 1999.
[27] S. Deering et al,
The PIM Architecture for Wide-Area Multicast Routing,
IEEE/ACM Transactions on Networking, Vol. 4, No. 2, April 1996.
[28] B. Rajagopalan et al,
Multicast Routing with Resource Reservation,
Journal of High Speed Networks, July 1998.
[29] D. Wall,
Mechanisms for Broadcast and Selective Broadcast,
Ph.D. Thesis. Technical Report, no. 190, Stanford University,
Stanford, CA, June 1980.
Biswas et. al. [Page 31]
Internet Draft A QoS-Aware Routing Framework for PIM-SM June 25, 1999
11. Authors' Addresses
Subir K. Biswas
C&C Research Labs, NEC USA
4 Independence Way,
Princeton, NJ, USA
Phone : 1 609 951 2995
Fax : 1 609 951 2499
E-mail: skb@ccrl.nj.nec.com
Rauf Izmailov
C&C Research Labs, NEC USA
4 Independence Way,
Princeton, NJ, USA
Phone : 1 609 951 2454
Fax : 1 609 951 2499
E-mail: rauf@ccrl.nj.nec.com
Bala Rajagopalan
C&C Research Labs, NEC USA
4 Independence Way,
Princeton, NJ, USA
Phone : 1 609 951 2969
Fax : 1 609 951 2499
E-mail: braja@ccrl.nj.nec.com
Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Biswas et. al. [Page 32]