RFC 9358
Path Computation Element Communication Protocol (PCEP) Extensions for Establishing Relationships between Sets of Label Switched Paths and Virtual Networks
RFC 9358: PCEP Extensions for Establishing Relationships between Sets of Label Switched Paths and Virtual Networks π
RFC number: 9358 Category: Standards Track Date: February 2023 ISSN: 2070-1721 Obsoletes / Updates: Neither is listed in this document's title block.
Authors:
- Y. Lee, Samsung Electronics π
- H. Zheng, Huawei Technologies πΈ
- D. Ceccarelli, Cisco Systems π¦
The title block doesn't list anything this one obsoletes or updates, so it's a standalone spec. Iconic energy β¨
Abstract
Okay so this doc is about how to level up the PCEP association mechanism from RFC 8697. The goal is to link sets of Label Switched Paths (LSPs) to a bigger structure, like a Virtual Network (VN) that a customer or application asked for. π§ That lets you control a whole VN using the PCE architecture, and it's giving very organized, very clean vibes π
Status of This Memo
This is an Internet Standards Track document. π
It's a product of the Internet Engineering Task Force (IETF), so it reflects the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). If you want more info on Internet Standards, check out Section 2 of RFC 7841. π
For the current status, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc9358. β¨
Copyright Notice
Copyright (c) 2023 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://trustee.ietf.org/license-info) as they stand on the publication date. Please actually read those, bestie, because they explain your rights and restrictions for this document. π
Code Components pulled from this document must include the Revised BSD License text, as described in Section 4.e of the Trust Legal Provisions. They're also provided without warranty, as described in the Revised BSD License.
Table of Contents ποΈ
1. Introduction
2. Terminology
3. Operation Overview
4. Extensions to PCEP
5. Security Considerations
6. IANA Considerations
6.1. ASSOCIATION Object Type Indicator
6.2. PCEP TLV Type Indicator
6.3. PCEP Error
7. Manageability Considerations
7.1. Control of Function and Policy
7.2. Information and Data Models
7.3. Liveness Detection and Monitoring
7.4. Verification of Correct Operations
7.5. Requirements on Other Protocols
7.6. Impact on Network Operations
8. References
8.1. Normative References
8.2. Informative References
Contributors
Authors' Addresses
1. Introduction β¨
Okay, so PCEP is the protocol that lets Path Computation Elements (PCEs) do path computations when Path Computation Clients (PCCs) ask them to π [RFC5440].
[RFC8051] is the one to read for general considerations on stateful PCE deployments. It covers applicability, benefits, challenges, and limitations through a bunch of use cases πΈ. [RFC8231] adds PCEP extensions for stateful control. A stateful PCE doesn't just know what the IGP tells it. It also knows the set of active paths and their reserved resources π. That extra state lets it compute constrained paths while thinking about each individual LSP and how they interact with each other. Main character energy π
[RFC8281] covers the setup, maintenance, and teardown of PCE-initiated LSPs under the stateful PCE model π¦.
[RFC8697] brings in a generic mechanism for grouping LSPs π«Ά. You can use those groups to define associations between sets of LSPs, or between a set of LSPs and a set of attributes β¨.
[RFC8453] is the framework for Abstraction and Control of TE Networks (ACTN). It describes the different VN operations a customer or application can start. A VN is basically the customer's view of the TE network π. Which VN operations and views you get depends on what the client and provider agreed to, so there's a lot of flexibility π.
[RFC8637] looks at the PCE and ACTN architectures and explains how PCE applies to ACTN π§. [RFC6805] and [RFC8751] describe a hierarchy of stateful PCEs, where a parent PCE coordinates multi-domain path computation across child PCEs. That's the foundation for PCE applicability to ACTN π₯. As [RFC8751] explains, in ACTN the child PCE is the Provisioning Network Controller (PNC), and the parent PCE is the Multi-Domain Service Coordinator (MDSC) π.
So here's the thing π. We need a way to tie a set of LSPs to a VN "construct" so VN operations are easier in the PCE architecture. This association tells a PCE which LSPs belong to a certain VN. Then the PCE can optimize every LSP in that VN all at once π. It can also take VN-specific actions, like relaxing constraints, taking policy actions, setting default behavior, and so on β¨.
This document specifies a PCEP extension that associates a set of LSPs based on their VN. Iconic, honestly π π«Ά
2. Terminology π
This document uses terminology from [RFC4655], [RFC5440], [RFC6805], [RFC8231], and [RFC8453] π.
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 read as described in BCP 14 [RFC2119] [RFC8174]. They only carry that meaning when they appear in all capitals, exactly as shown here π₯.
3. Operation Overview β¨
okay so bestie, here's the big picture π¦ LSPs (label switched paths) get linked up with the other LSPs they interact with by joining a shared association group, same as in [RFC8697]. and this doc is all about a special group called the "VN Association Group (VNAG)" π the whole point is that a bunch of LSPs that belong to one virtual network (VN) get treated as a team, not as lonely solo LSPs π«Ά
why does that matter? ngl it's giving main character energy for optimization π when you're computing a path, you wanna see how that one LSP affects all the other LSPs in the same VN, not just tunnel-vision on one. the optimization goals (like minimizing the load on the most loaded link (MLL) [RFC5541]) can be applied across the whole VN association π and when the PCE does path reoptimization, it can use fancy advanced algorithms that look at every LSP in the VN and optimize them all together π§
3.1. VN Association Group β¨
here's the setup π this doc defines the VNAG, and it's how you tie a set of LSPs to a VN. the ASSOCIATION object has a field that says what kind of association it is, and this doc adds a new Association Type value of 7 meaning "VN Association" π the Association Identifier in that object is the VNAG Identifier, and it's handled exactly like the generic Association Identifier from [RFC8697] π
a "VNAG object" just means an ASSOCIATION object with the Association Type set to "VN Association" (7) π¦
okay now the rules, and they're strict bestie π
- local policies on the PCE decide the computational and optimization behavior for the LSPs in the VN π₯
- an LSP MUST NOT belong to more than one VNAG π
- if an implementation sees more than one VNAG object in a PCEP message, it MUST process the first one and MUST ignore the rest π«Ά
3.2. Advertising Support for the VN Association Type β¨
[RFC8697] says how a PCEP speaker tells its peer which Association Types it supports, using the ASSOC-Type-List TLV inside an OPEN object π so, a PCEP speaker MUST include the VN Association Type (7) in the ASSOC-Type-List TLV before it uses the VNAG object in any PCEP message. no skipping this step, periodt π
and if the implementation doesn't support the VN Association Type, it'll send back a PCErr message with Error-Type=26 (Association Error) and Error-value=1 (Association Type is not supported) π as per [RFC8697], of course β¨
3.3. VNAG Identifiers β¨
the VNAG IDs are dynamic, so they're not something you configure by hand π§ they get created by the parent PCE (MDSC) based on the VN operations for the LSPs in the same VN πΈ operator configuration of VNAG IDs is not supported, so there's no need to set an Operator-configured Association Range at all π
which means the VN Association Type (7) MUST NOT be present in the Operator-configured Association Range TLV, even if that TLV shows up in the OPEN object π and if an implementation does spot the VN Association Type (7) in an Operator-configured Association Range TLV anyway, it MUST ignore the associated Start-Assoc-ID and Range values π
3.4. Parent and Child PCE Interaction β¨
this association is especially useful in a PCEP session between a parent PCE (MDSC) and a child PCE (PNC) π¦ when the child PCE is computing a path, it looks at the VN association in the parent PCE's request, then maps the VN to the associated LSPs and network resources π
from the parent PCE's point of view, it gets a VN creation request from its customer π«Ά the VN is uniquely identified by the association parameters (Section 6.1.4 of [RFC8697]) in the VNAG, or by the Virtual Network Identifier encoded in the VIRTUAL-NETWORK-TLV β¨ that VN can be made of multiple LSPs in one domain or spread across multiple domains π
the parent PCE sends a PCInitiate message with this association info in the VNAG object π§ that effectively binds an LSP that's about to be instantiated at the child PCE to the VN π and the VN association information MUST be included as part of the first PCRpt message π
here's the picture of a typical VN operation using PCEP π¦ (in a multi-domain setup, each domain is run by its own child PCE, and the border nodes in each domain stitch the segments together for the cross-domain tunnel once they get the instruction from their child PCE (PNC) πΈ)
******
..........*MDSC*..............................
. ****** .. MPI .
. . . .
. . . PCInitiate LSPx .
. . . with VNAG .
. . . .
. . . .
. . . .
v v v .
****** ****** ****** .
*PNC1* *PNC2* *PNC4* .
****** ****** ****** .
+---------------+ +---------------+ +---------------+ .
| |----| |----| C| .
| | | | | | .
|DOMAIN 1 |----|DOMAIN 2 |----|DOMAIN 4 | .
+---------------+ +---------------+ +---------------+ .
/ .
****** / .
*PNC3*<............/......................
****** /
+---------------+/
| |
| |
|DOMAIN 3 |
+---------------+
MDSC -> parent PCE
PNC -> child PCE
MPI -> PCEP
Figure 1: Example of VN Operations in H-PCE (Hierarchical PCE)
Architecture
whenever something changes with an instantiated LSP in a domain network, the domain's child PCE reports it with a PCRpt message, and the VNAG object in there shows how that LSP relates to the VN π and whenever the customer updates a VN, the parent PCE sends a PCUpd message to let each affected child PCE know π«Ά
4. Extensions to PCEP π
the VNAG uses the generic ASSOCIATION object from [RFC8697] π
this doc defines one new mandatory TLV, the "VIRTUAL-NETWORK-TLV" β¨ it can optionally be used together with the existing VENDOR-INFORMATION-TLV from [RFC7470], as described below π
- VIRTUAL-NETWORK-TLV: used to communicate the Virtual Network Identifier π¦
- VENDOR-INFORMATION-TLV: used to communicate arbitrary vendor-specific behavioral information, as described in [RFC7470] π§
the format of the VIRTUAL-NETWORK-TLV looks like this π
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=65 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Virtual Network Identifier //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Format of the VIRTUAL-NETWORK-TLV
4.1. VIRTUAL-NETWORK-TLV Fields β¨
- Type (16 bits): 65 π
- Length (16 bits): the length of the value portion of the TLV in octets, and it MUST be greater than 0 π₯ the TLV MUST be zero-padded so it's 4-octet aligned π«Ά
- Virtual Network Identifier (variable): a symbolic name that uniquely identifies the VN π§ it SHOULD be a string of printable ASCII [RFC0020] characters (i.e., 0x20 to 0x7E), without a NULL terminator π it's a human-readable string that identifies a VN, and it can be specified along with the association info, which may be carried in a VENDOR-INFORMATION-TLV πΈ an implementation uses it to keep a mapping to the VNAG and the LSPs associated with the VN π the Virtual Network Identifier MAY be specified by the customer, set via an operator policy, or auto-generated by the PCEP speaker β¨
the VIRTUAL-NETWORK-TLV MUST be included in the VNAG object π if a PCEP speaker gets a VNAG object without the VIRTUAL-NETWORK-TLV, it MUST send a PCErr message with Error-Type=6 (Mandatory Object missing) and Error-value=18 (VIRTUAL-NETWORK-TLV missing), and then close the session π
the format of the VENDOR-INFORMATION-TLV is defined in [RFC7470] π¦
if a PCEP speaker receives a VNAG object with a TLV that breaks the rules in this document, it MUST send a PCErr message with Error-Type=10 (Reception of an invalid object) and Error-value=11 (Malformed object), and it MUST close the PCEP session π
5. Security Considerations π
the security considerations from [RFC5440], [RFC8231], and [RFC8281] apply to the extensions in this document too π₯
this doc introduces the VN Association Type (7) for the ASSOCIATION object π§ more security stuff about LSP associations, due to a malicious PCEP speaker, is described in [RFC8697], and it applies to the VN Association Type as well π so securing the PCEP session with Transport Layer Security (TLS) [RFC8253] is RECOMMENDED π«Ά this is seriously not optional-vibes, bestie, lock that session down π
6. IANA Considerations π
6.1. ASSOCIATION Object Type Indicator π
IANA has assigned the following new value in the "ASSOCIATION Type Field" subregistry within the "Path Computation Element Protocol (PCEP) Numbers" registry π¦
+=======+================+===========+
| Value | Name | Reference |
+=======+================+===========+
| 7 | VN Association | RFC 9358 |
+-------+----------------+-----------+
Table 1
6.2. PCEP TLV Type Indicator π
IANA has assigned the following new value in the "PCEP TLV Type Indicators" subregistry within the "Path Computation Element Protocol (PCEP) Numbers" registry β¨
+=======+=====================+===========+
| Value | Name | Reference |
+=======+=====================+===========+
| 65 | VIRTUAL-NETWORK-TLV | RFC 9358 |
+-------+---------------------+-----------+
Table 2
6.3. PCEP Error π§
IANA has allocated the following new error value in the "PCEP-ERROR Object Error Types and Values" subregistry within the "Path Computation Element Protocol (PCEP) Numbers" registry πΈ
+============+================+=====================+===========+
| Error-Type | Meaning | Error-value | Reference |
+============+================+=====================+===========+
| 6 | Mandatory | 18: VIRTUAL- | RFC 9358 |
| | Object missing | NETWORK-TLV missing | |
+------------+----------------+---------------------+-----------+
Table 3
7. Manageability Considerations π
7.1. Control of Function and Policy π
an operator MUST be allowed to mark LSPs that belong to the same VN π this could also be done automatically based on the VN configuration β¨
7.2. Information and Data Models β¨
okay so the PCEP YANG module [PCE-PCEP-YANG] should support the association between LSPs, and that includes VN association π¦
7.3. Liveness Detection and Monitoring π
bestie, the mechanisms in this doc don't add any new liveness detection and monitoring requirements on top of the ones already listed in [RFC5440] π«Ά
7.4. Verification of Correct Operations π
same energy here: no new operation verification requirements beyond what's already in [RFC5440] π
7.5. Requirements on Other Protocols πΈ
the mechanisms here don't put any new requirements on other protocols. Other protocols are literally off the hook π§
7.6. Impact on Network Operations π
[RFC8637] describes the network operations when PCE is used for VN operations. Section 3 further specifies the operations when VN associations are used. It's giving "read the previous chapter first" πβ¨
8. References β¨
8.1. Normative References π
[RFC0020] Cerf, V., "ASCII format for network interchange", STD 80,
RFC 20, DOI 10.17487/RFC0020, October 1969,
<https://www.rfc-editor.org/info/rfc20>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://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/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://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/RFC8231, September 2017,
<https://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/RFC8253, October 2017,
<https://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/RFC8281, December 2017,
<https://www.rfc-editor.org/info/rfc8281>.
[RFC8697] Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H.,
Dhody, D., and Y. Tanaka, "Path Computation Element
Communication Protocol (PCEP) Extensions for Establishing
Relationships between Sets of Label Switched Paths
(LSPs)", RFC 8697, DOI 10.17487/RFC8697, January 2020,
<https://www.rfc-editor.org/info/rfc8697>.
8.2. Informative References π
[PCE-PCEP-YANG]
Dhody, D., Ed., Beeram, V., Hardwick, J., and J. Tantsura,
"A YANG Data Model for Path Computation Element
Communications Protocol (PCEP)", Work in Progress,
Internet-Draft, draft-ietf-pce-pcep-yang-20, 23 October
2022, <https://datatracker.ietf.org/doc/html/draft-ietf-
pce-pcep-yang-20>.
[RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
Computation Element (PCE)-Based Architecture", RFC 4655,
DOI 10.17487/RFC4655, August 2006,
<https://www.rfc-editor.org/info/rfc4655>.
[RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of
Objective Functions in the Path Computation Element
Communication Protocol (PCEP)", RFC 5541,
DOI 10.17487/RFC5541, June 2009,
<https://www.rfc-editor.org/info/rfc5541>.
[RFC6805] King, D., Ed. and A. Farrel, Ed., "The Application of the
Path Computation Element Architecture to the Determination
of a Sequence of Domains in MPLS and GMPLS", RFC 6805,
DOI 10.17487/RFC6805, November 2012,
<https://www.rfc-editor.org/info/rfc6805>.
[RFC7470] Zhang, F. and A. Farrel, "Conveying Vendor-Specific
Constraints in the Path Computation Element Communication
Protocol", RFC 7470, DOI 10.17487/RFC7470, March 2015,
<https://www.rfc-editor.org/info/rfc7470>.
[RFC8051] Zhang, X., Ed. and I. Minei, Ed., "Applicability of a
Stateful Path Computation Element (PCE)", RFC 8051,
DOI 10.17487/RFC8051, January 2017,
<https://www.rfc-editor.org/info/rfc8051>.
[RFC8453] Ceccarelli, D., Ed. and Y. Lee, Ed., "Framework for
Abstraction and Control of TE Networks (ACTN)", RFC 8453,
DOI 10.17487/RFC8453, August 2018,
<https://www.rfc-editor.org/info/rfc8453>.
[RFC8637] Dhody, D., Lee, Y., and D. Ceccarelli, "Applicability of
the Path Computation Element (PCE) to the Abstraction and
Control of TE Networks (ACTN)", RFC 8637,
DOI 10.17487/RFC8637, July 2019,
<https://www.rfc-editor.org/info/rfc8637>.
[RFC8751] Dhody, D., Lee, Y., Ceccarelli, D., Shin, J., and D. King,
"Hierarchical Stateful Path Computation Element (PCE)",
RFC 8751, DOI 10.17487/RFC8751, March 2020,
<https://www.rfc-editor.org/info/rfc8751>.
Contributors π«Ά
Dhruv Dhody
Huawei Technologies
Divyashree Technopark, Whitefield
Bangalore 560066
Karnataka
India
Email: dhruv.ietf@gmail.com
Qin Wu
Huawei Technologies
China
Email: bill.wu@huawei.com
Xian Zhang
Huawei Technologies
China
Email: zhang.xian@huawei.com
Adrian Farrel
Old Dog Consulting
Email: adrian@olddog.co.uk
Authors' Addresses π
Young Lee
Samsung Electronics
Seoul
Republic of Korea
Email: younglee.tx@gmail.com
Haomian Zheng
Huawei Technologies
H1, Huawei Xiliu Beipo Village Songshan Lake
Dongguan
Guangdong, 523808
China
Email: zhenghaomian@huawei.com
Daniele Ceccarelli
Cisco Systems
Torshamnsgatan,48
Stockholm
Sweden
Email: daniele.ietf@gmail.com
That's the whole doc, bestie ππ thank you for sticking with me through all three parts π₯Ήπ
π¦ where this page comes from
- ietf: rfc9358 2023-02
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms