One document matched: draft-ietf-pce-pcep-domain-sequence-09.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-09" 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>Divyashree Techno Park, Whitefield</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560037</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>Divyashree Techno Park, Whitefield</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560037</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="September" year="2015"  />
    <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 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. </t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction" toc="default">
      <t>A Path Computation Element (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 backward
      recursive path computation (BRPC) mechanism <xref target="RFC5441"/>
      also defines a PCE-based path computation procedure to compute inter-domain constrained
      path for (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 point-to-point (P2P) or a domain tree in
      point-to-multipoint (P2MP) is usually a constraint in inter-domain path computation procedure.
      </t>

      <t>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.</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 a domain is defined
      in <xref target="RFC3209"/>. In the current document, we specify new subobjects to include or
      exclude domains including IGP area or an Autonomous Systems (4-Byte as per
      <xref target="RFC6793"/>).</t>
      <t>Further, the domain
      identifier may simply act as delimiter to specify where the domain boundary
      starts and ends in some cases.</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="Scope" toc="default">
      <t>The procedures described in this document are experimental. The experiment
      is intended to enable research for the usage of Domain-Sequence at the PCEs
      for inter-domain paths. For this purpose this document specifies new domain
      subobjects as well as how they incorporate with existing subobjects to
      represent a Domain-Sequence.</t>
      <t>This document does not change the procedures for handling existing
      subobjects in PCEP.</t>
      <t>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 <xref target="iro_domain_seq"/>. 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.</t>
      <t>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.</t>

      </section>

      <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) area and Autonomous System (AS).</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 could 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.</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 a path
        computation request to PCE(s). A Domain-Sequence can also be the result
        of a path computation. For example,  in the case of Hierarchical PCE (H-PCE)
        <xref target="RFC6805"/>, Parent PCE could 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 a list of Domain-Sequences. </t>
        <t>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.</t>
        <t>Domain-Sequence can include Boundary Nodes
        (ABR or ASBR) or Border links (Inter-AS-links) to be traversed
        as an additional constraint. </t>
        <t>Thus a Domain-Sequence can 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>These are encoded in the new subobjects defined in
      this document as well as the existing subobjects to represent a Domain-Sequence.</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
         then be an input to the BRPC procedure <xref target="RFC6805"/>;</t>
         <t>by a Path Computation Client (PCC) or a PCE, to constrain the domains used in inter-domain path
         computation, explicitly specifying which domains to be expanded or excluded;</t>
         <t>by a PCE in the per-domain path computation model <xref target="RFC5152"/>
         to identify the next domain.</t>
        </list>
      </t>

      </section>
      <section title="Domain-Sequence Representation" toc="default">
      <t>Domain-Sequence appears in PCEP messages, notably in - </t>
      <t>
        <list style="symbols">
         <t>Include Route Object (IRO): As per <xref target="RFC5440"/>,
         IRO can be used to specify a set of network elements to be traversed
         to reach the destination, which includes subobjects used to
         specify the Domain-Sequence.
         </t>
         <t>Exclude Route Object (XRO): As per <xref target="RFC5521"/>,
         XRO can be used to specify certain abstract nodes, to be excluded
         from whole path, which includes subobjects used to
         specify the Domain-Sequence.</t>
         <t>Explicit Exclusion Route Subobject (EXRS): As per
         <xref target="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. </t>
         <t>Explicit Route Object (ERO): As per <xref target="RFC5440"/>,
         ERO can be used to specify a computed path in the network. For example,
         in the case of H-PCE
        <xref target="RFC6805"/>, a Parent PCE can 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 needs to 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>This document extends the support for
          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>
          <t>Note: The twins of these subobjects are carried in RSVP-TE messages as
   defined in <xref target="DOMAIN-SUBOBJ"/>.</t>
      <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="RFC6793"/>
	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) MUST be
        used and the high order bits (0 through 15) MUST 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. The Length MUST be at least 8,
        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 1 to 13 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
      network elements to be traversed by the computed 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. </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) is added.</t>
   <t>The use of 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" anchor="iro_domain_seq">

        <t>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.</t>
        <t>The IRO can incorporate the new domain subobjects with the existing
        subobjects in a sequence of traversal.</t>
        <t>Thus an IRO, comprising subobjects, that represents a Domain-Sequence,
        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 IGP 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>
      <section title="PCC Procedures" toc="default" >
      <t>A PCC builds an IRO to encode the Domain-Sequence, so that the
      cooperating PCEs could compute an inter-domain shortest constrained path across the
   specified sequence of domains. </t>
      <t>A PCC may intersperse Area and AS subobjects with other subobjects
    without change to the previously specified processing of those
    subobjects in the IRO.</t>
   </section>
      <section title="PCE Procedures" toc="default" >
      <t>If a PCE receives an IRO in a
   Path Computation request (PCReq) message that contains the subobjects
   defined in this document, that it does not recognize,
   it will respond according to the
   rules for a malformed object as per <xref target="RFC5440"/>. The PCE MAY
   also include the IRO in the PCErr message as per <xref target="RFC5440"/>.</t>

      <t>
      The interpretation of Loose
      bit (L bit) is as per section 4.3.3.1 of <xref target="RFC3209"/> (as per <xref target="IRO-UPDATE"/>). </t>

      <t>In a Path Computation reply (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 following processing rules apply for Domain-Sequence in IRO -
    <list style="symbols">
    <t>When a PCE parses an IRO, it interprets each subobject according
    to the AS number associated with the preceding subobject.  We call
    this the "current AS".  Certain subobjects modify the current AS,
    as follows.
    <list style="symbols">
        <t>The current AS is initialized to the AS number of the PCC.</t>
        <t>If the PCE encounters an AS subobject, then it updates the current AS to this new AS number.</t>
        <t>If the PCE encounters an Area subobject, then it assumes that the area belongs to the current AS.</t>
        <t>If the PCE encounters an IP address that is globally routable, then it updates the current AS to the AS that owns this IP address. This document does not define how the PCE learns which AS owns the IP address.</t>
        <t>If the PCE encounters an IP address that is not globally routable, then it assumes that it belongs to the current AS.</t>
        <t>If the PCE encounters an unnumbered link, then it assumes that it belongs to the current AS.</t>
    </list>
    </t>
    <t>When a PCE parses an IRO, it interprets each subobject according
    to the Area ID associated with the preceding subobject.  We call
    this the "current Area".  Certain subobjects modify the current Area,
    as follows.
    <list style="symbols">
        <t>The current Area is initialized to the Area ID of the PCC.</t>
        <t>If the current AS is changed, the current Area is reset and need to be determined again by current or subsequent subobject.</t>
        <t>If the PCE encounters an Area subobject, then it updates the current Area to this new Area ID.</t>
        <t>If the PCE encounters an IP address that belongs to a different area, then it updates the current Area to the Area that has this IP address. This document does not define how the PCE learns which Area has the IP address.</t>
        <t>If the PCE encounters an unnumbered link that belongs to a different area, then it updates the current Area to the Area that has this link.</t>
        <t>Otherwise, it assumes that the subobject belongs to the current Area.</t>
    </list>
    </t>
    <t>In case the current PCE is not responsible for the path computation in the current AS or Area, then the PCE selects the "next PCE" in the domain-sequence based on the current AS and Area.</t>
    </list>
    </t>
      </section>
      </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>Some subobjects to be used in XRO as defined
      in <xref target="RFC3209"/>, <xref target="RFC3477"/>, <xref target="RFC4874"/>,
       and <xref target="RFC5520"/>, but new subobjects related to Domain-Sequence
       are needed.</t>

        <t>This document extends the support for 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>
          Note: The twins of these subobjects are carried in RSVP-TE messages as
   defined in <xref target="DOMAIN-SUBOBJ"/>.
        </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>All the processing rules are as per <xref target="RFC5521"/>.</t>

<t>Note that, if a PCE receives an XRO in a
   PCReq message that contains subobjects defined in this document, that it does not recognize,
   it will respond according to the
   rules for a malformed object as per <xref target="RFC5440"/>.</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 can 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
      can 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>The EXRS subobject should be interpreted in the context of the 
      current AS and current Area of the preceding subobject in the IRO. 
      The EXRS subobject does not change the current AS or current Area.  
      All other processing rules are as per <xref target="RFC5521"/>.</t>
      
      
      <t>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 <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"/>.
      The subobjects related to Domain-Sequence are further defined in <xref target="DOMAIN-SUBOBJ"/>.</t>

      <t>The new subobjects to support 4 byte AS and IGP (OSPF / ISIS) Area
      can 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 can be requested to find the Domain-Sequence. Refer example in
      <xref target="sec_hpce"/>. The ERO in reply from parent PCE can then be
      used in Per-Domain path computation or BRPC.</t>
      <t>If a PCC receives an ERO in a
   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 <xref target="RFC5440"/>.</t>
      </section>

      </section>


      <section title="Examples" toc="default">
      <t>The examples in this section are for illustration purposes only; to highlight
    how the new subobjects could be encoded. They are not meant to be an
    exhaustive list of all possible usecases and combinations.</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 could be represented using a ordered list of
          Area subobjects. </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      |
  |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   |
  |         | |         | |         | |         | |         |
  |         | |         | |         | |         | |         |
  +---------+ +---------+ +---------+ +---------+ +---------+

 ]]></artwork>
            </figure>
          </t>
           <t>The Domain-Sequence can further include
        encompassing AS information in the AS subobject.</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 could be represented using an ordered
        list of AS subobjects.  The Domain-Sequence can further include
        decomposed area information in the Area subobject.</t>
        <section title="Example 1" toc="default">
          <t>As shown in <xref target="fig2"/>, where AS has a
          single area,
          AS subobject in the domain-sequence can 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 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)

]]></artwork>
            </figure>
          </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 | |Object |
