<?xml version="1.0" encoding="US-ASCII"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="exp" docName="draft-ietf-teas-pce-native-ip-11"
     ipr="trust200902">
  <front>
    <title>PCE in Native IP Network</title>

    <author fullname="Aijun Wang" initials="A" surname="Wang">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street>Beiqijia Town, Changping District</street>

          <city>Beijing</city>

          <region/>

          <code>102209</code>

          <country>China</country>
        </postal>

        <email>wangaj3@chinatelecom.cn</email>
      </address>
    </author>

    <author fullname="Boris Khasanov" initials="B" surname="Khasanov">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Moskovskiy Prospekt 97A</street>

          <street/>

          <city>St.Petersburg</city>

          <region/>

          <code>196084</code>

          <country>Russia</country>
        </postal>

        <email>khasanov.boris@huawei.com</email>
      </address>
    </author>

    <author fullname="Quintin Zhao" initials="Q" surname="Zhao">
      <organization>Etheric Networks</organization>

      <address>
        <postal>
          <street>1009 S CLAREMONT ST</street>

          <street/>

          <city>SAN MATEO</city>

          <region>CA</region>

          <code>94402</code>

          <country>USA</country>
        </postal>

        <email>qzhao@ethericnetworks.com</email>
      </address>
    </author>

    <author fullname="Huaimo Chen" initials="H" surname="Chen">
      <organization>Futurewei</organization>

      <address>
        <postal>
          <street/>

          <city>Boston</city>

          <region>MA</region>

          <code/>

          <country>USA</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>huaimo.chen@futurewei.com</email>

        <uri/>
      </address>
    </author>

    <date day="25" month="August" year="2020"/>

    <area>RTG Area</area>

    <workgroup>TEAS Working Group</workgroup>

    <keyword>RFC</keyword>

    <abstract>
      <t>This document defines the architecture for traffic engineering within
      native IP network, using multiple BGP sessions strategy and PCE -based
      central control mechanism. It uses the Central Control Dynamic Routing
      (CCDR) procedures described in this document, and the Path Computation
      Element Communication Protocol (PCEP) extension specified in draft
      ietf-pce-pcep-extension-native-ip.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t><xref target="RFC8735"/> describes the scenarios and simulation
      results for traffic engineering in the native IP network to provide
      End-to-End (E2E) performance assurance and QoS using PCE based
      centralized control, referred to as Centralized Control Dynamic Routing
      (CCDR). Based on the various scenarios and analysis as per [RFC8735],
      the solution for traffic engineering in native IP network should meet
      the following criteria:</t>

      <t><list style="symbols">
          <t>Same solution for native IPv4 and IPv6 traffic.</t>

          <t>Support for intra-domain and inter-domain scenarios.</t>

          <t>Achieve End to End traffic assurance, with determined QoS
          behavior.</t>

          <t>No upgrade to forwarding behaviour of the router.</t>

          <t>Capable to exploit the power of centrally control and the
          flexibility/robustness of distributed control protocol.</t>

          <t>Coping with the differentiation requirements for large amount
          traffic and prefixes.</t>

          <t>Adjust the optimal path dynamically upon the change of network
          status. No physical links resources reservation in advance.</t>
        </list></t>

      <t>Stateful PCE <xref target="RFC8231"/> specifies a set of extensions
      to PCEP to enable stateful control of paths such as MPLS-TE Label
      Switched Paths(LSP)s between and across PCEP sessions in compliance with
      <xref target="RFC4657"/>. It includes mechanisms to achieve state
      synchronization between Path Computation Clients(PCCs) and PCEs,
      delegation of control of LSPs to PCEs, and PCE control of timing and
      sequence of path computations within and across PCEP sessions.
      Furthermore, <xref target="RFC8281"/> specifies a mechanism to
      dynamically instantiate LSPs on a PCC based on the requests from a
      stateful PCE or a controller using stateful PCE. <xref
      target="RFC8283"/> introduces the architecture for PCE as a central
      controller as an extension of the architecture described in <xref
      target="RFC4655"/> and assumes the continued use of PCEP as the protocol
      used between PCE and PCC.<xref target="RFC8283"/> further examines the
      motivations and applicability for PCEP as a Southbound Interface (SBI),
      and introduces the implications for the protocol.</t>

      <t>This document defines the architecture for traffic engineering within
      native IP network, using multiple BGP session strategy, to meet the
      above criteria in dynamical and centrally control mode. The architecture
      is referred as CCDR architecture. It depends on the central control
      (PCE) element to compute the optimal path for selected traffic, and
      utilizes the dynamic routing behavior of traditional IGP/BGP protocols
      to forward such traffic.</t>

      <t>The control messages between PCE and underlying network node are
      transmitted via Path Computation Element Communications Protocol (PCEP)
      protocol. The related PCEP extensions are provided in draft <xref
      target="I-D.ietf-pce-pcep-extension-native-ip"/>.</t>
    </section>

    <section title="Terminology">
      <t>This document uses the following terms defined in <xref
      target="RFC5440"/>:</t>

      <t><list style="symbols">
          <t>PCE</t>

          <t>PCEP</t>

          <t>PCC</t>
        </list></t>

      <t>The following terms are used in this document:</t>

      <t><list style="symbols">
          <t>CCDR: Central Control Dynamic Routing</t>

          <t>E2E: End to End</t>

          <t>ECMP: Equal-Cost Multipath</t>

          <t>RR: Route Reflector</t>

          <t>SDN: Software Defined Network</t>
        </list></t>
    </section>

    <section title="CCDR Architecture in Simple Topology">
      <t>Figure 1 illustrates the CCDR architecture for traffic engineering in
      simple topology. The topology is comprised by four devices which are
      SW1, SW2, R1, R2. There are multiple physical links between R1 and R2.
      Traffic between prefix PF11(on SW1) and prefix PF21(on SW2) is normal
      traffic, traffic between prefix PF12(on SW1) and prefix PF22(on SW2) is
      priority traffic that should be treated with priority.</t>

      <t>In Intra-AS scenario, IGP and BGP are deployed between R1 and R2. In
      inter-AS scenario, only native BGP protocol is deployed. The traffic
      between each address pair may change in real time and the corresponding
      source/destination addresses of the traffic may also change
      dynamically.</t>

      <t>The key ideas of the CCDR architecture for this simple topology are
      the followings:</t>

      <t><list style="symbols">
          <t>Build two BGP sessions between R1 and R2, via the different
          loopback addresses on these routers.</t>

          <t>Send different prefixes via the established BGP sessions. For
          example, PF11/PF21 via the BGP session 1 and PF12/PF22 via the BGP
          session 2.</t>

          <t>Set the explicit peer route on R1 and R2 respectively for BGP
          next hop to different physical link addresses between R1 and R2.
          Such explicit peer route can be set in the format of static route to
          BGP peer address, which is different from the route learned from the
          IGP protocol.</t>
        </list></t>

      <t>After the above actions, the bi-direction traffic between the PF11
      and PF21, and the bi-direction traffic between PF12 and PF22 will go
      through different physical links between R1 and R2, each set of traffic
      pass through different dedicated physical links.</t>

      <t>If there is more traffic between PF12 and PF22 that needs to be
      assured , one can add more physical links between R1 and R2 to reach the
      the next hop for BGP session 2. In this cases the prefixes that
      advertised by the BGP peers need not be changed.</t>

      <t>If, for example, there is bi-direction traffic from another address
      pair that needs to be assured (for example prefix PF13/PF23), and the
      total volume of assured traffic does not exceed the capacity of the
      previously provisioned physical links, one need only to advertise the
      newly added source/destination prefixes via the BGP session 2. The
      bi-direction traffic between PF13/PF23 will go through the assigned
      dedicated physical links as the traffic between PF12/PF22.</t>

      <t>Such decouple philosophy gives network operator flexible control
      capability on the network traffic, achieve the determined QoS assurance
      effect to meet the application's requirement. The router needs only
      support native IP and multiple BGP sessions setup via different loopback
      addresses.</t>

      <t><figure>
          <artwork align="center"><![CDATA[                               +-----+
                    +----------+ PCE +--------+
                    |          +-----+        |
                    |                         |
                    | BGP Session 1(lo11/lo21)|
                    +-------------------------+
                    |                         |
                    | BGP Session 2(lo12/lo22)|
                    +-------------------------+
PF12                |                         |                    PF22
PF11                |                         |                    PF21
+---+         +-----+-----+             +-----+-----+              +---+
|SW1+---------+(lo11/lo12)+-------------+(lo21/lo22)+--------------+SW2|
+---+         |    R1     +-------------+    R2     |              +---+
              +-----------+             +-----------+

           Figure 1: CCDR architecture in simple topology
]]></artwork>
        </figure></t>
    </section>

    <section title="CCDR Architecture in Large Scale Topology">
      <t>When the assured traffic spans across the large scale network, as
      that illustrated in Figure 2, the multiple BGP sessions cannot be
      established hop by hop, especially for the iBGP within one AS.</t>

      <t>For such scenario, we should consider using the Route Reflector (RR)
      <xref target="RFC4456"/> to achieve the similar effect. Every edge
      router will establish two BGP sessions with the RR via different
      loopback addresses respectively. The other steps for traffic
      differentiation are same as that described in the CCDR architecture for
      simple topology.</t>

      <t>As shown in Figure 2, if we select R3 as the RR, every edge router(R1
      and R7 in this example) will build two BGP session with the RR. If the
      PCE selects the dedicated path as R1-R2-R4-R7, then the operator should
      set the explicit peer routes via PCEP protocol on these routers
      respectively, pointing to the BGP next hop (loopback addresses of R1 and
      R7, which are used to send the prefix of the assured traffic) to the
      selected forwarding address.</t>

      <figure align="right">
        <artwork><![CDATA[                              +-----+
             +----------------+ PCE +------------------+
             |                +--+--+                  |
             |                   |                     |
             |                   |                     |
             |                  ++-+                   |
             +------------------+R3+-------------------+
PF12         |                  +--+                   |          PF22
PF11         |                                         |          PF21
+---+       ++-+          +--+          +--+         +-++        +---+
|SW1+-------+R1+----------+R5+----------+R6+---------+R7+--------+SW2|
+---+       ++-+          +--+          +--+         +-++        +---+
             |                                         |
             |                                         |
             |            +--+          +--+           |
             +------------+R2+----------+R4+-----------+
                          +--+          +--+
          Figure 2: CCDR architecture in large scale network
]]></artwork>
      </figure>
    </section>

    <section title="CCDR Multiple BGP Sessions Strategy">
      <t>In general situation, different applications may require different
      QoS criteria, which may include:</t>

      <t><list style="symbols">
          <t>Traffic that requires low latency and is not sensitive to packet
          loss.</t>

          <t>Traffic that requires low packet loss and can endure higher
          latency.</t>

          <t>Traffic that requires low jitter.</t>
        </list>These different traffic requirements can be summarized in the
      following table:</t>

      <t><figure align="right">
          <artwork><![CDATA[      +----------------+-------------+---------------+-----------------+
      | Prefix Set No. |    Latency  |  Packet Loss  |   Jitter        |
      +----------------+-------------+---------------+-----------------+
      |        1       |    Low      |   Normal      |   Don't care    |
      +----------------+-------------+---------------+-----------------+
      |        2       |   Normal    |   Low         |   Dont't care   |
      +----------------+-------------+---------------+-----------------+
      |        3       |   Normal    |   Normal      |   Low           |
      +----------------+-------------+---------------+-----------------+
                 Table 1. Traffic Requirement Criteria
]]></artwork>
        </figure>For Prefix Set No.1, we can select the shortest distance path
      to carry the traffic; for Prefix Set No.2, we can select the path that
      is comprised by under loading links from end to end; For Prefix Set
      No.3, we can let all assured traffic pass the determined single path, no
      Equal Cost Multipath (ECMP) distribution on the parallel links is
      desired.</t>

      <t>It is almost impossible to provide an End-to-End (E2E) path
      efficiently with latency, jitter, packet loss constraints to meet the
      above requirements in large scale IP-based network via the distributed
      routing protocol, but these requirements can be solved with the
      assistance of PCE, as that described in <xref target="RFC4655"/> and
      <xref target="RFC8283"/> because the PCE has the overall network view,
      can collect real network topology and network performance information
      about the underlying network, select the appropriate path to meet
      various network performance requirements of different traffics.</t>

      <t>The architecture to implement the CCDR Multiple BGP sessions strategy
      are the followings. Here PCE is the main component of the Software
      Definition Network (SDN) controller and is responsible for optimal path
      computation for priority traffic.</t>

      <t><list style="symbols">
          <t>SDN controller gets topology via BGP-LS<xref target="RFC7752"/>
          and link utilization information via existing Network Monitor System
          (NMS) from the underlying network.</t>

          <t>PCE calculates the appropriate path upon application's
          requirements, sends the key parameters to edge/RR routers(R1, R7 and
          R3 in Fig.3) to establish multiple BGP sessions and advertises
          different prefixes via them. The loopback addresses used for BGP
          sessions should be planned in advance and distributed in the
          domain.</t>

          <t>PCE sends the route information to the routers (R1,R2,R4,R7 in
          Fig.3) on forwarding path via PCEP <xref
          target="I-D.ietf-pce-pcep-extension-native-ip"/>, to build the path
          to the BGP next-hop of the advertised prefixes.</t>

          <t>If the assured traffic prefixes were changed but the total volume
          of assured traffic does not exceed the physical capacity of the
          previous E2E path, PCE needs only change the prefixed advertised via
          the edge routers (R1,R7 in Fig.3).</t>

          <t>If the volume of assured traffic exceeds the capacity of previous
          calculated path, PCE can recalculate and add the appropriate paths
          to accommodate the exceeding traffic. After that, PCE needs to
          update on-path routers to build the forwarding path hop by hop.</t>
        </list><figure align="right">
          <artwork><![CDATA[                          +------------+
                          | Application|
                          +------+-----+
                                 |
                        +--------+---------+
             +----------+SDN Controller/PCE+-----------+
             |          +--------^---------+           |
             |                   |                     |
             |                   |                     |
        PCEP |             BGP-LS|PCEP                 | PCEP
             |                   |                     |
             |                  +v-+                   |
             +------------------+R3+-------------------+
 PF12        |                  +--+                   |          PF22
 PF11        |                                         |          PF21
+---+       +v-+          +--+          +--+         +-v+        +---+
|SW1+-------+R1+----------+R5+----------+R6+---------+R7+--------+SW2|
+---+       ++-+          +--+          +--+         +-++        +---+
             |                                         |
             |                                         |
             |            +--+          +--+           |
             +------------+R2+----------+R4+-----------+

           Figure 3: CCDR architecture for Multi-BGP deployment]]></artwork>
        </figure></t>
    </section>

    <section title="PCEP Extension for Key Parameters Delivery">
      <t>The PCEP protocol needs to be extended to transfer the following key
      parameters:</t>

      <t><list style="symbols">
          <t>Peer addresses pair that is used to build the BGP session</t>

          <t>Advertised prefixes and their associated BGP session.</t>

          <t>Explicit route information to BGP next hop of advertised
          prefixes.</t>
        </list>Once the router receives such information, it should establish
      the BGP session with the peer appointed in the PCEP message, advertise
      the prefixes that contained in the corresponding PCEP message, and build
      the end to end dedicated path hop by hop.</t>

      <t>The dedicated path is preferred by making sure that the explicit
      route created by PCE has the higher priority (lower route preference)
      than the route information created by any other protocols (including the
      route manually configured).</t>

      <t>All above dynamically created states (BGP sessions, Prefix advertised
      prefix, Explicit route) will be cleared on the expiration of state
      timeout interval which is based on the existing Stateful PCE <xref
      target="RFC8231"/> and PCECC <xref target="RFC8283"/> mechanism.</t>

      <t>Details of communications between PCEP and BGP subsystems in router's
      control plane are out of scope of this draft and will be described in
      separate draft <xref target="I-D.ietf-pce-pcep-extension-native-ip"/>
      .</t>
    </section>

    <section title="Deployment Consideration">
      <section title="Scalability">
        <t>In CCDR architecture, PCE needs only influence the edge routers for
        the prefixes advertisement via the multiple BGP sessions deployment.
        The route information for these prefixes within the on-path routers
        were distributed via the BGP protocol.</t>

        <t>For multiple domains deployment, the PCE or the pool of PCEs that
        reponsible for these domains need only control the edge router to
        build multiple EBGP sessions, all other procedures are the same that
        in one domain.</t>

        <t>Unlike the solution from BGP Flowspec, the on-path router need only
        keep the specific policy routes to the BGP next-hop of the
        differentiate prefixes, not the specific routes to the prefixes
        themselves. This can lessen the burden from the table size of policy
        based routes for the on-path routers, and has more expandability when
        comparing with the solution from BGP flowspec or Openflow. For
        example, if we want to differentiate 1000 prefixes from the normal
        traffic, CCDR needs only one explicit peer route in every on-path
        router, but the BGP flowspec or Openflow needs 1000 policy routes on
        them.</t>
      </section>

      <section title="High Availability">
        <t>The CCDR architecture is based on the distributed IP protocol. If
        the PCE failed, the forwarding plane will not be impacted, as the BGP
        session between all devices will not flap, and the forwarding table
        will remain unchanged.</t>

        <t>If one node on the optimal path is failed, the priority traffic
        will fall over to the best-effort forwarding path. One can even design
        several assurance paths to load balance/hot-standby the priority
        traffic to meet the path failure situation.</t>

        <t>For high availability of PCE/SDN-controller, operator should rely
        on existing high availability solutions for SDN controller, such as
        clustering technology and deployment.</t>
      </section>

      <section title="Incremental deployment">
        <t>Not every router within the network will support the PCEP extension
        that defined in <xref target="I-D.ietf-pce-pcep-extension-native-ip"/>
        simultaneously.</t>

        <t>For such situations, router on the edge of domain can be upgraded
        first, and then the traffic can be assured between different domains.
        Within each domain, the traffic will be forwarded along the
        best-effort path. Service provider can selectively upgrade the routers
        on each domain in sequence.</t>
      </section>
    </section>

    <section title="Security Considerations">
      <t>A PCE needs to assure calculation of E2E path based on the status of
      network and the service requirements in real-time.</t>

      <t>The PCE needs consider the explicit route deployment order (for
      example, from tail router to head router) to eliminate the possible
      transient traffic loop.</t>

      <t>The setup of BGP session, prefix advertisement and explicit peer
      route establishment are all controlled by the PCE. To prevent the bogus
      PCE to send harmful messages to the network nodes, the network devices
      should authenticate the validity of PCE and keep secures communication
      channel between them. Mechanism described in <xref target="RFC8253"/>
      should be used to avoid such situation.</t>

      <t>CCDR architecture does not require the change of forward behavior on
      the underlay devices, then there will no additional security impact on
      the devices.</t>
    </section>

    <section title="IANA Considerations">
      <t>This document does not require any IANA actions.</t>
    </section>

    <section title="Acknowledgement">
      <t>The author would like to thank Deborah Brungard, Adrian Farrel,
      Vishnu Beeram, Lou Berger, Dhruv Dhody, Raghavendra Mallya , Mike
      Koldychev, Haomian Zheng, Penghui Mi, Shaofu Peng and Jessica Chen for
      their supports and comments on this draft.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.4456"?>

      <?rfc include="reference.RFC.4655"?>

      <?rfc include="reference.RFC.4657"?>

      <?rfc include="reference.RFC.5440"?>

      <?rfc include="reference.RFC.7752"?>

      <?rfc include="reference.RFC.8231"?>

      <?rfc include="reference.RFC.8253"?>

      <?rfc include="reference.RFC.8735"?>

      <?rfc include="reference.RFC.8281"?>

      <?rfc include="reference.RFC.8283"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.I-D.ietf-pce-pcep-extension-native-ip"?>
    </references>
  </back>
</rfc>
