One document matched: draft-ietf-pce-pcep-domain-sequence-06.xml


<?xml version="1.0" encoding="us-ascii"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[]>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc compact="yes" ?>
<?rfc iprnotified="Yes" ?>
<?rfc strict="no" ?>
<rfc ipr="trust200902" category="exp" docName="draft-ietf-pce-pcep-domain-sequence-06" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
  <front>
    <title abbrev="DOMAIN SEQ">Standard Representation Of Domain-Sequence</title>
    <author initials="D" surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Leela Palace</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560008</code>
          <country>INDIA</country>
        </postal>
        <email>dhruv.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="U" surname="Palle" fullname="Udayasree Palle">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Leela Palace</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560008</code>
          <country>INDIA</country>
        </postal>
        <email>udayasree.palle@huawei.com</email>
      </address>
    </author>
    <author initials="R" surname="Casellas" fullname="Ramon Casellas">
      <organization>CTTC</organization>
      <address>
        <postal>
          <street>Av. Carl Friedrich Gauss n7</street>
          <city>Castelldefels</city>
          <region>Barcelona  </region>
          <code>08860</code>
          <country>SPAIN</country>
        </postal>
        <email>ramon.casellas@cttc.es </email>
      </address>
    </author>
    <date month="October" year="2014" />
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <t>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 Systems (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 shortest 
      constrained paths across a predetermined sequence of domains . This document also 
      defines new subobjects to be used to encode domain identifiers. </t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction" toc="default">
      <t>A PCE may be used to compute end-to-end paths across multi-domain environments 
      using a per-domain path computation technique <xref target="RFC5152"/>. The so 
      called backward recursive path computation (BRPC) mechanism <xref target="RFC5441"/> 
      defines a PCE-based path computation procedure to compute inter-domain constrained 
      (G)MPLS TE LSPs. However, both per-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, <xref target="RFC7334"/> assumes the domain-tree is known 
      in priori.</t>
      <t>The list of domains (domain-sequence) in a point-to-point (P2P) path or a 
      point-to-multipoint (P2MP) tree is usually a constraint in the path computation 
      request. A PCE determines the next PCE to forward the request based on the domain-sequence. 
      In a multi-domain path computation, a PCC MAY indicate the sequence of domains to be traversed 
      using the Include Route Object (IRO) defined in  <xref target="RFC5440"/>. </t>
      <t>When the sequence of domains is not known in advance, the Hierarchical PCE (H-PCE) 
      <xref target="RFC6805"/> architecture and mechanisms can be used to determine the 
      end-to-end Domain-Sequence.</t>
      <t>This document defines a standard way to represent and encode a Domain-Sequence in 
      various deployment scenarios including P2P, P2MP and H-PCE. </t>
      <t>The Domain-Sequence (the set of domains traversed to reach the destination domain) 
      is either administratively predetermined or discovered by some means (H-PCE) that is 
      outside of the scope of this document.</t>
      <t><xref target="RFC5440"/> defines the Include Route Object (IRO) and the Explicit 
      Route Object (ERO); <xref target="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 domain is defined 
      in <xref target="RFC3209"/>, this document specifies new subobjects to include or 
      exclude domains such as an IGP area or an Autonomous Systems (4-Byte as per 
      <xref target="RFC4893"/>).</t>
      <t>Further, the domain 
      identifier may simply act as delimiter to specify where the domain boundary 
      starts and ends.</t>

      <t>This is a companion document to Resource ReserVation Protocol - 
      Traffic Engineering (RSVP-TE) 
      extensions for the domain identifiers <xref target="DOMAIN-SUBOBJ"/>. </t>
      <section title="Requirements Language" toc="default">
        <t>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 <xref target="RFC2119"/>.</t>
      </section>
    </section>
    <section title="Terminology" toc="default">
      <t>The following terminology is used in this document.</t>
      <t>
        <list style="hanging">
          <t hangText="ABR:">OSPF Area Border Router. Routers used to connect two IGP 
          areas.</t>
          <t hangText="AS:">Autonomous System.</t>
          <t hangText="ASBR:">Autonomous System Boundary Router.</t>
          <t hangText="BN:">Boundary Node, Can be an ABR or ASBR.</t>
          <t hangText="BRPC:">Backward Recursive Path Computation</t>
          <t hangText="Domain:">As per <xref target="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) areas and Autonomous Systems (ASs).</t>
          <t hangText="Domain-Sequence:">An ordered sequence of domains traversed 
          to reach the destination domain.</t>
          <t hangText="ERO:">Explicit Route Object</t>
          <t hangText="H-PCE:">Hierarchical PCE</t>
          <t hangText="IGP:">Interior Gateway Protocol.  Either of the two routing 
          protocols, Open Shortest Path First (OSPF) or Intermediate System to 
          Intermediate System (IS-IS).</t>
          <t hangText="IRO:">Include Route Object</t>
          <t hangText="IS-IS:">Intermediate System to Intermediate System.</t>
          <t hangText="OSPF:">Open Shortest Path First.</t>
          <t hangText="PCC:">Path Computation Client: any client application 
          requesting a path computation to be performed by a Path Computation 
          Element.</t>
          <t hangText="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.</t>
          <t hangText="P2MP:">Point-to-Multipoint</t>
          <t hangText="P2P:">Point-to-Point</t>
          <t hangText="RSVP:">Resource Reservation Protocol</t>
          <t hangText="TE LSP:">Traffic Engineering Label Switched Path.</t>
          <t hangText="XRO:">Exclude Route Object</t>
        </list>
      </t>
    </section>
    <section title="Detail Description" toc="default">
      <section title="Domains" toc="default">
        <t><xref target="RFC4726"/> and <xref target="RFC4655"/> define domain as a 
        separate administrative or geographic environment within the network. A 
        domain may 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 or both.</t>  
      </section>
      <section title="Domain-Sequence" toc="default">
        <t>A domain-sequence is an ordered sequence of domains traversed to reach 
        the destination domain. </t>
        <t>A domain-sequence can be applied as a constraint and carried in path 
        computation request to PCE(s). A domain-sequence can also be the result 
        of a path computation. For example,  in the case of H-PCE 
        <xref target="RFC6805"/> Parent PCE MAY send the Domain-Sequence 
        as a result in a path computation reply. </t>
        <t>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 list of domain sequences. </t>
        <t>A domain-sequence enables a PCE to select the next PCE to forward the path 
        computation request based on the domain information. </t>
        <t>A PCC or PCE MAY add an additional constraints covering which Boundary Nodes 
        (ABR or ASBR) or Border links (Inter-AS-link) MUST be traversed while defining 
        a Domain-Sequence. </t>
        <t>Thus a Domain-Sequence MAY be made up of one or more of -</t>
        <t>
        <list style="symbols">
         <t>AS Number</t>
         <t>Area ID</t>
         <t>Boundary Node ID</t>
         <t>Inter-AS-Link Address</t>
        </list>
        </t>
        <t>Consequently, a Domain-Sequence can be used: </t>
      <t>
      <list style="numbers">
         <t>by a PCE in order to discover or select the next PCE in a collaborative 
         path computation, such as in BRPC <xref target="RFC5441"/>; </t>
         <t>by the Parent PCE to return the Domain-Sequence when unknown, this can 
         further be an input to BRPC procedure <xref target="RFC6805"/>;</t>
         <t>by a PCC (or PCE) to constraint the domains used in a H-PCE path 
         computation, explicitly specifying which domains to be expanded;</t>
         <t>by a PCE in per-domain path computation model <xref target="RFC5152"/> 
         to identify the next domain(s);</t>
        </list>
      </t>
      </section>
      <section title="Standard Representation" toc="default">
      <t>Domain-Sequence MAY appear in PCEP Messages, notably in - </t>
      <t>
        <list style="symbols">
         <t>Include Route Object (IRO): As per <xref target="RFC5440"/>, 
         used to specify set of network elements that MUST be traversed. 
         The subobjects in IRO are used to specify the domain-sequence that 
         MUST be traversed to reach the destination. </t>
         <t>Exclude Route Object (XRO): As per <xref target="RFC5521"/>, 
         used to specify certain abstract nodes that MUST be excluded 
         from whole path. The subobjects in XRO are used to specify certain 
         domains that MUST be avoided to reach the destination. </t>
         <t>Explicit Exclusion Route Subobject (EXRS): As per 
         <xref target="RFC5521"/>, used to specify exclusion of 
         certain abstract nodes 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.</t>
         <t>Explicit Route Object (ERO): As per <xref target="RFC5440"/>,
         used to specify a computed path in the network. For example, 
         in the case of H-PCE 
        <xref target="RFC6805"/> Parent PCE MAY send the Domain-Sequence 
        as a result in a path computation reply using ERO.</t>
        </list>
      </t>
      </section>
      <section title="Include Route Object (IRO)" toc="default" anchor="sec_iro_sub">
      <t>As per <xref target="RFC5440"/>, IRO (Include Route Object) 
      can be used to specify that the computed path MUST traverse a 
      set of specified network elements or abstract nodes.</t>
      <section title="Subobjects" toc="default" >
      <t>Some subobjects are defined in <xref target="RFC3209"/>, 
      <xref target="RFC3473"/>, <xref target="RFC3477"/> and 
      <xref target="RFC4874"/>,  but new subobjects related to 
      Domain-Sequence are needed.</t>
      <t>The following subobject types are used in IRO.</t>
      <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
             Type   Subobject
              1     IPv4 prefix
              2     IPv6 prefix
              4     Unnumbered Interface ID             
              32    Autonomous system number (2 Byte) 
              33    Explicit Exclusion (EXRS)
]]></artwork>
          </figure>
          <t>This document extends the above list to support 
          4-Byte AS numbers and IGP Areas.</t>
	  <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
             Type   Subobject
              TBD1  Autonomous system number (4 Byte)
              TBD2  OSPF Area id
              TBD3  ISIS Area id
]]></artwork>
          </figure>          
      <section title="Autonomous system" toc="default" >
      <t><xref target="RFC3209"/> already defines 2 byte AS number.</t>
	<t>To support 4 byte AS number as per <xref target="RFC4893"/> 
	following subobject is defined: </t>
        <t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
      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)                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </figure>
        </t>
        <t>
        <list style="hanging">
        <t hangText="L:">The L bit is an attribute of the subobject 
        as defined in <xref target="RFC3209"/> and usage in IRO subobject
        updated in <xref target="IRO-UPDATE"/>.</t>
        <t hangText="Type:">(TBD1 by IANA) indicating a 4-Byte AS Number.</t>
        <t hangText="Length:">8 (Total length of the subobject in bytes).</t>
        <t hangText="Reserved:">Zero at transmission, ignored at receipt.</t>
        <t hangText="AS-ID:">The 4-Byte AS Number. Note that if 2-Byte AS 
        numbers are in use, the low order bits (16 through 31) should be 
        used and the high order bits (0 through 15) should be set to zero. </t>
        </list>
        </t> 
        </section>
      <section title="IGP Area" toc="default" >
	<t>Since the length and format of Area-id is different for OSPF 
	and ISIS, following two subobjects are defined: </t>
	<t>For OSPF, the area-id is a 32 bit number. The subobject is encoded 
	as follows:</t>
        <t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
      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)                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ]]></artwork>
          </figure>
        </t>
        <t>
        <list style="hanging">
        <t hangText="L:">The L bit is an attribute of the subobject as 
        defined in <xref target="RFC3209"/>  and usage in IRO subobject
        updated in <xref target="IRO-UPDATE"/>.</t>
        <t hangText="Type:">(TBD2 by IANA) indicating a 4-Byte OSPF Area ID.</t>
        <t hangText="Length:">8 (Total length of the subobject in bytes).</t>
        <t hangText="Reserved:">Zero at transmission, ignored at receipt.</t>
        <t hangText="OSPF Area Id:">The 4-Byte OSPF Area ID.</t>
        </list>
        </t> 
        
        <t>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 <xref target="ISO10589"/>. The subobject is encoded as follows:</t>
        <t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
      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                        //
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
        </t>      
        <t>
        <list style="hanging">
        <t hangText="L:">The L bit is an attribute of the subobject as defined 
        in <xref target="RFC3209"/>  and usage in IRO subobject
        updated in <xref target="IRO-UPDATE"/>.</t>
        <t hangText="Type:">(TBD3 by IANA) indicating IS-IS Area ID.</t>
        <t hangText="Length:">Variable. As per <xref target="RFC3209"/>, the 
        total length of the subobject in bytes, including the L, Type and Length 
        fields. The Length MUST be at least 4, and MUST be a multiple of 4.</t>
        <t hangText="Area-Len:">Variable (Length of the actual (non-padded) 
        IS-IS Area Identifier in octets;  Valid values are from 2 to 11 inclusive). </t>
        <t hangText="Reserved:">Zero at transmission, ignored at receipt.</t>
        <t hangText="IS-IS Area Id:">The variable-length IS-IS area identifier. 
        Padded with trailing zeroes to a four-byte boundary.</t>
        </list>
        </t>
      </section>
       </section>
      <section title="Update in IRO specification" toc="default" anchor="SEC_IRO_UPD">
      <t><xref target="RFC5440"/> describes IRO as an optional object used to specify
   that the computed path MUST traverse a set of specified network
   elements. It further state that the L bit of such sub-object has 
   no meaning within an IRO. It did not mention if IRO is an ordered or 
   un-ordered list of sub-objects. </t>
   <t>An update to IRO specification <xref target="IRO-UPDATE"/> makes IRO as 
   an ordered list as well as support for loose bit (L-bit).</t>
   <t>The use IRO for domain-sequence assumes the updated specification for 
   IRO as per <xref target="IRO-UPDATE"/>.
   </t>
      </section>
      <section title="IRO for domain-sequence" toc="default">
      <t>Some subobjects for IRO are defined in <xref target="RFC3209"/>, 
      <xref target="RFC3473"/>, <xref target="RFC3477"/> and 
      <xref target="RFC4874"/>,  further some new subobjects
         related to Domain-Sequence are also added in this document as mentioned 
         in <xref target="sec_iro_sub"/>. </t>
        <t>The subobjects for IPv4, IPv6 and unnumbered 
        Interface ID can be used to specify 
        Boundary Node (ABR/ASBR) and Inter-AS-Links. The subobjects for AS Number 
        (2 or 4 Byte) and IGP Area is used to specify the domain identifiers in 
        the domain-sequence.</t>
        <t>The IRO MAY have both intra-domain (from the context of the ingress PCC)
        and inter-domain (domain-sequence) subobjects in a sequence in which they
        must be traversed in the computed path.</t>
        <t>Thus an IRO comprising of subobjects that represents a domain-sequence 
        may constraints or define 
      the domains involved in an inter-domain path computation, typically involving 
      two or more collaborative PCEs.</t>
      <t>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 areas for a given AS.</t>
      <t>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).</t>
      <t>A PCC builds an IRO to encode the Domain-Sequence, that the 
      cooperating PCEs should compute an inter-domain shortest constrained paths across the
   specified sequence of domains.</t>
   <t>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. </t>
      <t>If a PCE  
      encounters a subobject that it does not support or recognize, it 
      MUST act according to the setting of the L-bit in the subobject. 
      If the L-bit is clear, the PCE MUST respond with a PCErr with 
      Error-Type TBD4 "Unrecognized subobject" and set the Error-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.</t>
      <t>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 
      domain-sequence nodes 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.</t>
      <t>A successful path computation reported in a  PCEP reply message (PCRep) 
      MUST include an ERO to specify the path that has been computed as 
      specified in <xref target="RFC5440"/> following the sequence of 
      domains.</t>
      
      <t>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.</t>
      <t>The Subobject types for domains (AS and IGP Area) affect the next domain 
      selection as well as finding the PCE serving that domain.</t>
      <t>Note that a particular domain in the domain-sequence can be 
      identified by :- </t>
      <t>
        <list style="symbols">
         <t>A single IGP Area: Only the IGP (OSPF or ISIS) Area subobject 
         is used to identify the next domain. (Refer <xref target="fig1"/>)</t>
         <t>A single AS: Only the AS subobject is used to identify the next 
         domain. (Refer <xref target="fig2"/>)</t>
         <t>Both an AS and an IGP Area: Combination of both AS and Area are 
         used to identify the next domain. In this case the order is AS Subobject 
         followed by Area. (Refer <xref target="fig3"/>)</t>
        </list>
      </t>
      <t>The Subobjects representing an internal node, a Boundary Node or an 
      Inter-AS-Link MAY influence the selection of the path as well.</t>
      </section>

      </section>
      
      <section title="Exclude Route Object (XRO)" toc="default">
      <t>The Exclude Route Object (XRO) <xref target="RFC5521"/> is an optional 
      object used to specify exclusion of certain abstract nodes or resources 
      from the whole path.</t>
      <section title="Subobjects" toc="default">
      <t>The following subobject types are defined to be used in XRO as defined 
      in <xref target="RFC3209"/>, <xref target="RFC3477"/>, <xref target="RFC4874"/>,
       and <xref target="RFC5521"/>. </t>
      <t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[

             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
]]></artwork>
          </figure>
        </t>  
        <t>This document extends the above list to support 4-Byte 
        AS numbers and IGP Areas.</t>
        <t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[

             Type   Subobject
              TBD1  Autonomous system number (4 Byte)
              TBD2  OSPF Area id
              TBD3  ISIS Area id
]]></artwork>
          </figure>
        </t>    
      <section title="Autonomous system" toc="default">   
      <t>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.</t>
      <t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
      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)                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
          </figure>
        </t>
        <t>The X-bit indicates whether the exclusion is mandatory or desired. </t>
        <t>
        <list style="hanging">
        <t hangText="0:">indicates that the AS specified MUST be excluded from the 
        path computed by the PCE(s).</t>
        <t hangText="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.</t>
        </list>
        </t> 
        <t>All other fields are consistent with the definition in <xref target="sec_iro_sub"/>.</t>
        </section>
        <section title="IGP Area" toc="default"> 
        <t>Since the length and format of Area-id is different for OSPF and ISIS, 
        following two subobjects are defined: </t>
	<t>For OSPF, the area-id is a 32 bit number. The subobject is encoded as 
	follows: </t>
	<t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
      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)                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ]]></artwork>
          </figure>
        </t> 
        <t>The X-bit indicates whether the exclusion is mandatory or desired. </t>
        <t>
        <list style="hanging">
        <t hangText="0:">indicates that the OSFF Area specified MUST be excluded 
        from the path computed by the PCE(s).</t>
        <t hangText="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.</t>
        </list>
        </t>
        <t>All other fields are consistent with the definition in <xref target="sec_iro_sub"/>.</t> 
        <t>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 
        <xref target="ISO10589"/>. The subobject is encoded as follows:</t>
	<t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
      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                        //
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
        </t>
         <t>The X-bit indicates whether the exclusion is mandatory or desired. </t>
         <t>
        <list style="hanging">
        <t hangText="0:">indicates that the ISIS Area specified MUST be excluded 
        from the path computed by the PCE(s).</t>
        <t hangText="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.</t>
        </list>
        </t>
        <t>All other fields are consistent with the definition in <xref target="sec_iro_sub"/>.</t> 
        <t>If a PCE that supports XRO and encounters a subobject that it does not 
        support or recognize, it MUST act according to the setting of the X-bit 
        in the subobject. If the X-bit is clear, the PCE MUST respond with a 
        PCErr with Error-Type TBD4 "Unrecognized subobject" and set the Error-Value 
        to the subobject 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.</t>         
        <t>All the other processing rules are as per <xref target="RFC5521"/>.</t>
      </section>
      </section>
      </section>
      
      <section title="Explicit Exclusion Route Subobject (EXRS)" toc="default">
      <t>Explicit Exclusion Route Subobject (EXRS) <xref target="RFC5521"/> is used to 
      specify exclusion of certain abstract nodes between a specific pair of nodes. </t>
      <t>The EXRS subobject may carry any of the subobjects defined for inclusion in 
      the XRO, thus the new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area 
      MAY 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.</t>
      <t>All the processing rules are as per <xref target="RFC5521"/>.</t>
      </section>
      <section title="Explicit Route Object (ERO)" toc="default">
      <t>The Explicit Route Object (ERO) <xref target="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 <xref target="RFC3209"/>, 
      <xref target="RFC3473"/>, <xref target="RFC3477"/>, <xref target="RFC4873"/>, 
      <xref target="RFC4874"/>, and <xref target="RFC5520"/>.</t>
      <t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[

             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
]]></artwork>
          </figure>
        </t>
        <t>This document extends the above list to support 4-Byte AS numbers and IGP Areas.</t>
	<t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[

             Type   Subobject
              TBD1  Autonomous system number (4 Byte)
              TBD2  OSPF Area id
              TBD3  ISIS Area id
]]></artwork>
          </figure>
        </t>        
      <t>The new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area 
      MAY 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. </t>  
      <t>In case of Hierarchical PCE <xref target="RFC6805"/>, a Parent 
      PCE MAY be requested to find the domain-sequence. Refer example in 
      <xref target="sec_hpce"/>.</t>
      <t>The format of the new ERO subobjects is similar to new IRO 
      subobjects, refer <xref target="sec_iro_sub"/>.</t>
      </section>
      
      </section>
      
      <section title="Other Considerations" toc="default">
      <t>The examples in this section are for illustration purposes only; to show 
    how the new subobjects may be encoded.</t>