|Header | |AS B   | |AS C   |
|       | |       | |       |
+-------+ +-------+ +-------+

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 |
|       | |       | |       | |       | |       | |       | |       |
+-------+ +-------+ +-------+ +-------+ +-------+ +-------+ +-------+
]]></artwork>
            </figure>
          </t>

<t>Note that to get a domain disjoint path, the ingress could also
	 request the backup path with -</t>
          <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
<![CDATA[
+-------+ +-------+
|XRO    | |Sub    |
|Object | |Object |
|Header | |AS B   |
|       | |       |
+-------+ +-------+
]]></artwork>
            </figure>
          </t>

        <t>As described in <xref target="iro_domain_seq"/>, 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:</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    |
|Object | |Object | |Object | |Object | |Object | |Object |
|Header | |AS B   | |IP     | |IP     | |AS C   | |IP     |
|       | |       | |B1     | |B3     | |       | |C1     |
+-------+ +-------+ +-------+ +-------+ +-------+ +-------+
]]></artwork>
            </figure>
          </t>
<t>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.</t>

<t>Consider another IRO:</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 | |AS D   | |IP     | |IP     | |IP     |
|       | |       | |D1     | |D3     | |C3     |
+-------+ +-------+ +-------+ +-------+ +-------+
]]></artwork>
            </figure>
          </t>
