Figure 2 shows one typical PCE-based implementation, which is referred to as the Combined Process (R&WA). With this architecture, the two processes of routing and wavelength assignment are accessed via a single PCE. This architecture is the base architecture specified in [
RFC 6163], and the PCEP extensions that are specified in this document are based on this architecture.
+----------------------------+
+-----+ | +-------+ +--+ |
| | | |Routing| |WA| |
| PCC |<----->| +-------+ +--+ |
| | | |
+-----+ | PCE |
+----------------------------+
Wavelength allocation can be performed by the PCE by means of:
- (a)
- Explicit Label Control [RFC 3471] where the PCE allocates which label to use for each interface/node along the path. The allocated labels MAY appear after an interface route subobject.
- (b)
- A Label Set where the PCE provides a range of potential labels to be allocated by each node along the path.
Option (b) allows distributed label allocation (performed during signaling) to complete wavelength assignment.
Additionally, given a range of potential labels to allocate, a PCReq
SHOULD convey the heuristic or mechanism used for the allocation.
Per [
RFC 5440], the format of a PCReq message after incorporating the Wavelength Assignment (WA) object is as follows:
<PCReq Message> ::= <Common Header>
[<svec-list>]
<request-list>
Where:
<request-list>::=<request>[<request-list>]
<request>::= <RP>
<END-POINTS>
<WA>
[other optional objects...]
If the WA object is present in the request, it
MUST be encoded after the END-POINTS object as defined in [
RFC 8779]. The WA object is mandatory in this document. Orderings for the other optional objects are irrelevant.
For the WA object, the Object-Class is 42, and the Object-Type is 1.
The format of the WA object body is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Flags |M|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// TLVs //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
Reserved (16 bits):
-
Reserved for future use and SHOULD be zeroed and ignored on receipt.
-
Flags field (16 bits):
-
One flag bit is allocated as follows:
-
M (1 bit):
-
Wavelength Allocation Mode. The M bit is used to indicate the mode of wavelength assignment. When the M bit is set to 1, this indicates that the label assigned by the PCE must be explicit. That is, the selected way to convey the allocated wavelength is by means of Explicit Label Control for each hop of a computed LSP. Otherwise (M bit is set to 0), the label assigned by the PCE need not be explicit (i.e., it can be suggested in the form of Label Set objects in the corresponding response, to allow distributed WA. If M is 0, the PCE MUST return a Label Set Field as described in Section 2.6 of RFC 7579 in the response. See Section 5 of this document for the encoding discussion of a Label Set Field in a PCRep message.
All unused flags SHOULD be zeroed. IANA has created a new registry to manage the Flags field of the WA object.
-
TLVs (variable):
-
In the TLVs field, the following two TLVs are defined. At least one TLV MUST be present.
-
Wavelength Selection TLV:
-
The type of this TLV is 8, and it has a fixed length of 32 bits. This TLV indicates the wavelength selection. See Section 4.2 for details.
-
Wavelength Restriction TLV:
-
The type of this TLV is 9, and it has a variable length. This TLV indicates wavelength restrictions. See Section 4.3 for details.
The Wavelength Selection TLV is used to indicate the wavelength selection constraint in regard to the order of wavelength assignment to be returned by the PCE. This TLV is only applied when the M bit is set in the WA object specified in
Section 4.1. This TLV
MUST NOT be used when the M bit is cleared.
The encoding of this TLV is specified as the WavelengthSelection sub-TLV in
Section 4.2.2 of
RFC 7689. IANA has allocated a new TLV type for the Wavelength Selection TLV (Type 8).
For any request that contains a wavelength assignment, the requester (PCC)
MUST specify a restriction on the wavelengths to be used. This restriction is to be interpreted by the PCE as a constraint on the tuning ability of the origination laser transmitter or on any other maintenance-related constraints. Note that if the LSC LSP spans different segments, the PCE must have mechanisms to know the tunability restrictions of the involved wavelength converters/regenerators, e.g., by means of the Traffic Engineering Database (TED) via either IGP or NMS. Even if the PCE knows the tunability of the transmitter, the PCC must be able to apply additional constraints to the request.
The format of the Wavelength Restriction TLV is as follows:
<Wavelength Restriction> ::=
(<Action> <Count> <Reserved>
<Link Identifiers> <Wavelength Constraint>)...
Where:
<Link Identifiers> ::= <Link Identifier> [<Link Identifiers>]
See
Section 4.3.1 for the encoding of the Link Identifier field.
These fields (i.e., <Action>, <Link Identifiers>, and <Wavelength Constraint>, etc.)
MAY appear together more than once to be able to specify multiple actions and their restrictions.
IANA has allocated a new TLV type for the Wavelength Restriction TLV (Type 9).
The TLV data is defined as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Action | Count | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link Identifiers |
// . . . //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Wavelength Constraint |
// . . . . //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ . . . . ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Action | Count | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Link Identifiers |
// . . . //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Wavelength Constraint |
// . . . . //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
Action (8 bits):
-
-
0:
-
Inclusive List. Indicates that one or more link identifiers are included in the Link Set. Each identifies a separate link that is part of the set.
-
1:
-
Inclusive Range. Indicates that the Link Set defines a range of links. It contains two link identifiers. The first identifier indicates the start of the range (inclusive). The second identifier indicates the end of the range (inclusive). All links with numeric values between the bounds are considered to be part of the set. A value of zero in either position indicates that there is no bound on the corresponding portion of the range.
-
2-255:
-
Unassigned.
IANA has created a new registry to manage the Action values of the Wavelength Restriction TLV.
If a PCE receives an unrecognized Action value, the PCE MUST send a PCEP Error (PCErr) message with a PCEP-ERROR object with Error-Type=27 and an Error-value=3. See Section 5.2 for details.
Note that "links" are assumed to be bidirectional.
-
Count (8 bits):
-
The number of the link identifiers.
Note that a PCC MAY add a Wavelength restriction that applies to all links by setting the Count field to zero and specifying just a set of wavelengths.
Note that all link identifiers in the same list MUST be of the same type.
-
Reserved (16 bits):
-
Reserved for future use and SHOULD be zeroed and ignored on receipt.
-
Link Identifiers:
-
Identifies each link ID for which restriction is applied. The length is dependent on the link format and the Count field. See Section 4.3.1 for encoding of the Link Identifier field.
-
Wavelength Constraint:
-
See Section 4.3.2 for the encoding of the Wavelength Constraint field.
Various encoding errors are possible with this TLV (e.g., not exactly two link identifiers with the range case, unknown identifier types, no matching link for a given identifier, etc.). To indicate errors associated with this encoding, a PCEP speaker
MUST send a PCErr message with Error-Type=27 and Error-value=3. See
Section 5.2 for details.
The Link Identifier field can be an IPv4 [
RFC 3630], IPv6 [
RFC 5329], or unnumbered interface ID [
RFC 4203].
<Link Identifier> ::=
<IPv4 Address> | <IPv6 Address> | <Unnumbered IF ID>
The encoding of each case is as follows.
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 = 1 | Reserved (24 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 address (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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 = 2 | Reserved (24 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (16 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 address (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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 = 3 | Reserved (24 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TE Node ID (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
Type (8 bits):
-
Indicates the type of the link identifier.
-
Reserved (24 bits):
-
Reserved for future use and SHOULD be zeroed and ignored on receipt.
-
Link Identifier:
-
When the Type field is 1, a 4-byte IPv4 address is encoded; when the Type field is 2, a 16-byte IPv6 address is encoded; and when the Type field is 3, a tuple of a 4-byte TE node ID and a 4-byte interface ID is encoded.
The Type field is extensible and matches the "TE_LINK Object Class type name space (Value 11)" registry created for the Link Management Protocol (LMP) [
RFC 4204] (see [
LMP-PARAM]). IANA has added an introductory note before the aforementioned registry stating that the values have additional usage for the Link Identifier Type field. See
Section 8.14.
The Wavelength Constraint field of the Wavelength Restriction TLV is encoded as a Label Set Field as specified in
Section 2.6 of
RFC 7579 with the base label encoded as a 32-bit LSC label, as defined in [
RFC 6205]. The Label Set format is repeated here for convenience, with the base label internal structure included. See [
RFC 6205] for a description of Grid, Channel Spacing (C.S.), Identifier, and n, and see [
RFC 7579] for the details of each action.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Action| Num Labels | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Grid | C.S. | Identifier | n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Additional fields as necessary per action |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
Action (4 bits):
-
-
0:
-
Inclusive List
-
1:
-
Exclusive List
-
2:
-
Inclusive Range
-
3:
-
Exclusive Range
-
4:
-
Bitmap Set
-
Num Labels (12 bits):
-
It is generally the number of labels. It has a specific meaning depending on the action value.
-
Length (16 bits):
-
It is the length in bytes of the entire Wavelength Constraint field.
-
Identifier (9 bits):
-
The Identifier is always set to 0. If PCC receives the value of the identifier other than 0, it will ignore.
See Sections
2.6.1-
2.6.3 of [
RFC 7579] for details on additional field discussion for each action.
Path computation for WSON includes the checking of signal processing capabilities at each interface against requested capability; the PCE
MUST have mechanisms to know the signal processing capabilities at each interface, e.g., by means of (TED) via either IGP or NMS. Moreover, a PCC should be able to indicate additional restrictions to signal processing compatibility, on either the endpoint or any given link.
The supported signal processing capabilities considered in the RWA Information Model [
RFC 7446] are:
-
Optical Interface Class List
-
Bit Rate
-
Client Signal
The bit rate restriction is already expressed in the BANDWIDTH object in [
RFC 8779].
In order to support the optical interface class information and the client signal information, new TLVs are introduced as endpoint restrictions in the END-POINTS type Generalized Endpoint:
-
Client Signal Information TLV
-
Optical Interface Class List TLV
The END-POINTS type Generalized Endpoint is extended as follows:
<endpoint-restriction> ::=
<LABEL-REQUEST> <label-restriction-list>
<label-restriction-list> ::= <label-restriction>
[<label-restriction-list>]
<label-restriction> ::= (<LABEL-SET>|
[<Wavelength Restriction>]
[<signal-compatibility-restriction>])
Where:
<signal-compatibility-restriction> ::=
[<Optical Interface Class List>] [<Client Signal Information>]
The Wavelength Restriction TLV is defined in
Section 4.3.
A new Optical Interface Class List TLV (Type 11) is defined; the encoding of the value part of this TLV is described in
Section 4.1 of
RFC 7581.
A new Client Signal Information TLV (Type 12) is defined; the encoding of the value part of this TLV is described in
Section 4.2 of
RFC 7581.
The PCC/PCE should be able to exclude particular types of signal processing along the path in order to handle client restriction or multi-domain path computation. [
RFC 5521] defines how the Exclude Route Object (XRO) subobject is used. In this document, we add two new XRO Signal Processing Exclusion subobjects.
The first XRO subobject type (8) is the Optical Interface Class List, which is defined as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|X| Type=8 | Length | Reserved | Attribute |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Optical Interface Class List //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Refer to [
RFC 5521] for the definitions of X, Length, and Attribute.
-
Type (7 bits):
-
The type of the Signaling Processing Exclusion field. IANA has assigned value 8 for the Optical Interface Class List XRO subobject type.
-
Reserved bits (8 bits):
-
These are for future use and SHOULD be zeroed and ignored on receipt.
-
Attribute (8 bits):
-
[RFC 5521] defines several Attribute values; the only permitted Attribute values for this field are 0 (Interface) or 1 (Node).
-
Optical Interface Class List:
-
This field is encoded as described in Section 4.1 of RFC 7581.
The second XRO subobject type (9) is the Client Signal Information, which is defined as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|X| Type=9 | Length | Reserved | Attribute |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Client Signal Information //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Refer to [
RFC 5521] for the definitions of X, Length, and Attribute.
-
Type (7 bits):
-
The type of the Signaling Processing Exclusion field. IANA has assigned value 9 for the Client Signal Information XRO subobject type.
-
Reserved bits (8 bits):
-
These are for future use and SHOULD be zeroed and ignored on receipt.
-
Attribute (8 bits):
-
[RFC 5521] defines several Attribute values; the only permitted Attribute values for this field are 0 (Interface) or 1 (Node).
-
Client Signal Information:
-
This field is encoded as described in Section 4.2 of RFC 7581.
The XRO needs to support the new Signaling Processing Exclusion XRO subobject types:
-
-
8:
-
Optical Interface Class List
-
9:
-
Client Signal Information
Similar to the XRO subobject, the PCC/PCE should be able to include particular types of signal processing along the path in order to handle client restriction or multi-domain path computation. [
RFC 5440] defines how the Include Route Object (IRO) subobject is used. In this document, we add two new Signal Processing Inclusion subobjects.
The IRO needs to support the new IRO subobject types (8 and 9) for the PCEP IRO object [
RFC 5440]:
-
-
8:
-
Optical Interface Class List
-
9:
-
Client Signal Information
The encoding of the Signal Processing Inclusion subobjects is similar to the process in
Section 4.4.1 where the 'X' field is replaced with the 'L' field; all the other fields remain the same. The 'L' field is described in [
RFC 3209].