<section title="Inter-Area Path Computation" toc="default">
          <t>In an inter-area path computation where the ingress and the egress 
          nodes belong to different IGP areas within the same AS, the 
          Domain-Sequence MAY 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.</t>
          <t>
            <figure title="Inter-Area Path Computation" anchor="fig1" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
 +-------------------+                            +-------------------+
 |                   |                            |                   |
 |           +--+    |                            |     +--+          |
 |  +--+     |  |    |                            |     |  |          |
 |  |  |     +--+    |                            |     +--+   +--+   |
 |  +--*             +                            +            |  |   |
 |                   |                            |            +--+   |
 |         *--+      +                            +                   |
 |         |  |      |                            |     +--+          |
 |         +--+      |                            |     |  |          |
 |                   |+--------------------------+|     +--+          |
 |                  ++++                       +-++                   |
 |                  ||||         +--+          | ||                   |
 | Area 2           ++++         |  |          +-++  Area 4           |
 +-------------------+|          +--+            |+-------------------+
                      |                          |
                      |                +--+      |
                      |    +--+        |  |      |
                      |    |  |        +--+      |
                      |    +--+                  |
                      |                          |
                      |                          |
                      |                          |
                      |                          |
                      |           +--+           |
                      |           |  |           |
                      |           +--+           |
  +------------------+|                          |+--------------------+
  |                  ++-+                      +-++                    |
  |                  || |                      | ||                    |
  |                  ++-+    Area 0            +-++                    |
  |                  |+--------------------------+|     +--+           |
  |          +--+    |                            |     |  |           |
  |          |  |    |                            |     +--+           |
  | +--+     +--+    |                            |                    |
  | |  |             +                            +            +--+    |
  | +--+             |                            |            |  |    |
  |                  +                            +            +--+    |
  |       +--+       |                            |                    |
  |       |  |       |                            |     +--+           |
  |       +--+       |                            |     |  |           |
  |                  |                            |     +--+           |
  |                  |                            |                    |
  | Area 1           |                            |  Area 5            |
  +------------------+                            +--------------------+

]]></artwork>
            </figure>
          </t>
          <t>AS Number is 100.</t>
          <t>This could be represented in the <IRO> as: </t>
          <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
  

  +---------+ +---------+ +---------+ +---------+
  |IRO      | |Sub      | |Sub      | |Sub      |
  |Object   | |Object   | |Object   | |Object   |
  |Header   | |Area 2   | |Area 0   | |Area 4   |
  |         | |         | |         | |         |
  |         | |         | |         | |         |
  +---------+ +---------+ +---------+ +---------+


  +---------+ +---------+ +---------+ +---------+ +---------+
  |IRO      | |Sub      | |Sub      | |Sub      | |Sub      |
  |Object   | |Object AS| |Object   | |Object   | |Object   |
  |Header   | |100      | |Area 2   | |Area 0   | |Area 4   |
  |         | |         | |         | |         | |         |
  |         | |         | |         | |         | |         |
  +---------+ +---------+ +---------+ +---------+ +---------+

 ]]></artwork>
            </figure>
          </t>
          <t>AS is optional and it MAY be skipped.  PCE should be able to 
