DS-TE
Background
Traditional MPLS TE reserves resources for each node along the MPLS TE tunnel to ensure QoS, but cannot use one TE tunnel to provide differentiated services. When a tunnel transmits voice and data services, data services may be transmitted repeatedly. Therefore, data services must have higher drop priority than voice services. However, MPLS TE allocates the same drop priority to data and voice flows and cannot provide differentiated services.
The Diff-Serv model controls and forwards traffic according to specific service classes, meeting different QoS requirements. The Diff-Serv model can reserve resources for a single node, but cannot guarantee the QoS over an entire path.
In certain scenarios, Diff-Serv and MPLS TE must be used together to meet service requirements. For example, a path may transmit both voice and data services. The total delay time of voice flows needs to be reduced to ensure QoS guarantee of voice services.
Assume that the Diff-Serv model is used to classify service types and a single MPLS TE tunnel is used to transmit a type of service. If the link or node becomes faulty, network topology changes, or LSP preemption occurs, voice traffic on a link may exceed the bandwidth and voice services are delayed.
For example, in Figure 4-31, the bandwidth of each link is 100 Mbit/s and the link cost is the same. Voice flows pass through the links Router_1 -> Router_4 and Router_2 -> Router_4, and bandwidths of the links are 60 Mbit/s and 40 Mbit/s respectively. When voice flows on the link Router_1 -> Router_4 are transmitted through the TE tunnel of Path1, voice flows occupy 60% bandwidth on the link Router_3 -> Router_4. When voice flows on the link Router_2 -> Router_4 are transmitted through the TE tunnel of Path2, voice flows occupy 40% bandwidth on the link Router_7 -> Router_4.
As shown in Figure 4-32, when the link between Router_3 and Router_4 becomes faulty, the CR-LSP between Router_1 and Router_4 is changed to Path3. The reason is that Path3 is the shortest path with sufficient bandwidth. In this case, voice flows on the link Router_7 -> Router_4 occupy 100% bandwidth, causing a long delay in transmitting voice flows.
To solve the preceding problem, DiffServ-aware Traffic Engineering (DS-TE) is used. DS-TE can efficiently use network resources and reserve resources for different service flows.
MPLS DS-TE combines MPLS TE and Diff-Serv to provide QoS guarantee.
MPLS DS-TE uses the Class Type (CT) so that MPLS TE can allocate resources based on the type of traffic and provide differentiated services. To provide differentiated services, DS-TE divides the LSP bandwidth into one to eight parts, each part corresponding to one Class of Service (CoS). A set of bandwidth of an LSP or a group of LSPs with the same CoS are called a CT.
In Figure 4-31, multiple CT LSPs can be used. An LSP is divided into multiple CTs to transmit traffic of different CoS values. VoIP and HSI services on the links Router_1 -> Router_4 and Router_2 -> Router_4 are transmitted by different CTs of the same MPLS TE tunnel so that voice flows occupy a proper bandwidth percentage, as shown in Figure 4-33.
When the link Router_3 -> Router_4 becomes faulty, VoIP and HSI services on the link Router_3 -> Router_4 are switched to the link Router_1 -> Router_3 -> Router_5 -> Router_6 -> Router_4, as shown in Figure 4-34. After switching, voice flows on the link Router_1 -> Router_4 still occupy a proper bandwidth percentage.
Basic Concepts
DS Field
To carry out the Diff-Serv model, RFC 2474 redefines the ToS field in the IPv4 packet header as the Differentiated Services (DS) field. The high-order 2 bits in the DS field are reserved, and the low-order 6 bits specify the DS CodePoint (DSCP).
Per Hop Behavior
Per Hop Behavior (PHB) describes how the packets with the same DSCP value are forwarded to the next hop.
The IETF defines three standardized PHBs: expedited forwarding (EF), assured forwarding (AF), and best-effort (BE). BE is the default PHB.
CT
To carry out differentiated services, the DS-TE model divides the bandwidth of an LSP into one to eight parts. Each part of bandwidth is allocated with a different service class. The set of bandwidth of one LSP or a group of LSPs with the same service class is called a class type (CT). One CT can transmit the traffic of a single service type.
As defined in the IETF, the DS-TE supports a maximum of eight CTs. CTs can be represented as CTi. The value of "i" ranges from 0 to 7.
IGP Extension
To support DS-TE. RFC uses a Bandwidth Constraints Sub-TLV into the Interior Gateway Protocol (IGP) and redefines the Unreserved Bandwidth Sub-TLV. These Sub-TLVs are used to collect and advertise information about the reservable bandwidth for each CT along a link.
Single-CT LSP and Multi-CT LSP
A single-CT LSP transmits traffic of only one CT.
A multi-CT LSP transmits traffic of multiple CTs.
For the multi-CT, the resource reservation, LSP establishment, or bandwidth preemption can be successfully performed only when the bandwidth of all the CTs is sufficient.
LSP Preemption and TE-Class Mapping
If no path meets the bandwidth requirement of a desired CR-LSP, a device can tear down an established CR-LSP and use the bandwidth assigned to that CR-LSP to establish a desired CR-LSP. This process is called preemption. DS-TE uses setup and holding priorities to determine whether to preempt resources.
DS-TE specifies a preemption priority for each CT. A TE-class is a combination of a CT and a priority, which is described as follows:
TE-Class[n] = <CTi, priority>
i and the priority value range from 0 to 7, and n identifies a TE class.
The priority indicates the priority of CR-LSP preemption, and is not the value of the EXP field in the MPLS packet header. The value of preemption priority ranges from 0 to 7. A smaller value indicates a higher priority. A CR-LSP can be set up only when both the combination of its CT and setup priority (<CT, setup-priority>) and the combination of its CT and holding priority (<CT, hold-priority>) exist in the TE-class mapping table. For example, the TE-class mapping table of a certain node contains only TE-class[0] = <CT0, 6> and TE-class[1] = <CT0, 7>.
Only the following types of CR-LSPs can be set up successfully:
- Class-Type = CT0, setup-priority = 6, hold-priority = 6
- Class-Type = CT0, setup-priority = 7, hold-priority = 6
- Class-Type = CT0, setup-priority = 7, hold-priority = 7
The CR-LSPs of "Class-Type = CT0, setup-priority = 6, hold-priority = 7" cannot be configured. This is because the setup priority of the CR-LSP cannot be higher than its holding priority.
Each of eight CTs can be combined with any of eight priorities, so there are 64 TE-classes. On the device, eight TE-classes can be configured manually.
A TE-class mapping table consists of a set of TE-classes. You are advised to configure all the LSRs with the same TE-class mapping table over an MPLS network. The device has the default TE-class mapping table.
Bandwidth
Total link bandwidth
Bandwidth of a physical link.
Maximum reservable bandwidth
Maximum bandwidth that a link can reserve for an MPLS TE tunnel. The maximum reservable bandwidth must be lower than or equal to the total link bandwidth.
CT bandwidth: is the bandwidth of service traffic of each type on each DS-TE tunnel.
BC bandwidth: is the bandwidth reserved for all CTs along a link.
Bandwidth Constraints Model
Bandwidth constraint model defines the maximum number of bandwidth constraints and which CTs each bandwidth constraint applies to and how to use BC bandwidth.
The IETF defines the following bandwidth constraints models:
Russian Dolls Model (RDM): CTs can share bandwidth. The BC model ID of the RDM is 0.
The bandwidth of BC0 is less than or equal to the maximum reservable bandwidth of a link. In Figure 4-36:- Total bandwidth of all LSPs from CT0, CT1, ... CT7 ≤ Bandwidth of BC0 ≤ Maximum reservable bandwidth
- Total bandwidth of all LSPs from CT1, CT2, and CT7 ≤ Bandwidth of BC1
- ...
- Total bandwidth of all LSPs from CT7 ≤ Bandwidth of BC7
For example, the bandwidth of a link is 100 Mbit/s, RDM is used, and three CTs are supported, that is, CT0, CT1, and CT2. CT0, CT1, and CT2 transmit BE, AF, and EF traffic respectively. The bandwidths of BC0, BC1, and BC2 are 100 Mbit/s, 50 Mbit/s, and 20 Mbit/s respectively. The total bandwidth of all LSPs transmitting EF traffic cannot be larger than 20 Mbit/s; the total bandwidth of all LSPs transmitting AF and EF traffic cannot be larger than 50 Mbit/s; the total bandwidth of all LSPs cannot be larger than 100 Mbit/s.
The RDM allows bandwidth preemption between CTs. If 0 ≤ m < n ≤ 7 and 0 ≤ i < j ≤ 7, the CTi of priority m can preempt the bandwidth of CTi of priority n and the bandwidth of CTj of priority n. For example, CT0 with priority 3 can preempt the bandwidth of CT0 with priority 5 and the bandwidth of CT1 with priority 0. The total bandwidth of CTi of all LSPs cannot exceed the bandwidth of BCi.
Maximum Allocation Model (MAM): One BC is mapped to one CT, and CTs cannot share bandwidth. The BC mode ID of the MAM is 1.
In the MAM, the total bandwidth of CTi along an LSP cannot be larger than that of BCi (0 ≤ i ≤ 7). The total bandwidth of BCs cannot be larger than the maximum reservable bandwidth.
For example, the bandwidth of a link is 100 Mbit/s, MAM is used, and three CTs are supported, that is, CT0, CT1, and CT2. BC0 is 20 Mbit/s and transmits CT0 traffic (for example, BE traffic); BC1 is 50 Mbit/s and transmits CT1 traffic (for example, AF traffic); BC2 is 30 Mbit/s and transmits CT2 traffic (for example, EF traffic). The total bandwidth of all LSPs transmitting BE traffic cannot be larger than 20 Mbit/s; the total bandwidth of all LSPs transmitting AF traffic cannot be larger than 50 Mbit/s; the total bandwidth of all LSPs transmitting EF traffic cannot be larger than 30 Mbit/s.
Extended-MAM: Similar to the MAM, extended-MAM maps one BC to one CT and CTS cannot share the bandwidth. The BC mode ID of the extended-MAM is 254.
The extended-MAM supports eight more implicit CTs (the combination of CT0 and eight priorities). This is different from the MAM.
Extended-MAM redefines Unreserved Bandwidth Sub-TLV and Bandwidth Constraint Sub-TLV advertised by an IGP. Unreserved Bandwidth Sub-TLV carries unreserved bandwidth for eight TE-classes. Bandwidth Constraint Sub-TLV carries information about the BC model and unreserved bandwidth for eight TE-classes so that the device supports a maximum of 16 TE-classes.
When device A that has Extended-MAM configured functions as the transit or egress node, device B configured with DS-TE in non-IETF mode functions as the ingress node and creates a dynamic CR-LSP, and the TE-class (<CT0, priority>, 0 ≤ priority ≤ 7) of the CR-LSP is not defined in the TE-class mapping table specified on device A, the CR-LSP creation request is valid.
Table 4-21 lists the comparisons between the three bandwidth constraints models.
Item |
RDM |
MAM/Extended-MAM |
---|---|---|
BC-CT mapping |
Maps one BC to one or more CTs. |
Maps one BC to one CT, which is easy for bandwidth management. |
Bandwidth preemption |
Is unable to divide CT bandwidth and requires preemption to provide sufficient bandwidth for CTs. |
Divides CT bandwidth and provides sufficient bandwidth for CTs. |
Bandwidth use efficiency |
Efficiently uses bandwidth. |
Wastes bandwidth. |
Implementation
Basic Implementation
Edge nodes in the Diff-Serv model divide the traffic into several classes, and add class information into the DSCP field in packets. The internal node selects a proper PHB for a packet according to the DSCP field.
The EXP field in the MPLS packet header contains information relevant to the Diff-Serv model. The key to implement DS-TE is how to map the DSCP field (with a maximum of 64 values) to the EXP field (with a maximum of eight values). RFC defines the following solutions:
- Label-Only-Inferred-PSC LSP (L-LSP): The drop priority is specified in the EXP field and the PHB is determined by the label value. During packet forwarding, the label determines the packet forwarding path and allocates a PHB for the path.
- EXP-Inferred-PSC LSP (E-LSP): The PHB and the drop priority are specified in the EXP field of the MPLS label. During packet forwarding, the label value determines the packet forwarding path and the EXP value determines a PHB. The E-LSP is applicable to networks that support a maximum of eight PHBs.
RSVP Extensions
IETF extends RSVP to implement DS-TE in IETF mode. RFC defines a CLASSTYPE object for Path messages. The IETF draft (draft-minei-diffserv-te-multi-class-02) defines the extended-classtype object that carries CT information about the E-LSP. For details, see draft-minei-diffserv-te-multi-class-02.
DS-TE LSP Setup
The RSVP Path message contains CT information.
When receiving the RSVP Path message carrying CT information, the LSR check whether <CT, priority> exists in the local TE-class mapping table and whether CT bandwidth is sufficient. If <CT, priority> exists in the local TE-class mapping table and CT bandwidth is sufficient, a new LSP can be set up.
After the LSP is successfully set up, the LSR recalculates the reservable bandwidth for each CT. Information about the reservable bandwidth is then sent to an IGP, and the IGP advertises the information to other nodes over the network.
DS-TE Modes
The device provides the IETF mode and non-IETF mode:
Non-IETF mode: indicates the mode not defined by the IETF. Each of the two CTs is combined with each of eight priorities, so 16 TE-classes are available.
IETF mode: indicates the mode defined by the IETF. Eight CTs are combined with eight priorities and the combinations specify 64 TE-classes. A maximum of eight TE-classes can be configured on the device.
Item |
Non-IETF Mode |
IETF Mode |
---|---|---|
Bandwidth constraints model |
Supports the MAM and RDM. |
Supports the RDM, MAM, and extended-MAM. |
CT |
Supports CT0 and CT1. |
Supports CT0 to CT7. |
BC type |
Supports BC0 and BC1. |
Supports BC0 to BC7. |
TE-class mapping table |
A TE-class mapping table can be configured but cannot take effect. |
Supports the configuration and application of the TE-class mapping table. |
IGP message |
|
The CT information is carried in the sub-TLVs. The sub-TLVs are as follows:
|
RSVP messages |
The ADSPEC object carries CT information. |
Different objects carry CT information as follows:
|
DS-TE Mode Switching
Item |
Non-IETF Mode → IETF Mode |
IETF Mode → Non-IETF Mode |
---|---|---|
Change in the Bandwidth Constraints model |
The bandwidth model is unchanged. |
The bandwidth models are changed as follows:
|
Change in the bandwidth |
The bandwidth values of BC0 and BC1 are unchanged. |
Other BC values are reset to zero except values of BC0 and BC1. |
Change in the TE-Class mapping table |
If the TE-class mapping table is configured, it is applied. Otherwise, the default one is applied. For information about the default TE-class mapping table, see Table 4-20. |
The TE-class mapping table is not applied.
|
LSP deletion |
LSPs whose <CT, set-priority> or <CT, hold-priority> is not in the TE-class mapping table are deleted on the ingress node and the transit node. |
The following LSPs are deleted on the ingress node and the transit node:
|
DS-TE Scheduling
An ingress node marks local priorities of packets on the inbound interface based on priority mapping or complex traffic classification. Each local priority is mapped to a CT. Packets arrive at the outbound interface with local priorities. On the outbound interface, HQoS is used to allocate bandwidth for DS-TE traffic, as shown in Figure 4-39.
Reserved bandwidth for TE tunnels
Certain bandwidth is reserved for all TE tunnels on a physical interface by a separate level of queuing. This prevents other types of traffic from occupying the reserved bandwidth.
Bandwidth guarantee for CTs on TE tunnels
A TE tunnel supports multiple CTs to transmit services of different types. End-to-end bandwidth is reserved for each CT when a CR-LSP is set up. The device allocate bandwidth to each CT from the bandwidth reserved for TE tunnels when they set up a CR-LSP. The allocated bandwidth conforms to the bandwidth constraints in the RDM or MAM model. The guaranteed bandwidth for a CT is specified by the committed information rate (CIR).
Traffic scheduling between CTs (total traffic of the same CT on different LSPs)
Each CT maps a service type. High-priority services (such as voice services) can be scheduled using priority queuing (PQ). Services requiring bandwidth guarantee (such as protocol and data services) can be scheduled using weighted fair queuing (WFQ). CTs are mapped to local priorities in a one-to-one mode. You can associate CTs with queue profiles and configure different scheduling modes in the queue profiles to provide differentiated services for CTs.
The AR provides 32 queue profiles globally configure scheduling modes for CTs. The following table lists the default mappings between CTs and fair queues (FQs), as shown in Table 4-25.
DS-TE Reliability
TE FRR
DS-TE is applied as follows:
When bandwidth protection is required, the CTs and bandwidth are configured manually on the bypass CR-LSP in manually-configured FRR. The QoS is guaranteed. The protection modes are the 1:1 and N:1. In the automatic FRR, the bypass CR-LSP inherits the CTs and bandwidth of the primary CR-LSP. The QoS is guaranteed. The protection mode is 1:1 only.
When bandwidth protection is not required, both manually-configured and automatic FRR support 1:1 protection and N:1 protection, irrespective of the CTs and their bandwidth on the bypass tunnel.
CR-LSP backup
The bypass CR-LSP inherits the CTs and their bandwidth from the primary CR-LSP. The best-effort path cannot guarantee QoS and it does not inherit the CTs and bandwidth from the primary CR-LSP.
Interworking Between Devices
During network deployment or device version upgrade, non-DS-TE devices may work with DS-TE devices, or devices in non-IETF mode work with devices in IETF mode.
- Interworking between DS-TE devices and non-DS-TE devices
Supports the establishment of non-DS-TE tunnels from non-DS-TE devices to DS-TE devices.
Supports the establishment of non-DS-TE tunnels from DS-TE devices to non-DS-TE devices.
Interworking between non-Huawei DS-TE devices that do not support the CLASSTYPE object
The device can parse the following Path messages with CT information sent by non-Huawei devices:L-LSP CT information that is carried by the EXTENDED_CLASSTYPE object
CTO information that is carried by the EXTENDED_CLASSTYPE object