RFC 8733: Path Computation Element Communication Protocol (PCEP) Extensions for MPLS-TE Label Switched Path (LSP) Auto-Bandwidth Adjustment with Stateful PCE
- D. Dhody, Ed.,
- R. Gandhi, Ed.,
- U. Palle,
- R. Singh,
- L. Fang
This RFC was updated
Abstract
The Path Computation Element Communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Client (PCC) requests. Stateful PCE extensions allow stateful control of MPLS-TE Label Switched Paths (LSPs) using PCEP.¶
The auto-bandwidth feature allows automatic and dynamic adjustment of the TE LSP bandwidth reservation based on the volume of traffic flowing through the LSP. This document describes PCEP extensions for auto-bandwidth adjustment when employing an active stateful PCE for both PCE-initiated and PCC-initiated LSPs.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
[RFC5440] describes the Path Computation Element Protocol (PCEP) as a communication mechanism between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between a PCE and a PCE, that enables computation of MPLS-TE Label Switched Paths (LSPs).¶
[RFC8231] specifies extensions to PCEP to enable stateful control of MPLS-TE LSPs. It describes two modes of operation: passive stateful PCE and active stateful PCE. Further, [RFC8281] describes the setup, maintenance, and teardown of PCE-initiated LSPs for the stateful PCE model. In this document, the focus is on the active stateful PCE, where the LSPs are controlled by the PCE.¶
Over time, based on the varying traffic pattern, an LSP established with a certain bandwidth may require adjustment of the bandwidth reserved in the network dynamically. The head-end Label Switching Router (LSR) monitors the actual bandwidth demand of the established LSP and periodically computes new bandwidth. The head-end LSR automatically adjusts the bandwidth reservation of the LSP based on the computed bandwidth. This feature, when available in the head-end LSR implementation, is commonly referred to as auto-bandwidth. The auto-bandwidth feature is described in detail in Section 4 of this document.¶
In the model considered in this document, the PCC (head-end of the LSP) collects the traffic rate samples flowing through the LSP and calculates the new Adjusted Bandwidth. The PCC reports the calculated bandwidth to be adjusted to the PCE. This is similar to the passive stateful PCE model: while the passive stateful PCE uses a path request/reply mechanism, the active stateful PCE uses a report/update mechanism. With a PCE-initiated LSP, the PCC is requested during the LSP initiation to monitor and calculate the new Adjusted Bandwidth. [RFC8051] describes the use case for auto-bandwidth adjustment for passive and active stateful PCEs.¶
Another approach would be to send the measured values themselves to the PCE, which is considered out of scope for this document.¶
This document defines the PCEP extensions needed to support an auto-bandwidth feature in an active stateful PCE model where the LSP bandwidth to be adjusted is calculated on the PCC (head-end of the LSP). The use of PCE to calculate the bandwidth to be adjusted is out of scope of this document.¶
2. Conventions Used in This Document
2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
2.3. Terminology
The reader is assumed to be familiar with the terminology defined in [RFC5440], [RFC8231], and [RFC8281].¶
In this document, the PCC is considered to be the head-end LSR of the LSP. Other types of PCCs are not in scope.¶
The following auto-bandwidth terminology is defined in this document.¶
- Maximum Average Bandwidth (MaxAvgBw):
- The maximum
average bandwidth represents the current 'measured' traffic bandwidth
demand of the LSP during a time interval. This is the maximum value
of the traffic bandwidth rate samples
(Bandwidth -Samples ) in a given time interval.¶ - Adjusted Bandwidth:
- This is the auto-bandwidth 'computed' bandwidth that is used to adjust the bandwidth reservation of the LSP.¶
- Sample-Interval:
- The periodic time interval at which the
measured traffic rate of the LSP is collected as a Bandwidth
-Sample . ¶ - Bandwidth
-Sample : - The Bandwidth
-Sample of the measured traffic rate of the LSP collected at every Sample -Interval . ¶ - Maximum
-Bandwidth : - The Maximum
-Bandwidth that can be reserved for the LSP.¶ - Minimum
-Bandwidth : - The Minimum
-Bandwidth that can be reserved for the LSP.¶ - Up
-Adjustment -Interval : - The periodic time interval at which the bandwidth adjustment should be made using the MaxAvgBw when MaxAvgBw is greater than the current bandwidth reservation of the LSP.¶
- Down
-Adjustment -Interval : - The periodic time interval at which the bandwidth adjustment should be made using the MaxAvgBw when MaxAvgBw is less than the current bandwidth reservation of the LSP.¶
- Up
-Adjustment -Threshold : - This parameter is used to
decide when the LSP bandwidth should be adjusted. If the percentage
or absolute difference between the current MaxAvgBw and the current
bandwidth reservation is greater than or equal to the threshold value,
the LSP bandwidth is adjusted (upsized) to the current bandwidth
demand (Adjusted Bandwidth) at the Up
-Adjustment -Interval expiry.¶ - Down
-Adjustment -Threshold : - This parameter is used to
decide when the LSP bandwidth should be adjusted. If the percentage
or absolute difference between the current bandwidth reservation and
the current MaxAvgBw is greater than or equal to the threshold value,
the LSP bandwidth is adjusted (downsized) to the current bandwidth
demand (Adjusted Bandwidth) at the Down
-Adjustment -Interval expiry.¶ - Overflow-Count:
- This parameter is used to decide when
the LSP bandwidth should be adjusted when there is a sudden increase
in traffic demand. This value indicates how many times,
consecutively, that the percentage or absolute difference between the
current MaxAvgBw and the current bandwidth reservation of the LSP
needs to be greater than or equal to the Overflow
-Threshold value in order to meet the overflow condition.¶ - Overflow
-Threshold : - This parameter is used to decide
when the LSP bandwidth should be adjusted when there is a sudden
increase in traffic demand. If the percentage or absolute difference
between the current MaxAvgBw and the current bandwidth reservation of
the LSP is greater than or equal to the threshold value, the overflow
condition is said to be met. The LSP bandwidth is adjusted to the
current bandwidth demand, bypassing the Up
-Adjustment -Interval if the overflow condition is met consecutively for the Overflow-Count. The Overflow -Threshold needs to be greater than or equal to the Up -Adjustment -Threshold . ¶ - Underflow-Count:
- This parameter is used to decide when
the LSP bandwidth should be adjusted when there is a sudden decrease
in traffic demand. This value indicates how many times, consecutively,
that the percentage or absolute difference between the current MaxAvgBw and
the current bandwidth reservation of the LSP needs to be greater than
or equal to the Underflow
-Threshold value in order to meet the underflow condition.¶ - Underflow
-Threshold : - This parameter is used to decide
when the LSP bandwidth should be adjusted when there is a sudden
decrease in traffic demand. If the percentage or absolute difference
between the current MaxAvgBw and the current bandwidth reservation of
the LSP is greater than or equal to the threshold value, the underflow
condition is said to be met. The LSP bandwidth is adjusted to the
current bandwidth demand, bypassing the Down
-Adjustment -Interval if the underflow condition is met consecutively for the Underflow -Count . The Underflow -Threshold needs to be greater than or equal to the Down -Adjustment -Threshold . ¶ - Minimum
-Threshold : - When percentage
-based thresholds are in use, they are accompanied by this Minimum -Threshold, which is used to ensure that the magnitude of deviation of the calculated LSP bandwidth to be adjusted from the current bandwidth reservations exceeds a specific non -percentage -based criterion (represented as an absolute bandwidth value) before any adjustments are made. This serves to suppress unnecessary auto-bandwidth adjustments and resignaling of the LSP at low bandwidth values.¶
3. Requirements for PCEP Extensions
The PCEP extensions required for auto-bandwidth are summarized in the following table as well as in Figure 1.¶
A PCEP speaker supporting this document must have a mechanism to advertise the auto-bandwidth adjustment capability for both PCC-initiated and PCE-initiated LSPs.¶
Auto-bandwidth deployment considerations for PCEP extensions are summarized below:¶
4. Architectural Overview
4.1. Auto-Bandwidth Overview
The auto-bandwidth feature allows automatic and dynamic adjustment of the reserved bandwidth of an LSP over time (i.e., without network operator intervention) to accommodate the varying traffic demand of the LSP. If the traffic flowing through the LSP is lower than the configured or current reserved bandwidth of the LSP, the extra bandwidth is being reserved needlessly and is being wasted. Conversely, if the actual traffic flowing through the LSP is higher than the configured or current reserved bandwidth of the LSP, it can potentially cause congestion or packet loss in the network. The initial LSP bandwidth can be set to an arbitrary value (including zero). In practice, it can be set to an expected value based on design and planning. The head-end LSR monitors the actual traffic flowing through the LSP and uses that information to adjust the bandwidth reservation of the LSP in the network.¶
Bandwidth adjustment must not cause disruption to the traffic flow
carried by the LSP. One way to achieve this is to use the
make
4.2. Auto-Bandwidth Theory of Operation
This section describes the auto-bandwidth feature in a general way. When the auto-bandwidth feature is enabled, the measured traffic rate is periodically sampled at each Sample-Interval by the PCC when the PCC is the head-end node of the LSP. The Sample-Interval can be configured by an operator, with a default value of 5 minutes. A very low Sample-Interval could have some undesirable interactions with transport protocols (see Section 6.6).¶
The traffic rate samples are accumulated over the Adjustment
Note that the highest traffic rate sample could be higher or lower
than the current LSP bandwidth. The LSP is adjusted (upsized) to the
current bandwidth demand (MaxAvgBW) only if the difference between the
current bandwidth demand (MaxAvgBw) and the current bandwidth
reservation is greater than or equal to the Adjustment
In order to avoid frequent resignaling, an operator may set a longer
Adjustment
All thresholds in this document could be represented in both absolute value and percentage and could be used together. This is provided to accommodate cases where the LSP bandwidth reservation may become very large or very small over time. For example, an operator may use the percentage threshold to handle small to large bandwidth values and absolute values to handle very large bandwidth values. The auto-bandwidth adjustment is made when either one of the two thresholds, the absolute or percentage, is crossed.¶
When using the
4.3. Scaling Considerations
It should be noted that any bandwidth change requires resignaling of an LSP, which can further trigger preemption of lower-priority LSPs in the network. When deployed under scale, this can lead to a signaling churn in the network. The auto-bandwidth application algorithm is thus advised to take this into consideration before adjusting the LSP bandwidth. Operators are advised to set the values of various auto-bandwidth adjustment parameters appropriate for the deployed LSP scale.¶
If a PCE gets overwhelmed, it can notify the PCC to temporarily suspend the reporting of the new LSP bandwidth to be adjusted. Similarly, if a PCC gets overwhelmed due to signaling churn, it can notify the PCE to temporarily suspend new LSP setup requests. See Section 5.7 of this document.¶
5. PCEP Extensions
5.1. Capability Advertisement
During the PCEP initialization phase, PCEP speakers (PCE or PCC)
advertise their support of the auto-bandwidth adjustment feature. A
PCEP speaker includes the AUTO
5.1.1. AUTO-BANDWIDTH-CAPABILITY TLV
The AUTO
The TLV Type is 36, and it has a fixed Length of 4 octets.¶
The value comprises a single field: Flag (32 bits). No flags are defined for this TLV in this document.¶
Unassigned bits are considered reserved. They MUST be set to 0 on transmission and MUST be ignored on receipt.¶
Advertisement of the AUTO
5.2. AUTO-BANDWIDTH-ATTRIBUTES TLV
The AUTO
For a PCE-initiated LSP [RFC8281], this TLV is included in the LSPA
object with the PCInitiate message. For the PCC-initiated delegated
LSPs, this TLV is carried in the Path Computation State Report (PCRpt) message in the LSPA object. This
TLV is also carried in the LSPA object with the Path Computation Update
Request (PCUpd) message to
direct the PCC (LSP head-end) to make updates to auto-bandwidth
attributes such as Adjustment
The TLV is encoded in all PCEP messages for the LSP while the
auto-bandwidth adjustment feature is enabled. The absence of the TLV
indicates the PCEP speaker wishes to disable the feature. This TLV
includes multiple AUTO
The format of the AUTO
- Type:
- 37¶
- Length:
- The Length field defines the length of the value portion in bytes as per [RFC5440].¶
- Value:
- This comprises one or more sub-TLVs.¶
The following sub-TLVs are defined in this document:¶
Future specifications can define additional sub-TLVs.¶
The sub-TLVs are encoded to inform the PCEP peer of the various
sampling and adjustment parameters. In the case of a missing sub-TLV, as
per the local policy, either the default value (as specified in this
document) or some other operator
All sub-TLVs are optional, and any unrecognized sub-TLV MUST be ignored. If a sub-TLV of the same type appears more than once, only the first occurrence is processed, and all others MUST be ignored.¶
The following subsections describe the sub-TLVs that are currently
defined as being carried within the AUTO
5.2.1. Sample-Interval Sub-TLV
The Sample-Interval sub-TLV specifies a time interval in seconds in which traffic samples are collected at the PCC.¶
The Type is 1, the Length is 4 octets, and the value comprises the following:¶
- Sample-Interval:
- The 4-octet time interval for the Bandwidth
-Sample collection. The valid range is from 1 to 604800 (7 days), in seconds. The default value is 300 seconds. Due care needs to be taken in a case with a very low Sample -Interval, as it can have some undesirable interactions with transport protocols (see Section 6.6). The Sample-Interval parameter MUST NOT be greater than the (down) Adjustment -Interval . In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.2. Adjustment-Intervals
The
sub-TLVs in this section are encoded to inform the PCEP peer of the
Adjustment
5.2.2.1. Adjustment-Interval Sub-TLV
The Adjustment
The Type is 2, the Length is 4 octets, and the value comprises the following:¶
- Adjustment
-Interval : - The 4-octet time interval for
bandwidth adjustments. The valid range is from 1 to 604800 (7 days), in
seconds. The default value is 86400 seconds (1 day). The
Adjustment
-Interval parameter MUST NOT be less than the Sample -Interval; otherwise, the sub-TLV MUST be ignored, and the previous value will be maintained.¶
5.2.2.2. Down-Adjustment-Interval Sub-TLV
The Down
The Type is 3, the Length is 4 octets, and the value comprises the following:¶
- Down
-Adjustment -Interval : - The 4-octet time
interval for downward bandwidth adjustments. The valid range is from
1 to 604800 (7 days), in seconds. The default value equals the
Adjustment
-Interval . The Down -Adjustment -Interval parameter MUST NOT be less than the Sample -Interval; otherwise, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.3. Adjustment-Thresholds
The
sub-TLVs in this section are encoded to inform the PCEP peer of the
Adjustment
5.2.3.1. Adjustment-Threshold Sub-TLV
The Adjustment
The Type is 4, the Length is 4 octets, and the value comprises the following:¶
- Adjustment
-Threshold : - The absolute Adjustment
-Threshold bandwidth difference value, encoded in IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. The default Adjustment -Threshold value is not set. Refer to Section 3.1.2 of [RFC3471] for a table of commonly used values.¶
If the modulus of difference between the current MaxAvgBw and the current bandwidth reservation is greater than or equal to the threshold value, the LSP bandwidth is adjusted to the current bandwidth demand (MaxAvgBw).¶
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.3.2. Adjustment-Threshold-Percentage Sub-TLV
The Adjustment
The Type is 5, the Length is 8 octets, and the value comprises the following:¶
- Reserved:
- MUST be set to zero on transmission and MUST be ignored on receipt.¶
- Percentage:
- The Adjustment
-Threshold value (7 bits), encoded in a percentage (an integer from 1 to 100). The value 0 is considered to be invalid. The default value is 5 percent.¶ - Minimum
-Threshold : - The absolute Minimum
-Threshold bandwidth value, encoded in IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. The increase or decrease of the LSP bandwidth MUST be at or above the Minimum -Threshold before the bandwidth adjustment is made. The default value is 0.¶
If the percentage absolute difference between the current MaxAvgBw
and the current bandwidth reservation is greater than or equal to the
threshold percentage and the difference in the bandwidth is at or above the Minimum
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.3.3. Down-Adjustment-Threshold Sub-TLV
The Down
The Type is 6, the Length is 4 octets, and the value comprises the following:¶
- Down
-Adjustment -Threshold : - The absolute
Down
-Adjustment -Threshold bandwidth value, encoded in IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. The default value equals the Adjustment -Threshold . Refer to Section 3.1.2 of [RFC3471] for a table of commonly used values.¶
If the difference between the current bandwidth reservation and the current MaxAvgBw is greater than or equal to the threshold value, the LSP bandwidth is adjusted to the current bandwidth demand (MaxAvgBw).¶
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.3.4. Down-Adjustment-Threshold-Percentage Sub-TLV
The Down
The Type is 7, the Length is 8 octets, and the value comprises the following:¶
- Reserved:
- MUST be set to zero on transmission and MUST be ignored on receipt.¶
- Percentage:
- The Down
-Adjustment -Threshold value (7 bits), encoded in a percentage (an integer from 1 to 100). The value 0 is considered to be invalid. The default value equals the Adjustment -Threshold -Percentage . ¶ - Minimum
-Threshold : - The absolute Minimum
-Threshold bandwidth value, encoded in IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. The decrease of the LSP bandwidth MUST be at or above the Minimum -Threshold before the bandwidth adjustment is made. The default value equals the Minimum -Threshold for the Adjustment -Threshold -Percentage . ¶
If the percentage difference between the current bandwidth
reservation and the current MaxAvgBw is greater than or equal to the
threshold percentage and the difference in the bandwidth is at or above the Minimum
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.4. Minimum and Maximum-Bandwidth Values
5.2.4.1. Minimum-Bandwidth Sub-TLV
The Minimum
The Type is 8, the Length is 4 octets, and the value comprises the following:¶
- Minimum
-Bandwidth : - The 4-octet bandwidth value encoded in
IEEE floating point format (see [IEEE.754.1985]) and
expressed in bytes per second. The default Minimum
-Bandwidth value is set to 0. Refer to Section 3.1.2 of [RFC3471] for a table of commonly used values.¶
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.4.2. Maximum-Bandwidth Sub-TLV
The Maximum
The Type is 9, the Length is 4 octets, and the value comprises the following:¶
- Maximum
-Bandwidth : - The 4-octet bandwidth value encoded in
IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. The default Maximum
-Bandwidth value is not set. Refer to Section 3.1.2 of [RFC3471] for a table of commonly used values.¶
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.5. Overflow and Underflow Conditions
The sub-TLVs in this section are encoded to inform the PCEP peer of the
overflow and underflow threshold parameters. An implementation MAY
include sub-TLVs for an absolute value and/or a percentage for the
threshold, in which case the bandwidth is immediately adjusted when
either of the threshold conditions is met consecutively for the given
count (as long as the difference in the bandwidth is at or
above the Minimum
5.2.5.1. Overflow-Threshold Sub-TLV
The Overflow
The Type is 10, the Length is 8 octets, and the value comprises the following:¶
- Reserved:
- MUST be set to zero on transmission and MUST be ignored on receipt.¶
- Count:
- The Overflow-Count value (5 bits), encoded in
an integer. The value 0 is considered to be invalid. The number of
consecutive samples for which the overflow condition MUST be met for
the LSP bandwidth is to be immediately adjusted to the current bandwidth
demand, bypassing the (up) Adjustment
-Interval . ¶ - Overflow
-Threshold : - The absolute Overflow
-Threshold bandwidth value, encoded in IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. Refer to Section 3.1.2 of [RFC3471] for a table of commonly used values. If the difference between the current MaxAvgBw and the current bandwidth reservation is greater than or equal to the threshold value, the overflow condition is met.¶
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.5.2. Overflow-Threshold-Percentage Sub-TLV
The Overflow
The Type is 11, the Length is 8 octets, and the value comprises the following:¶
- Percentage:
- The Overflow
-Threshold value (7 bits), encoded in a percentage (an integer from 1 to 100). The value 0 is considered to be invalid. If the percentage increase of the current MaxAvgBw from the current bandwidth reservation is greater than or equal to the threshold percentage, the overflow condition is met.¶ - Reserved:
- MUST be set to zero on transmission and MUST be ignored on receipt.¶
- Count:
- The Overflow-Count value (5 bits), encoded in
an integer. The value 0 is considered to be invalid. The number of
consecutive samples for which the overflow condition MUST be met for the
LSP bandwidth is to be immediately adjusted to the current bandwidth demand,
bypassing the (up) Adjustment
-Interval . ¶ - Minimum
-Threshold : - The absolute Minimum
-Threshold bandwidth value, encoded in IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. The increase of the LSP bandwidth MUST be at or above the Minimum -Threshold before the bandwidth adjustment is made.¶
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.5.3. Underflow-Threshold Sub-TLV
The Underflow
The Type is 12, the Length is 8 octets, and the value comprises the following:¶
- Reserved:
- MUST be set to zero on transmission and MUST be ignored on receipt.¶
- Count:
- The Underflow-Count value (5 bits), encoded in an integer.
The value 0 is considered to be invalid. The number of
consecutive samples for which the underflow condition MUST be met
for the LSP bandwidth is to be immediately adjusted to the current
bandwidth demand, bypassing the Down
-Adjustment -Interval . ¶ - Underflow
-Threshold : - The absolute Underflow
-Threshold bandwidth value, encoded in IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. Refer to Section 3.1.2 of [RFC3471] for a table of commonly used values. If the difference between the current MaxAvgBw and the current bandwidth reservation is greater than or equal to the threshold value, the underflow condition is met.¶
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.2.5.4. Underflow-Threshold-Percentage Sub-TLV
The Underflow
The Type is 13, the Length is 8 octets, and the value comprises the following:¶
- Percentage:
- The Underflow
-Threshold value (7 bits), encoded in percentage (an integer from 1 to 100). The value 0 is considered to be invalid. If the percentage decrease of the current MaxAvgBw from the current bandwidth reservation is greater than or equal to the threshold percentage, the underflow condition is met.¶ - Reserved:
- MUST be set to zero on transmission and MUST be ignored on receipt.¶
- Count:
- The Underflow-Count value (5 bits), encoded in an integer. The value 0 is considered to be invalid. The number of
consecutive samples for which the underflow condition MUST be met for
the LSP bandwidth is to be immediately adjusted to the current bandwidth
demand, bypassing the Down
-Adjustment -Interval . ¶ - Minimum
-Threshold : - The absolute Minimum
-Threshold bandwidth value, encoded in IEEE floating point format (see [IEEE.754.1985]) and expressed in bytes per second. The decrease of the LSP bandwidth MUST be at or above the Minimum -Threshold before the bandwidth adjustment is made.¶
In the case in which an invalid value is present, the sub-TLV MUST be ignored and the previous value will be maintained.¶
5.3. BANDWIDTH Object
As per [RFC5440], the BANDWIDTH object (Object-Class value 5) is defined with two Object-Type values as follows:¶
- Requested Bandwidth:
- The BANDWIDTH Object-Type value is 1.¶
- Reoptimization Bandwidth:
- The bandwidth of an existing TE LSP for which a reoptimization is requested. The BANDWIDTH Object-Type value is 2.¶
The PCC reports the calculated bandwidth to be adjusted (MaxAvgBw) to the stateful PCE using the existing 'Requested Bandwidth' with the BANDWIDTH Object-Type as 1. The reporting of the 'reoptimization bandwidth' with BANDWIDTH Object-Type as 2 is not required as the stateful PCE is aware of the existing LSP bandwidth.¶
5.4. The PCInitiate Message
A PCInitiate message is a PCEP message sent by a PCE to a PCC to trigger LSP instantiation or deletion [RFC8281].¶
For the PCE-initiated LSP with the auto-bandwidth feature enabled,
AUTO
The Routing Backus-Naur Form (RBNF) definition of the PCInitiate message [RFC8281] is unchanged by this document.¶
5.5. The PCUpd Message
A PCUpd message is a PCEP message sent by a PCE to a PCC to update the LSP parameters [RFC8231].¶
For PCE-initiated LSPs with the auto-bandwidth feature enabled,
the AUTO
The RBNF definition of the PCUpd message [RFC8231] is unchanged by this document.¶
5.6. The PCRpt Message
The PCRpt message [RFC8231] is a PCEP message sent by a PCC to a PCE to report the status of one or more LSPs.¶
For PCE-initiated LSPs [RFC8281], the PCC creates the LSP using the attributes communicated by the PCE and the local values for the unspecified parameters. After the successful instantiation of the LSP, the PCC automatically delegates the LSP to the PCE and generates a PCRpt message to provide the status report for the LSP.¶
For both PCE-initiated and PCC-initiated LSPs, when the LSP is delegated to a PCE for the very first time as well as after the successful delegation, the BANDWIDTH object of type 1 is used to specify the requested bandwidth in the PCRpt message.¶
The RBNF definition of the PCRpt message [RFC8231] is unchanged by this document.¶
5.7. The PCNtf Message
As per [RFC5440], the PCEP Notification message (PCNtf) can be sent by a PCEP speaker to notify its peer of a specific event.¶
A PCEP speaker (PCE or PCC) SHOULD notify its PCEP peer (PCC or PCE) when it is in an overwhelmed state due to the auto-bandwidth feature. An implementation needs to make an attempt to send this notification (when overwhelmed by auto-bandwidth adjustments) unless sending this notification would only serve to increase the load further. Note that when the notification is not received, the PCEP speaker would continue to request bandwidth adjustments even when they cannot be handled in a timely fashion.¶
Upon receipt of an auto-bandwidth overwhelm notification, the peer SHOULD NOT send any PCEP messages related to auto-bandwidth adjustment. If a PCEP message related to auto-bandwidth adjustment is received while in an overwhelmed state, it MUST be ignored.¶
When the auto-bandwidth feature is deployed, a PCE can send this notification to a PCC when it reports frequent auto-bandwidth adjustments. If a PCC is overwhelmed with resignaling, it can also notify the PCE to not adjust the LSP bandwidth while in the overwhelm state.¶
Some dampening notification procedure (as per [RFC5440]) to avoid
oscillations of the overwhelm state is RECOMMENDED. On receipt of an
auto-bandwidth overwhelm notification from the PCE, a PCC should
consider the impact on the entire network. Moving the delegations of
auto
6. Manageability Considerations
6.1. Control of Function and Policy
The auto-bandwidth feature SHOULD be controlled on a per-LSP
basis (at
the PCC
(head-end of the LSP) or PCE), and the values for auto-bandwidth
parameters, e.g., Sample
The Maximum
The operator should make sure that the Overflow
6.2. Information and Data Models
A MIB module for gathering operational information about the PCEP is defined in [RFC7420]. Additionally, the YANG module defined in [PCE-PCEP-YANG] provides both configuration of PCEP as well as operational management. These could be enhanced to provide controls and indicators for support of the auto-bandwidth feature. Support for various configuration knobs as well as counters of messages sent/received containing the TLVs defined in this document could be added.¶
6.3. Liveness Detection and Monitoring
The mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in [RFC5440].¶
6.4. Verifying Correct Operations
The mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in [RFC5440].¶
In the case in which an invalid value is present, the sub-TLV would get ignored and the previous value will be maintained. In such a case, the implementation SHOULD log the event.¶
6.5. Requirements for Other Protocols
The mechanisms defined in this document do not add any new requirements for other protocols.¶
6.6. Impact on Network Operations
In order to avoid any unacceptable impact on network operations, an implementation SHOULD allow a limit to be placed on the number of LSPs that can be enabled with the auto-bandwidth feature. For each LSP enabled with the auto-bandwidth feature, there is an extra load on the PCC, as it needs to monitor the traffic and report the calculated bandwidth to be adjusted to the PCE. The PCE further recomputes paths based on the requested bandwidth and updates the path to the PCC, which, in turn, triggers the resignaling of the path. All these steps add extra load and churn in the network; thus, the operator needs to take due care while enabling these features on a number of LSPs.¶
An implementation MAY allow a limit to be placed on the rate of
auto
Due care is required by the operator if a Sample-Interval value
significantly smaller than the default (5 minutes) is used, as small
Sample-Interval values, e.g., 1 minute or less, could cause
undesirable interactions with transport protocols. These undesirable
interactions result from providing insufficient time for transport
protocol reactions to a prior bandwidth adjustment to settle down
before Bandwidth
7. Security Considerations
This
document defines AUTO
Incorrect auto-bandwidth parameters in the AUTO
8. IANA Considerations
8.1. PCEP TLV Type Indicators
This document defines the following new PCEP TLVs; IANA has made the following allocations from the "PCEP TLV Type Indicators" subregistry of the "Path Computation Element Protocol (PCEP) Numbers" registry as follows:¶
8.2. AUTO-BANDWIDTH-CAPABILITY TLV Flag Field
IANA has created a subregistry to manage the Flag field
of the AUTO
New bit numbers are to be assigned by Standards Action [RFC8126]. Each bit should be tracked with the following qualities:¶
The initial contents of the subregistry are empty, with all bits marked unassigned.¶
8.3. AUTO-BANDWIDTH-ATTRIBUTES Sub-TLV
This document specifies the AUTO
IANA has set the Registration Procedure for this registry to read as follows:¶
This document defines the following types:¶
8.4. Error Object
This document defines a new Error-value for PCErr message of Error-Type 19 (Invalid Operation) [RFC8231]. IANA has allocated a new Error-value within the "PCEP-ERROR Object Error Types and Values" subregistry of the "Path Computation Element Protocol (PCEP) Numbers" registry as follows:¶
8.5. Notification Object
IANA has allocated a new Notification
9. References
9.1. Normative References
- [IEEE.754.1985]
-
IEEE, "Standard for Binary Floating-Point Arithmetic", DOI 10
.1109 , IEEE Standard 754, , <https:///IEEESTD .1985 .82928 doi >..org /10 .1109 /IEEESTD .1985 .82928 - [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC5440]
-
Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10
.17487 , , <https:///RFC5440 www >..rfc -editor .org /info /rfc5440 - [RFC7525]
-
Sheffer, Y., Holz, R., and P. Saint-Andre, "Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)", BCP 195, RFC 7525, DOI 10
.17487 , , <https:///RFC7525 www >..rfc -editor .org /info /rfc7525 - [RFC8126]
-
Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10
.17487 , , <https:///RFC8126 www >..rfc -editor .org /info /rfc8126 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8231]
-
Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE", RFC 8231, DOI 10
.17487 , , <https:///RFC8231 www >..rfc -editor .org /info /rfc8231 - [RFC8253]
-
Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody, "PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP)", RFC 8253, DOI 10
.17487 , , <https:///RFC8253 www >..rfc -editor .org /info /rfc8253 - [RFC8281]
-
Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model", RFC 8281, DOI 10
.17487 , , <https:///RFC8281 www >..rfc -editor .org /info /rfc8281
9.2. Informative References
- [PCE-PCEP-YANG]
-
Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A YANG Data Model for Path Computation Element Communications Protocol (PCEP)", Work in Progress, Internet-Draft, draft
-ietf , , <https://-pce -pcep -yang -13 tools >..ietf .org /html /draft -ietf -pce -pcep -yang -13 - [RFC3209]
-
Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, DOI 10
.17487 , , <https:///RFC3209 www >..rfc -editor .org /info /rfc3209 - [RFC3471]
-
Berger, L., Ed., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description", RFC 3471, DOI 10
.17487 , , <https:///RFC3471 www >..rfc -editor .org /info /rfc3471 - [RFC7420]
-
Koushik, A., Stephan, E., Zhao, Q., King, D., and J. Hardwick, "Path Computation Element Communication Protocol (PCEP) Management Information Base (MIB) Module", RFC 7420, DOI 10
.17487 , , <https:///RFC7420 www >..rfc -editor .org /info /rfc7420 - [RFC8051]
-
Zhang, X., Ed. and I. Minei, Ed., "Applicability of a Stateful Path Computation Element (PCE)", RFC 8051, DOI 10
.17487 , , <https:///RFC8051 www >..rfc -editor .org /info /rfc8051
Acknowledgments
The authors would like to thank Robert Varga, Venugopal Reddy, Reeja Paul, Sandeep Boina, Avantika, JP Vasseur, Himanshu Shah, Jonathan Hardwick, and Adrian Farrel for their useful comments and suggestions.¶
Thanks to Daniel Franke, Joe Clarke, David Black, and Erik Kline for the directorate reviews.¶
Thanks to Mirja Kühlewind, Barry Leiba, Benjamin Kaduk, and Roman Danyliw for the IESG review.¶
Contributors
Huawei Industrial Base,