understand both notations.</t>
        </section>      
        <section title="Inter-AS Path Computation" toc="default">
        <t>In inter-AS path computation, where ingress and egress belong to 
        different AS, the Domain-Sequence is represented using an ordered 
        list of AS subobjects.  The Domain-Sequence MAY further include 
        decomposed area information in Area subobjects.</t>
        <section title="Example 1" toc="default">
          <t>As shown in <xref target="fig2"/>, where AS to be made of a 
          single area, the area subobject MAY be skipped in the Domain-Sequence 
          as AS is enough to uniquely identify the next domain and PCE.</t>
          <t>
            <figure title="Inter-AS Path Computation" anchor="fig2" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
                                   +---------------------------------+
                                   |AS 200                           |
                                   |            +------+             |
                                   |            |      |             |
    +------------------------+     |            |      |   +------+  |
    | AS 100                 |     |            +------+   |      |  |
    |               +------+ |     | +------+              |      |  |
    |               |      +-+-----+-+      |              +------+  |
    |               |      | |     | |      |                        |
    |               +------+ |     | +------+                        |
    | +------+               |     |              +------+           |
    | |      |               |     |              |      |           |
    | |      |               |     |              |      |           |
    | +------+               |     |              +------+           |
    |                        |     |                                 |
    |               +------+ |     | +------+                        |
    |               |      +-+-----+-+      |               +------+ |
    |               |      | |     | |      |               |      | |
    |               +------+ |     | +------+               |      | |
    |                        |     |                        +------+ |
    |                        |     |                                 |
    |                        |     |                                 |
    |       +------+         |     |              +------+           |
    |       |      |         |     |              |      |           |
    |       |PCE   |         |     |              |PCE   |           |
    |       +------+         |     |              +------+           |
    |                        |     |                                 |
    +------------------------+     |                                 |
                                   +---------------------------------+

 
]]></artwork>
            </figure>
          </t>
          <t>Both AS are made of Area 0.</t>
          <t>This could be represented in the <IRO> as: </t>
          <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[


    +---------+  +---------+  +---------+
    |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   |
    |         |  |         |  |         |  |         |  |         |
    |         |  |         |  |         |  |         |  |         |
    +---------+  +---------+  +---------+  +---------+  +---------+
]]></artwork>
            </figure>
          </t>
          <t>Area subobject is optional and it MAY be skipped.  PCE should be  
	  able to understand both notations. </t>
        </section>
         
        <section title="Example 2" toc="default">
          <t>As shown in <xref target="fig3"/>, where AS 200 is made up of 
          multiple areas and multiple domain-sequence exist, PCE MAY include 
          both AS and Area subobject to uniquely identify the next domain 
          and PCE.</t>
          <t>
            <figure title="Inter-AS Path Computation" anchor="fig3" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
               |
               |  +-------------+                +----------------+
               |  |Area 2       |                |Area 4          |
               |  |         +--+|                |          +--+  |
               |  |         |  ||                |          |  |  |
               |  |  +--+   +--+|                |   +--+   +--+  |
               |  |  |  |       |                |   |  |         |
               |  |  *--+       |                |   +--+         |
               |  | /      +--+ |                |          +--+  |
               |  |/       |  | |                |          |  |  |
               |  /        +--+ |                |   +--+   +--+  |
               | /|  +--+       |+--------------+|   |  |         |
               |/ |  |  |       ++-+          +-++   +--+         |
