rfc-4124

Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering

F. Le Faucheur (Editor)
date2005-06 streamIETF areasub wgtewg statusPROPOSED STANDARD pages37 canonicalhttps://www.rfc-editor.org/rfc/rfc4124 doi10.17487/RFC4124
This document specifies the protocol extensions for support of Diffserv-aware MPLS Traffic Engineering (DS-TE). This includes generalization of the semantics of a number of Interior Gateway Protocol (IGP) extensions already defined for existing MPLS Traffic Engineering in RFC 3630, RFC 3784, and additional IGP extensions beyond those. This also includes extensions to RSVP-TE signaling beyond those already specified in RFC 3209 for existing MPLS Traffic Engineering. These extensions address the requirements for DS-TE spelled out in RFC 3564. [STANDARDS-TRACK]

Extracted elements (28)

design-rationale §10

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.

mpls, diffserv, qos

design-rationale §5.2

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.

mpls, diffserv, routing, qos

interoperability-note §Appendix C

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.

mpls, diffserv, qos

normative-requirement §4.1.1 MUST

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.

mpls, diffserv, qos

normative-requirement §11.2 MUST

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>.

mpls, diffserv, qos

normative-requirement §5.2 MUST

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.

mpls, diffserv, qos

normative-requirement §5.1 MUST

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.

mpls, diffserv, qos

normative-requirement §6.4 MUST

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.

mpls, diffserv, qos

normative-requirement §4.2.1 MUST

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).

mpls, diffserv, qos

normative-requirement §11.1 MUST

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].

mpls, diffserv, qos

normative-requirement §6.3 MUST

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.

mpls, diffserv, qos

normative-requirement §6.3 MUST

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.

mpls, diffserv, qos

normative-requirement §5.2 MUST

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.

mpls, diffserv, qos

normative-requirement §6.3 MUST

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.

mpls, diffserv, qos

normative-requirement §6.3 MUST NOT

The destination LSR MUST NOT include a CLASSTYPE object in the Resv message, regardless of whether the Path message contained one.

mpls, diffserv, qos

normative-requirement §5.1 MUST

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.

mpls, diffserv, qos

normative-requirement §4.2.1 MUST

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.

mpls, diffserv, qos

normative-requirement §7 MUST

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.

mpls, diffserv, qos

normative-requirement §4.3.3 MUST

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.

mpls, diffserv, qos

protocol-element §3

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.

mpls, diffserv, qos

protocol-element §3

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.

mpls, diffserv, qos

protocol-element §6.2.1

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.

mpls, diffserv, qos

protocol-element §6.5

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.

mpls, diffserv, qos

registry §13.1

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.

registry, mpls, diffserv

registry §13.2

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.

registry, mpls, diffserv

security-consideration §12

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.

mpls, diffserv, security, qos

wire-format §5.1

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.

mpls, diffserv, routing, qos

wire-format §6.2.1

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).

mpls, diffserv, qos