Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering
Extracted elements (28)
Existing TE is a special case of DS-TE where a single Class-Type (CT0) is used with all 8 preemption priorities and the TE-Class mapping is TE-Class[i] <--> <CT0, preemption i>. This design ensures backward compatibility and allows DS-TE LSRs to interwork directly with non-DS-TE LSRs without requiring CLASSTYPE objects for CT0 LSPs.
The Unreserved Bandwidth sub-TLV is retained as the sole vehicle for dynamic bandwidth information for constraint-based routing, but its semantics are generalized so that the eight values correspond to TE-Classes rather than raw preemption priorities. This avoids mandatory IGP changes while enabling per-CT bandwidth differentiation.
In hybrid networks with DS-TE and non-DS-TE LSRs, the TE-Class mapping MUST include a TE-Class for CT0 at each preemption priority used in the TE domain, with the TE-Class index equal to the preemption priority. Non-DS-TE LSRs ignore the Bandwidth Constraints sub-TLV and must be able to accept Unreserved Bw sub-TLVs containing non-decreasing bandwidth values.
A DS-TE implementation MUST provide for configuration of up to 8 Bandwidth Constraints (BC0 through BC7) on every link, and the LSR MUST interpret these BCs in accordance with the supported Bandwidth Constraints Model.
A DS-TE LSR MUST support the admission control rule: an LSP of bandwidth B, setup priority p, and Class-Type CTc is admissible on a link if and only if B <= Unreserved Bandwidth for TE-Class[i], where TE-Class[i] maps to <CTc, p>.
A DS-TE LSR MUST support the Unreserved Bandwidth sub-TLV with generalized semantics: the eight values now correspond to unreserved bandwidth for each of the eight TE-Classes (not preemption priorities), and a DS-TE LSR MUST NOT assume any ordered relationship among these values.
A DS-TE LSR that does advertise BCs MUST use the new 'Bandwidth Constraints' sub-TLV in addition to the existing Maximum Reservable Bandwidth sub-TLV. Advertising BCs is optional (MAY), but when done the new sub-TLV is required.
An LSR that does not recognize the CLASSTYPE object Class-Num MUST send a PathErr with error code 'Unknown object class' toward the sender, causing path setup to fail.
DS-TE LSRs MUST allow configuration of a TE-Class mapping whereby the Class-Type and preemption level are configured for each of up to 8 TE-Classes, and two TE-Classes MUST NOT be identical (i.e., have both the same Class-Type and same preemption priority).
DS-TE LSRs MUST consider the holding preemption priority of established LSPs (not their setup preemption priority) for the purpose of computing the unreserved bandwidth for TE-Class[i].
Each LSR along the path MUST record the CLASSTYPE object in its path state block when present, and MUST associate Class-Type 0 to the LSP if the CLASSTYPE object is absent.
If a Path message contains multiple CLASSTYPE objects, only the first one is meaningful; subsequent CLASSTYPE objects MUST be ignored and MUST NOT be forwarded.
If an unused TE-Class[i] exists, the value advertised in 'Unreserved TE-Class [i]' MUST be set to zero by the generating LSR and MUST be ignored by the receiving LSR.
If the LSP is associated with Class-Type 0, the sender LSR MUST NOT include the CLASSTYPE object in the Path message, enabling backward compatibility with non-DS-TE LSRs. For Class-Type N (1–7), the sender MUST include the CLASSTYPE object with CT field set to N.
The destination LSR MUST NOT include a CLASSTYPE object in the Resv message, regardless of whether the Path message contained one.
The existing 'Maximum Reservable Bandwidth' sub-TLV MUST now be interpreted as the aggregate bandwidth constraint across all Class-Types, such that SUM(Reserved(CTc)) <= Max Reservable Bandwidth, independently of the Bandwidth Constraints Model.
The network administrator MUST configure exactly the same TE-Class mapping on all LSRs of the DS-TE domain to ensure coherent DS-TE operation.
When supporting both DS-TE and other MPLS protocol extensions, an implementation MUST treat references to 'preemption priority' as encoding the corresponding TE-Class, and advertisements of Maximum Reservable Bandwidth MUST use the generalized interpretation as the aggregate bandwidth constraint across all Class-Types.
With DS-TE, the preemption priority configured for both the setup priority and holding priority of a given LSP, together with its Class-Type, MUST each form one of the up to 8 TE-Classes in the TE-Class mapping; the LSR MUST enforce these rules at configuration time.
Class-Type (CT) is the set of Traffic Trunks crossing a link governed by a specific set of bandwidth constraints, used for link bandwidth allocation, constraint-based routing, and admission control. A given Traffic Trunk belongs to the same CT on all links.
TE-Class is a pair of (i) a Class-Type and (ii) a preemption priority allowed for that Class-Type. An LSP transporting a Traffic Trunk from that Class-Type can use that preemption priority as the setup priority, the holding priority, or both.
The CLASSTYPE RSVP object (Class Number 66, C-Type 1) carries a 3-bit CT field in the least-significant bits of a 32-bit word, with the upper 29 bits reserved and set to zero. It is used in Path messages to signal the Class-Type of the LSP being established.
The 'Diffserv-aware TE Error' RSVP error code (value 28) is defined with 8 error values: 1=Unexpected CLASSTYPE object, 2=Unsupported Class-Type, 3=Invalid Class-Type value, 4=CT and setup priority do not form a configured TE-Class, 5=CT and holding priority do not form a configured TE-Class, 6=both setup and holding priority mismatch, 7=Inconsistent PSC and CT, 8=Inconsistent PHBs and CT.
IANA created a new name space for Bandwidth Constraints Model Identifiers (1 octet): values 0–239 are assigned via 'Specification Required' policy; values 240–255 are reserved for Private Use.
IANA created a new name space for Error Values under the 'Diffserv-aware TE Error' RSVP error code (28). Values 1–8 are defined in this document; future values require 'Specification Required' policy. The Bandwidth Constraints sub-TLV type 17 is assigned for OSPF and type 22 for ISIS; CLASSTYPE object is assigned Class-Number 66.
DS-TE does not introduce additional security threats beyond those of Diffserv (RFC 2475) and MPLS Traffic Engineering. Defense against theft- and denial-of-service attacks relies on traffic conditioning at DS boundary nodes combined with security and integrity of the network infrastructure. Manipulation of administratively configurable DS-TE parameters (e.g., TE-Class mapping, BCs) must be performed in a secure manner by authorized entities.
The 'Bandwidth Constraints' sub-TLV consists of a 1-octet Bandwidth Constraints Model Id, a 3-octet Reserved field, and N×4-octet Bandwidth Constraints (BC0 through BCh), each encoded as a 32-bit IEEE floating point value in bytes per second. Sub-TLV type 17 for OSPF Link TLV and type 22 for ISIS Extended IS Reachability TLV.
The CLASSTYPE object is a 32-bit field: bits 0–28 are Reserved (MUST be set to zero on transmission, MUST be ignored on receipt), and bits 29–31 carry the CT value (3 bits, values 1–7; value 0 is reserved).