+-------------+/  |  +--+       || |          | ||                |
|             /|  |             ++-+          +-++                |
|         +--*||  +-------------+|              |+----------------+
|         |  |||                 |     +--+     |
|         +--+||                 |     |  |     |
|    +--+     ||                 |     +--+     |
|    |  |     ||                 |              |
|    +--+     ||                 |              |
|             ||                 |     +--+     |
|+--+         ||                 |     |  |     |
||  |         ||                 |     +--+     |
|+--+         ||                 |              |
|             ||                 |     +--+     |
|    +--+     ||  +------------+ |     |  |     |+----------------+
|    |  |     ||  |Area 3      +-++    +--+   +-++ Area 5         |
|    +--+     ||  |            | ||           | ||                |
|             ||  |            +-++           +-++                |
|         +--+||  |       +--+ | |  Area 0      ||   +--+         |
|         |  |||  |       |  | | +--------------+|   |  |         |
|         +--*||  |       +--+ |                 |   +--+         |
|             \|  |            |                 |          +--+  |
|Area 1       |\  |   +--+     |                 |   +--+   |  |  |
+-------------+|\ |   |  |     |                 |   |  |   +--+  |
               | \|   +--+  +--+                 |   +--+         |
               |  \         |  |                 |                |
               |  |\        +--+                 |          +--+  |
               |  | \ +--+     |                 |          |  |  |
               |  |  \|  |     |                 |          +--+  |
               |  |   *--+     |                 |                |
               |  |            |                 |                |
               |  +------------+                 +----------------+
               |
               |
    AS 100     |  AS 200
               |
]]></artwork>
            </figure>
          </t>
          <t>The Domain-Sequence can be carried in the IRO as shown below:</t>
          <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[

 +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ +-------+
 |IRO    | |Sub    | |Sub    | |Sub    | |Sub    | |Sub    | |Sub    |
 |Object | |Object | |Object | |Object | |Object | |Object | |Object |
 |Header | |AS 100 | |Area 1 | |AS 200 | |Area 3 | |Area 0 | |Area 4 |
 |       | |       | |       | |       | |       | |       | |       |
 +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ +-------+
]]></artwork>
            </figure>
          </t>
          <t>The combination of both an AS and an Area uniquely identify a 
          domain in the Domain-Sequence. </t>
          <t>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.</t>
          <t>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.  </t>
        </section>
        </section>
        <section title="Boundary Node and Inter-AS-Link" toc="default">
        <t>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. </t>
        <t>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. </t>
        <t>For <xref target="fig1" />, an ABR to be traversed can be specified as:</t>
