As per [
RFC 8697], LSPs are associated with other LSPs with which they interact by adding them to a common association group.
An association group based on VN is useful for various optimizations that should be applied by considering all the LSPs in the association. This includes, but is not limited to, the following:
-
Path Computation:
-
When computing a path for an LSP, it is useful to analyze the impact of this LSP on the other LSPs belonging to the same VN. The aim would be to optimize all LSPs belonging to the VN rather than a single LSP. Also, the optimization criteria (such as minimizing the load of the most loaded link (MLL) [RFC 5541]) could be applied for all the LSPs belonging to the VN identified by the VN association.
-
Path Reoptimization:
-
The PCE would like to use advanced path computation algorithms and optimization techniques that consider all the LSPs belonging to a VN and optimize them all together during the path reoptimization.
In this document, we define a new association group called the "VN Association Group (VNAG)". This grouping is used to define the association between a set of LSPs and a VN.
The ASSOCIATION object contains a field to identify the type of association, and this document defines a new Association Type value of 7 to indicate that the association is a "VN Association". The Association Identifier in the ASSOCIATION object is the VNAG Identifier and is handled in the same way as the generic Association Identifier defined in [
RFC 8697].
In this document, "VNAG object" refers to an ASSOCIATION object with the Association Type set to "VN Association" (7).
Local policies on the PCE define the computational and optimization behavior for the LSPs in the VN. An LSP
MUST NOT belong to more than one VNAG. If an implementation encounters more than one VNAG object in a PCEP message, it
MUST process the first occurrence, and it
MUST ignore the others.
[
RFC 8697] specifies the mechanism by which a PCEP speaker can advertise which Association Types it supports. This is done using the ASSOC-Type-List TLV carried within an OPEN object. A PCEP speaker
MUST include the VN Association Type (7) in the ASSOC-Type-List TLV before using the VNAG object in a PCEP message. As per [
RFC 8697], if the implementation does not support the VN Association Type, it will return a PCErr message with Error-Type=26 (Association Error) and Error-value=1 (Association Type is not supported).
The Association Identifiers (VNAG IDs) for this Association Type are dynamic in nature and created by the parent PCE (MDSC) based on the VN operations for the LSPs belonging to the same VN. Operator configuration of VNAG IDs is not supported, so there is no need for an Operator-configured Association Range to be set. Thus, the VN Association Type (7)
MUST NOT be present in the Operator-configured Association Range TLV if that TLV is present in the OPEN object. If an implementation encounters the VN Association Type (7) in an Operator-configured Association Range TLV, it
MUST ignore the associated Start-Assoc-ID and Range values.
This association is useful in a PCEP session between a parent PCE (MDSC) and a child PCE (PNC). When computing the path, the child PCE (PNC) refers to the VN association in the request from the parent PCE (MDSC) and maps the VN to the associated LSPs and network resources. From the perspective of the parent PCE, it receives a VN creation request from its customer, with the VN uniquely identified by the association parameters (
Section 6.1.4 of
RFC 8697) in the VNAG or the Virtual Network Identifier encoded in the VIRTUAL-NETWORK-TLV. This VN may comprise multiple LSPs in the network in a single domain or across multiple domains. The parent PCE sends a PCInitiate message with this association information in the VNAG object. This in effect binds an LSP that is to be instantiated at the child PCE with the VN. The VN association information
MUST be included as a part of the first PCRpt message.
Figure 1 shows an example of a typical VN operation using PCEP. It is worth noting that in a multi-domain scenario, the different domains are controlled by different child PCEs. In order to set up the cross-domain tunnel, multiple segments need to be stitched by the border nodes in each domain that receive 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
Whenever changes occur with the instantiated LSP in a domain network, the domain child PCE reports the changes using a PCRpt message in which the VNAG object indicates the relationship between the LSP and the VN.
Whenever an update occurs with VNs in the parent PCE (due to the customer's request), the parent PCE sends a PCUpd message to inform each affected child PCE of this change.