PCE | S. Peng |
Internet-Draft | Q. Xiong |
Intended status: Standards Track | ZTE Corporation |
Expires: December 3, 2020 | F. Qin |
China Mobile | |
June 1, 2020 |
PCE TE Constraints for Network Slicing
draft-peng-pce-te-constraints-03
This document proposes a set of extensions for PCEP to support the TE constraints of network slicing during path computation, e.g, IGP instance, virtual network, specific application, color template and FA-id etc.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 3, 2020.
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://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
[RFC5440] describes the Path Computation Element Protocol (PCEP) which is used between a Path Computation Element (PCE) and a Path Computation Client (PCC) (or other PCE) to enable computation of Multi-protocol Label Switching (MPLS) for Traffic Engineering Label Switched Path (TE LSP). PCEP Extensions for the Stateful PCE Model [RFC8231] describes a set of extensions to PCEP to enable active control of MPLS-TE and Generalized MPLS (GMPLS) tunnels. As depicted in [RFC4655], a PCE MUST be able to compute the path of a TE LSP by operating on the TED and considering bandwidth and other constraints applicable to the TE LSP service request. The constraint parameters are provided such as metric, bandwidth, delay, affinity, etc. However these parameters can't meet the network slicing requirements.
According to 5G context, network slicing is the collection of a set of technologies to support network service differentiation and meeting the diversified requirements from vertical industries. The slices may be seen as virtual networks and partition the network resources into sub-topologies in transport network. Multiple existing identifiers could be used to identify the virtual network resource and viewed as constraints of network slicing when PCE is deployed.
A PCE always perform path computation based on the network topology information collected through BGP-LS [RFC7752]. BGP-LS can get multiple link-state data from multiple IGP instance, or multiple virtual topologies from a single IGP instance. It is necessary to restrict the PCE to a small topology scope during path computation for some special purpose. BGP-LS can also get application specific TE attributes for a link, it is also necessary to restrict PCE to use TE attributes of specific application The PCE MUST take the identifier of slicing into consideration during path computation.
This document proposes a set of extensions for PCEP to support the TE constraints for network slicing during path computation, e.g, IGP instance, virtual network, specific application, color template and FA-id etc.
The terminology is defined as [RFC5440] and [RFC7752].
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.
As defined in [RFC5440] , the LSPA object is used to specify the LSP attributes to be taken into account by the PCE during path computation such as TE constraints. This document proposes several new TLVs for the LSPA object to carry TE constraints in Network Slicing.
The Source Protocol TLV is optional and is defined to carry the source protocol constraint.
In a PCReq message, a PCC MAY insert one Source Protocol TLV to indicate the source protocol that MUST be considered by the PCE. The PCE will perform path computation based on the sub-topology identified by the specific source protocol. The absence of the Source Protocol TLV MUST be interpreted by the PCE as a path computation request for which no constraints need be applied to any of the source protocols.
In a PCRep/PCInit/PCUpd message, the Source Protocol TLV MAY be carried so as to provide the source protocol information for the computed path.
The format of the Source Protocol TLV is shown as Figure 1:
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=TBD1 | Length=12 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol-ID | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | | (64 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Source Protocol TLV
The code point for the TLV type is TBD1. The TLV length is 12 octets.
Protocol-ID (8 bits): defined in [RFC7752] section 3.2.
Reserved (24 bits): This field MUST be set to zero on transmission and MUST be ignored on receipt.
Identifier (64 bits): defined in [RFC7752] section 3.2.
The Multi-topology TLV is optional and is defined to carry the multi-topology protocol constraint.
In a PCReq message, a PCC MAY insert one Multi-topology TLV to indicate the sub-topology of an IGP instance that MUST be considered by the PCE. The PCE will perform path computation based on the sub-topology identified by the specific Multi-Topology ID within a source protocol. The absence of the Multi-topology TLV MUST be interpreted by the PCE as a path computation request for which no constraints need be applied to any of the multi-topologies.
In a PCRep/PCInit/PCUpd message, the Multi-topology TLV MAY be carried so as to provide the Multi-topology information for the computed path.
The Multi-topology TLV MUST be carried after a Source Protocol TLV, if not it MUST be ignored.
The format of the Multi-topology TLV is shown as Figure 2:
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=TBD2 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R R R R| Multi-Topology ID | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Multi-topology TLV
The code point for the TLV type is TBD2. The TLV length is 4 octets.
Multi-Topology ID (12 bits): Semantics of the IS-IS MT-ID are defined in Section 7.2 of [RFC5120]. Semantics of the OSPF MT-ID are defined in Section 3.7 of [RFC4915]. If the value is derived from OSPF, then the upper 9 bits MUST be set to 0. Bits R are reserved and SHOULD be set to 0 when originated and ignored on receipt.
Reserved (16 bits): This field MUST be set to zero on transmission and MUST be ignored on receipt.
Administrative Instance Identifier (AII) is provided to specify the TE purpose within a virtual network as per [I-D.peng-lsr-network-slicing]. The AII TLV is optional and is defined to carry the AII constraint.
In a PCReq message, a PCC MAY insert one AII TLV to indicate the global virtual network that MUST be considered by the PCE. The PCE will perform path computation based on the intra-domain or inter-domain sub-topology identified by the specific AII, which is independent of routing protocols such as IGP/BGP. The absence of the AII TLV MUST be interpreted by the PCE as a path computation request for which no constraints need be applied to any of the virtual network, i.e, a default AII (0) will be applied.
In a PCRep/PCInit/PCUpd message, the AII TLV MAY be carried so as to provide the network slicing information for the computed path.
The format of the AII TLV is shown as Figure 3:
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=TBD3 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AII | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: AII TLV
The code point for the TLV type is TBD3. The TLV length is 4 octets.
AII (32 bits): indicate the AII information as defined in [I-D.peng-lsr-network-slicing].
The Application Specific TLV is optional and is defined to carry the application specific constraints.
In a PCReq message, a PCC MAY insert one Application Specific TLV to indicate the application that MUST be considered by the PCE. The PCE will perform path computation using the specific application attributes. The absence of the Application Specific TLV MUST be interpreted by the PCE as a path computation request for which no constraints need be applied to any of the Application Specific attributes.
In a PCRep/PCInit/PCUpd message, the Application Specific TLV MAY be inserted so as to provide the Application Specific information for the computed path.
The format of the Application Specific TLV is shown as Figure 4:
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=TBD4 | Length=8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Standard Application ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | User Defined Application ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Application Specific TLV
The code point for the TLV type is TBD4. The TLV length is 8 octets.
Standard Application ID: Represents a bit-position value for a single STANDARD application that is defined in the IANA "IGP Parameters" registries under the "Link Attribute Applications" registry [I-D.ietf-isis-te-app].
User Defined Application ID: Represents a single user defined application which is a specific implementation.
The Color TLV is optional and is defined to carry the color constraints.
In a PCReq message, a PCC MAY insert one Color TLV to indicate the traffic engineering purpose that is recognized by both PCE and PCC with no conflict meaning. The PCE will perform path computation based on the color template. The same color template may be also defined at PCC and the existing constraints (i.e, metric, bandwidth, delay, etc) carried in the message MUST be ignored. The absence of the Color TLV MUST be interpreted by the PCE as a path computation request for which traditional constraints that are contained in message need be applied.
In a PCRep/PCInit/PCUpd message, the Color TLV MAY be inserted so as to provide the TE purpose information for the computed path, the PCC recognize the color value that match a local color-template.
The format of the Color TLV is shown as Figure 5:
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=TBD5 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Color | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Color TLV
The code point for the TLV type is TBD5. The TLV length is 4 octets.
Color (32 bits): indicate a TE template, 0 is invalid value. It is consistent with the Color Extended Community defined in [I-D.ietf-idr-tunnel-encaps], and color of SR policy defined in [I-D.ietf-spring-segment-routing-policy].
Note that Color TLV defined in this document is used to represent a TE template, it can be suitable for any TE instance such as RSVP-TE, SR-TE, SR-policy. [I-D.barth-pce-segment-routing-policy-cp] has proposed the SR policy KEY (that also includes a color information) as an association group KEY to associate many candidate paths, however it is only for association purpose but not constraint purpose for path computation.
A color template can be defined to use existing constraints such as metric, bandwidth, delay, affinity parameters, and the sub-topology constraints above defined in this document.
FA-id defined in [I-D.ietf-lsr-flex-algo] is a short mapping of SR policy color to optimize segment stack depth for the IGP area partial of the entire SR policy. The overlay service that want to be carried over a particular SR-FA path must firstly let the SR policy supplier know that requirement. There are two possible ways to map a color to an FA-id. One is explicit mapping configuration within color template, the other is dynamicly replacing a long segment list to short FA segment by headend or controller once the information contained in the color-template equal to that contained in FAD.
In a PCReq message, a PCC MAY insert one FA-id TLV to indicate the above explicit FA-id mapping. The PCE will perform path computation based on the FA-id. In detailed, The PCE will check if there are connectivity within the corresponding Flex-algo plane to the destination. If yes, the path computation result will be represented as segment list with a single prefix-SID@FA for intra-domain case, or several prefix-SID@FA for inter-domain case.
In a PCRep/PCInit/PCUpd message, the FA-id TLV MAY be inserted so as to provide the FA plane information for the computed path.
In general, the FA-id TLV is only meaningful for the domain that headend node belongs to. For inter-domain case, operator MUST ensure the FA-id configuration of different domain are same for an E2E slice, when he want to explicitly indicate FA-id in PCEP message.
The format of the FA-id TLV is shown as Figure 6:
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=TBD6 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FA-id | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: FA-id TLV
The code point for the TLV type is TBD6. The TLV length is 4 octets.
FA-id (8 bits): indicate an explicit FA-id mapping information.
TBA
TBA
IANA is requested to make allocations from the registry, as follows:
Type | TLV | Reference |
---|---|---|
TBD1 | Source Protocol TLV | [this document] |
TBD2 | Multi-topology TLV | [this document] |
TBD3 | AII TLV | [this document] |
TBD4 | Application Specific TLV | [this document] |
TBD5 | Color TLV | [this document] |
TBD6 | FA-id TLV | [this document] |