PCE Working Group D. Dhody Internet-Draft U. Palle Intended status: Experimental Huawei Technologies Expires:July 3,November 1, 2015 R. Casellas CTTCDecemberApril 30,20142015 Standard Representation of Domain-Sequencedraft-ietf-pce-pcep-domain-sequence-07draft-ietf-pce-pcep-domain-sequence-08 Abstract The ability to compute shortest constrained Traffic Engineering Label Switched Paths (TE LSPs) in Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks across multiple domains has been identified as a key requirement. In this context, a domain is a collection of network elements within a common sphere of address management or path computational responsibility such as an Interior Gateway Protocol (IGP) area or an Autonomous System (AS). This document specifies a standard representation and encoding of a Domain-Sequence, which is defined as an ordered sequence of domains traversed to reach the destination domain to be used by Path Computation Elements (PCEs) to compute inter-domain constrained shortest paths across a predetermined sequence of domains . This document also defines new subobjects to be used to encode domain identifiers. Status of This Memo 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 http://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 onJuly 3,November 1, 2015. Copyright Notice Copyright (c)20142015 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 (http://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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Detail Description . . . . . . . . . . . . . . . . . . . . .56 3.1. Domains . . . . . . . . . . . . . . . . . . . . . . . . .56 3.2. Domain-Sequence . . . . . . . . . . . . . . . . . . . . .56 3.3.StandardDomain-Sequence Representation . . . . . . . . . . . . .. . . . 67 3.4. Include Route Object (IRO) . . . . . . . . . . . . . . . 7 3.4.1. Subobjects . . . . . . . . . . . . . . . . . . . . .78 3.4.1.1. Autonomous system . . . . . . . . . . . . . . . . 8 3.4.1.2. IGP Area . . . . . . . . . . . . . . . . . . . . 8 3.4.2. Update in IRO specification . . . . . . . . . . . . .910 3.4.3. IRO for Domain-Sequence . . . . . . . . . . . . . . . 10 3.5. Exclude Route Object (XRO) . . . . . . . . . . . . . . .1112 3.5.1. Subobjects . . . . . . . . . . . . . . . . . . . . . 12 3.5.1.1. Autonomous system . . . . . . . . . . . . . . . . 12 3.5.1.2. IGP Area . . . . . . . . . . . . . . . . . . . . 13 3.6. Explicit Exclusion Route Subobject (EXRS) . . . . . . . . 14 3.7. Explicit Route Object (ERO) . . . . . . . . . . . . . . .1415 4. Other Considerations . . . . . . . . . . . . . . . . . . . . 15 4.1. Inter-Area Path Computation . . . . . . . . . . . . . . . 15 4.2. Inter-AS Path Computation . . . . . . . . . . . . . . . . 17 4.2.1. Example 1 . . . . . . . . . . . . . . . . . . . . . .1718 4.2.2. Example 2 . . . . . . . . . . . . . . . . . . . . . .1920 4.3. Boundary Node and Inter-AS-Link . . . . . . . . . . . . .2122 4.4. PCE Serving multiple Domains . . . . . . . . . . . . . .2123 4.5. P2MP . . . . . . . . . . . . . . . . . . . . . . . . . .2223 4.6. Hierarchical PCE . . . . . . . . . . . . . . . . . . . .2223 4.7. Relationship to PCE Sequence . . . . . . . . . . . . . . 24 4.8. Relationship to RSVP-TE . . . . . . . . . . . . . . . . . 24 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 5.1. New Subobjects . . . . . . . . . . . . . . . . . . . . . 255.2. Error Object Field Values . . . . . . . . . . . . . . . . 256. Security Considerations . . . . . . . . . . . . . . . . . . . 25 7. Manageability Considerations . . . . . . . . . . . . . . . .2625 7.1. Control of Function and Policy . . . . . . . . . . . . .2625 7.2. Information and Data Models . . . . . . . . . . . . . . . 26 7.3. Liveness Detection and Monitoring . . . . . . . . . . . . 26 7.4. Verify Correct Operations . . . . . . . . . . . . . . . . 26 7.5. Requirements On Other Protocols . . . . . . . . . . . . . 26 7.6. Impact On Network Operations . . . . . . . . . . . . . .2726 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.1. Normative References . . . . . . . . . . . . . . . . . . 27 9.2. Informative References . . . . . . . . . . . . . . . . .2728 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 1. Introduction APCEPath Computation Element (PCE) may be used to compute end-to-end paths across multi-domain environments using a per-domain path computation technique [RFC5152]. The backward recursive path computation (BRPC) mechanism [RFC5441] also defines a PCE-based path computation procedure to computeinter- domaininter-domain constrained path for (G)MPLS TE LSPs. However, bothper- domainper-domain and BRPC techniques assume that the sequence of domains to be crossed from source to destination is known, either fixed by the network operator or obtained by other means. Also for inter-domain point-to-multi-point (P2MP) tree computation, [RFC7334] assumes the domain-tree is known in priori. The list of domains (Domain-Sequence) in point-to-point (P2P) or a domain tree in point-to-multipoint (P2MP) is usually a constraint in inter-domain path computation procedure.A PCE determines the next PCE to forward the request based on the Domain-Sequence. In a multi- domain path computation, a Path Computation Client (PCC) MAY indicate the sequence of domains to be traversed using the Include Route Object (IRO) defined in [RFC5440]. When the sequence of domains is not known in advance, the Hierarchical PCE (H-PCE) [RFC6805] architecture and mechanisms can be used to determine the Domain-Sequence. This document defines a standard way to represent and encode a Domain-Sequence in various scenarios including P2P LSP, P2MP LSP, and use of H-PCE.The Domain-Sequence (the set of domains traversed to reach the destination domain) is either administratively predetermined or discovered by some means like H-PCE. [RFC5440] defines the Include Route Object (IRO) and the Explicit Route Object (ERO). [RFC5521] defines the Exclude Route Object (XRO) and the Explicit Exclusion Route Subobject (EXRS). The use of Autonomous System (AS) (albeit with a 2-Byte AS number) as an abstract node representing a domain is defined in [RFC3209], this document specifies new subobjects to include or exclude domains including IGP area or an Autonomous Systems (4-Byte as per [RFC6793]). Further, the domain identifier may simply act as delimiter to specify where the domain boundary starts and ends in some cases. This document further illustrates how the new subobjects defined in this document, along with the existing subobjects, are incorporated in IRO, XRO and ERO to represent a Domain-Sequence. This is a companion document to Resource ReserVation Protocol - Traffic Engineering (RSVP-TE) extensions for the domain identifiers [DOMAIN-SUBOBJ]. 1.1.Requirements LanguageScope Thekey words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"procedures described in this document are experimental. The experiment is intended tobeenable research for the usage of Domain- Sequence at the PCEs for inter-domain paths. For this purpose this document specify new domain subobjects as well as how they incorporate with existing subobjects to represent a Domain-Sequence. This document does not change the procedures for handling existing subobjects in PCEP. The new subobjects introduced by this document will not be understood by a legacy implementation. If one of the subobjects is received in a PCEP object that does not understand it, it will behave as described in Section 3.4.3. Therefore, it is assumed that this experiment will be conducted only when both the PCE and the PCC form part of the experiment. It is possible that a PCC or PCE can operate with peers some of which form part of the experiment and some that do not. In this case, since no capabilities exchange is used to identify which nodes can use these extensions, manual configuration should be used to determine which peerings form part of the experiment. When the result of implementation and deployment are available, this document will be updated and refined, and then be moved from Experimental to Standard Track. 1.2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. Terminology The following terminology is used in this document. ABR: OSPF Area Border Router. Routers used to connect two IGP areas. AS: Autonomous System. ASBR: Autonomous System Boundary Router. BN: Boundary Node, Can be an ABR or ASBR. BRPC: Backward Recursive Path Computation Domain: As per [RFC4655], any collection of network elements within a common sphere of address management or path computational responsibility. Examples of domains include Interior Gateway Protocol (IGP) area and Autonomous System (AS). Domain-Sequence: An ordered sequence of domains traversed to reach the destination domain. ERO: Explicit Route Object H-PCE: Hierarchical PCE IGP: Interior Gateway Protocol. Either of the two routing protocols, Open Shortest Path First (OSPF) or Intermediate System to Intermediate System (IS-IS). IRO: Include Route Object IS-IS: Intermediate System to Intermediate System. OSPF: Open Shortest Path First. 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. P2MP: Point-to-Multipoint P2P: Point-to-Point RSVP: Resource Reservation Protocol TE LSP: Traffic Engineering Label Switched Path. XRO: Exclude Route Object 3. Detail Description 3.1. Domains [RFC4726] and [RFC4655] define domain as a separate administrative or geographic environment within the network. A domainmaycould be further defined as a zone of routing or computational ability. Under these definitions a domain might be categorized as an AS or an IGP area. Each AS can be made of several IGP areas. In order to encode a Domain-Sequence, it is required to uniquely identify a domain in the Domain-Sequence. A domain can be uniquely identified by area-id or AS number or both. 3.2. Domain-Sequence A Domain-Sequence is an ordered sequence of domains traversed to reach the destination domain. A Domain-Sequence can be applied as a constraint and carried in a path computation request to PCE(s). A Domain-Sequence can also be the result of a path computation. For example, in the case ofH-PCE [RFC6805]Hierarchical PCE (H-PCE) [RFC6805], Parent PCEMAYcould send theDomain-SequenceDomain- Sequence as a result in a path computation reply. In a P2P path, the domains listed appear in the order that they are crossed. In a P2MP path, the domain tree is represented as a list of Domain-Sequences. A Domain-Sequence enables a PCE to select the next domain and the PCE serving that domain to forward the path computation request based on the domain information.A PCC or PCE MAY add an additional constraint covering whichDomain-Sequence can include Boundary Nodes (ABR or ASBR) or Border links (Inter-AS-links)MUSTto be traversedwhile defining a Domain-Sequence.as an additional constraint. Thus a Domain-SequenceMAYcan be made up of one or more of - o AS Number o Area ID o Boundary Node ID o Inter-AS-Link Address These are encoded in the new subobjects defined in this document as well as the existing subobjects to represent a Domain-Sequence. Consequently, a Domain-Sequence can be used: 1. by a PCE in order to discover or select the next PCE in a collaborative path computation, such as in BRPC [RFC5441]; 2. by the Parent PCE to return the Domain-Sequence when unknown; this can then be an input to the BRPC procedure [RFC6805]; 3. by aPCC (or PCE)Path Computation Client (PCC) or a PCE, to constraint the domains used ina H-PCEinter-domain path computation, explicitly specifying which domains to beexpanded;expanded or excluded; 4. by a PCE in the per-domain path computation model [RFC5152] to identify the next domain; 3.3.StandardDomain-Sequence Representation Domain-SequenceMAY appearappears in PCEP messages, notably in - o Include Route Object (IRO): As per [RFC5440], IRO can be used to specify a set of network elementsthat MUST be traversed. The subobjects in IRO are usedtospecify the Domain-Sequence that MUSTbe traversed to reach thedestination.destination, which includes subobjects used to specify the Domain- Sequence. o Exclude Route Object (XRO): As per [RFC5521], XRO can be used to specify certain abstractnodes that MUSTnodes, to be excluded from wholepath. Thepath, which includes subobjectsin XRO areused to specifycertain domains that MUST be avoided to reachthedestination.Domain-Sequence. o Explicit Exclusion Route Subobject (EXRS): As per [RFC5521], EXRS can be used to specify exclusion of certain abstract nodes (including domains) between a specific pair of nodes. EXRS are a subobject inside the IRO.These subobjects are used to specify the domains that must be excluded between two abstract nodes.o Explicit Route Object (ERO): As per [RFC5440], ERO can be used to specify a computed path in the network. For example, in the case of H-PCE [RFC6805], a Parent PCEMAYcan send the Domain-Sequence as aresultresult, in a path computation reply using ERO. 3.4. Include Route Object (IRO) As per [RFC5440], IRO (Include Route Object) can be used to specify that the computed pathMUSTneeds to traverse a set of specified network elements or abstract nodes. 3.4.1. Subobjects Some subobjects are defined in [RFC3209], [RFC3473], [RFC3477] and [RFC4874], but new subobjects related to Domain-Sequence are needed.The following subobject types are used in IRO. Type Subobject 1 IPv4 prefix 2 IPv6 prefix 4 Unnumbered Interface ID 32 Autonomous system number (2 Byte) 33 Explicit Exclusion (EXRS)This document extends theabove list tosupport for 4-Byte AS numbers and IGP Areas. Type Subobject TBD1 Autonomous system number (4 Byte) TBD2 OSPF Area id TBD3 ISIS Area id 3.4.1.1. Autonomous system [RFC3209] already defines 2 byte AS number. To support 4 byte AS number as per [RFC6793] following subobject is defined: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AS-ID (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ L: The L bit is an attribute of the subobject as defined in [RFC3209] and usage in IRO subobject updated in [IRO-UPDATE]. Type: (TBD1 by IANA) indicating a 4-Byte AS Number. Length: 8 (Total length of the subobject in bytes). Reserved: Zero at transmission, ignored at receipt. AS-ID: The 4-Byte AS Number. Note that if 2-Byte AS numbers are in use, the low order bits (16 through 31)shouldMUST be used and the high order bits (0 through 15)shouldMUST be set to zero. 3.4.1.2. IGP Area Since the length and format of Area-id is different for OSPF and ISIS, following two subobjects are defined: For OSPF, the area-id is a 32 bit number. The subobject is encoded 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OSPF Area Id (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ L: The L bit is an attribute of the subobject as defined in [RFC3209] and usage in IRO subobject updated in [IRO-UPDATE]. Type: (TBD2 by IANA) indicating a 4-Byte OSPF Area ID. Length: 8 (Total length of the subobject in bytes). Reserved: Zero at transmission, ignored at receipt. OSPF Area Id: The 4-Byte OSPF Area ID. For IS-IS, the area-id is of variable length and thus the length of the Subobject is variable. The Area-id is as described in IS-IS by ISO standard [ISO10589]. The subobject is encoded 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Area-Len | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // IS-IS Area ID // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ L: The L bit is an attribute of the subobject as defined in [RFC3209] and usage in IRO subobject updated in [IRO-UPDATE]. Type: (TBD3 by IANA) indicating IS-IS Area ID. Length: Variable.As per [RFC3209], the total length of the subobject in bytes, including the L, Type and Length fields.The Length MUST be at least4,8, and MUST be a multiple of 4. Area-Len: Variable (Length of the actual (non-padded) IS-IS Area Identifier in octets; Valid values are from 2 to 11 inclusive). Reserved: Zero at transmission, ignored at receipt. IS-IS Area Id: The variable-length IS-IS area identifier. Padded with trailing zeroes to a four-byte boundary. 3.4.2. Update in IRO specification [RFC5440] describes IRO as an optional object used to specifythatnetwork elements to be traversed by the computedpath MUST traverse a set of specified network elements.path. It further state that the L bit of such subobject has no meaning within an IRO. It also did not mention if IRO is an ordered or un-ordered list of subobjects. An update to IRO specification [IRO-UPDATE] makes IRO as an orderedlistlist, as well as support for loose bit(L-bit).(L-bit) is added. The use of IRO forDomain-SequenceDomain-Sequence, assumes the updated specification forIROIRO, as per [IRO-UPDATE]. 3.4.3. IRO for Domain-Sequence Some subobjects for the IRO are defined in [RFC3209],[RFC3473],[RFC3477], and [RFC4874]; further some new subobjects related to Domain-Sequence are also added in this document as mentioned in Section 3.4. The subobject type for IPv4, IPv6, and unnumbered Interface ID can be used to specify Boundary Nodes (ABR/ASBR) and Inter-AS-Links. The subobject type for the AS Number (2 or 4 Byte) and the IGP Area are used to specify the domain identifiers in the Domain-Sequence. The IROMAY have both intra-domain (fromcan incorporate thecontext ofnew domain subobjects with theingress PCC) and inter-domain (Domain-Sequence)existing subobjects in a sequencein which they must be traversed in the computed path.of traversal. Thus an IRO, comprising of subobjects that represents a Domain- Sequence, define the domains involved in an inter-domain path computation, typically involving two or more collaborative PCEs. A Domain-Sequence can have varying degrees of granularity. It is possible to have a Domain-Sequence composed of, uniquely, AS identifiers. It is also possible to list the involved IGP areas for a given AS. In any case, the mapping between domains and responsible PCEs is not defined in this document. It is assumed that a PCE that needs to obtain a "next PCE" from a Domain-Sequence is able to do so (e.g. via administrative configuration, or discovery). A PCC builds an IRO to encode the Domain-Sequence, so that the cooperating PCEsshouldcould compute an inter-domain shortest constrained path across the specified sequence of domains. For each inclusion, the PCC clears the L-bit to indicate that the PCE is required to include the domain, or sets the L-bit to indicate that the PCC simply desires that the domain be included in the Domain- Sequence. If a PCEencountersreceives an IRO in asubobjectPath Computation request (PCReq) message that contains subobjects defined in this document, that it does notsupport orrecognize, it will respond according to the rules for a malformed object as per [RFC5440]. The PCE MAY also include the IRO in the PCErr to indicate in which case the IRO SHOULD be terminated immediately after the unrecognized subobject. PCE MUST act according to thesetting of the L-bitrequirements expressed in the subobject.IfThat is, if the L-bit is clear, thePCEPCE(s) MUSTrespond withproduce aPCErr with Error-Type TBD4 "Unrecognized subobject" and setpath that follows theError-Value to the subobject type code. If the L-bit is set, the PCE MAY respond with a PCErr as already stated or MAY ignore the subobject: this choice is a local policy decision. PCE MUST act according to the requirements expressed in the subobject. That is, if the L-bit is clear, the PCE(s) MUST produce a path that follows the Domain-Sequence in order identified byDomain-Sequence in order identified by the subobjects in the path. If the L-bit is set, the PCE(s) SHOULD produce a path along the Domain-Sequence unless it is not possible to construct a path complying with the other constraints expressed in the request. A successful path computation reported in a path computation reply message (PCRep) MUST include an ERO to specify the path that has been computed as specified in [RFC5440] following the sequence of domains. In a PCRep, PCE MAY also supply IRO (with Domain-Sequence information) with the NO-PATH object indicating that the set of elements (domains) of the request's IRO prevented the PCEs from finding a path.Selection of the next domain and the PCE serving that domainFollowing processing rules apply for Domain-Sequence in IRO - o The Area subobject isdependent onoptional. o The AS subobject is optional. o If an Area subobject is present then it changes thedomainArea for all subsequent subobjects(AS and IGP area) inthat do not change theIRO. Notearea themselves. Subobjects thata particular domain inmay change theDomain-Sequence can be identified by :-Area are: * IP addresses that are present in another Area (via IPv4/IPv6 subobject) * Area ID (via OSPF/ISIS area subobjects) * AS number of another AS (via AS subobjects) oA single IGP Area: Only the IGP (OSPF or ISIS)If an Area subobject isused to identify the next domain. (Refer Figure 1) o A single AS: Only thenot preceded by an AS subobject then the receiver MUST act as though there isused to identifyno change in AS from thenext domain. (Refer Figure 2)previous subobject. oBoth an AS andIf anIGP Area:ASand Area in combination are used to identifysubobject is present then it changes thenext domain. In this caseAS for all subsequent subobjects that do not change theorder isASSubobject followed by Area. (Refer Figure 3) Thethemselves. Subobjectsrepresenting an internal node, a Boundary Node or an Inter-AS-Link MAY also influencethat may change the AS are: * IP addresses that are present in another AS (via IPv4/IPv6 subobject) * Unnumbered interfaces that are present in another AS (via Unnumbered Interface ID subobject) * AS number (via AS subobjects) o AS and Area subobjects may be interspersed with other subobjects without change to theselectionpreviously specified processing of those subobjects in thepath.IRO. 3.5. Exclude Route Object (XRO) The Exclude Route Object (XRO) [RFC5521] is an optional object used to specify exclusion of certain abstract nodes or resources from the whole path. 3.5.1. SubobjectsThe following subobject types are definedSome subobjects to be used in XRO as defined in [RFC3209], [RFC3477], [RFC4874], and[RFC5521]. Type Subobject 1 IPv4 prefix 2 IPv6 prefix 4 Unnumbered Interface ID 32 Autonomous system number (2 Byte) 34 SRLG 64 IPv4 Path Key 65 IPv6 Path Key[RFC5520], but new subobjects related to Domain- Sequence are needed. This document extends theabove list tosupport for 4-Byte AS numbers and IGP Areas. Type Subobject TBD1 Autonomous system number (4 Byte) TBD2 OSPF Area id TBD3 ISIS Area id 3.5.1.1. Autonomous system The new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area MAY also be used in the XRO to specify exclusion of certain domains in the path computation procedure. 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 | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AS-ID (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The X-bit indicates whether the exclusion is mandatory or desired. 0: indicates that the AS specified MUST be excluded from the path computed by the PCE(s). 1: indicates that the AS specified SHOULD be avoided from the inter- domain path computed by the PCE(s), but MAY be included subject to PCE policy and the absence of a viable path that meets the other constraints. All other fields are consistent with the definition in Section 3.4. 3.5.1.2. IGP Area Since the length and format of Area-id is different for OSPF and ISIS, following two subobjects are defined: For OSPF, the area-id is a 32 bit number. The subobject is encoded 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 | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OSPF Area Id (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The X-bit indicates whether the exclusion is mandatory or desired. 0: indicates that the OSFF Area specified MUST be excluded from the path computed by the PCE(s). 1: indicates that the OSFF Area specified SHOULD be avoided from the inter-domain path computed by the PCE(s), but MAY be included subject to PCE policy and the absence of a viable path that meets the other constraints. All other fields are consistent with the definition in Section 3.4. For IS-IS, the area-id is of variable length and thus the length of the subobject is variable. The Area-id is as described in IS-IS by ISO standard [ISO10589]. The subobject is encoded 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 | Length | Area-Len | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // IS-IS Area ID // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The X-bit indicates whether the exclusion is mandatory or desired. 0: indicates that the ISIS Area specified MUST be excluded from the path computed by the PCE(s). 1: indicates that the ISIS Area specified SHOULD be avoided from the inter-domain path computed by the PCE(s), but MAY be included subject to PCE policy and the absence of a viable path that meets the other constraints. All other fields are consistent with the definition in Section 3.4.IfAll the processing rules are as per [RFC5521]. Note that, if a PCEthat supportsreceives an XROand encountersin asubobjectPCReq message that contains subobjects defined in this document, that it does notsupport orrecognize, itMUST actwill respond according to thesetting ofrules for a malformed object as per [RFC5440]. The PCE MAY also include theX-bitXRO in thesubobject. If the X-bit is clear, the PCE MUST respond with aPCErrwith Error-Type TBD4 "Unrecognized subobject" and set the Error-Valueto indicate in which case thesubobject type code. If the X-bit is set, the PCE MAY respond with a PCErr as already stated or MAY ignore the subobject: this choice is a local policy decision. AllXRO SHOULD be terminated immediately after theother processing rules are as per [RFC5521].unrecognized subobject. 3.6. Explicit Exclusion Route Subobject (EXRS) Explicit Exclusion Route Subobject (EXRS) [RFC5521] is used to specify exclusion of certain abstract nodes between a specific pair of nodes. The EXRS subobjectmaycan carry any of the subobjects defined for inclusion in the XRO, thus the new subobjects to support 4 byte AS and IGP (OSPF / ISIS) AreaMAYcan also be used in the EXRS. The meanings of the fields of the new XRO subobjects are unchanged when the subobjects are included in an EXRS, except that scope of the exclusion is limited to the single hop between the previous and subsequent elements in the IRO. All the processing rules are as per [RFC5521]. Note that, if a PCE that supports the EXRS in an IRO, parses an IRO, and encounters an EXRS that contains subobjects defined in this document, that it does not recognize, it will act according to the setting of the X-bit in the subobject as per [RFC5521]. 3.7. Explicit Route Object (ERO) The Explicit Route Object (ERO) [RFC5440] is used to specify a computed path in the network. PCEP ERO subobject types correspond to RSVP-TE ERO subobject types as defined in [RFC3209], [RFC3473], [RFC3477], [RFC4873], [RFC4874], and [RFC5520].Type Subobject 1 IPv4 prefix 2 IPv6 prefix 3 Label 4 Unnumbered Interface ID 32 Autonomous system number (2 Byte) 33 Explicit Exclusion (EXRS) 37 Protection 64 IPv4 Path Key 65 IPv6 Path Key This document extends the above listThe subobjects related to Domain-Sequence are further defined in [DOMAIN-SUBOBJ]. The new subobjects to support4-Byte4 byte ASnumbersand IGPAreas. Type Subobject TBD1 Autonomous system number (4 Byte) TBD2 OSPF(OSPF / ISIS) Areaid TBD3 ISIS Area id The new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area MAYcan also be used in the ERO to specify an abstract node (a group of nodes whose internal topology is opaque to the ingress node of the LSP). Using this concept of abstraction, an explicitly routed LSP can be specified as a sequence of domains. In case of Hierarchical PCE [RFC6805], a Parent PCEMAYcan be requested to find the Domain-Sequence. Refer example in Section 4.6. Theformat ofERO in reply from parent PCE can then be used in Per-Domain path computation or BRPC. If a PCC receives an ERO in a Path Computation response (PCRep) message that contains subobject defined in this document, that it does not recognize, it will respond according to the rules for a malformed object as per [RFC5440]. The PCC MAY also include thenewEROsubobjects is similarin the PCErr tonew IRO subobjects, refer Section 3.4.indicate in which case the ERO SHOULD be terminated immediately after the unrecognized subobject. 4. Other Considerations The examples in this section are for illustration purposes only; to highlight how the new subobjectsmaycould be encoded. They are not meant to be an exhaustive list of all possible usecases and combinations. 4.1. Inter-Area Path Computation In an inter-area path computation where the ingress and the egress nodes belong to different IGP areas within the same AS, the Domain- SequenceMAYcould be represented using a ordered list of Area subobjects.The AS number MAY be skipped, as area information is enough to select the next PCE. +-------------------+ +-------------------+----------------- ----------------- | | | | | +--+ | | +--+ | | +--+ | | | | | | | | | | +--+ | | +--+ +--+ | |+--* + ++--+ | | | | | | | | +--+ | |*--+ + ++--+ | | | | | | | | +--+ | | +--+ | | | | | ||+--------------------------+|| -------------------------- | +--+ | | +--+ +--+ | |++++ +-++| |||||+--+ |||| |Area|Area 2+++++--+ | |+-+++--+ Area 4 |+-------------------+|----------------- | +--+|+-------------------+| ----------------- | | | +--+ | | +--+ | | | | | | +--+ | | +--+ | | | | | | | | | | +--+ | | | | | | +--+ |+------------------+| |+--------------------+----------------- |++-+ +-++| ------------------ |||+--+ +--+ | |||| |++-+| | | | +--+ Area 0+-+++--+ | | | -------------------------- ||+--------------------------+|+--+ | | +--+ | | | | | | | | | | +--+ | | +--+ +--+ | | | | | |+ +| | +--+ | | +--+ | | | | | |+ +| | +--+ | | +--+ | | | | | | | | +--+ | | +--+ | | | | | | | | +--+ | | | | | | Area 1 | | Area 5 |+------------------+ +--------------------+----------------- ------------------ Figure 1: Inter-Area Path Computation AS Number is 100. This could be represented in the<IRO>IRO as: +---------+ +---------+ +---------+ |IRO | |Sub | |Sub | |Object | |Object | |Object | |Header | |Area 0 | |Area 4 | | | | | | | | | | | | | +---------+ +---------+ +---------+ or +---------+ +---------+ +---------+ +---------+ |IRO | |Sub | |Sub | |Sub | |Object | |Object | |Object | |Object | |Header | |Area 2 | |Area 0 | |Area 4 | | | | | | | | | | | | | | | | | +---------+ +---------+ +---------+ +---------+ or +---------+ +---------+ +---------+ +---------+ +---------+ |IRO | |Sub | |Sub | |Sub | |Sub | |Object | |Object AS| |Object | |Object | |Object | |Header | |100 | |Area 2 | |Area 0 | |Area 4 | | | | | | | | | | | | | | | | | | | | | +---------+ +---------+ +---------+ +---------+ +---------+ The Domain-Sequence can further include encompassing ASis optional and it MAY be skipped. PCE should be able to understand both notations.information in the AS subobject. 4.2. Inter-AS Path Computation In inter-AS path computation, where ingress and egress belong to different AS, the Domain-Sequenceiscould be represented using an ordered list of AS subobjects. The Domain-SequenceMAYcan further include decomposed area information in the Areasubobjects.subobject. 4.2.1. Example 1 As shown in Figure 2, where ASto be made ofhas a single area,the areaAS subobjectMAY be skippedin theDomain-Sequence as AS is enough todomain-sequence can uniquely identify the next domain and PCE.+---------------------------------+ |AS 200 | | +------+AS A AS E AS C <-------------> <----------> <-------------> A4----------E1---E2---E3---------C4 / / \ / / \ / / AS B \ / / <----------> \ Ingress------A1---A2------B1---B2---B3------C1---C2------Egress \ / / \ / / \ / / \ / / A3----------D1---D2---D3---------C3 <----------> AS D * All AS have one area (area 0) Figure 2: Inter-AS Path Computation This could be represented in the IRO as: +-------+ +-------+ +-------+ |IRO | |Sub | |Sub | |Object | |Object |+------------------------+|Object | |Header | |AS B |+------+|AS C | |AS 100| |+------+| | | +-------+ +-------+ +-------+ or +-------+ +-------+ +-------+ +-------+ |IRO |+------+|Sub | |Sub |+------+|Sub | |Object | |Object | |Object | |Object |+-+-----+-+|Header |+------+|AS A | |AS B | |AS C | | | | | | | |+------+| +-------+ +-------+ +-------+ +-------+ or +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ |IRO |+------+|Sub | |Sub |+------+|Sub | |Sub |+------+|Sub | |Sub | |Object | |Object | |Object | |Object | |Object | |Object | |Object | |Header | |AS A | |Area 0 | |AS B | |Area 0 | |AS C | |Area 0 | | |+------+| |+------+| | | | | |+------+| |+------+| | +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ Note that to get a domain disjoint path, the ingress could also request the backup path with - +-------+ +-------+ |XRO |+-+-----+-+|Sub |+------+|Object | |Object | |Header | |AS B | | | | | +-------+ +-------+ As described in Section 3.4.3, domain subobject in IRO changes the domain information associated with the next set of subobjects; till you encounter a subobject that changes the domain too. Consider the following IRO: +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ |IRO | |Sub | |Sub | |Sub |+------+|Sub | |Sub |+------+|Object | |Object | |Object | |Object | |Object | |Object |+------+|Header | |AS B | |IP | |IP | |AS C | |IP | | | | |+------+|B1 | |B3 |+------+| | |C1 | +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ On processing subobject "AS B", it changes the AS of the subsequent subobjects till we encounter another subobject "AS C" which changes the AS for its subsequent subobjects. Consider another IRO: +-------+ +-------+ +-------+ +-------+ +-------+ |IRO | |Sub | |Sub | |Sub | |Sub | |Object | |Object ||PCE|Object | |Object | |Object ||PCE|Header | |AS D | |IP |+------+|IP | |IP |+------+| | | | |D1 |+------------------------+|D3 | |C3 |+---------------------------------+ Figure 2: Inter-AS Path Computation Both+-------+ +-------+ +-------+ +-------+ +-------+ Here as well, on processing "AS D", it changes the ASare madeofArea 0. This could be represented inthe<IRO> as: +---------+ +---------+ +---------+ |IRO | |Sub | |Sub | |Object | |Object AS| |Object AS| |Header | |100 | |200 | | | | | | | | | | | | | +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ +---------+ |IRO | |Sub | |Sub | |Sub | |Sub | |Object | |Object AS| |Object | |Object AS| |Object | |Header | |100 | |Area 0 | |200 | |Area 0 | | | | | | | | | | | | | | | | | | | | | +---------+ +---------+ +---------+ +---------+ +---------+ Areasubsequent subobjects till you encounter another subobjectis optional"C3" which belong in another AS andit MAY be skipped. PCE shouldchanges the AS for its subsequent subobjects. Further description for the Boundary Node and Inter-AS-Link can beable to understand both notations.found in Section 4.3. 4.2.2. Example 2As shown inIn Figure 3,whereAS 200 is made up of multipleareas and multiple Domain-Sequence exist, PCE MAY include both AS and Area subobject to uniquely identify the next domain and PCE.areas. | | +-------------+ +----------------+ | |Area 2 | |Area 4 | | | +--+| | +--+ | | | | || | ||B| | | | +--+ +--+| | +--+ +--+ | | | | | | | | | | | |*--++--+ | | +--+ | | |/+--+ | | +--+ | ||/| | | | | | | |/| | +--+ | | +--+ +--+ | |/|| +--+ |+--------------+| | | ||/| | |++-+ +-++| +--+ +--+ +--+ |+-------------+/+-------------+| | +--+||| |||| |/||++-+ +-++| || | +--+ +--+ | |+--*||+--+|| +-------------+| |+----------------+ | | ||| | +--+ | | +--+|| | | | | | +--+ || | +--+ | | | ||| |+---+ +--+ | | +--+||| |----------------| | |||| +---+ Inter-AS +--+ +--+ | |+--+ || Links | | | ||| | ||||A | +---+ +--+ +--+ | |+--+||| |----------------| | |||| +---+ +--+ +--+ | | +--+ || +------------+ | | | |+----------------+ | | | || |Area 3+-+++--++-+++--+ +--+ Area 5 | | +--+ || | ||||||| | | | || |+-++ +-+++--+ +--+ | | +--+|| | +--+ | | Area 0 || +--+ | | | ||| | | | | +--------------+| | | | |+--*||+--+|| | +--+ | | +--+ | |\||| | | | +--+ | |Area1 |\0 || | +--+ | | +--+ | | |+-------------+|\+-------------+| | | | | | | | +--+ | |\|| +--+ +--+ | +--+ | |\| | | | ||\| | +--+ | +--+ | | |\+--+ | | | C| | | | |\|| | | +--+ | | |*--++--+ | | | | | | | | | +------------+ +----------------+ | | AS 100 | AS 200 | Figure 3: Inter-AS Path Computation The Domain-Sequence for the LSP (A-B) can be carried in the IRO as shown below: +-------+ +-------+ +-------+ +-------++-------+ +-------+ +-------+|IRO | |Sub | |Sub | |Sub ||Sub | |Sub | |Sub | |Object | |Object | |Object ||Object | |Object | |Object | |Object | |Header | |AS100 | |Area 1 | |AS200 | |Area3 | |Area0 | |Area 4 | | | | | | | | || | | | | |+-------+ +-------+ +-------+ +-------+ or +-------+ +-------+ +-------+ +-------+ +-------+ +-------+The combination of both an AS and an Area uniquely identify a domain in the Domain-Sequence. Note that an Area domain identifier always belongs to the previous AS that appears before it or, if no AS subobjects are present, it is assumed to be the current AS. If the area information cannot be provided, PCE MAY forward the path computation request to the next PCE based on AS alone. If multiple PCEs are responsible, PCE MAY apply local policy to select the next PCE. 4.3. Boundary Node and Inter-AS-Link A PCC or PCE MAY add additional constraints covering which Boundary Nodes (ABR or ASBR) or Border links (Inter-AS-link) MUST be traversed while defining a Domain-Sequence. In which case the Boundary Node or Link MAY be encoded as a part of the Domain-Sequence using the existing subobjects. Boundary Nodes (ABR / ASBR) can be encoded using the IPv4 or IPv6 prefix subobjects usually the loopback address of 32 and 128 prefix length respectively. An Inter-AS link can be encoded using the IPv4 or IPv6 prefix subobjects or unnumbered interface subobjects. For Figure 1, an ABR to be traversed can be specified as: +---------+ +---------+ +---------++---------+ +---------+|IRO | |Sub | |Sub||Sub | |Sub | |Object | |Object | |Object ||Object | |Object | |Header | |Area 2 | |IPv4 ||Area 0 | |Area 4 | | | | | |x.x.x.x || | | | | | | | | || | | | +---------+ +---------+ +---------++---------+ +---------+ For Figure 2, an inter-AS-link to be traversed can be specified as: +---------+ +---------+ +---------+ +---------+ +---------+ |IRO | |Sub| |Sub | |Sub | |Sub | |Object | |ObjectAS| |Object| |Object | |ObjectAS| |Header | |100||IPv4 | |IPv4|Object ||200|Object | |Header | |AS 100 | |Area 0 | |AS 200 ||x.x.x.x|Area 0 ||x.x.x.x|Area 4 | | | | | | | | | | | | |+---------+ +---------+ +---------+ +---------+ +---------+ 4.4. PCE Serving multiple Domains A single PCE MAY be responsible for multiple domains;+-------+ +-------+ +-------+ +-------+ +-------+ +-------+ The Domain-Sequence forexample PCE function deployed on an ABR. A PCE which can support 2 adjacent domains can internally handle this situation without any impact on the neighbouring domains. 4.5. P2MP In case of inter-domain P2MP path computation, (Refer [RFC7334]) the path domain tree is nothing but a series of Domain-Sequences, as shown in the below figure: D1-D3-D6, D1-D3-D5 and D1-D2-D4. D1 / \ D2 D3 / / \ D4 D5 D6 All rules of processing as applied to P2P can be applied to P2MP as well. In case of P2MP, different destinations MAY have different Domain- Sequence withinthedomain tree, it requires Domain-Sequence to be attached per destination. (Refer [PCE-P2MP-PER-DEST]) 4.6. Hierarchical PCE As per [RFC6805], consider a case as shown in Figure 4 consisting of multiple child PCEs and a parent PCE. +--------+ | Parent | | PCE | +--------+ +-------------------+ +-------------------+ | +--+ | | +--+ | | +--+ | | | | | | | | | | +--+ | | +--+ +--+ | | +--* + + | | | | | | +--+ | | *--+ + + | | | | | | +--+ | | +--+LSP (A-C) can be carried in the IRO as shown below: +-------+ +-------+ +-------+ +-------+ |IRO | |Sub | |Sub | |Sub | |Object | |Object ||+--------------------------+| +--+|Object | |Object |++++ +-++|Header | |AS 200 ||||| +--+|Area 0 ||||Area 5 | |Area 2 ++++| |+-++ Area 4|+-------------------+| +--+ |+-------------------+|+--+| |+--+| +-------+ +-------+ +-------+ +-------+ or +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ |IRO | |Sub | |Sub | |Sub | |Sub |+--+|Sub | |Object |+--+|Object | |Object | |Object | |Object |+--+|Object | |Header | |AS 100 | |Area 0 | |AS 200 | |Area 0 |+--+|Area 5 |+------------------+| |+--------------------+|++-+ +-++| |||| |||| |++-+ Area 0 +-++| ||+--------------------------+| +--+| |+--+| +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ 4.3. Boundary Node and Inter-AS-Link A PCC or PCE can include additional constraints covering which Boundary Nodes (ABR or ASBR) or Border links (Inter-AS-link) to be traversed while defining a Domain-Sequence. In which case the Boundary Node or Link can be encoded as a part of the Domain- Sequence. Boundary Nodes (ABR / ASBR) can be encoded using the IPv4 or IPv6 prefix subobjects usually the loopback address of 32 and 128 prefix length respectively. An Inter-AS link can be encoded using the IPv4 or IPv6 prefix subobjects or unnumbered interface subobjects. For Figure 1, an ABR (say 203.0.113.1) to be traversed can be specified in IRO as: +---------+ +---------+ +---------++---------+ +---------+ |IRO | |Sub | |Sub ||Sub | |Sub | |Object | |Object | |Object ||Object | |Object | |Header |+--+|Area 2 | |IPv4 ||Area 0 |+--+ +--+|Area 4 | | | | | |203.0. || |+ + +--+| |+--+| | | | |112.1 || | |+ + +--+| +---------+ +---------+ +---------++---------+ +---------+ For Figure 3, an inter-AS-link (say 198.51.100.1 - 198.51.100.2) to be traversed can be specified as: +---------+ +---------+ +---------+ +---------+ |IRO |+--+|Sub | |Sub | |Sub | |Object | |Object AS| |Object | |Object AS| |Header | |100 | |IPv4 |+--+|200 | |+--+| | | |198.51. | | | | |+--+| |Area 1|100.2 | |Area 5|+------------------+ +--------------------+ Figure 4: Hierarchical+---------+ +---------+ +---------+ +---------+ 4.4. PCEIn H-PCE, the IngressServing multiple Domains A single PCE'PCE(1)'canrequestbe responsible for multiple domains; for example PCE function deployed on an ABR could be responsible for multiple areas. A PCE which can support adjacent domains can internally handle those domains in the Domain-Sequence without any impact on the other domains in the Domain-Sequence. 4.5. P2MP [RFC7334] describes an experimental inter-domain P2MP path computation mechanism where the path domain tree is described as a series of Domain-Sequences, an example is shown in the below figure: D1-D3-D6, D1-D3-D5 and D1-D2-D4. D1 / \ D2 D3 / / \ D4 D5 D6 The domain sequence handling described in this document could be applied to P2MP path domain tree. 4.6. Hierarchical PCE In case of H-PCE [RFC6805], the parent PCE can be requested to determine the Domain-Sequence and return it in thePCEP response,path computation reply, using theERO Object. The ERO can contain an ordered sequenceERO. . For the example in section 4.6 ofsubobjects such as AS and Area (OSPF/ISIS) subobjects. In this case,[RFC6805], the Domain-Sequence can possibly appear as: +---------+ +---------+ +---------+ +---------+ |ERO | |Sub | |Sub | |Sub | |Object | |Object | |Object | |Object | |Header ||Area 2|Domain 1 ||Area 0|Domain 2 ||Area 4|Domain 3 | | | | | | | | | | | | | | | | | +---------+ +---------+ +---------+ +---------++---------+ +---------+or +---------+ +---------+ +---------+ |ERO | |Sub | |Sub ||Sub | |Sub | |Object | |Object AS||Object | |Object | |Object | |Header ||100 | |Area 2 | |Area 0 | |Area 4 | | | | | | ||BN 21 | |Domain 3 | | | | | | | | | | | | | +---------+ +---------+ +---------++---------+ +---------+4.7. Relationship to PCE Sequence Instead of a Domain-Sequence, a sequence of PCEs MAY be enforced by policy on the PCC, and this constraint can be carried in the PCReq message (as defined in [RFC5886]). Note that PCE-Sequence can be used along with Domain-Sequence in which case PCE-SequenceSHOULDMUST have higher precedence in selecting the next PCE in the inter-domain path computation procedures.Note that Domain-Sequence IRO constraints should still be checked as per the rules of processing IRO.4.8. Relationship to RSVP-TE [RFC3209] already describes the notion of abstract nodes, where an abstract node is a group of nodes whose internal topology is opaque to the ingress node of the LSP. It further defines a subobject for AS but with a 2-Byte AS Number. [DOMAIN-SUBOBJ] extends the notion of abstract nodes by adding new subobjects for IGP Areas and 4-byte AS numbers. These subobjectsMAYcan be included in Explicit Route Object (ERO), Exclude Route object (XRO) or Explicit Exclusion Route Subobject (EXRS) in RSVP-TE. In any case subobject type defined in RSVP-TE are identical to the subobject type defined in the related documents in PCEP. 5. IANA Considerations 5.1. New SubobjectsThe "PCEP Parameters" registry contains a subregistry "PCEP Objects" with an entry forIANA maintains theInclude Route Object (IRO), Exclude Route Object (XRO) and Explicit Route Object (ERO)."Path Computation Element Protocol (PCEP) Numbers" at http://www.iana.org/assignments/pcep/pcep.xhtml. Within this registry IANA maintains two sub-registries: o "IRO Subobjects": http://www.iana.org/assignments/pcep/ pcep.xhtml#iro-subobject o "XRO Subobjects": http://www.iana.org/assignments/pcep/ pcep.xhtml#xro-subobject Upon approval of this document, IANA is requested toadd further subobjectsmake identical additions to these registries as follows:7 ERO 10 IRO 17 XROSubobject Type Reference TBD1 4 byte AS number [This I.D.] TBD2 OSPF Area ID [This I.D.] TBD3 IS-IS Area ID [This I.D.]5.2. Error Object Field Values The "PCEP Parameters" registry contains a subregistry "Error Types and Values". IANA is requested to make the following allocations from this subregistry ERROR Meaning Reference Type TBD4 "Unrecognized subobject" [This I.D.] Error-Value: type code6. Security Considerations This document specifies a standard representation of Domain-Sequence and new subobjects, whichMAYcould be used in inter-domain PCE scenarios as explained in other RFC and drafts. The new subobjects and Domain- Sequence mechanisms defined in this document allow finer and more specific control of the path computed by a cooperating PCE(s). Such control increases the risk if a PCEP message is intercepted, modified, or spoofed because it allows the attacker to exert control over the path that the PCE will compute or to make the path computation impossible. Therefore, the security techniques described in [RFC5440] are considered more important. Note, however, that the Domain-Sequence mechanisms also provide the operator with the ability to route around vulnerable parts of the network and may be used to increase overall network security. 7. Manageability Considerations 7.1. Control of Function and PolicySeveral local policy decisions should be made at the PCE. Firstly, theThe exactbehaviorbehaviour withregardregards to desired inclusion and exclusion of domainsmustMUST be available for examination by an operator andmayMAY be configurable.Second,Manual configurations is needed to identify which PCEP peers understand thebehavior on receipt of an unrecognizednew domain subobjectswith the L or X-bit set should be configurable and must be available for inspection. The inspection and control of these local policy choices may be part of the PCEP MIB module.defined in this document. 7.2. Information and Data Models A MIB module for management of the PCEP is being specified in a separate document [RFC7420]. That MIB module allows examination of individual PCEP messages, in particular requests, responses and errors. The MIB module MUST be extended to include the ability to view the Domain-Sequence extensions defined in this document. 7.3. Liveness Detection and Monitoring Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in [RFC5440]. 7.4. Verify Correct Operations Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in [RFC5440]. 7.5. Requirements On Other Protocols In case of per-domain path computation [RFC5152], where the full path of an inter-domain TE LSP cannot be, or is not determined at the ingress node, a signaling message may use the domain identifiers. The Subobjects defined in this document SHOULD be supported by RSVP- TE. [DOMAIN-SUBOBJ] extends the notion of abstract nodes by adding new subobjects for IGP Areas and 4-byte AS numbers. Apart from this, mechanisms defined in this document do not imply any requirements on other protocols in addition to those already listed in [RFC5440]. 7.6. Impact On Network OperationsMechanisms definedThe mechanisms described in this documentdocan provide the operator with the ability to exert finer and more specific control of the path computation by inclusion or exclusion of domain subobjects. There may be some scaling benefit when a single domain subobject may substitute for many subobjects and can reduce the overall message size and processing. Backward compatibility issues associated with the new subobjects arise when a PCE does nothave any impact on network operationsrecognize them, inadditionwhich case PCE responds according tothose already listed inthe rules for a malformed object as per [RFC5440]. For successful operations the PCEs in the network would need to be upgraded. 8. AcknowledgmentsWeAuthors would like to especially thank AdrianFarrel,Farrel for his detailed reviews as well as providing text to be included in the document. Further, we would like to thank Pradeep Shastry, Suresh Babu, Quintin Zhao, Fatai Zhang, Daniel King, Oscar Gonzalez, Chen Huaimo, Venugopal Reddy, ReejaPaulPaul, SandeepBoina andBoina, Avantika and Sergio Belotti for their useful comments and suggestions. 9. References 9.1. Normative References [RFC2119] Bradner, S., "Key words for use inRFCs to Indicate Requirement Levels", BCP 14,RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001. [RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. [RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links in Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE)", RFC2119, March 1997.3477, January 2003. [RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, March 2009. [RFC5441] Vasseur, JP., Zhang, R., Bitar, N., and JL. Le Roux, "A Backward-Recursive PCE-Based Computation (BRPC) Procedure to Compute Shortest Constrained Inter-Domain Traffic Engineering Label Switched Paths", RFC 5441, April 2009. [RFC5521] Oki, E., Takeda, T., and A. Farrel, "Extensions to the Path Computation Element Communication Protocol (PCEP) for Route Exclusions", RFC 5521, April 2009. [RFC6805] King, D. and A. Farrel, "The Application of the Path Computation Element Architecture to the Determination of a Sequence of Domains in MPLS and GMPLS", RFC 6805, November 2012.9.2. Informative References [RFC3209] Awduche,[ISO10589] ISO, "Intermediate system to Intermediate system routing information exchange protocol for use in conjunction with the Protocol for providing the Connectionless-mode Network Service (ISO 8473)", ISO/IEC 10589:2002, 1992. [IRO-UPDATE] Dhody, D.,Berger, L., Gan,"Update to Include Route Object (IRO) specification in Path Computation Element communication Protocol (PCEP. (draft-dhody-pce-iro-update-02)", December 2014. [DOMAIN-SUBOBJ] Dhody, D.,Li, T., Srinivasan,Palle, U., Kondreddy, V., andG. Swallow, "RSVP-TE: Extensions to RSVPR. Casellas, "Domain Subobjects forLSP Tunnels", RFC 3209, December 2001. [RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) SignalingResource ReserVationProtocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. [RFC3477] Kompella, K. and Y. Rekhter, "Signalling Unnumbered Links in Resource ReSerVationProtocol - Traffic Engineering(RSVP-TE)", RFC 3477, January 2003.(RSVP-TE). (draft-ietf-teas-rsvp-te- domain-subobjects-00)", April 2015. 9.2. Informative References [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, August 2006. [RFC4726] Farrel, A., Vasseur, J., and A. Ayyangar, "A Framework for Inter-Domain Multiprotocol Label Switching Traffic Engineering", RFC 4726, November 2006. [RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel, "GMPLS Segment Recovery", RFC 4873, May 2007. [RFC4874] Lee, CY., Farrel, A., and S. De Cnodder, "Exclude Routes - Extension to Resource ReserVation Protocol-Traffic Engineering (RSVP-TE)", RFC 4874, April 2007. [RFC5152] Vasseur, JP., Ayyangar, A., and R. Zhang, "A Per-Domain Path Computation Method for Establishing Inter-Domain Traffic Engineering (TE) Label Switched Paths (LSPs)", RFC 5152, February 2008. [RFC5520] Bradford, R., Vasseur, JP., and A. Farrel, "Preserving Topology Confidentiality in Inter-Domain Path Computation Using a Path-Key-Based Mechanism", RFC 5520, April 2009. [RFC5886] Vasseur, JP., Le Roux, JL., and Y. Ikejiri, "A Set of Monitoring Tools for Path Computation Element (PCE)-Based Architecture", RFC 5886, June 2010. [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet Autonomous System (AS) Number Space", RFC 6793, December 2012. [RFC7334] Zhao, Q., Dhody, D., King, D., Ali, Z., and R. Casellas, "PCE-Based Computation Procedure to Compute Shortest Constrained Point-to-Multipoint (P2MP) Inter-Domain Traffic Engineering Label Switched Paths", RFC 7334, August 2014. [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. Hardwick, "Path Computation Element Communication Protocol(PCEP)",(PCEP) Management Information Base (MIB) Module", RFC 7420, December 2014.[PCE-P2MP-PER-DEST] Dhody, D., Palle, U., and V. Kondreddy, "Supporting explicit inclusion or exclusion of abstract nodes for a subset of P2MP destinations in Path Computation Element Communication Protocol (PCEP). (draft-dhody-pce-pcep-p2mp- per-destination)", September 2014. [DOMAIN-SUBOBJ] Dhody, D., Palle, U., Kondreddy, V., and R. Casellas, "Domain Subobjects for Resource ReserVation Protocol - Traffic Engineering (RSVP-TE). (draft-ietf-teas-rsvp-te- domain-subobjects-00)", December 2014. [IRO-UPDATE] Dhody, D., "Update to Include Route Object (IRO) specification in Path Computation Element communication Protocol (PCEP. (draft-dhody-pce-iro-update-02)", December 2014. [ISO10589] ISO, "Intermediate system to Intermediate system routing information exchange protocol for use in conjunction with the Protocol for providing the Connectionless-mode Network Service (ISO 8473)", ISO/IEC 10589:2002, 1992.Authors' Addresses Dhruv Dhody Huawei TechnologiesLeela PalaceDivyashree Techno Park, Whitefield Bangalore, Karnataka560008560037 India EMail: dhruv.ietf@gmail.com Udayasree Palle Huawei TechnologiesLeela PalaceDivyashree Techno Park, Whitefield Bangalore, Karnataka560008560037 India EMail: udayasree.palle@huawei.com Ramon Casellas CTTC Av. Carl Friedrich Gauss n7 Castelldefels, Barcelona 08860 Spain EMail: ramon.casellas@cttc.es