<t> Here as well, on processing "AS D", it changes the AS of the
subsequent subobjects till you encounter another subobject "C3"
which belong in another AS and
changes the AS for its subsequent subobjects.</t>
<t>Further description for the Boundary Node and Inter-AS-Link can be found in <xref target="sec_boundary"/>.</t>

        </section>

        <section title="Example 2" toc="default">
          <t>In <xref target="fig3"/>, AS 200 is made up of
          multiple areas.</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          |
               |  |         +--+|                |          +--+  |
               |  |         |  ||                |          | B|  |
               |  |  +--+   +--+|                |   +--+   +--+  |
               |  |  |  |       |                |   |  |         |
               |  |  +--+       |                |   +--+         |
               |  |        +--+ |                |          +--+  |
               |  |        |  | |                |          |  |  |
               |  |        +--+ |                |   +--+   +--+  |
               |  |  +--+       |+--------------+|   |  |         |
               |  |  |  |       +--+          +--+   +--+         |
+-------------+|  |  +--+       |  |          |  |                |
|             ||  |             +--+          +--+                |
|         +--+||  +-------------+|              |+----------------+
|         |  |||                 |     +--+     |
|         +--+||                 |     |  |     |
|    +--+     ||                 |     +--+     |
|    |  |  +---+                +--+            |
|    +--+  |   |----------------|  |            |
|          +---+   Inter-AS     +--+   +--+     |
|+--+         ||    Links        |     |  |     |
||A |      +---+                +--+   +--+     |
|+--+      |   |----------------|  |            |
|          +---+                +--+   +--+     |
|    +--+     ||  +------------+ |     |  |     |+----------------+
|    |  |     ||  |Area 3      +--+    +--+   +--+ Area 5         |
|    +--+     ||  |            |  |           |  |                |
|             ||  |            +--+           +--+                |
|         +--+||  |       +--+ | |  Area 0      ||   +--+         |
|         |  |||  |       |  | | +--------------+|   |  |         |
|         +--+||  |       +--+ |                 |   +--+         |
|             ||  |            |                 |          +--+  |
|Area 0       ||  |   +--+     |                 |   +--+   |  |  |
+-------------+|  |   |  |     |                 |   |  |   +--+  |
               |  |   +--+  +--+                 |   +--+         |
               |  |         |  |                 |                |
               |  |         +--+                 |          +--+  |
               |  |   +--+     |                 |          | C|  |
               |  |   |  |     |                 |          +--+  |
               |  |   +--+     |                 |                |
               |  |            |                 |                |
               |  +------------+                 +----------------+
               |
               |
    AS 100     |  AS 200
               |
]]></artwork>
            </figure>
          </t>
          <t>The Domain-Sequence for the LSP (A-B) 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    |
