Internet DRAFT - draft-ganti-mpls-diffserv-elsp
draft-ganti-mpls-diffserv-elsp
INTERNET DRAFT S. Ganti
Internet Engineering Task Force N. Seddigh
Differentiated Services Working Group B. Nandy
Expires May, 2002 Tropic Networks
November, 2001
MPLS Support of Differentiated Services using E-LSP
<draft-ganti-mpls-diffserv-elsp-01.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/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Distribution of this memo is unlimited.
Abstract
The current DS-TE (Diffserv Traffic Engineering) approach can only be
used with a single OA (Ordered Aggregate) per E-LSP or with L-LSP. It
cannot be used to carry multiple OAs per E-LSP.
This document motivates reasons where it is desirable to carry
multiple OAs per E-LSP. In addition, the document proposes RSVP-TE
and CR-LDP extensions to facilitate signalling of multiple traffic
parameters for a single E-LSP.
ID Summary
SUMMARY
This document addresses an open issue in providing Diffserv Traffic
Engineering solution using E-LSP. The proposal outlines methods to
signal bandwidth requirements for multiple OAs when setting up E-
LSPs.
Ganti, Seddigh, Nandy [Page 1]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
RELATED DOCUMENTS
draft-ietf-tewg-diff-te-reqts-01.txt
draft-bitar-rao-diffserv-mpls-01.txt
draft-boyle-tewg-ds-nop-00.txt
draft-kompella-tewg-bw-acct-00.txt
WHERE DOES IT FIT IN THE PICTURE OF SUB-IP WORK
It belongs in the TE WG
WHY IS IT TARGETED AT THIS WG
This document describes Diffserv Traffic Engineering possibilities
using E-LSP.
JUSTIFICATION
Current Diffserv Traffic Engineering solutions are restricted to L-
LSP or E-LSPs which carry only a single Ordered Aggregate (OA).
There is a clear need to extend these DS-TE solutions to include
carrying of multiple OAs per E-LSP. This document proposes possible
alternatives to address this.
1.0 Introduction
Diffserv over MPLS [DIFF-MPLS] describes methods to setup diffserv-
aware traffic engineering tunnels in an MPLS network. The solution
approaches discussed in [DIFF-MPLS] uses two types of LSPs to setup
the TE tunnels. These are commonly referred to as E-LSPs (EXP-
inferred-LSPs) and L-LSPs (Label-Only-Inferred-LSPs). The L-LSP
approach is intended to carry a single OA per LSP. E-LSPs allow
multiple OAs to be carried over a single LSP. In this case, the MPLS
Label-Stack-Entry EXP bits indicate the PHB (Per Hop Behavior) to be
applied against a particular packet.
1.1 Existing Diffserv Traffic Engineering (DS-TE) Framework
The existing DS-TE requirements document [DS-TE-REQ] makes two key
assumptions: (1) That DS-TE will be deployed using L-LSPs or E-LSPs
with a single OA. (2) That IGP route advertisement scalability issues
can only be solved if bandwidth accounting and advertisement is done
on an aggregate basis which combines classes.
1.1.1 Single OA per E-LSP
The first point above assumes that SPs are not interested in using
E-LSPs with multiple OAs in a DS-TE framework. The justification
given for this restriction is that Service Providers desire only
per-class routing. i.e. Service providers would like to send
different classes of traffic on different LSPs (different routes).
The implicit assumption is that Service Providers would never choose
to send multiple classes of traffic along the same LSP. e.g. They
Ganti, Seddigh, Nandy [Page 2]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
would never choose to send EF-based traffic and BE-based traffic for
a customer on the same LSP.
1.1.2 Support of Class-Type
The second point in section 1.1 is addressed through the [DS-CT]
draft. In this draft, the notion of classtype (CT) is proposed as a
means of addressing scalability issues. Thus, the IGP protocol route
advertisements are done at the granularity of a CT and the signalling
protocol would also reserve bandwidth at the granularity of a CT. For
example, voice would constitute a first CT and data a second CT. A
class could directly map to a PHB Scheduling class (PSC) while a CT
could be an aggregation of a few PSCs together for bandwidth
accounting and advertisement purposes.
While use of CT is one means of addressing scalability issues, it
comes at the cost of flexibility. Use of CT instead of classes means
that a provider is unable to route different classes on different
LSPs should they wish to do so. e.g. routing of AF1x and AF2x on
separate LSPs.
Two recent drafts propose alternative solutions that should
facilitate routing of different classes on different LSPs.
[KIREETI] discusses bandwidth accounting for DS-TE solutions. The
document proposes a bandwidth accounting solution per-class admission
control and per-class route advertisements. The proposal relies on a
reuse of the existing 8 priority levels, making them synonymous with
8 classes of service.
[BOYLE] proposes a DS-TE scheme that seeks to reuse existing protocol
specifications. The draft recognizes the need for per-class or per-
class-type bandwidth accounting as limited by the implementation
(section 4.3).
1.2 The Need to support E-LSP based DS-TE with Multiple OAs
This document asserts that there is a viable requirement for
deploying complete E-LSP based DS-TE solutions. i.e a DS-TE solution
where multiple classes of traffic (OAs) are carried over a single
LSP. The E-LSP DS-TE solution should be complementary to L-LSP DS-TE
solutions. The following are examples where E-LSPs can be used in a
DS-TE framework to carry multiple OAs.
Example 1: VoIP data and signalling are carried on the same LSP but
treated as different classes. The easiest way of doing this is to
transport the data and signalling on different OAs in a single LSP.
It can be argued that if the ratio of two different traffic types is
known then it can be carried on multiple OAs but signalled with a
single traffic parameter and advertised with a single advertisement.
However, such a scheme is extremely inflexible. Applications
continually evolve as may the ratio of traffic mixes. Thus, it is
unwise to embed assumptions about application behaviour in the DS-TE
solutions.
Ganti, Seddigh, Nandy [Page 3]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
Example 2: A key emerging application for E-LSPs with multiple OAs is
L2VPN. In this context, service providers in the Metro space are
looking to provide TLAN (Transparent LAN) services. The SP may
provide Layer 2 VPNs for its end customers where the key SLAs revolve
around availability and QoS. In such cases, the SLA may specify a
single protection level for the aggregate while specifying multiple
classes of service within the VPN. In such networks, sending
different classes of service on different LSPs will immensely
complicate the ability to offer robust and measurable availability
and QoS SLAs to such customers.
Example 3: Path protection and restoration mechanisms are 2 key
requirements in next generation IP networks. Sending a single
customer's traffic on multiple LSPs causes a larger number of LSPs in
the network. It also causes issues with ensuring the 50ms restoration
time is met due to the sheer volume of LSPs that have to be
resignalled or redialed when links go down. These mechanisms are more
easily applied to a single LSP than to a group of LSPs.
Example 4: Earlier it was mentioned that service providers may want
to provide SLA gurantees for each of the OAs carried in the E-LSP. In
addition, at the same time, the provider may wish to apply queuing
technology that allows bandwidth borrowing between the OAs of a
customer. Thus, if a customer is not using his allocated AF
capacity, he may wish to allow his BE traffic to use that capacity
that he has purchased from the service provider.
Example 5: A small service provider with a simple network topology
and a limited set of service classes could be interested in limited
DS-TE capabilities (i.e. simple aggregate load balancing). In this
case, a simple path computation algorithm that routes all classes
together can be used to select a single LSP (e.g. a shortest path
applied on the pruned network). Limiting each LSP to only a single OA
would, at minimum, double the number of LSPs in the network - which
may be highly undesirable for the SP.
Example 6: Another key benefit of E-LSPs has to do with scalability.
L-LSP or single OA per E-LSP will cause the number of LSPs in the
network to increase by a factor of at least two and in some cases,
three, four or larger. The number of LSPs is a scalability concern
for a number of reasons. Firstly, it increases the time required
during hitless restart. Secondly, it is of concern for RSVP state
management.
Another important advantage of E-LSPs is in the area of network
maintenance and administration. When trouble-shooting issues related
to a customer's traffic, it is easier for the network operator to
examine a single LSP instead of multiple LSPs.
1.3 Technical Requirements & Solutions for E-LSP based DS-TE
It is desirable to facilitate an E-LSP DS-TE approach where (i)
resources are reserved and signaled on a per-OA basis within an E-LSP
(ii) EXP bits are used to signal the PHB treatment for individual
Ganti, Seddigh, Nandy [Page 4]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
packets within the E-LSP (iii) Diffserv PHB mechanisms are used in
LSR routers to differentially treat the traffic within a single E-
LSP. (iv) IGP extensions to advertise reserved or available bandwidth
on a per-OA, PSC or per-class basis for each link.
[BITAR] addresses requirement (iv) above. It proposes IGP protocol
extensions that allow OSPF to advertise TE information either on a
per-class or per-class-type basis. The actual flooded information
corresponds to PSCs and groups of PSCs. The strength of this draft is
its flexibility. Thus, it allows advertisement of BW information for
EF, AF1x, AF2x etc, which can correspond to three different classes.
At the same time, it allows advertisement of aggregate BW information
for EF, AF and BE, which can correspond to 3 class types.
The currently missing piece is a proposal to address per-OA
signalling of bandwidth on a single E-LSP - requirement (i) above.
The current Diffserv-MPLS extensions allow only a single set of
traffic parameters to be signalled per LSP. e.g in RSVP-TE, it is
allowable to signal only a single Tspec. To support E-LSP, the
signalling protocols need to be extended to allow specification of
multiple traffic parameters. Further, there needs to be a means of
mapping these traffic parameters to an OA, PSC or class.
This document proposes RSVP-TE and CR-LDP extensions to facilitate
signaling of multiple per-OA traffic profiles on a single E-LSP.
This document uses the terms BA, OA, PSC, E-LSP, L-LSP, and PHB as
they are defined in [DIFF-MPLS] and [DIFFTERM].
2.0 Potential Solutions
2.1 Possible Solutions for RSVP-TE
To extend per-OA signaling of E-LSPs for RSVP, there are at least
three possible approaches. These are: 1) Creating a new E-LSP object,
2) Extending flowspec to signal Multiple FlowSpecs in a path message
and 3) Extending the existing DiffServ object [DIFF-MPLS] definition.
The first approach defines a new ELSP RSVP object to carry the
traffic profile parameters. This object must be present in both the
PATH and RESV messages. The second approach defines new SENDER_TSPEC
and FLOWSPEC object types (using a new C-Type) [RSVP] and allows
multiple such objects to be carried in the respective PATH and RESV
messages. The third approach modifies and extends the specification
of the DIFFSERV object as defined in [DIFFSERV-MPLS]. In addition, it
requires this object to be present in both the PATH and RESV
messages.
2.2 Possible Solutions for CR-LDP
To extend per-OA signaling of E-LSPS for CR-LDP, there are at least
two possible approaches: (i) Define a new ELSP TLV (ii) Modify the
existing Traffic Parameters TLV. The first approach would simply
Ganti, Seddigh, Nandy [Page 5]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
define a new optional TLV that would carry the per-OA traffic
parameters being signalled. In this approach, the new TLV could co-
exist with the old Traffic Parameter TLV which could be used to
signal traffic profiles for the entire E-LSP. The second approach
would require modifications to the CR-LDP specification to allow
multiple Traffic Parameter TLVs and would also require a modification
to the Traffic Parameter TLV itself.
2.3 Preferred Solution
For CR-LDP, the approach of defining a new optional ELSP TLV is the
preferred approach because it does not require any changes to the
existing Traffic Parameter TLV. Thus, implementations that do not
wish to signal per-OA traffic parameters can simply use the Traffic
Parameter TLV to signal per-LSP traffic parameters as is currently
the case.
For RSVP, the first approach of creating a new ELSP object will
ensure full backwards compatibility with previous definitions of
RSVP. The second approach of defining new object types for the
SENDER_TSPEC and FLOWSPEC objects warrants consideration as it reuses
an existing object by extending a new C-Type. These new objects can
also co-exist with a traditional SENDER_TSPEC and FLOWSPEC objects of
C-Type 1. However, there is a slight potential that it may break
existing RSVP implementations and in fact, the new object types have
slight differences with the old object types for SENDER_TSPEC and
FLOWSPEC. The third approach of modifying the proposed DIFFSERV
object [DIFF-MPLS] appears to be the least desirable. This last
approach would change the intended purpose of the DIFFSERV object,
would require significant modifications to the object and would
require the object to be present in the RESV message - something that
is not currently required.
Thus, the preferred approach to supporting per-OA signaling is to
specify a new ELSP object for RSVP and a new ELSP TLV for CR-LDP.
Such an approach would ensure a common solution for the two protocols
and appears to be the most likely way of ensuring backwards
compatibility with the existing protocol specification.
Subsequent sections define the proposed ELSP object and TLV for RSVP
and CR-LDP respectively. For completeness, the two alternative
solutions for RSVP extensions are captured in the Appendix. (These
solutions are described only for the sake of current reference and
may be deleted in future versions of this document.)
3. RSVP Extensions To Support Per-OA signaling on E-LSPs
In this section we describe RSVP extensions to support signaling of
per-OA traffic profiles in an E-LSP. A single PATH/RESV message pair
is used to signal traffic profiles for all the OAs in an E-LSP. The
extensions specified in this section only relate to E-LSPs and do not
apply to L-LSPs.
3.1 ELSP Object Definition
Ganti, Seddigh, Nandy [Page 6]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
To signal traffic profiles for multiple OAs in a single E-LSP, a new
ELSP object is defined. This object must be present in both the PATH
and RESV messages. E-LSPs that do not wish to signal traffic profiles
on a per-OA basis do not include this object. The ELSP object
specification is captured below.
ELSP Object:
class = TBD, C_Type = 1 (need to get an official class num from the
IANA with the form 0bbbbbbb)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | numTP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TP (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// ... //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TP (numTP) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Reserved : 28 bits
This field is reserved. It must be set to zero on transmission
and must be ignored on receipt.
numTP : 4 bits
Indicates the number of TrafficProfile entries included
in the E-LSP Object. This can be set to any
value from 0 to 8.
Each TP entry provides the Traffic Profile
associated with a PSC reservation for that E-LSP.
The TP entry has the following format:
Ganti, Seddigh, Nandy [Page 7]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1 | Reserved | PSC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2 | Token Bucket Rate [r] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3 | Token Bucket Size [b] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4 | Peak Data Rate [p] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5 | Minimum Policed Unit [m] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6 | Maximum Packet Size [M] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
The PSC is encoded as specified in [PHBID]. The traffic profile
parameters are the same as the basic Token Bucket parameters
originally defined for RSVP. Since this is a Diffserv enabled network
it is assumed that traffic profiles are only applied at the edge.
Thus, there is no need to convey the exact parameters used by the
marker at the domain edge. The parameters are signalled for admission
control purposes only.
If desired, the existing SENDER_TSPEC and FLOWSPEC objects MAY be
used to signal bandwidth requirements for the entire traffic
aggregate transmitted on an E-LSP. The ELSP specification does not
preclude this type of signaling.
3.2 Handling of ELSP Object
The ELSP object is optional with respect to RSVP.
To signal per-OA traffic profiles on an ELSP, a sender MUST include
the ELSP object in the PATH message. If the PATH message includes an
ELSP object, the receiver MUST insert an ELSP object in the RESV
message. The receiver MUST not include an ELSP object in the RESV
message if the PATH message did not include an ELSP object.
Each OA signaled in the ELSP object MUST have a corresponding set of
EXP<->PHB mappings that were either pre-configured or signaled via
the DIFFSERV object. If a node receives a PATH message with a ELSP
object containing one or more OA traffic profiles without existing
EXP<->PHB mappings, it should fail the reservation request for all
the signaled OAs. In this case, the node SHOULD generate a PATH_ERR
message with error value of 'Unsupported PSC'.
A TE solution seeking to use preconfigured EXP<->PHB mapping with
signaled per-OA traffic profiles would send a PATH message without
the DIFFSERV object but with the ELSP object.
A TE solution with signaled EXP<->PHB mapping and signaled per-OA
traffic profiles would send a PATH message with both the DIFFSERV and
ELSP objects. The DIFFSERV object should include a corresponding
Ganti, Seddigh, Nandy [Page 8]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
entry for each signaled OA in the ELSP object.
A sender SHOULD not include an ELSP object with 0 TP entries in the
PATH message. Such an object SHOULD be ignored by intermediate LSRs
and the receiving LER.
A node that receives a PATH message with an ELSP object but which
does not support per-OA resource reservation SHOULD generate a
PATH_ERR message with error value: "Unsupported object".
If an LSR rejects a resource reservation for a particular OA signaled
in an ELSP, it SHOULD consider the resource reservation to have
failed for the entire ELSP. In this case, it SHOULD generate a
RESV_ERR message with error value "Admission Control Failure for an
OA".
3.3 RSVP Error Codes Related to the ELSP Object
The errors described in the previous section should be reported with
the error code for an 'ELSP Error' - this code is to be allocated by
IANA.
The following error values are valid for the 'ELSP Error' error code:
Value Error
----- -----
1 Admission Control Failure for an OA
2 Unsupported ELSP Object
3 Unsupported PSC for per-OA signaled E-LSP
4.0 LDP Extensions
The [DIFF-MPLS] draft extended the LDP messages by defining a new
Diff-Serv TLV. This draft introduces a new optional TLV called ELSP
TLV for the purpose of per-OA signaling with E-LSPs. The TLV is
intended to be used only with E-LSPs and not with L-LSPs.
The ELSP TLV is optional with respect to LDP. Handling of the Diff-
Serv TLV should follow the rules specified in [DIFF-MPLS]. It is
expected that for each OA signaled in the ELSP TLV there will be a
corresponding set of EXP<->PHB mappings that were either pre-
configured or signaled via the DIFFSERV TLV.
4.1 ELSP TLV
The ELSP TLV has the following format:
Ganti, Seddigh, Nandy [Page 9]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| ELSP (0x910) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | numTP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TP (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TP (numTP) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Reserved : 28 bits
This field is reserved. It must be set to zero on transmission
and must be ignored on receipt.
numTP : 4 bits
Indicates the number of TrafficProfile entries included
in the ELSP TLV. This can be set to any value from 0 to 8.
TP entry:
Each TP entry provides the Traffic Profile
associated with a PSC reservation for that E-LSP.
The TP entry has the following format (similar to Traffic
parameters TLV of [CR-LDP]):
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | PSC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Frequency | Reserved | Weight |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Data Rate (PDR) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peak Burst Size (PBS) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Committed Data Rate (CDR) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Committed Burst Size (CBS) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Excess Burst Size (EBS) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The PSC is encoded as specified in [PHBID]. The remaining parameters
are as specified in the traffic parameters TLV of CR-LDP [CR-LDP].
4.2 LDP Messages
The Label Request, Label Mapping and Notification messages are
Ganti, Seddigh, Nandy [Page 10]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
extended to optionally contain the ELSP TLV. In addition, new status
codes are defined in the status code field of the Status TLV.
4.3 Handling of the ELSP TLV
4.3.1 Handling of the ELSP TLV in Downstream Unsolicited Mode
The ELSP TLV is only meaningful in Downstream on Demand mode and so
should not be used with Downstream Unsolicited mode
4.3.2 Handling of the ELSP TLV in Downstream on Demand Mode
This section describes operations when the Downstream on Demand Mode
is used. The ELSP TLV should be used only if the EXP<->PHB mapping is
either pre-configured or signaled via the DIFFSERV TLV.
An upstream LSR seeking to use preconfigured EXP<-->PHB mapping and
signaled per-OA traffic profiles, would send a Label Request message
without the Diff-Serv TLV, but with an ELSP TLV.
An upstream LSR seeking to use signaled EXP<-->PHB mapping and
signaled per-OA traffic profiles, would send a Label Request message
with both the Diff-Serv and ELSP TLVs included. The DIFFSERV TLV
should include one MAP entry for each corresponding traffic profile
signalled via the ELSP TLV.
A downstream Diff-Serv LSR sending a Label Mapping message in
response to a Label Request message for an E-LSP should include the
ELSP TLV.
A downstream Diff-Serv LSR receiving a Label Request message with the
ELSP TLV for an E-LSP containing a PSC value which is not supported,
must reject the request by sending a Notification message which
includes the Status TLV with a Status Code of `Unsupported PSC'.
A downstream Diff-Serv LSR that recognizes the ELSP TLV Type in a
Label Request message but is unable to grant the reservation request
for one of the OAs signaled in the ELSP TLV, must reject the entire
request and send a Notification message which includes the Status TLV
with a Status Code of `Resource Unavailable for an OA reservation
request'.
A downstream Diff-Serv LSR that recognizes the ELSP TLV Type in a
Label Request message and supports the requested PSC but is not able
to satisfy the label request for other reasons (e.g. no label
available), must send a Notification message in accordance with
existing LDP procedures [LDP] (e.g. with a `No Label Resource' Status
Code). This Notification message must include the requested ELSP TLV.
4.4 Non-Handling of the ELSP TLV
An LSR that does not recognize the ELSP TLV Type, on receipt of a
Label Request message or a Label Mapping message containing the ELSP
Ganti, Seddigh, Nandy [Page 11]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
TLV, must behave in accordance with the procedures specified in [LDP]
for an unknown TLV whose U Bit and F Bit are set to 0 i.e. it must
ignore the message, return a Notification message with `Unknown TLV'
Status.
4.5 E-LSP Status Code Values
The following values are defined for the Status Code field of the
Status TLV:
Status Code E Status Data
Unexpected ELSP TLV 0 0x01000010
Unsupported PSC 0 0x01000011
Resource Unavailable for an OA resv req 0 0x01000012
5.0 Security Considerations
This document does not introduce any new security issues beyond those
inherent in Diff-Serv, MPLS and RSVP, and may use the same mechanisms
proposed for those technologies.
6.0 Acknowledgements
This work has benefitted from mailing list and offline discussion
involving Jim Boyle, Shahram Davari, Neil Harrison and Roberto
Mameli.
7.0 References
[BITAR] Bitar N et al, "Traffic Engineering Extensions to OSPF",
Internet Draft, <draft-bitar-rao-diffserv-mpls-01.txt>,
July 2001
[RSVP] Braden et al, "Resource Reservation Protocol - Version 1
Functional Specification", RFC 2205, September 1997
[INTSERV] Wroclawski J, "Use of RSVP with IETF Integrated
Services", RFC 2210, September 1997
[INTCHAR] Shenker S et al, "General Characterization Parameters for
Integrated Services Network Elements", RFC 2215,
September 1997
[DIFF-MPLS] Rosen E et al, "MPLS Support of Differentiated Services"
draft-ietf-mpls-diff-ext-08.txt, February 2001.
[DIFFTERM] Grossman D, "New Terminology for Diffserv", Internet
Draft, draft-ietf-diffserv-new-terms-04.txt, March 2001
[RSVP-TE] Awduche et al, "RSVP-TE: Extensions to RSVP for
LSP Tunnels", Internet draft,
<draft-ietf-mpls-rsvp-lsp-tunnel-08.txt>, February 2001
Ganti, Seddigh, Nandy [Page 12]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
[CR-LDP] Jamoussi et al, "Constraint-Based LSP Setup using LDP",
Internet Draft, draft-ietf-mpls-cr-ldp-05.txt,
February 2001.
[PHBID] Brim S et al, "Per Hop Behaviour Identification Code",
RFC 2836, May 2000.
[DS-TE-REQ] Le Faucheur F et al, "Requirements for support of
Diff-Serv-aware MPLS Traffic Engineering",
draft-ietf-tewg-diff-te-reqts-01.txt, June 2001.
[DS-CT] Le Faucheur F et al, "Protocol Extensions for support of
Diffserv-Aware MPLS Traffic Engineering,
draft-lefaucheur-diff-te-proto-00.txt, July 2001
[KOMPELLA] Kireeti Kompella, "Bandwidth Accounting for Traffic
Engineering", draft-kompella-tewg-bw-acct-00.txt,
July 2001.
[BOYLE] Jim Boyle, "Accomplishing Diffserv TE needs with
current specifications", draft-boyle-tewg-ds-nop-00.txt,
July 2001.
7.0 Author's Address
Sudhakar Ganti
Tropic Networks Inc.
135 Michael Cowpland Drive
Kanata, Ontario, Canada, K2M 2E9
Email: sganti@tropicnetworks.com
Nabil Seddigh
Tropic Networks Inc.
135 Michael Cowpland Drive
Kanata, Ontario, Canada, K2M 2E9
Email: nseddigh@tropicnetworks.com
Biswajit Nandy
Tropic Networks Inc.
135 Michael Cowpland Drive
Kanata, Ontario, Canada, K2M 2E9
Email: bnandy@tropicnetworks.com
A.0 Appendix: Other approaches to signal E-LSP
This appendix captures the two other ways in which RSVP can be
extended to support per-OA signaling for E-LSPs. The approaches are
described below.
A.1 First Approach - New object type for FLOWSPEC & SENDER_TSPEC
Objects
In this second approach to signaling multiple OAs on single E-LSP, we
propose an extension to the FLOWSPEC and SENDER_TSPEC objects.
Ganti, Seddigh, Nandy [Page 13]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
Specifically, new object types (C-Type) are defined for both of these
objects. Thus, a PATH message would have one such new SENDER_TSPEC
object per OA for which it wishes to signal bandwidth requirements.
Conversely, a RESV message would have one such new FLOWSPEC object
per OA for which bandwidth is being signaled. The PATH and RESV
messages can still use a single SENDER_TSPEC and FLOWSPEC object with
Intserv C-Type to signal the bandwidth requirement for the entire
traffic aggregate of this E-LSP. Such an object will be relevant to
admission control for the entire aggregate and will not be related to
a specific PSC, PHB or OA.
A description of the new SENDER_TSPEC and FLOWSPEC types is given
below.
New Object Type for FLOWSPEC
FLOWSPEC class = 9.
o Reserved (obsolete) flowspec object: Class = 9, C-Type = 1
o Int-serv Flowspec object: Class = 9, C-Type = 2
o E-LSP Per PSC Flowspec object: Class=9; C-Type=3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1 | 0 (a) | reserved | 7 (b) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2 | (c) | 6 (d) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3 | 127 (e) | 0 (f) | 5 (g) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4 | Token Bucket Rate [r] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5 | Token Bucket Size [b] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6 | Peak Data Rate [p] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
7 | Minimum Policed Unit [m] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8 | Maximum Packet Size [M] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(a) - Message format version number (0)
(b) - Overall length (7 words not including header)
(c) - PSC - Indicates the PHB Scheduling Class the traffic
profile applies to; Encoding as specified in
[PHBID]
(d) - Length of service 1 data, 6 words not including header
(e) - Parameter ID, parameter 127 (Token_Bucket_TSpec)
(f) - Parameter 127 flags (none set)
(g) - Parameter 127 length, 5 words not including header
Essentially, the above data structure is similar to the original Intserv
Ganti, Seddigh, Nandy [Page 14]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
FLOWSPEC object except that the service field is replaced
with the PSC field.
New Object Type for SENDER_TSPEC
SENDER_TSPEC class = 12
o Intserv Sender_Tspec object: Class = 9, C-Type = 2
o E-LSP Per PSC Sender_Tspec object: Class=9; C-Type=3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1 | 0 (a) | reserved | 7 (b) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2 | (c) | 6 (d) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3 | 127 (e) | 0 (f) | 5 (g) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4 | Token Bucket Rate [r] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5 | Token Bucket Size [b] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6 | Peak Data Rate [p] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
7 | Minimum Policed Unit [m] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8 | Maximum Packet Size [M] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(a) - Message format version number (0)
(b) - Overall length (7 words not including header)
(c) - PSC - Indicates the PHB Scheduling Class the traffic
profile applies to; Encoding as specified in
[PHBID]
(d) - Length of service 1 data, 6 words not including header
(e) - Parameter ID, parameter 127 (Token_Bucket_TSpec)
(f) - Parameter 127 flags (none set)
(g) - Parameter 127 length, 5 words not including header
Essentially, the above data structure is similar to the original
Intserv SENDER_TSPEC object except that the service field is replaced
with the PSC field.
A.2 Third Approach - Modifying the DIFFSERV object
The third approach to signal bandwidth requirements for multiple OAs
in a single E-LSP relies on extensions to the DIFFSERV object.
Currently, the DIFFSERV object specifies mapping between EXP bits and
PHBs. We extend it to specify traffic profiles on a per PSC basis.
Flexibility occurs because the solution allows for support of
multiple configuration options as described in [DIFFSERV-MPLS]. In
addition, where desired, the DIFFSERV object will contain a number of
Ganti, Seddigh, Nandy [Page 15]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
entries to indicate the traffic profiles on a per-PSC basis.
The only other requirement is that when signaling per-OA bandwidth
requirements, the DIFFSERV object must be included in both the PATH
and the RESV message.
As with the previous two approaches, the SENDER_TSPEC and FLOWSPEC
objects can still be used to signal the bandwidth requirements for
the entire aggregate E-LSP traffic.
This section describes the changes to the <DIFFSERV> object of an E-
LSP [Diff-MPLS]. All the message formats or other object definitions
remain the same.
The DIFFSERV object formats are shown below. Currently there are two
possible C_Types. Type 1 is a DIFFSERV object for an E-LSP. Type 2 is
a DIFFSERV object for an L-LSP.
DIFFSERV object for an E-LSP:
class = TBD, C_Type = 1 (need to get an official class num from the
IANA with the form 0bbbbbbb)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | nTP | nb |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAP (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// ... //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAP (MAPnb) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TP (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// ... //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TP (nTP) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Reserved : 26 bits
This field is reserved. It must be set to zero on transmission
and must be ignored on receipt.
nb : 4 bits
Indicates the number of MAP entries included in the DIFFSERV
Object. This can be set to any value from 0 to 8.
Ganti, Seddigh, Nandy [Page 16]
INTERNET DRAFT draft-ganti-mpls-diffserv-elsp-01.txt May 2002
nTP: 4 bits
Indicates the number of Traffic Profile entries (each Traffic
Profile signals the bandwidth requirement for an OA.
MAP : 32 bits
The MAP entry remains as defined in [MPLS-DIFFSERV].
TP : 256 bits
The format of each TP is as follows:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1 | 0 (a) | reserved | 7 (b) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2 | (c) | 6 (d) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3 | 127 (e) | 0 (f) | 5 (g) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4 | Token Bucket Rate [r] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5 | Token Bucket Size [b] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6 | Peak Data Rate [p] (32-bit IEEE floating point number) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
7 | Minimum Policed Unit [m] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8 | Maximum Packet Size [M] (32-bit integer) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(a) - Message format version number (0)
(b) - Overall length (7 words not including header)
(c) - PSC - Indicates the PHB Scheduling Class the traffic
profile applies to; Encoding as specified in
[PHBID]
(d) - Length of service 1 data, 6 words not including header
(e) - Parameter ID, parameter 127 (Token_Bucket_TSpec)
(f) - Parameter 127 flags (none set)
(g) - Parameter 127 length, 5 words not including header
Ganti, Seddigh, Nandy [Page 17]