NetworkTE Working Group Nabil Bitar
Internet Draft Roshan Rao
Expiration Date: September December 2001 Karthik Muthukrishnan
Lucent Technologies Inc.
March
July 2001
Traffic Engineering Extensions to OSPF
draft-bitar-rao-ospf-diffserv-mpls-00.txt
draft-bitar-rao-ospf-diffserv-mpls-01.txt
Status
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.
Abstract
This document describes extensions to the traffic engineering opaque
LSA to mainly support differentiated services (Diffserv) and
Multiprotocol Label Switching (MPLS).
1. Introduction
In [1], a new OSPF Link State Advertisement (LSA), called the Traffic
Engineering LSA (TE-LSA), was defined. This LSA advertises the link
maximum and reservable bandwidth as well as the un-reservable
bandwidth at each of 8 priority levels.
This document defines new Link sub-TLV extensions to those defined in
[1] in order to support differentiated services and MPLS. The need or
requirements to provide such support in OSPF and IS-IS are discussed
in details detail in [2]. Differentiated services (Diffserv) enable the
support of different per-hop behaviors (PHBs) [3] on a link. These
per-hop behaviors enable packets passing through a link to get
different forwarding treatment depending on the behavior aggregate to
which they belong. Each behavior aggregate maps to a PHB. MPLS-aware
switches/routers (LSRs), that implement the Diffserv extensions to
MPLS [4], will be able to request and setup label-switched paths
(LSPs) that carry different behavior aggregates. At routers, the
label and/or EXP field of the top label in the shim header of a
labeled packet indicates the behavior aggregate to which the labeled
packet belongs. A Label Edge Router (LER) that initiates the setup of
an LSP and requests certain PHB(s) to be applied to that LSP should
be able to select a path through the network that is most likely to
satisfy its traffic engineering requirement, including the requested
PHB(s). This selection should be based on the state of the network,
i.e. link support for PHBs, bandwidth per link or per Diffserv class
etc. OSPF and IS-IS, as link state protocols, are perfectly suited to
distribute such information in the network. This document proposes
how encoding of such information can be done by extending the TE-LSA
defined in [1]. Some extensions similar to those proposed in this
document were proposed in [5]. However, this document defines the
actual encoding of these extensions based on the PHBIDs defined in
[6] as opposed to the class-type suggested in [5]. PHBIDs are used
to identify Diffserv PHB/PHB-groups in a standard way. Additionally,
the encoding proposed in this document can be looked at as defining
the class type in [5] as a concatenation of PHBIDs.
In addition to defining sub-TLVs that relay the link support for
Diffserv, a new Link sub-TLV is defined to advertise the MPLS
capability and the state of MPLS-related resources for that link.
Modifications to some
It is also proposed that the Maximum reservable Bandwdth Link sub-TLVs sub-TLV
defined in [1] are also proposed. be modified.
This document does not discuss how the actual route selection for an
LSP can be done. Route computation will be the subject of another
discussion.
2. TLV format
This document adopts the TLV format used in [1].
3. Link TLV
This document defines sub-TLVs to be encoded in the value field of
the link TLV defined in [1]. The following sub-TLVs are defined:
1- Diffserv Available Bandwidth
2- Oversubscription
3- Diffserv Capability
4- Diffserv Max Delay
5- Link Propagation Delay
6- Priority Reserved Bandwidth
7- Link Capability/Resources
8- Link-data TLV
All the sub-TLVs defined in this document are optional. However, a
router must support all Diffserv TLVs or none. Each sub-TLV may occur
only once. Unrecognized types are ignored but still flooded.
Modifications
A Modification to the following sub-TLVs the defnition of the Maximum Reservable
Bandwidth sub-TLV defined in [1] are is also proposed:
1- Local Interface IP Address
2- Maximum Reservable Bandwidth
3.1 Diffserv Available Bandwidth
The Diffserv Available Bandwidth sub-TLV is used to advertise the
available bandwidth for each PHB/PHB group or set of PHB/PHB-groups
configured on the advertised link from the advertising router
direction. In the latter case, a set of PHB/PHB groups is allocated
a sharable bandwidth chunk of the link. Each PHB or PHB group is
identified by a 16-bit PHB identifier (PHBID) [6]. The absence of a
PHBID from this sub-TLV can be interpreted to mean that the
particular PHB group is not supported on that link unless it is
advertised in the Diffserv capability TLV. Routing can take
advantage of this information in selecting a path for an LSP that
desires a particular PHB. The Diffserv available bandwidth sub-TLV
has
type 10. is TBD. Its value consists of a sequence of elements where
each element has the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|#PHB=n | Oversubscription | Available Bandwidth |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Available bandwidth(cont.) | PHBID1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ---------- | PHBIDn |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Each PHBID field is encoded according to RFC 2836 [6]. The bandwidth
value is encoded in IEEE floating point format and it is in units
of bytes per second. The available bandwidth is what is available
for reservation for the accompanying PHB, PHB group or set of
PHBs/PHB-groups advertised in each element. In the latter case, it
is assumed that a set of PHB/PHB groups advertised in one element
are allocated the same bandwidth chunk and have the same
oversubscription factor. Thus, allocating bandwidth X on the
advertised link for any of the listed PHB/PHB groups in that
element will decrease the available bandwidth for each of the
PHB/PHB groups in this list by X. The sum of all advertised
available bandwidths may exceed the actual link bandwidth as PHBs
or PHB groups can be oversubscribed. The advertised available
bandwidth factors in the over-subscription factor for a PHBID.
The oversubscription factor is included separately as it could be
used as a qualifier in selecting an LSP route (i.e. a route whose
link oversubscription for a PHB does not exceed a certain value).
The 10-bit over-subscription factor is encoded in percentage as an
unsigned integer value with a maximum value of 1023.
The number of elements advertised in each sub-TLV can be deduced
from the sub-TLV length and the #PHB field(s). Each element has
length (6 + n * 2) bytes, where 6 bytes account for the #PHB,
oversubscription and the available bandwidth fields, and n is the
number of PHBIDs advertised in that element.
3.2 Over-Subscription
A Link TLV that includes the Over-Subscription sub-TLV MUST also
include the Maximum Reservable Bandwidth sub-TLV as proposed to be
defined in Section 3.11 3.8 and is correlated with it. The
Over-Subscription sub-TLV is type 11 and it is TBD. It is encoded in percentage
as a 16-bit integer value using the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Over-subscription factor | Reserved =0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Over-Subscription sub-TLV length is 4 bytes.
3.3 Diffserv Capability
The Diffserv Capability sub-TLV has type 12. is TBD. It is used to advertise
the PHB/PHB groups supported on a link. Its value consists of a
sequence of PHBIDs as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PHBID1 | PHBID2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ------ | ------ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ------ | PHBIDn |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Remember that the TLV must be 4-byte aligned. Thus, if n is odd, the
last 2 bytes will be padding bytes that are not included in the TLV
length. The PHBID field is encoded according to RFC2836. The number
of PHBIDs can be deduced from the length. If a PHBID is included in
an element in the Diffserv Available Bandwidth sub-TLV, it does not
need to be included in the Diffserv Capability sub-TLV. The Diffserv
Capability sub-TLV is used when it is desirable to advertise the
support for a PHB or a set of PHBs without advertising the bandwidth
associated with them.
3.4 Maximum Delay
It is sometimes desired to select a route for an LSP that satisfies
a delay variation and/or delay requirement. These requirements can
be imposed by the application(s) whose packets are to be transported
in that LSP. An operator may want to configure a Diffserv PHB/PHB
group that will be applied to such packets. Therefore, it becomes
important to advertise the maximum delay associated with that
PHB/PHB group at each link. When setting up an LSP with certain
delay/delay variation requirement, this maximum delay can be used
as a metric to select the LSP path. The Maximum delay advertised in
this sub-TLV is only due to queuing delay. The delay variation is
considered to be the same as maximum delay.
The Maximum Delay TLV is type 13. is TBD. It is used to advertise the
maximum queuing delay that can be encountered by a packet that
belongs to a behavior aggregate corresponding to the associated
PHBID. Its value consists of a sequence of 4-octet elements where
each element has the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PHBID | Max Delay value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Max Delay value is specified as an unsigned-integer in units of
microsecond. Thus, maximum delay can be 65536 microseconds. The
length field in the sub-TLV will be equal to (4* number of
advertised elements).
3.5 Link Propagation Delay
The Link Propagation Delay sub-TLV is type 14. It is 4-octet TBD. The delay value is
4 octets encoded in the value field of the sub-TLV in IEEE floating
point format. It is in units of microseconds.
3.6 Priority Reserved Bandwidth
This sub-TLV advertises the reserved bandwidth at each of the eight
priority levels specified in CR-LDP [7] and RSVP-TE [8]. An operator
may configure PHB(s)/PHB groups to have fixed allocations of the
bandwidth while allow others to share the remaining bandwidth or
chunks of the bandwidth. In addition, an operator can configure
certain priority levels but not all for certain PHB groups. In this
latter case, it makes sense to advertise the reserved bandwidth for
each of the configured priorities per PHB/PHB-group. When a set of
PHB/PHB-groups is advertised to have a sharable bandwidth (i.e.
as a set), the reserved bandwidth per priority level applies to the
set not to individual PHBs/PHB-groups.
This TLV is type 15. is TBD. Its value consists of a sequence of elements
where each element has the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| #PHBID = n| Re| pri bit map | Reserved Bandwidth 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved Bandwidth 1 (cont.) | ------------ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ---------- | ------------- |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ---------- | Reserved Bandwidth k |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved Bandwidth k (cont) | PHBID1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| --------------- | PHBIDn |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The priority bit map (pri bit map) corresponds to the priority level
with the most significant bit corresponding to priority 0 and the
least significant bit corresponding to priority 7. If the bit is
cleared, the corresponding priority level is not supported. If the
bit is set, the corresponding priority level is supported. For those
supported priority levels, the reserved bandwidth is listed in
decreasing priority order (i.e. starting with 0 down to 7). The
number of reserved bandwidth fields can be obtained by summing up
the number of 1's in the bit map.
3.7 Link Capability/Resources
The Link Capability/Resources sub-TLV has type 16. is TBD. Its value is a
32-bit map with the following defined bits:
Bit 0 (most significant bit): corresponds to MPLS-specific
resources on the link (e.g., out of labels, out of memory). It
is set when a resource essential to the setup of an LSP is
exhausted.
Bit 31: set to 1 if the router supports RSVP-TE. It is clear
otherwise.
Bit 30: set to 1 if the router supports CR-LDP. It is clear
otherwise.
3.8 Link Data
The Link Data sub-TLV is type 17 and has a 4-octet long value. It
specifies the local interface IP address on numbered links.
On unnumbered links, the Link Data sub-TLV specifies the IfIndex of
the interface. How the IfIndex is generated is vendor-specific as
long as it is unique on the advertising router. This information is
what would be contained in the link data part of a link advertised
in the router LSA. It is needed to uniquely associate a TE-TLV with
a link listed in the router LSA of the advertising router.
3.9 Local Interface IP Address
This documents proposes that the Local Interface IP Address sub-TLV
defined in [1] be omitted if the Link Data sub-TLV is accepted and
made mandatory.
3.10 Maximum Reservable Bandwidth
According to [1], the Maximum Reservable Bandwidth sub-TLV (type-7)
specifies the maximum bandwidth that may be reserved on this link in
this direction, in IEEE floating point format. It is proposed that
this sub-TLV advertise the maximum reservable bandwidth, including
oversubscription, on the link excluding what is advertised in the
Diffserv available bandwidth TLVs if any.
4. Elements of Procedure
This document adopts the elements of procedures in [1] but proposes
to eliminate the statement "No SPF or other route calculation are
necessary" in [1]. Whether SPF or other routing computations are to
be carried out upon reception of a type-10 LSA will depend on the
router capabilities in supporting the TE extensions and its
configuration, an implementation issue. Consistent routing behavior
is probably better attained if all routers in a domain use the same
criteria and algorithms for computing their routing tables. Routers
shall reoriginate Traffic Engineering LSAs, other than normal
refreshes, whenever there is a significant change in the advertised
information that was previously advertised by these LSAs.
5. Security Considerations
This document raises no new security issues for OSPF.
6. References
[1] Katz, Dave and Yeung, Derek, "Traffic Engineering Extensions to
OSPF," draft-katz-yeung-ospf-traffic-03.txt, September 2000. draft-katz-yeung-ospf-traffic-04.txt, February 2001.
[2] Le Faucheur et. al., "Requirements for support of
Diff-Serv-aware MPLS Traffic Engineering," draft-ietf-mpls-diff- draft-ietf-tewg-diff-
te-reqts-00.txt," November 2000. February 2001.
[3] Blake, S. et. al., "An Architecture for Differentiated Services,"
RFC 2475, December 1998.
[4] Le Faucheur et. al., "MPLS Support of Differentiated Services,"
draft-ietf-mpls-diff-ext-08.txt, February 2001.
[5] Le Faucheur et. al., " Extensions to OSPF for support of
Diff-Serv-aware MPLS Traffic Engineering," draft-lefaucheur-diff-
te-ospf-01.txt, November 2000. draft-ietf-ospf-diff-
te-00.txt, February 2001.
[6] Brim, S. et al, "Per Hop Behavior Identification Codes,"
RFC 2836, May 2000.
[7] Jamoussi, B. et. al. "Constraint-Based LSP Setup using LDP,"
draft-ietf-mpls-cr-ldp-05.txt, February 2001.
[8] Awduche, D. et al, "RSVP-TE: Extensions to RSVP for LSP Tunnels,"
draft-ietf-mpls-rsvp-lsp-tunnel-08.txt, February 2001.
Authors' addresses:
Nabil Bitar
Lucent Technologies
1 Robbins Road,
Westford, MA 01889
USA
E-mail: nbitar@lucent.com
Roshan Rao
Lucent Technologies
1 Robbins Road,
Westford, MA 01889
USA
E-mail: rrao@lucent.com
Karthik Muthukrishnan
Lucent Technologies
1 Robbins Road,
Westford, MA 01889
USA
E-mail: mkarthik@lucent.com