Showing content from https://www.rfc-editor.org/rfc/rfc9005.xml below:
Introduction describes the Path Computation Element Communication Protocol (PCEP), which enables the communication between a Path Computation Client (PCC) and a Path Control Element (PCE) or between two PCEs based on the PCE architecture . provides additional details on policy within the PCE architecture and also provides context for the support of PCE policy. "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE" ( ) describes a set of extensions to PCEP to enable active control of Multiprotocol Label Switching Traffic Engineering (MPLS-TE) and Generalized MPLS (GMPLS) tunnels. describes the setup and teardown of PCE-initiated LSPs under the active stateful PCE model without the need for local configuration on the PCC, thus allowing for a dynamic network. Currently, the LSPs can either be signaled via Resource Reservation Protocol Traffic Engineering (RSVP-TE) or segment routed as specified in . introduces a generic mechanism to create a grouping of LSPs that can then be used to define associations between a set of LSPs and a set of attributes (such as configuration parameters or behaviors) and is equally applicable to stateful PCE (active and passive modes) and stateless PCE. This document specifies a PCEP extension to associate one or more LSPs with policies using the generic association mechanism. A PCEP speaker may want to influence the PCEP peer with respect to path selection and other policies. This document describes a PCEP extension to associate policies by creating a Policy Association Group (PAG) and encoding this association in PCEP messages. The specification is applicable to both stateful and stateless PCEP sessions. Note that the actual policy definition and the associated parameters are out of scope of this document. 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 when, and only when, they appear in all capitals, as shown here. Terminology The following terminology is used in this document.
-
Association parameters:
-
As described in , the combination of the mandatory fields Association Type, Association ID, and Association Source in the ASSOCIATION object uniquely identifies the association group. If the optional TLVs -- Global Association Source or Extended Association ID -- are included, then they are included in combination with mandatory fields to uniquely identify the association group.
-
Association information:
-
As described in , the ASSOCIATION object could include other optional TLVs based on the Association Types that provide "information" related to the association.
-
LSR:
-
Label Switching Router
-
MPLS:
-
Multiprotocol Label Switching
-
PAG:
-
Policy Association Group
-
PAT:
-
Policy Association Type
-
PCC:
-
Path Computation Client; any client application requesting a path computation to be performed by a Path Computation Element.
-
PCE:
-
Path Computation Element; an entity (component, application, or network node) that is capable of computing a network path or route based on a network graph and applying computational constraints.
-
PCEP:
-
Path Computation Element Communication Protocol
Motivation Paths computed using PCE can be subjected to various policies at both the PCE and the PCC. For example, in a centralized TE scenario, network operators may instantiate LSPs and specify policies for traffic accounting, path monitoring, telemetry, etc., for some LSPs via the stateful PCE. Similarly, a PCC could request a user-specific or service-specific policy to be applied at the PCE, such as a constraints relaxation policy, to meet optimal QoS and resiliency levels. PCEP speakers can use the generic mechanism of to associate a set of LSPs with a policy, without the need to know the details of such a policy. This simplifies network operations, avoids frequent software upgrades, and provides the ability to introduce new policies more quickly. Sample Use Cases for Carrying Policies over PCEP PAG Y {Service-Specific Policy for constraint Monitor LSP relaxation} | | | PAG X PCReq/PCRpt | V {Monitor LSP} {PAG Y} V +-----+ ----------------> +-----+ _ _ _ _ _ _| PCE | | | PCE | | +-----+ | ----------> +-----+ | PCInitiate/PCUpd | | PCReq/PCRpt |{PAG X} | | {PAG Y} | | | | .-----. | | .-----. | ( ) | +----+ ( ) | .--( )--. | |PCC1|--.--( )--. V ( ) | +----+ ( ) +---+ ( ) | ( ) |PCC|----( (G)MPLS network ) +----+ ( (G)MPLS network ) +---+ ( ) |PCC2|------( ) PAG X ( ) +----+ ( ) {Monitor '--( )--' '--( )--' LSP} ( ) ( ) '-----' '-----' Case 1: Policy requested by PCE Case 2: Policy requested by and enforced by PCC PCC and enforced by PCE Policy-Based Constraints In the context of a policy-enabled path computation framework , path computation policies may be applied at a PCC, a PCE, or both. A Label Switching Router (LSR) with a policy-enabled PCC can receive:
- A service request via signaling, including over a Network-Network Interface (NNI) or User-Network Interface (UNI) reference point.
- A configuration request over a management interface to establish a service.
The PCC may apply user-specific or service-specific policies to decide how the path selection process should be constrained -- that is, which constraints, diversities, optimization criteria, and constraint-relaxation strategies should be applied to increase the likelihood that the service LSP(s) will be successfully established and will provide the necessary QoS and resilience against network failures. The user-specific or service-specific policies are applied to the PCC and are then passed to the PCE along with the path computation request in the form of constraints . The PCEP speaker can use the generic mechanism as per to associate a set of LSPs with user-specific or service-specific policies. This would simplify the path computation message exchanges in PCEP. Overview As per , LSPs are associated with other LSPs with which they interact by adding them to a common association group. Grouping can also be used to define the association between LSPs and the policies associated with them. As described in , the association group is uniquely identified by the combination of the following fields in the ASSOCIATION object: Association Type, Association ID, Association Source, and (if present) Global Association Source or Extended Association ID. This document defines a new Association Type called "Policy Association" with value 3 based on the generic ASSOCIATION object. This new Association Type is called "Policy Association Type" (PAT). specifies the mechanism for the capability advertisement of the Association Types supported by a PCEP speaker by defining an ASSOC-Type-List TLV to be carried within an OPEN object. This capability exchange for the PAT MUST be done before using the Policy Association. Thus, the PCEP speaker MUST include the PAT in the ASSOC-Type-List TLV and MUST receive the same from the PCEP peer before using the PAG in PCEP messages. The Policy Association Type (3) is operator configured (as specified in ), i.e., the association is created by the operator manually on the PCEP peers, and an LSP belonging to this association is conveyed via PCEP messages to the PCEP peer. There is no need to convey an explicit Operator-configured Association Range, which could only serve to artificially limit the available Association IDs. Thus, for the Policy Association Type, the Operator-configured Association Range MUST NOT be set and MUST be ignored if received. A PAG can have one or more LSPs. The association parameters including Association Identifier, Policy Association Type (PAT), as well as the Association Source IP address are manually configured by the operator and are used to identify the PAG as described in . The Global Association Source and Extended Association ID MAY also be included. As per the processing rules specified in , if a PCEP speaker does not support this Policy Association Type, it would return a PCEP error (PCErr) message with Error-Type 26 "Association Error" and Error-value 1 "Association type is not supported". The PAG and the policy MUST be configured on the PCEP peers as per the operator-configured association procedures. All further processing is as per . If a PCE speaker receives a PAG in a PCEP message and the Policy Association information is not configured, it MUST return a PCErr message with Error-Type 26 "Association Error" and Error-value 4 "Association unknown". Associating a particular LSP with multiple policy groups is allowed from a protocol perspective; however, there is no assurance that the PCEP speaker will be able to apply multiple policies. If a PCEP speaker does not support handling of multiple policies for an LSP, it MUST NOT add the LSP into the association group and MUST return a PCErr with Error-Type 26 "Association Error" and Error-value 7 "Cannot join the association group". Policy Association Group Association groups and their memberships are defined using the ASSOCIATION object defined in . Two object types for IPv4 and IPv6 are defined. The ASSOCIATION object includes "Association type" indicating the type of the association group. This document adds a new Association Type, Policy Association Type (PAT). PAG may carry optional TLVs including but not limited to:
-
POLICY-PARAMETERS-TLV:
-
Used to communicate opaque information useful to applying the policy, described in .
-
VENDOR-INFORMATION-TLV:
-
Used to communicate arbitrary vendor-specific behavioral information, described in .
POLICY-PARAMETERS-TLV The ASSOCIATION object (for PAT) can carry an optional POLICY-PARAMETERS-TLV with opaque information that is needed to apply the policy at the PCEP peer. In some cases, to apply a PCE policy successfully, it is required to also associate some policy parameters that need to be evaluated. This TLV is used to carry those policy parameters. The TLV could include one or more policy-related parameters. The encoding format and the order MUST be known to the PCEP peers; this could be done during the configuration of the policy (and its association parameters) for the PAG. The TLV format is as per the format of the PCEP TLVs, as defined in and shown in . Only one POLICY-PARAMETERS-TLV can be carried, and only the first occurrence is processed. Any others MUST be ignored. The POLICY-PARAMETERS-TLV 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=48 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Policy Parameters // | | +---------------------------------------------------------------+ The POLICY-PARAMETERS-TLV type is 48, and it has a variable length. The Value field is variable and padded to a 4-byte alignment; padding is not included in the Length field. The PCEP peer implementation needs to be aware of the encoding format, order, and meaning of the policy parameters well in advance based on the policy. Note that from the protocol point of view, this data is opaque and can be used to carry parameters in any format understood by the PCEP peers and associated with the policy. The exact use of this TLV is beyond the scope of this document. Examples are included for illustration purposes in . If the PCEP peer is unaware of the policy parameters associated with the policy and it receives the POLICY-PARAMETERS-TLV, it MUST reject the PCEP message and send a PCErr message with Error-Type 26 "Association Error" and Error-value 12 "Not expecting policy parameters". Further, if at least one parameter in the POLICY-PARAMETERS-TLV received by the PCEP speaker is considered unacceptable in the context of the associated policy (e.g., out of range value, badly encoded value, etc.), the PCEP speaker MUST reject the PCEP message and send a PCErr message with Error-Type 26 "Association Error" and Error-value 13 "Unacceptable policy parameters". Note that the vendor-specific behavioral information is encoded in the VENDOR-INFORMATION-TLV, which can be used along with this TLV. Security Considerations The security considerations described in , , , and apply to the extensions described in this document as well. In particular, a malicious PCEP speaker could be spoofed and used as an attack vector by creating spurious Policy Associations as described in . Further, as described in , a spurious LSP can have policies that are inconsistent with those of the legitimate LSPs of the group and, thus, cause problems in the handling of the policy for the legitimate LSPs. It should be noted that Policy Association could provide an adversary with the opportunity to eavesdrop on the relationship between the LSPs. suggests that the implementations and operators use indirect values as a way to hide any sensitive business relationships. Thus, securing the PCEP session using Transport Layer Security (TLS) , as per the recommendations and best current practices in BCP 195 , is RECOMMENDED . Further, extra care needs to be taken by the implementation with respect to the POLICY-PARAMETERS-TLV while decoding, verifying, and applying these policy variables. This TLV parsing could be exploited by an attacker; thus, extra care must be taken while configuring a Policy Association that uses the POLICY-PARAMETERS-TLV and making sure that the data is easy to parse and verify before use. Ensuring agreement among all relevant PCEP peers as to the format and layout of the policy parameters information is key for correct operations. Note that the parser for POLICY-PARAMETERS-TLV is particularly sensitive since it is opaque to PCEP and can be used to convey data with many different internal structures/formats. The choice of decoder is dependent on the additional metadata associated with the policy; thus, additional risk of using a wrong decoder and getting garbage results is incurred. Using standard and well-known policy formats could help alleviate those risks. IANA Considerations ASSOCIATION Object Type Indicators This document defines a new Association Type in the subregistry "ASSOCIATION Type Field" of the "Path Computation Element Protocol (PCEP) Numbers" registry that was originally defined in . Value Name Reference 3 Policy Association RFC 9005 PCEP TLV Type Indicators The following TLV Type Indicator value has been registered within the "PCEP TLV Type Indicators" subregistry of the "Path Computation Element Protocol (PCEP) Numbers" registry. Value Description Reference 48 POLICY-PARAMETERS-TLV RFC 9005 PCEP Errors This document defines new Error-values for Error-Type 26 "Association Error" defined in . IANA has allocated new error values within the "PCEP-ERROR Object Error Types and Values" subregistry of the "Path Computation Element Protocol (PCEP) Numbers" registry as follows: Error-Type Meaning Error-value Reference 26 Association Error 12: Not expecting policy parameters RFC 9005 13: Unacceptable policy parameters RFC 9005 Manageability Considerations Control of Function and Policy An operator MUST be allowed to configure the Policy Associations at PCEP peers and associate them with the LSPs. They MAY also allow configuration to related policy parameters and provide information on the encoding format and order to parse the associated POLICY-PARAMETERS-TLV. Information and Data Models describes the PCEP MIB; there are no new MIB objects for this document. The PCEP YANG module is defined in . That module supports associations as defined in ; thus, it supports the Policy Association Groups. An implementation SHOULD allow the operator to view the PAG configured. Further implementation SHOULD allow one to view associations reported by each peer and the current set of LSPs in the PAG. 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 and . Verifying Correct Operations Verifying the correct operation of a policy can be performed by monitoring various parameters as described in and . A PCEP implementation SHOULD provide information on failed path computation due to applying policy and log error events, e.g., parsing failure for a POLICY-PARAMETERS-TLV. Requirements on Other Protocols The mechanisms defined in this document do not imply any new requirements on other protocols. Impact on Network Operations The mechanisms defined in this document do not have any impact on network operations in addition to those already listed in , , and . References Normative References Key words for use in RFCs to Indicate Requirement Levels In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements. Path Computation Element (PCE) Communication Protocol (PCEP) This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs. Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering. PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future. [STANDARDS-TRACK] Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings. Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE 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. Although PCEP explicitly makes no assumptions regarding the information available to the PCE, it also makes no provisions for PCE control of timing and sequence of path computations within and across PCEP sessions. This document describes a set of extensions to PCEP to enable stateful control of MPLS-TE and GMPLS Label Switched Paths (LSPs) via PCEP. PCEPS: Usage of TLS to Provide a Secure Transport for the Path Computation Element Communication Protocol (PCEP) The Path Computation Element Communication Protocol (PCEP) defines the mechanisms for the communication between a Path Computation Client (PCC) and a Path Computation Element (PCE), or among PCEs. This document describes PCEPS -- the usage of Transport Layer Security (TLS) to provide a secure transport for PCEP. The additional security mechanisms are provided by the transport protocol supporting PCEP; therefore, they do not affect the flexibility and extensibility of PCEP. This document updates RFC 5440 in regards to the PCEP initialization phase procedures. Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths (LSPs) This document introduces a generic mechanism to create a grouping of Label Switched Paths (LSPs) in the context of a Path Computation Element (PCE). This grouping can then be used to define associations between sets of LSPs or between a set of LSPs and a set of attributes (such as configuration parameters or behaviors), and it is equally applicable to the stateful PCE (active and passive modes) and the stateless PCE. Informative References A YANG Data Model for Path Computation Element Communications Protocol (PCEP) This document defines a YANG data model for the management of Path Computation Element communications Protocol (PCEP) for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs. The data model includes configuration and state data. Work in Progress A Path Computation Element (PCE)-Based Architecture Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains. This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community. Policy-Enabled Path Computation Framework The Path Computation Element (PCE) architecture introduces the concept of policy in the context of path computation. This document provides additional details on policy within the PCE architecture and also provides context for the support of PCE Policy. This document introduces the use of the Policy Core Information Model (PCIM) as a framework for supporting path computation policy. This document also provides representative scenarios for the support of PCE Policy. This memo provides information for the Internet community. Network Time Protocol Version 4: Protocol and Algorithms Specification The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet. This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family. NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs. It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required. It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism. [STANDARDS-TRACK] Path Computation Element Communication Protocol (PCEP) Management Information Base (MIB) Module This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling of the Path Computation Element Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs. Conveying Vendor-Specific Constraints in the Path Computation Element Communication Protocol The Path Computation Element Communication Protocol (PCEP) is used to convey path computation requests and responses both between Path Computation Clients (PCCs) and Path Computation Elements (PCEs) and between cooperating PCEs. In PCEP, the path computation requests carry details of the constraints and objective functions that the PCC wishes the PCE to apply in its computation. This document defines a facility to carry vendor-specific information in PCEP using a dedicated object and a new Type-Length-Value (TLV) that can be carried in any PCEP object that supports TLVs. This document obsoletes RFC 7150. The only changes from that document are a clarification of the use of the new Type-Length-Value and the allocation of a different code point for the VENDOR-INFORMATION object. Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are widely used to protect data exchanged over application protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the last few years, several serious attacks on TLS have emerged, including attacks on its most commonly used cipher suites and their modes of operation. This document provides recommendations for improving the security of deployed services that use TLS and DTLS. The recommendations are applicable to the majority of use cases. Path Computation Element Communication Protocol (PCEP) Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model 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. The extensions for stateful PCE provide active control of Multiprotocol Label Switching (MPLS) Traffic Engineering Label Switched Paths (TE LSPs) via PCEP, for a model where the PCC delegates control over one or more locally configured LSPs to the PCE. This document describes the creation and deletion of PCE-initiated LSPs under the stateful PCE model. Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing Segment Routing (SR) enables any head-end node to select any path without relying on a hop-by-hop signaling technique (e.g., LDP or RSVP-TE). It depends only on "segments" that are advertised by link-state Interior Gateway Protocols (IGPs). An SR path can be derived from a variety of mechanisms, including an IGP Shortest Path Tree (SPT), an explicit configuration, or a Path Computation Element (PCE). This document specifies extensions to the Path Computation Element Communication Protocol (PCEP) that allow a stateful PCE to compute and initiate Traffic-Engineering (TE) paths, as well as a Path Computation Client (PCC) to request a path subject to certain constraints and optimization criteria in SR networks. This document updates RFC 8408. Example of Policy Parameters An example could be a monitoring and telemetry policy, P1, that is dependent on a profile (GOLD/SILVER/BRONZE) as set by the operator. The PCEP peers need to be aware of policy P1 (and its associated characteristics) in advance as well the fact that the policy parameter will encode the profile of a type string in the POLICY-PARAMETERS-TLV. As an example, LSP1 could encode the PAG with the POLICY-PARAMETERS-TLV using the string "GOLD". The following is another example where the path computation at the PCE could be dependent on when the LSP was configured at the PCC. For such a policy, P2, the timestamp can be encoded in the POLICY-PARAMETERS-TLV, and the exact encoding could be the 64-bit timestamp format as defined in . While the above example has a single field in the POLICY-PARAMETERS-TLV, it is possible to include multiple fields, but the exact order, encoding format, and meanings need to be known in advance at the PCEP peers. Acknowledgments We would like to acknowledge and thank , , , , , and for working on earlier draft versions with similar motivation. Special thanks to the authors of . This document borrowed some of its text. The authors would like to thank , , and for their useful comments. Thanks to for shepherding this document. Thanks to for providing comments and being the responsible AD for this document. Thanks to for the RTGDIR review. Thanks to and for their comments during the IESG review. Contributors The following individuals have contributed extensively: RtBrick Inc N-17L, 18th Cross Rd, HSR Layout Bangalore Karnataka 560102
India mahend.ietf@gmail.com Huawei Technologies Divyashree Techno Park, Whitefield Bangalore Karnataka 560066
India dhruv.ietf@gmail.com The following individuals have contributed text that was incorporated: Huawei Technologies 101 Software Avenue, Yuhua District Nanjing Jiangsu 210012
China sunseawq@huawei.com Huawei Technologies Bantian, Longgang District Shenzhen 518129
China zhang.xian@huawei.com
udayasreereddy@gmail.com Cisco Systems, Inc.
Canada mkoldych@cisco.com Authors' Addresses Cisco Systems, Inc. 11 Rue Camille Desmoulins Issy-les-Moulineaux 92130
France slitkows@cisco.com Ciena 385 Terry Fox Drive Kanata Ontario K2K 0L1
Canada msiva282@gmail.com Juniper Networks jefftant.ietf@gmail.com Metaswitch Networks 33 Genotin Road Enfield
United Kingdom Jonathan.Hardwick@metaswitch.com 华为技术有限公司 华为北研所 北京 100095
中国 c.l@huawei.com
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4