|Object | |Object | |Object | |Object |
|Header | |AS 200 | |Area 0 | |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 4 |
|       | |       | |       | |       | |       | |       |
+-------+ +-------+ +-------+ +-------+ +-------+ +-------+
]]></artwork>
            </figure>
          </t>
<t>The Domain-Sequence for the LSP (A-C) 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    |
|Object | |Object | |Object | |Object |
|Header | |AS 200 | |Area 0 | |Area 5 |
|       | |       | |       | |       |
+-------+ +-------+ +-------+ +-------+

or

+-------+ +-------+ +-------+ +-------+ +-------+ +-------+
|IRO    | |Sub    | |Sub    | |Sub    | |Sub    | |Sub    |
|Object | |Object | |Object | |Object | |Object | |Object |
|Header | |AS 100 | |Area 0 | |AS 200 | |Area 0 | |Area 5 |
|       | |       | |       | |       | |       | |       |
+-------+ +-------+ +-------+ +-------+ +-------+ +-------+
]]></artwork>
            </figure>
          </t>
        </section>
        </section>
        <section title="Boundary Node and Inter-AS-Link" toc="default" anchor="sec_boundary">
        <t>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. </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 (say 203.0.113.1) to be traversed can be specified in 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      | |Sub      |
     |Object   | |Object   | |Object   ||Object   | |Object   |
     |Header   | |Area 2   | |IPv4     ||Area 0   | |Area 4   |
     |         | |         | |203.0.   ||         | |         |
     |         | |         | |112.1    ||         | |         |
     +---------+ +---------+ +---------++---------+ +---------+

]]></artwork>
            </figure>
          </t>
        <t>For <xref target="fig3" />, an inter-AS-link (say 198.51.100.1 - 198.51.100.2) 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      |
       |Object   |  |Object AS| |Object   | |Object AS|
       |Header   |  |100      | |IPv4     | |200      |
       |         |  |         | |198.51.  | |         |
       |         |  |         | |100.2    | |         |
       +---------+  +---------+ +---------+ +---------+
]]></artwork>
            </figure>
          </t>
        </section>
        <section title="PCE Serving multiple Domains" toc="default">
          <t>A single PCE can be 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.  </t>
        </section>
        <section title="P2MP" toc="default">
        <t><xref target="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:</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>The domain sequence handling described in this document could be applied to P2MP path domain tree. </t>
        </section>
        <section title="Hierarchical PCE" toc="default" anchor="sec_hpce">
          <t>In case of H-PCE <xref target="RFC6805"/>, the
          parent PCE can be requested to
          determine the Domain-Sequence and return it in the path computation reply,
          using the ERO. .
          For the example in section 4.6 of <xref target="RFC6805"/>,
          the Domain-Sequence can possibly 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   | |Domain 1 | |Domain 2 | |Domain 3 |
|         | |         | |         | |         |
|         | |         | |         | |         |
+---------+ +---------+ +---------+ +---------+