<t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[

     +---------+ +---------+ +---------++---------+ +---------+
     |IRO      | |Sub      | |Sub      ||Sub      | |Sub      |
     |Object   | |Object   | |Object   ||Object   | |Object   |
     |Header   | |Area 2   | |IPv4     ||Area 0   | |Area 4   |
     |         | |         | |x.x.x.x  ||         | |         |
     |         | |         | |         ||         | |         |
     +---------+ +---------+ +---------++---------+ +---------+   

]]></artwork>
            </figure>
          </t>        
        <t>For <xref target="fig2" />, an inter-AS-link to be traversed can be specified as:</t>
        <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
       +---------+  +---------+ +---------+ +---------+ +---------+
       |IRO      |  |Sub      | |Sub      | |Sub      | |Sub      |
       |Object   |  |Object AS| |Object   | |Object   | |Object AS|
       |Header   |  |100      | |IPv4     | |IPv4     | |200      |
       |         |  |         | |x.x.x.x  | |x.x.x.x  | |         |
       |         |  |         | |         | |         | |         |
       +---------+  +---------+ +---------+ +---------+ +---------+   
]]></artwork>
            </figure>
          </t>        
        </section>
        <section title="PCE Serving multiple Domains" toc="default">
          <t>A single PCE MAY be responsible for multiple domains; for example 
          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.  </t>
        </section>
        <section title="P2MP" toc="default">
          <t>In case of inter-domain P2MP path computation, 
          (Refer <xref target="RFC7334"/>) the path domain tree 
          is nothing but a series of Domain Sequences, as shown in the below 
          figure:</t>
          <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[   D1-D3-D6, D1-D3-D5 and D1-D2-D4.
               D1
              /  \
             D2  D3
            /   /  \
           D4  D5  D6]]></artwork>
            </figure>
          </t>
          <t>All rules of processing as applied to P2P can be applied to 
          P2MP as well.</t>
          <t>In case of P2MP, different destinations MAY have different 
          Domain-Sequence within the domain tree, it requires domain-sequence 
          to be attached per destination. (Refer <xref target="PCE-P2MP-PER-DEST"/>)</t>
        </section>
        <section title="Hierarchical PCE" toc="default" anchor="sec_hpce">
          <t>As per <xref target="RFC6805"/>, consider a case as shown in 
          <xref target="fig4"/> consisting of multiple child PCEs and a parent PCE. </t>
          <t>
            <figure title="Hierarchical PCE" anchor="fig4" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
                                +--------+
                                | Parent |
                                | PCE    |
                                +--------+

 +-------------------+                            +-------------------+
 |           +--+    |                            |     +--+          |
 |  +--+     |  |    |                            |     |  |          |
 |  |  |     +--+    |                            |     +--+   +--+   |
 |  +--*             +                            +            |  |   |
 |                   |                            |            +--+   |
 |         *--+      +                            +                   |
 |         |  |      |                            |     +--+          |
 |         +--+      |                            |     |  |          |
 |                   |+--------------------------+|     +--+          |
 |                  ++++                       +-++                   |
 |                  ||||         +--+          | ||                   |
 | Area 2           ++++         |  |          +-++  Area 4           |
 +-------------------+|          +--+            |+-------------------+
                      |                +--+      |
                      |    +--+        |  |      |
                      |    |  |        +--+      |
                      |    +--+                  |
                      |                          |
                      |           +--+           |
                      |           |  |           |
                      |           +--+           |
  +------------------+|                          |+--------------------+
  |                  ++-+                      +-++                    |
  |                  || |                      | ||                    |
  |                  ++-+    Area 0            +-++                    |
  |                  |+--------------------------+|     +--+           |
  |          +--+    |                            |     |  |           |
  |          |  |    |                            |     +--+           |
  | +--+     +--+    |                            |                    |
  | |  |             +                            +            +--+    |
  | +--+             |                            |            |  |    |
  |                  +                            +            +--+    |
  |       +--+       |                            |                    |
  |       |  |       |                            |     +--+           |
  |       +--+       |                            |     |  |           |
  |                  |                            |     +--+           |
  | Area 1           |                            |  Area 5            |
  +------------------+                            +--------------------+
]]></artwork>
            </figure>
          </t>
          <t>In H-PCE, the Ingress PCE 'PCE(1)' can request the parent PCE to 
          determine the Domain-Sequence and return it in the PCEP response, 
          using the ERO Object. The ERO can contain an ordered sequence of 
          subobjects such as AS and Area (OSPF/ISIS) subobjects. In this case, 
          the Domain-Sequence appear as:</t>
          <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[

  +---------+ +---------+ +---------+ +---------+
  |ERO      | |Sub      | |Sub      | |Sub      |
  |Object   | |Object   | |Object   | |Object   |
  |Header   | |Area 2   | |Area 0   | |Area 4   |
  |         | |         | |         | |         |
  |         | |         | |         | |         |
  +---------+ +---------+ +---------+ +---------+


  +---------+ +---------+ +---------+ +---------+ +---------+
  |ERO      | |Sub      | |Sub      | |Sub      | |Sub      |
  |Object   | |Object AS| |Object   | |Object   | |Object   |
  |Header   | |100      | |Area 2   | |Area 0   | |Area 4   |
  |         | |         | |         | |         | |         |
  |         | |         | |         | |         | |         |
  +---------+ +---------+ +---------+ +---------+ +---------+
]]></artwork>
            </figure>
          </t>
          
        </section>
        <section title="Relationship to PCE Sequence" toc="default">
        <t>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 <xref target="RFC5886"/>).</t>
        <t>Note that PCE-Sequence can be used along with domain-sequence 
        in which case PCE-Sequence SHOULD 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.</t>
        </section>
        <section title="Relationship to RSVP-TE" toc="default">
        <t><xref target="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. </t>
        <t><xref target="DOMAIN-SUBOBJ"/> extends the notion of abstract 
        nodes by adding new subobjects for IGP Areas and 4-byte AS numbers. 
        These subobjects MAY be included in Explicit Route Object (ERO), 
        Exclude Route object (XRO) or Explicit Exclusion Route Subobject 
        (EXRS) in RSVP-TE.</t>
        <t>In any case subobject type defined in RSVP-TE are identical 
        to the subobject type defined in the related documents in PCEP.</t>
        </section>
      </section>
    <section title="IANA Considerations" toc="default">

    <section title="New Subobjects" toc="default">      
    <t>The "PCEP Parameters" registry contains a subregistry "PCEP Objects" 
    with an entry for the Include Route Object (IRO), Exclude Route Object 
    (XRO) and Explicit Route Object (ERO). IANA is requested to add further 
    subobjects as follows:</t>
      <t>
        <figure title="" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
    7  ERO
    10 IRO
    17 XRO 
          
    Subobject 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.]
]]></artwork>
        </figure>
      </t>
    </section>
    <section title="Error Object Field Values" toc="default">     
    <t>The "PCEP Parameters" registry contains a subregistry "Error Types and 
    Values". IANA is requested to make the following allocations from this subregistry</t>
    <t>
        <figure title="" suppress-title="false" align="left" alt="" width="" height="">
          <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
    ERROR     Meaning                       Reference  
    Type                          
    TBD4      "Unrecognized subobject"      [This I.D.]
              Error-Value: type code
]]></artwork>
        </figure>
      </t>
    </section>
    </section>
    <section title="Security Considerations" toc="default">
      <t>This document specifies a standard representation of Domain-Sequence 
      and new subobjects, which MAY 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 <xref target="RFC5440"/> are 
      considered more important.  </t>
      <t>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.</t>
    </section>
    <section title="Manageability Considerations" toc="default">
      <section title="Control of Function and Policy" toc="default">
        <t>Several local policy decisions should be made at the PCE. Firstly, 
        the exact behavior with regard to desired inclusion and exclusion of 
        domains must be available for examination by an operator and may be 
        configurable. Second, the behavior on receipt of an unrecognized 
        subobjects with 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.</t>
      </section>
      <section title="Information and Data Models" toc="default">
        <t>A MIB module for management of the PCEP is being specified in a 
        separate document <xref target="PCEP-MIB"/>. 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.</t>
      </section>
      <section title="Liveness Detection and Monitoring" toc="default">
        <t>Mechanisms defined in this document do not imply any new liveness 
        detection and monitoring requirements in addition to those already 
        listed in <xref target="RFC5440"/>.</t>
      </section>
      <section title="Verify Correct Operations" toc="default">
        <t>Mechanisms defined in this document do not imply any new operation 
        verification requirements in addition to those already listed in 
        <xref target="RFC5440"/>.</t>
      </section>
      <section title="Requirements On Other Protocols" toc="default">
        <t>In case of per-domain path computation <xref target="RFC5152"/>, 
        where the full path of an inter-domain TE LSP cannot be or is not 
        determined at the ingress node, and signaling message may use 
        domain identifiers. The Subobjects defined in this document 
        SHOULD be supported by RSVP-TE. <xref target="DOMAIN-SUBOBJ"/> 
        extends the notion of abstract nodes by adding new subobjects 
        for IGP Areas and 4-byte AS numbers.</t>
        <t>Apart from this, mechanisms defined in this document do not 
        imply any requirements on other protocols in addition to those 
        already listed in <xref target="RFC5440"/>.</t>
      </section>
      <section title="Impact On Network Operations" toc="default">
        <t>Mechanisms defined in this document do not have any impact 
        on network operations in addition to those already listed in 
        <xref target="RFC5440"/>.</t>
      </section>
    </section>
    <section title="Acknowledgments" toc="default">
      <t>We would like to thank Adrian Farrel, Pradeep Shastry, 
      Suresh Babu, Quintin Zhao, Fatai Zhang, Daniel King, Oscar Gonzalez, 
      Chen Huaimo, Venugopal Reddy, Reeja Paul Sandeep Boina and Avantika 
      for their useful comments and suggestions.</t>
    </section>
  </middle>
  <back>
    <references title="Normative References">
    <?rfc include="reference.RFC.2119.xml" ?>
    <?rfc include="reference.RFC.5440.xml" ?>
    <?rfc include="reference.RFC.5441.xml" ?>
    <?rfc include="reference.RFC.5521.xml" ?>
    <?rfc include="reference.RFC.6805.xml" ?>
    
    </references>
    <references title="Informative References">
      <?rfc include="reference.RFC.3209.xml" ?>
      <?rfc include="reference.RFC.3473.xml" ?>
      <?rfc include="reference.RFC.3477.xml" ?>
      <?rfc include="reference.RFC.4655.xml" ?>    
      <?rfc include="reference.RFC.4726.xml" ?>    
      <?rfc include="reference.RFC.4873.xml" ?>    
      <?rfc include="reference.RFC.4874.xml" ?>    
      <?rfc include="reference.RFC.4893.xml" ?>    
      <?rfc include="reference.RFC.5152.xml" ?>
      
            
      <?rfc include="reference.RFC.5520.xml" ?>
      
      <?rfc include="reference.RFC.5886.xml" ?>
      <?rfc include="reference.RFC.7334.xml" ?>
      
      
      <!--PCEP-MIB-->
      <reference anchor="PCEP-MIB">
        <front>
          <title>PCE communication protocol(PCEP) Management Information Base. (draft-ietf-pce-pcep-mib)</title>
          <author initials="A" surname="Koushik" fullname="Koushik A">
            <organization />
          </author>
          <author initials="S" surname="Emile" fullname="Emile S">
            <organization />
          </author>
          <author initials="Q" surname="Zhao" fullname="Quintin Zhao">
            <organization />
          </author>
          <author initials="D" surname="King" fullname="Daniel King">
            <organization />
          </author>
          <author initials="J" surname="Hardwick" fullname="Hardwick J">
            <organization />
          </author>
          <date month="September" year="2014" />
        </front>
      </reference>
      <!--PCE-P2MP-PER-DEST-->
      <reference anchor="PCE-P2MP-PER-DEST">
        <front>
          <title>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)</title>
          <author initials="D" surname="Dhody" fullname="Dhody D">
            <organization />
          </author>
          <author initials="U" surname="Palle" fullname="Palle U">
            <organization />
          </author>
          <author initials="V" surname="Kondreddy" fullname="Kondreddy V">
            <organization />
          </author>
          <date month="September" year="2014" />
        </front>
      </reference>
      <!--DOMAIN-SUBOBJ-->
      <reference anchor="DOMAIN-SUBOBJ">
        <front>
          <title>Domain Subobjects for Resource ReserVation Protocol - Traffic Engineering (RSVP-TE). (draft-dhody-ccamp-rsvp-te-domain-subobjects)</title>
          <author initials="D" surname="Dhody" fullname="Dhody D">
            <organization />
          </author>
          <author initials="U" surname="Palle" fullname="Palle U">
            <organization />
          </author>
          <author initials="V" surname="Kondreddy" fullname="Kondreddy V">
            <organization />
          </author>
          <author initials="R" surname="Casellas" fullname="Casellas R">
            <organization />
          </author>
          <date month="July" year="2014" />
        </front>
      </reference>
      <!--IRO-SURVEY-->
      <reference anchor="IRO-SURVEY">
        <front>
          <title>Informal Survey into Include Route Object (IRO) Implementations in Path
           Computation Element communication Protocol (PCEP). (draft-dhody-pce-iro-survey-01)</title>
          <author initials="D" surname="Dhody" fullname="Dhody D">
            <organization />
          </author>
          
          <date month="October" year="2014" />
        </front>
      </reference>   
      <!--IRO-UPDATE-->
      <reference anchor="IRO-UPDATE">
        <front>
          <title>Update to Include Route Object 
    (IRO) specification in Path Computation Element communication 
    Protocol (PCEP. (draft-dhody-pce-iro-update-00)</title>
          <author initials="D" surname="Dhody" fullname="Dhody D">
            <organization />
          </author>
          
          <date month="October" year="2014" />
        </front>
      </reference>        
      <!--ISO-->
      <reference anchor="ISO10589">
        <front>
          <title>
            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)
          </title> 
          <author fullname="ISO">
            <organization >ISO</organization>
          </author>
          <date month="" year="1992"/>
        </front>
        <seriesInfo name="ISO/IEC" value="10589:2002"/>
      </reference>       
    </references>
    
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 14:29:26