or

+---------+ +---------+ +---------+
|ERO      | |Sub      | |Sub      |
|Object   | |Object   | |Object   |
|Header   | |BN 21    | |Domain 3 |
|         | |         | |         |
|         | |         | |         |
+---------+ +---------+ +---------+

]]></artwork>
            </figure>
          </t>

        </section>
                </section>
        <section title="Other Considerations" toc="default">

        <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 MUST have higher precedence in selecting
        the next PCE in the inter-domain path computation procedures. </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 can 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>IANA maintains the "Path Computation Element Protocol (PCEP) Numbers"
    at http://www.iana.org/assignments/pcep/pcep.xhtml. Within this
    registry IANA maintains two sub-registries:
    <list style="symbols">
    <t>"IRO Subobjects":
      http://www.iana.org/assignments/pcep/pcep.xhtml#iro-subobject</t>
    <t>"XRO Subobjects":
      http://www.iana.org/assignments/pcep/pcep.xhtml#xro-subobject</t>
    </list></t>

 <t>Upon approval of this document, IANA is requested to make identical additions to these registries 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[
    Subobject Type                          Reference
    TBD1      4 byte AS number              [This I.D.][DOMAIN-SUBOBJ]
    TBD2      OSPF Area ID                  [This I.D.][DOMAIN-SUBOBJ]
    TBD3      IS-IS Area ID                 [This I.D.][DOMAIN-SUBOBJ]
 ]]></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 could 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>The exact behaviour with regards to desired inclusion and exclusion of
        domains MUST be available for examination by an operator and MAY be
        configurable. Manual configurations
        is needed to identify which PCEP peers understand the new domain
        subobjects defined in this document.</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="RFC7420"/>. This document does not
        imply any new extention to the current MIB module. </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, a signaling message can use
        the 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>The mechanisms described in this document can 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.</t>
      <t>Backward compatibility issues associated with the new subobjects arise
      when a PCE does not recognize them, in which case PCE responds
      according to the rules for a malformed object as per <xref target="RFC5440"/>.
      For successful operations
      the PCEs in the network would need to be upgraded.</t>

      </section>
    </section>
    <section title="Acknowledgments" toc="default">
      <t>Authors would like to especially thank Adrian Farrel for his detailed
      reviews as well as providing text to be included in the document. </t>
      <t>Further, we would like to thank Pradeep Shastry,
      Suresh Babu, Quintin Zhao, Fatai Zhang, Daniel King, Oscar Gonzalez,
      Chen Huaimo, Venugopal Reddy, Reeja Paul, Sandeep Boina, Avantika
      Sergio Belotti and Jonathan Hardwick for their useful comments and suggestions.</t>
    </section>
  </middle>
  <back>
    <references title="Normative References">
    <?rfc include="reference.RFC.2119.xml" ?>
    <?rfc include="reference.RFC.3209.xml" ?>
    <?rfc include="reference.RFC.3473.xml" ?>
    <?rfc include="reference.RFC.3477.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" ?>
    <!--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>

<!--IRO-UPDATE-->
      <reference anchor="IRO-UPDATE">
        <front>
          <title>Update to Include Route Object
    (IRO) specification in Path Computation Element communication
    Protocol (PCEP. (draft-ietf-pce-iro-update-02)</title>
          <author initials="D" surname="Dhody" fullname="Dhody D">
            <organization />
          </author>

          <date month="May" year="2015" />
        </front>
      </reference>

<!--DOMAIN-SUBOBJ-->
      <reference anchor="DOMAIN-SUBOBJ">
        <front>
          <title>Domain Subobjects for Resource ReserVation Protocol - Traffic Engineering (RSVP-TE). (draft-ietf-teas-rsvp-te-domain-subobjects-02)</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="2015" />
        </front>
      </reference>

    </references>
    <references title="Informative References">



      <?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.5152.xml" ?>


      <?rfc include="reference.RFC.5520.xml" ?>

      <?rfc include="reference.RFC.5886.xml" ?>
      <?rfc include="reference.RFC.6793.xml" ?>
      <?rfc include="reference.RFC.7334.xml" ?>
      <?rfc include="reference.RFC.7420.xml" ?>





    </references>

  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 14:32:51