| rfc8821xml2.original.xml | rfc8821.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| by Daniel M Kohn (private) --> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-teas-pce-nat | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ive-ip-17" number="8821" ipr="trust200902" obsoletes="" updates="" submissionTyp | |||
| <!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference. | e="IETF" category="info" consensus="true" xml:lang="en" tocInclude="true" tocDep | |||
| RFC.2119.xml"> | th="3" symRefs="true" sortRefs="true" version="3"> | |||
| ]> | <!-- xml2rfc v2v3 conversion 3.5.0 --> | |||
| <?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="info" docName="draft-ietf-teas-pce-native-ip-17" | ||||
| ipr="trust200902"> | ||||
| <front> | <front> | |||
| <title abbrev="pce in native ip">Path Computation Element (PCE) based | <title abbrev="PCE in Native IP">PCE-Based | |||
| Traffic Engineering (TE) in Native IP Networks</title> | Traffic Engineering (TE) in Native IP Networks</title> | |||
| <seriesInfo name="RFC" value="8821"/> | ||||
| <author fullname="Aijun Wang" initials="A" surname="Wang"> | <author fullname="Aijun Wang" initials="A" surname="Wang"> | |||
| <organization>China Telecom</organization> | <organization>China Telecom</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>Beiqijia Town, Changping District</street> | <street>Beiqijia Town</street> | |||
| <extaddr>Changping District</extaddr> | ||||
| <city>Beijing</city> | <city>Beijing</city> | |||
| <region/> | ||||
| <code>102209</code> | <code>102209</code> | |||
| <country>China</country> | <country>China</country> | |||
| </postal> | </postal> | |||
| <email>wangaj3@chinatelecom.cn</email> | <email>wangaj3@chinatelecom.cn</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Boris Khasanov" initials="B" surname="Khasanov"> | <author fullname="Boris Khasanov" initials="B" surname="Khasanov"> | |||
| <organization>Yandex LLC</organization> | <organization>Yandex LLC</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | ||||
| <street>Ulitsa Lva Tolstogo 16</street> | <street>Ulitsa Lva Tolstogo 16</street> | |||
| <city>Moscow</city> | <city>Moscow</city> | |||
| <country>Russian Federation</country> | ||||
| <region/> | ||||
| <code/> | ||||
| <country>Russia</country> | ||||
| </postal> | </postal> | |||
| <email>bhassanov@yahoo.com</email> | <email>bhassanov@yahoo.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Quintin Zhao" initials="Q" surname="Zhao"> | <author fullname="Quintin Zhao" initials="Q" surname="Zhao"> | |||
| <organization>Etheric Networks</organization> | <organization>Etheric Networks</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>1009 S CLAREMONT ST</street> | <street>1009 S Claremont St</street> | |||
| <city>San Mateo</city> | ||||
| <street/> | ||||
| <city>SAN MATEO</city> | ||||
| <region>CA</region> | <region>CA</region> | |||
| <code>94402</code> | <code>94402</code> | |||
| <country>United States of America</country> | ||||
| <country>USA</country> | ||||
| </postal> | </postal> | |||
| <email>qzhao@ethericnetworks.com</email> | <email>qzhao@ethericnetworks.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Huaimo Chen" initials="H" surname="Chen"> | <author fullname="Huaimo Chen" initials="H" surname="Chen"> | |||
| <organization>Futurewei</organization> | <organization>Futurewei</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | ||||
| <city>Boston</city> | <city>Boston</city> | |||
| <region>MA</region> | <region>MA</region> | |||
| <code/> | ||||
| <country>USA</country> | <country>USA</country> | |||
| </postal> | </postal> | |||
| <phone/> | ||||
| <facsimile/> | ||||
| <email>huaimo.chen@futurewei.com</email> | <email>huaimo.chen@futurewei.com</email> | |||
| <uri/> | ||||
| </address> | </address> | |||
| </author> | </author> | |||
| <date month="April" year="2021"/> | ||||
| <date day="2" month="February" year="2021"/> | ||||
| <area>RTG Area</area> | <area>RTG Area</area> | |||
| <workgroup>TEAS Working Group</workgroup> | <workgroup>TEAS Working Group</workgroup> | |||
| <keyword>RFC</keyword> | ||||
| <abstract> | <abstract> | |||
| <t>This document defines an architecture for providing traffic | <t>This document defines an architecture for providing traffic | |||
| engineering in a native IP network using multiple BGP sessions and a | engineering in a native IP network using multiple BGP sessions and a | |||
| Path Computation Element (PCE)-based central control mechanism. It | Path Computation Element (PCE)-based central control mechanism. It | |||
| defines the Central Control Dynamic Routing (CCDR) procedures and | defines the Centralized Control Dynamic Routing (CCDR) procedures and | |||
| identifies needed extensions for the Path Computation Element | identifies needed extensions for the Path Computation Element | |||
| Communication Protocol (PCEP).</t> | Communication Protocol (PCEP).</t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section anchor="intro" title="Introduction"> | <section anchor="intro"> | |||
| <t><xref target="RFC8283"/>, based on an extension of the Path | <name>Introduction</name> | |||
| Computation Element (PCE) architecture described in <xref | <t><xref target="RFC8283"/>, based on an extension of the | |||
| target="RFC4655"/> , introduced a broader use applicability for a PCE as | PCE architecture described in <xref target="RFC4655"/>, introduced a broad | |||
| a central controller. PCEP Protocol (PCEP) continues to be used as the | er use applicability for a PCE as | |||
| protocol between PCE and Path Computation Client (PCC). Building on that | a central controller. PCEP continues to be used as the | |||
| work, this document describes a solution using a PCE for centralized | protocol between the PCE and the Path Computation Client (PCC). Building o | |||
| control in a native IP network to provide End-to-End (E2E) performance | n that | |||
| work, this document describes a solution of using a PCE for centralized | ||||
| control in a native IP network to provide end-to-end (E2E) performance | ||||
| assurance and QoS for traffic. The solution combines the use of | assurance and QoS for traffic. The solution combines the use of | |||
| distributed routing protocols and a centralized controller, referred to | distributed routing protocols and a centralized controller, referred to | |||
| as Centralized Control Dynamic Routing (CCDR).</t> | as Centralized Control Dynamic Routing (CCDR).</t> | |||
| <t><xref target="RFC8735"/> describes the scenarios and simulation | <t><xref target="RFC8735"/> describes the scenarios and simulation | |||
| results for traffic engineering in a native IP network based on use of a | results for traffic engineering in a native IP network based on use of a | |||
| CCDR architecture. Per <xref target="RFC8735"/>, the architecture for | CCDR architecture. Per <xref target="RFC8735"/>, the architecture for | |||
| traffic engineering in a native IP network should meet the following | traffic engineering in a native IP network should meet the following | |||
| criteria:</t> | criteria:</t> | |||
| <ul> | ||||
| <t><list style="symbols"> | <li>Same solution for native IPv4 and IPv6 traffic.</li> | |||
| <t>Same solution for native IPv4 and IPv6 traffic.</t> | <li>Support for intra-domain and inter-domain scenarios.</li> | |||
| <li>Achieve E2E traffic assurance, with determined QoS | ||||
| <t>Support for intra-domain and inter-domain scenarios.</t> | ||||
| <t>Achieve End to End traffic assurance, with determined QoS | ||||
| behavior, for traffic requiring a service assurance (prioritized | behavior, for traffic requiring a service assurance (prioritized | |||
| traffic).</t> | traffic).</li> | |||
| <li>No changes in a router's forwarding behavior.</li> | ||||
| <t>No changes in a router's forwarding behavior.</t> | <li>Based on centralized control through a distributed network | |||
| control plane.</li> | ||||
| <t>Based on centralized control through a distributed network | <li>Support different network requirements such as high traffic | |||
| control plane.</t> | volume and prefix scaling.</li> | |||
| <li>Ability to adjust the optimal path dynamically upon the changes | ||||
| <t>Support different network requirements such as high traffic | of network status. No need for reserving resources for physical links | |||
| volume and prefix scaling.</t> | in advance.</li> | |||
| </ul> | ||||
| <t>Ability to adjust the optimal path dynamically upon the changes | ||||
| of network status. No need for physical links resources reservations | ||||
| to be done in advance.</t> | ||||
| </list></t> | ||||
| <t>Building on the above documents, this document defines an | <t>Building on the above documents, this document defines an | |||
| architecture meeting these requirements by using a multiple BGP session | architecture meeting these requirements by using a strategy of multiple BG | |||
| strategy and a PCE as the centralized controller. The architecture | P sessions | |||
| depends on the central control (PCE) element to compute the optimal | and a PCE as the centralized controller. The architecture | |||
| path, and utilizes the dynamic routing behavior of IGP/BGP protocols for | depends on the central control element (PCE) to compute the optimal | |||
| path and utilizes the dynamic routing behavior of IGP and BGP for | ||||
| forwarding the traffic.</t> | forwarding the traffic.</t> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="Terminology"> | <name>Terminology</name> | |||
| <t>This document uses the following terms defined in <xref | <t>This document uses the following terms defined in <xref target="RFC5440 | |||
| target="RFC5440"/>:</t> | "/>:</t> | |||
| <dl> | ||||
| <t><list style="symbols"> | <dt>PCE:</dt> | |||
| <t>PCE: Path Computation Element</t> | <dd>Path Computation Element</dd> | |||
| <dt>PCEP:</dt> | ||||
| <t>PCEP: PCE Protocol</t> | <dd>PCE Protocol</dd> | |||
| <dt>PCC:</dt> | ||||
| <t>PCC: Path Computation Client</t> | <dd>Path Computation Client</dd> | |||
| </list></t> | </dl> | |||
| <t>Other terms are used in this document:</t> | <t>Other terms are used in this document:</t> | |||
| <dl> | ||||
| <t><list style="symbols"> | <dt>CCDR:</dt> | |||
| <t>CCDR: Central Control Dynamic Routing</t> | <dd>Centralized Control Dynamic Routing</dd> | |||
| <dt>E2E:</dt> | ||||
| <t>E2E: End to End</t> | <dd>End to End</dd> | |||
| <dt>ECMP:</dt> | ||||
| <t>ECMP: Equal-Cost Multipath</t> | <dd>Equal-Cost Multipath</dd> | |||
| <dt>RR:</dt> | ||||
| <t>RR: Route Reflector</t> | <dd>Route Reflector</dd> | |||
| <dt>SDN:</dt> | ||||
| <t>SDN: Software Defined Network</t> | <dd>Software-Defined Network</dd> | |||
| </list></t> | </dl> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="CCDR Architecture in Simple Topology"> | <name>CCDR Architecture in a Simple Topology</name> | |||
| <t>Figure 1 illustrates the CCDR architecture for traffic engineering in | <t><xref target="fig-ccdr-arch-simple"/> illustrates the CCDR architecture | |||
| a simple topology. The topology is composed of four devices which are | for traffic engineering in | |||
| SW1, SW2, R1, R2. There are multiple physical links between R1 and R2. | a simple topology. The topology is composed of four devices, which are | |||
| Traffic between prefix PF11(on SW1) and prefix PF21(on SW2) is normal | SW1, SW2, R1, and R2. There are multiple physical links between R1 and R2. | |||
| traffic, traffic between prefix PF12(on SW1) and prefix PF22(on SW2) is | 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 accordingly.</t> | priority traffic that should be treated accordingly.</t> | |||
| <figure anchor="fig-ccdr-arch-simple"> | ||||
| <figure> | <name>CCDR Architecture in a Simple Topology</name> | |||
| <artwork align="center"><![CDATA[ +-----+ | <artwork name="" type="" alt=""> | |||
| +-----+ | ||||
| +----------+ PCE +--------+ | +----------+ PCE +--------+ | |||
| | +-----+ | | | +-----+ | | |||
| | | | | | | |||
| | BGP Session 1(lo11/lo21)| | | BGP Session 1(lo11/lo21)| | |||
| +-------------------------+ | +-------------------------+ | |||
| | | | | | | |||
| | BGP Session 2(lo12/lo22)| | | BGP Session 2(lo12/lo22)| | |||
| +-------------------------+ | +-------------------------+ | |||
| PF12 | | PF22 | PF12 | | PF22 | |||
| PF11 | | PF21 | PF11 | | PF21 | |||
| +---+ +-----+-----+ +-----+-----+ +---+ | +---+ +-----+-----+ +-----+-----+ +---+ | |||
| |SW1+---------+(lo11/lo12)+-------------+(lo21/lo22)+--------------+SW2| | |SW1+---------+(lo11/lo12)+-------------+(lo21/lo22)+-----------+SW2| | |||
| +---+ | R1 +-------------+ R2 | +---+ | +---+ | R1 +-------------+ R2 | +---+ | |||
| +-----------+ +-----------+ | +-----------+ +-----------+ | |||
| ---+ | R1 +-------------+ R2 | +---+ | ||||
| Figure 1: CCDR architecture in simple topology | </artwork> | |||
| ]]></artwork> | ||||
| </figure> | </figure> | |||
| <t>In the intra-domain scenario, IGP and BGP combined with a PCE are | ||||
| <t/> | deployed between R1 and R2. In the inter-domain scenario, only native | |||
| BGP is deployed. The traffic between each address pair may | ||||
| <t>In the Intra-AS scenario, IGP and BGP combined with a PCE are | ||||
| deployed between R1 and R2. In the inter-AS scenario, only the native | ||||
| BGP protocol is deployed. The traffic between each address pair may | ||||
| change in real time and the corresponding source/destination addresses | change in real time and the corresponding source/destination addresses | |||
| of the traffic may also change dynamically.</t> | of the traffic may also change dynamically.</t> | |||
| <t>The key ideas of the CCDR architecture for this simple topology are | <t>The key ideas of the CCDR architecture for this simple topology are | |||
| the following:</t> | the following:</t> | |||
| <ul> | ||||
| <t><list style="symbols"> | <li>Build two BGP sessions between R1 and R2 via the different | |||
| <t>Build two BGP sessions between R1 and R2, via the different | ||||
| loopback addresses on these routers (lo11 and lo12 are the loopback | loopback addresses on these routers (lo11 and lo12 are the loopback | |||
| address of R1, lo21 and lo22 are the loopback address of R2).</t> | addresses of R1, and lo21 and lo22 are the loopback addresses of R2).< | |||
| /li> | ||||
| <t>Using the PCE, set the explicit peer route on R1 and R2 for BGP | <li>Using the PCE, set the explicit peer route on R1 and R2 for BGP | |||
| next hop to different physical link addresses between R1 and R2. The | next hop to different physical link addresses between R1 and R2. The | |||
| explicit peer route can be set in the format of a static route, | explicit peer route can be set in the format of a static route, | |||
| which is different from the route learned from the IGP protocol.</t> | which is different from the route learned from IGP.</li> | |||
| <li>Send different prefixes via the established BGP sessions. For | ||||
| <t>Send different prefixes via the established BGP sessions. For | ||||
| example, send PF11/PF21 via the BGP session 1 and PF12/PF22 via the | example, send PF11/PF21 via the BGP session 1 and PF12/PF22 via the | |||
| BGP session 2.</t> | BGP session 2.</li> | |||
| </list></t> | </ul> | |||
| <t>After the above actions, the bidirectional traffic between the PF11 | ||||
| <t>After the above actions, the bi-directional traffic between the PF11 | and PF21, and the bidirectional traffic between PF12 and PF22, will go | |||
| and PF21, and the bi-directional traffic between PF12 and PF22 will go | ||||
| through different physical links between R1 and R2.</t> | through different physical links between R1 and R2.</t> | |||
| <t>If there is more traffic between PF12 and PF22 that needs assured | <t>If there is more traffic between PF12 and PF22 that needs assured | |||
| transport, one can add more physical links between R1 and R2 to reach | transport, one can add more physical links between R1 and R2 to reach | |||
| the next hop for BGP session 2. In this case, the prefixes that are | the next hop for BGP session 2. In this case, the prefixes that are | |||
| advertised by the BGP peers need not be changed.</t> | advertised by the BGP peers need not be changed.</t> | |||
| <t>If, for example, there is bidirectional priority traffic from | ||||
| <t>If, for example, there is bi-directional priority traffic from | another address pair (for example, prefix PF13/PF23), and the total | |||
| another address pair (for example prefix PF13/PF23), and the total | ||||
| volume of priority traffic does not exceed the capacity of the | volume of priority traffic does not exceed the capacity of the | |||
| previously provisioned physical links, one need only advertise the newly | previously provisioned physical links, one need only advertise the newly | |||
| added source/destination prefixes via the BGP session 2. The | added source/destination prefixes via the BGP session 2. The | |||
| bi-directional traffic between PF13/PF23 will go through the same | bidirectional traffic between PF13/PF23 will go through the same | |||
| assigned dedicated physical links as the traffic between PF12/PF22.</t> | assigned, dedicated physical links as the traffic between PF12/PF22.</t> | |||
| <t>Such a decoupling philosophy of the IGP/BGP traffic link and the | <t>Such a decoupling philosophy of the IGP/BGP traffic link and the | |||
| physical link achieves a flexible control capability for the network | physical link achieves a flexible control capability for the network | |||
| traffic, satisfying the needed QoS assurance to meet the application's | traffic, satisfying the needed QoS assurance to meet the application's | |||
| requirement. The router needs only support native IP and multiple BGP | requirement. The router needs only to support native IP and multiple BGP | |||
| sessions setup via different loopback addresses.</t> | sessions set up via different loopback addresses.</t> | |||
| <t/> | ||||
| </section> | </section> | |||
| <section> | ||||
| <section title="CCDR Architecture in Large Scale Topology"> | <name>CCDR Architecture in a Large-Scale Topology</name> | |||
| <t>When the priority traffic spans a large-scale network, such as that | <t>When the priority traffic spans a large-scale network, such as that | |||
| illustrated in Figure 2, the multiple BGP sessions cannot be established | illustrated in <xref target="fig-ccdr-arch-large"/>, the multiple BGP sess | |||
| hop by hop within one AS. For such a scenario, we propose using a Route | ions cannot be established | |||
| hop by hop within one autonomous system. For such a scenario, we propose u | ||||
| sing a Route | ||||
| Reflector (RR) <xref target="RFC4456"/> to achieve a similar effect. | Reflector (RR) <xref target="RFC4456"/> to achieve a similar effect. | |||
| Every edge router will establish two BGP sessions with the RR via | Every edge router will establish two BGP sessions with the RR via | |||
| different loopback addresses respectively. The other steps for traffic | different loopback addresses respectively. The other steps for traffic | |||
| differentiation are the same as that described in the CCDR architecture | differentiation are the same as that described in the CCDR architecture | |||
| for the simple topology.</t> | for the simple topology.</t> | |||
| <t>As shown in <xref target="fig-ccdr-arch-large"/>, if we select R3 as th | ||||
| <t>As shown in Figure 2, if we select R3 as the RR, every edge router(R1 | e RR, every edge router (R1 | |||
| and R7 in this example) will build two BGP session with the RR. If the | and R7 in this example) will build two BGP sessions with the RR. If the | |||
| PCE selects the dedicated path as R1-R2-R4-R7, then the operator should | 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 | set the explicit peer routes via PCEP on these routers | |||
| respectively, pointing to the BGP next hop (loopback addresses of R1 and | respectively, pointing to the BGP next hop (loopback addresses of R1 and | |||
| R7, which are used to send the prefix of the priority traffic) to the | R7, which are used to send the prefix of the priority traffic) to the | |||
| selected forwarding address.</t> | selected forwarding address.</t> | |||
| <figure anchor="fig-ccdr-arch-large"> | ||||
| <figure align="right"> | <name>CCDR Architecture in a Large-Scale Network</name> | |||
| <artwork><![CDATA[ +-----+ | <artwork name="" type="" alt=""> | |||
| +-----+ | ||||
| +----------------+ PCE +------------------+ | +----------------+ PCE +------------------+ | |||
| | +--+--+ | | | +--+--+ | | |||
| | | | | | | | | |||
| | | | | | | | | |||
| | +--+---+ | | | +--+---+ | | |||
| +----------------+R3(RR)+-----------------+ | +----------------+R3(RR)+-----------------+ | |||
| PF12 | +--+---+ | PF22 | PF12 | +--+---+ | PF22 | |||
| PF11 | | PF21 | PF11 | | PF21 | |||
| +---+ ++-+ +--+ +--+ +-++ +---+ | +---+ ++-+ +--+ +--+ +-++ +---+ | |||
| |SW1+-------+R1+----------+R5+----------+R6+---------+R7+--------+SW2| | |SW1+-------+R1+----------+R5+----------+R6+---------+R7+-------+SW2| | |||
| +---+ ++-+ +--+ +--+ +-++ +---+ | +---+ ++-+ +--+ +--+ +-++ +---+ | |||
| | | | | | | |||
| ---+ ++-+ +--+ +--+ +-++ +---+ | ||||
| | | | | | | |||
| | +--+ +--+ | | | +--+ +--+ | | |||
| +------------+R2+----------+R4+-----------+ | +------------+R2+----------+R4+-----------+ | |||
| +--+ +--+ | +--+ +--+ | |||
| Figure 2: CCDR architecture in large-scale network | </artwork> | |||
| ]]></artwork> | ||||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="CCDR Multiple BGP Sessions Strategy"> | <name>CCDR Multiple BGP Sessions Strategy</name> | |||
| <t>Generally, different applications may require different QoS criteria, | <t>Generally, different applications may require different QoS criteria, | |||
| which may include:</t> | which may include:</t> | |||
| <ul> | ||||
| <t><list style="symbols"> | <li>Traffic that requires low latency and is not sensitive to packet | |||
| <t>Traffic that requires low latency and is not sensitive to packet | loss.</li> | |||
| loss.</t> | <li>Traffic that requires low packet loss and can endure higher | |||
| latency.</li> | ||||
| <t>Traffic that requires low packet loss and can endure higher | <li>Traffic that requires low jitter.</li> | |||
| latency.</t> | </ul> | |||
| <t>These different traffic requirements are summarized in <xref target="ta | ||||
| <t>Traffic that requires low jitter.</t> | b-traffic-req"/>.</t> | |||
| </list>These different traffic requirements can be summarized in the | <table anchor="tab-traffic-req"> | |||
| following table:</t> | <name>Traffic Requirement Criteria</name> | |||
| <thead> | ||||
| <t><figure align="right"> | <tr> | |||
| <artwork><![CDATA[ +----------------+-------------+-------------- | <th>Prefix Set No.</th> | |||
| -+-----------------+ | <th>Latency</th> | |||
| | Prefix Set No. | Latency | Packet Loss | Jitter | | <th>Packet Loss</th> | |||
| +----------------+-------------+---------------+-----------------+ | <th>Jitter</th> | |||
| | 1 | Low | Normal | Don't care | | </tr> | |||
| +----------------+-------------+---------------+-----------------+ | </thead> | |||
| | 2 | Normal | Low | Don't care | | <tbody> | |||
| +----------------+-------------+---------------+-----------------+ | <tr> | |||
| | 3 | Normal | Normal | Low | | <td align="center">1</td> | |||
| +----------------+-------------+---------------+-----------------+ | <td>Low</td> | |||
| Table 1. Traffic Requirement Criteria | <td>Normal</td> | |||
| ]]></artwork> | <td>Don't care</td> | |||
| </figure></t> | </tr> | |||
| <tr> | ||||
| <td align="center">2</td> | ||||
| <td>Normal</td> | ||||
| <td>Low</td> | ||||
| <td>Don't care</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="center">3</td> | ||||
| <td>Normal</td> | ||||
| <td>Normal</td> | ||||
| <td>Low</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t>For Prefix Set No.1, we can select the shortest distance path to | <t>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 has | carry the traffic; for Prefix Set No.2, we can select the path that has | |||
| end to end under-loaded links; for Prefix Set No.3, we can let traffic | E2E under-loaded links; for Prefix Set No.3, we can let traffic | |||
| pass over a determined single path, as no Equal Cost Multipath (ECMP) | pass over a determined single path, as no ECMP | |||
| distribution on the parallel links is desired.</t> | distribution on the parallel links is desired.</t> | |||
| <t>It is almost impossible to provide an E2E path | ||||
| <t>It is almost impossible to provide an End-to-End (E2E) path | ||||
| efficiently with latency, jitter, and packet loss constraints to meet | efficiently with latency, jitter, and packet loss constraints to meet | |||
| the above requirements in a large-scale IP-based network only using a | the above requirements in a large-scale, IP-based network only using a | |||
| distributed routing protocol, but these requirements can be met with the | distributed routing protocol, but these requirements can be met with the | |||
| assistance of PCE, as that described in <xref target="RFC4655"/> and | assistance of PCE, as described in <xref target="RFC4655"/> and | |||
| <xref target="RFC8283"/>. The PCE will have the overall network view, | <xref target="RFC8283"/>. The PCE will have the overall network view, | |||
| ability to collect the real-time network topology, and the network | ability to collect the real-time network topology, and the network | |||
| performance information about the underlying network. The PCE can select | performance information about the underlying network. The PCE can select | |||
| the appropriate path to meet the various network performance | the appropriate path to meet the various network performance | |||
| requirements for different traffic.</t> | requirements for different traffic.</t> | |||
| <t>The architecture to implement the CCDR multiple BGP sessions strategy | ||||
| <t>The architecture to implement the CCDR Multiple BGP sessions strategy | ||||
| is as follows:</t> | is as follows:</t> | |||
| <t>The PCE will be responsible for the optimal path computation for the | <t>The PCE will be responsible for the optimal path computation for the | |||
| different priority classes of traffic:</t> | different priority classes of traffic:</t> | |||
| <ul> | ||||
| <t><list style="symbols"> | <li>PCE collects topology information via BGP-LS <xref target="RFC7752"> | |||
| <t>PCE collects topology information via BGP-LS<xref | </xref> and link utilization information via the | |||
| target="RFC7752"> </xref> and link utilization information via the | ||||
| existing Network Monitoring System (NMS) from the underlying | existing Network Monitoring System (NMS) from the underlying | |||
| network.</t> | network.</li> | |||
| <li>PCE calculates the appropriate path based upon the application's | ||||
| <t>PCE calculates the appropriate path based upon the application's | requirements and sends the key parameters to edge/RR routers (R1, R7, | |||
| requirements, and sends the key parameters to edge/RR routers(R1, R7 | and R3 in <xref target="fig-ccdr-arch-multi"/>) to establish multiple | |||
| and R3 in Figure 3) to establish multiple BGP sessions. The loopback | BGP sessions. The loopback | |||
| addresses used for the BGP sessions should be planned in advance and | addresses used for the BGP sessions should be planned in advance and | |||
| distributed in the domain.</t> | distributed in the domain.</li> | |||
| <li>PCE sends the route information to the routers (R1, R2, R4, and R7 i | ||||
| <t>PCE sends the route information to the routers (R1,R2,R4,R7 in | n | |||
| Figure 3) on the forwarding path via PCEP, to build the path to the | <xref target="fig-ccdr-arch-multi"/>) on the forwarding path via PCEP | |||
| BGP next-hop of the advertised prefixes. The path to these BGP | to build the path to the | |||
| next-hop will also be learned via the IGP protocol, but the route | BGP next hop of the advertised prefixes. The path to these BGP | |||
| from the PCEP has the higher preference. Such design can assure the | next hops will also be learned via IGP, but the route | |||
| IGP path to the BGP next-hop can be used to protect the path | from the PCEP has the higher preference. Such a design can assure the | |||
| assigned by PCE.</t> | IGP path to the BGP next hop can be used to protect the path | |||
| assigned by PCE.</li> | ||||
| <t>PCE sends the prefixes information to the PCC(edge routers that | <li>PCE sends the prefix information to the PCC (edge routers that | |||
| have established BGP sessions) for advertising different prefixes | have established BGP sessions) for advertising different prefixes | |||
| via the specified BGP session.</t> | via the specified BGP session.</li> | |||
| <li>The priority traffic may share some links or nodes if the path the | ||||
| <t>The priority traffic may share some links or nodes, if path the | ||||
| shared links or nodes can meet the requirement of application. When | shared links or nodes can meet the requirement of application. When | |||
| the priority traffic prefixes were changed but the total volume of | the priority traffic prefixes are changed, but the total volume of | |||
| priority traffic does not exceed the physical capacity of the | priority traffic does not exceed the physical capacity of the | |||
| previous E2E path, the PCE needs only change the prefixed advertised | previous E2E path, the PCE needs only change the prefixes advertised | |||
| via the edge routers (R1,R7 in Figure 3).</t> | via the edge routers (R1 and R7 in <xref target="fig-ccdr-arch-multi"/ | |||
| >).</li> | ||||
| <t>If the volume of priority traffic exceeds the capacity of the | <li>If the volume of priority traffic exceeds the capacity of the | |||
| previous calculated path, the PCE can recalculate and add the | previous calculated path, the PCE can recalculate and add the | |||
| appropriate paths to accommodate the exceeding traffic. After that, | appropriate paths to accommodate the exceeding traffic. After that, | |||
| the PCE needs to update the on-path routers to build the forwarding | the PCE needs to update the on-path routers to build the forwarding | |||
| path hop by hop.</t> | path hop by hop.</li> | |||
| </list><figure align="right"> | </ul> | |||
| <artwork><![CDATA[ +------------+ | <figure anchor="fig-ccdr-arch-multi"> | |||
| <name>CCDR Architecture for Multi-BGP Sessions Deployment</name> | ||||
| <artwork name="" type="" alt=""> | ||||
| +------------+ | ||||
| | Application| | | Application| | |||
| +------+-----+ | +------+-----+ | |||
| | | | | |||
| +--------+---------+ | +--------+---------+ | |||
| +----------+SDN Controller/PCE+-----------+ | +----------+SDN Controller/PCE+-----------+ | |||
| | +--------^---------+ | | | +--------^---------+ | | |||
| | | | | | | | | |||
| | | | | | | | | |||
| PCEP | BGP-LS|PCEP | PCEP | PCEP | BGP-LS|PCEP | PCEP | |||
| | | | | | | | | |||
| | +--v---+ | | | +--v---+ | | |||
| +----------------+R3(RR)+-----------------+ | +----------------+R3(RR)+-----------------+ | |||
| PF12 | +------+ | PF22 | PF12 | +------+ | PF22 | |||
| PF11 | | PF21 | PF11 | | PF21 | |||
| +---+ +v-+ +--+ +--+ +-v+ +---+ | +---+ +v-+ +--+ +--+ +-v+ +---+ | |||
| |SW1+-------+R1+----------+R5+----------+R6+---------+R7+--------+SW2| | |SW1+-------+R1+----------+R5+----------+R6+---------+R7+-------+SW2| | |||
| +---+ ++-+ +--+ +--+ +-++ +---+ | +---+ ++-+ +--+ +--+ +-++ +---+ | |||
| | | | | | | |||
| ---+ ++-+ +--+ +--+ +-++ +---+ | ||||
| | | | | | | |||
| | +--+ +--+ | | | +--+ +--+ | | |||
| +------------+R2+----------+R4+-----------+ | +------------+R2+----------+R4+-----------+ | |||
| +--+ +--+ | +--+ +--+ | |||
| </artwork> | ||||
| Figure 3: CCDR architecture for Multi-BGP sessions deployment]]></artwork> | </figure> | |||
| </figure></t> | ||||
| </section> | </section> | |||
| <section> | ||||
| <section title="PCEP Extension for Critical Parameters Delivery"> | <name>PCEP Extension for Critical Parameters Delivery</name> | |||
| <t>The PCEP protocol needs to be extended to transfer the following | <t>PCEP needs to be extended to transfer the following | |||
| critical parameters:</t> | critical parameters:</t> | |||
| <ul> | ||||
| <t><list style="symbols"> | <li>Peer information that is used to build the BGP session.</li> | |||
| <t>Peer information that is used to build the BGP session</t> | <li>Explicit route information for BGP next hop of advertised | |||
| prefixes.</li> | ||||
| <t>Explicit route information for BGP next hop of advertised | <li>Advertised prefixes and their associated BGP session.</li> | |||
| prefixes</t> | </ul> | |||
| <t>Once the router receives such information, it should establish | ||||
| <t>Advertised prefixes and their associated BGP session.</t> | ||||
| </list>Once the router receives such information, it should establish | ||||
| the BGP session with the peer appointed in the PCEP message, build the | the BGP session with the peer appointed in the PCEP message, build the | |||
| end-to-end dedicated path hop-by-hop, and advertise the prefixes that | E2E dedicated path hop by hop, and advertise the prefixes that | |||
| are contained in the corresponding PCEP message.</t> | are contained in the corresponding PCEP message.</t> | |||
| <t>The dedicated path is preferred by making sure that the explicit | <t>The dedicated path is preferred by making sure that the explicit | |||
| route created by PCE has the higher priority (lower route preference) | route created by PCE has the higher priority (lower route preference) | |||
| than the route information created by other dynamic protocols.</t> | than the route information created by other dynamic protocols.</t> | |||
| <t>All of the above dynamically created states (BGP sessions, explicit rou | ||||
| <t>All above dynamically created states (BGP sessions, Explicit route | tes, | |||
| and Prefix advertised prefix) will be cleared on the expiration of the | and advertised prefixes) will be cleared on the expiration of the | |||
| state timeout interval which is based on the existing Stateful PCE <xref | state timeout interval, which is based on the existing stateful PCE <xref | |||
| target="RFC8231"/> and PCECC <xref target="RFC8283"/> mechanism.</t> | target="RFC8231"/> and PCE as a Central Controller (PCECC) <xref target="RFC8283 | |||
| "/> mechanism.</t> | ||||
| <t>Regarding the BGP session, it is not different from that configured | <t>Regarding the BGP session, it is not different from that configured | |||
| manually or via NETCONF/YANG. Different BGP sessions are used mainly for | manually or via Network Configuration Protocol (NETCONF) and YANG. Differe nt BGP sessions are used mainly for | |||
| the clarification of the network prefixes, which can be differentiated | the clarification of the network prefixes, which can be differentiated | |||
| via the different BGP nexthop. Based on this strategy, if we manipulate | via the different BGP next hop. Based on this strategy, if we manipulate | |||
| the path to the BGP nexthop, then the path to the prefixes that were | the path to the BGP next hop, then the path to the prefixes that were | |||
| advertised with the BGP sessions will be changed accordingly. Details of | advertised with the BGP sessions will be changed accordingly. Details of | |||
| communications between PCEP and BGP subsystems in the router's control | communications between PCEP and BGP subsystems in the router's control | |||
| plane are out of scope of this draft.</t> | plane are out of scope of this document.</t> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="Deployment Consideration"> | <name>Deployment Considerations</name> | |||
| <section title="Scalability"> | <section> | |||
| <name>Scalability</name> | ||||
| <t>In the CCDR architecture, only the edge routers that connect with | <t>In the CCDR architecture, only the edge routers that connect with | |||
| the PCE are responsible for the prefixes advertisement via the | the PCE are responsible for the prefix advertisement via the | |||
| multiple BGP sessions deployment. The route information for these | multiple BGP sessions deployment. The route information for these | |||
| prefixes within the on-path routers is distributed via the BGP | prefixes within the on-path routers is distributed via BGP. | |||
| protocol.</t> | </t> | |||
| <t>For multiple domain deployment, the PCE, or the pool of PCEs | <t>For multiple domain deployment, the PCE, or the pool of PCEs | |||
| responsible for these domains, needs only to control the edge router | responsible for these domains, needs only to control the edge router | |||
| to build the multiple EBGP sessions; all other procedures are the same | to build the multiple External BGP (EBGP) sessions; all other procedures are the same | |||
| as within one domain.</t> | as within one domain.</t> | |||
| <t>The on-path router needs only to keep the specific policy routes | <t>The on-path router needs only to keep the specific policy routes | |||
| for the BGP next-hop of the differentiated prefixes, not the specific | for the BGP next hop of the differentiated prefixes, not the specific | |||
| routes to the prefixes themselves. This lessens the burden of the | routes to the prefixes themselves. This lessens the burden of the | |||
| table size of policy based routes for the on-path routers; and has | table size of policy-based routes for the on-path routers; and has | |||
| more expandability compared with BGP flowspec or Openflow solutions. | more expandability compared with BGP Flowspec or OpenFlow solutions. | |||
| For example, if we want to differentiate 1000 prefixes from the normal | For example, if we want to differentiate 1,000 prefixes from the normal | |||
| traffic, CCDR needs only one explicit peer route in every on-path | traffic, CCDR needs only one explicit peer route in every on-path | |||
| router, whereas the BGP flowspec or Openflow solutions need 1000 | router, whereas the BGP Flowspec or OpenFlow solutions need 1,000 | |||
| policy routes on them.</t> | policy routes on them.</t> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="High Availability"> | <name>High Availability</name> | |||
| <t>The CCDR architecture is based on the use of the native IP | <t>The CCDR architecture is based on the use of native IP. | |||
| protocol. If the PCE fails, the forwarding plane will not be impacted, | If the PCE fails, the forwarding plane will not be impacted, | |||
| as the BGP sessions between all the devices will not flap and the | as the BGP sessions between all the devices will not flap, and the | |||
| forwarding table remains unchanged.</t> | forwarding table remains unchanged.</t> | |||
| <t>If one node on the optimal path fails, the priority traffic will | <t>If one node on the optimal path fails, the priority traffic will | |||
| fall over to the best-effort forwarding path. One can even design | fall over to the best-effort forwarding path. One can even design | |||
| several paths to load balance/hot-standby the priority traffic to meet | several paths to load balance or to create a hot standby | |||
| a path failure situation.</t> | of the priority traffic to meet a path failure situation.</t> | |||
| <t>For ensuring high availability of a PCE/SDN-controllers | <t>For ensuring high availability of a PCE/SDN-controllers | |||
| architecture, an operator should rely on existing high availability | architecture, an operator should rely on existing high availability | |||
| solutions for SDN controllers, such as clustering technology and | solutions for SDN controllers, such as clustering technology and | |||
| deployment.</t> | deployment.</t> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="Incremental deployment"> | <name>Incremental Deployment</name> | |||
| <t>Not every router within the network needs to support the necessary | <t>Not every router within the network needs to support the necessary | |||
| PCEP extension. For such situations, routers on the edge of a domain | PCEP extension. For such situations, routers on the edge of a domain | |||
| can be upgraded first, and then the traffic can be prioritized between | can be upgraded first, and then the traffic can be prioritized between | |||
| different domains. Within each domain, the traffic will be forwarded | different domains. Within each domain, the traffic will be forwarded | |||
| along the best-effort path. A service provider can selectively upgrade | along the best-effort path. A service provider can selectively upgrade | |||
| the routers on each domain in sequence.</t> | the routers on each domain in sequence.</t> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="Loop Avoidance"> | <name>Loop Avoidance</name> | |||
| <t>A PCE needs to assure calculation of the E2E path based on the | <t>A PCE needs to assure calculation of the E2E path based on the | |||
| status of network and the service requirements in real-time.</t> | status of network and the service requirements in real-time.</t> | |||
| <t>The PCE needs to consider the explicit route deployment order (for | <t>The PCE needs to consider the explicit route deployment order (for | |||
| example, from tail router to head router) to eliminate any possible | example, from tail router to head router) to eliminate any possible | |||
| transient traffic loop.</t> | transient traffic loop.</t> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="E2E Path Performance Monitoring"> | <name>E2E Path Performance Monitoring</name> | |||
| <t>It is necessary to deploy the corresponding E2E path performance | <t>It is necessary to deploy the corresponding E2E path performance | |||
| monitoring mechanism to keep assure that the delay, jitter or packet | monitoring mechanism to assure that the delay, jitter, or packet | |||
| loss index meet the original path performance aim. The performance | loss index meets the original path performance aim. The performance | |||
| monitoring results should feedback to the PCE to let it accomplish the | monitoring results should provide feedback to the PCE in order for it to | |||
| re-optimize process, send the update control message to related PCC if | accomplish the | |||
| necessary. Traditional OAM methods(ping, trace) can be used.</t> | re-optimization process and send the update control message to the relat | |||
| ed PCC if | ||||
| necessary. Traditional OAM methods (ping, trace) can be used.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t>The setup of BGP sessions, prefix advertisement, and explicit peer | <t>The setup of BGP sessions, prefix advertisement, and explicit peer | |||
| route establishment are all controlled by the PCE. See <xref | route establishment are all controlled by the PCE. See <xref target="RFC42 | |||
| target="RFC4271"/> and <xref target="RFC4272"/> for BGP security | 71"/> and <xref target="RFC4272"/> for BGP security | |||
| considerations. Security consideration part in <xref target="RFC5440"/> | considerations. The Security Considerations found in <xref target="RFC5440 | |||
| and <xref target="RFC8231"/> should be considered. To prevent a bogus | " section="10"/> | |||
| and <xref target="RFC8231" section="10"/> should be considered. To prevent | ||||
| a bogus | ||||
| PCE sending harmful messages to the network nodes, the network devices | PCE sending harmful messages to the network nodes, the network devices | |||
| should authenticate the validity of the PCE and ensure a secure | should authenticate the validity of the PCE and ensure a secure | |||
| communication channel between them. Mechanisms described in <xref | communication channel between them. Mechanisms described in <xref target=" | |||
| target="RFC8253"/> should be used.</t> | RFC8253"/> should be used.</t> | |||
| <t>The CCDR architecture does not require changes to the forwarding | <t>The CCDR architecture does not require changes to the forwarding | |||
| behavior of the underlay devices. There are no additional security | behavior of the underlay devices. There are no additional security | |||
| impacts on these devices.</t> | impacts on these devices.</t> | |||
| </section> | </section> | |||
| <section> | ||||
| <section title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t>This document does not require any IANA actions.</t> | <t>This document has no 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, Donald Eastlake, | ||||
| Alvaro Retana, Martin Duke, Magnus Westerlund, Benjamin Kaduk, Roman | ||||
| Danyliw, Eric Vyncke, Murray Kucherawy, Erik Kline and Jessica Chen for | ||||
| their supports and comments on this draft.</t> | ||||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | <references> | |||
| <?rfc include="reference.RFC.4271"?> | <name>References</name> | |||
| <references> | ||||
| <?rfc include="reference.RFC.4272"?> | <name>Normative References</name> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| <?rfc include="reference.RFC.4456"?> | FC.4271.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| <?rfc include="reference.RFC.5440"?> | FC.4272.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| <?rfc include="reference.RFC.7752"?> | FC.4456.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| <?rfc include="reference.RFC.8231"?> | FC.5440.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| <?rfc include="reference.RFC.8253"?> | FC.7752.xml"/> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| <?rfc include="reference.RFC.8283"?> | FC.8231.xml"/> | |||
| </references> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| FC.8253.xml"/> | ||||
| <references title="Informative References"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
| <?rfc include="reference.RFC.4655"?> | FC.8283.xml"/> | |||
| </references> | ||||
| <?rfc include="reference.RFC.8735"?> | <references> | |||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4655.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8735.xml"/> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section numbered="false"> | ||||
| <name>Acknowledgments</name> | ||||
| <t>The author would like to thank <contact fullname="Deborah Brungard"/>, | ||||
| <contact fullname="Adrian Farrel"/>, | ||||
| <contact fullname="Vishnu Beeram"/>, <contact fullname="Lou Berger"/>, <co | ||||
| ntact fullname="Dhruv Dhody"/>, <contact fullname="Raghavendra Mallya"/>, <conta | ||||
| ct fullname="Mike Koldychev"/>, <contact fullname="Haomian Zheng"/>, <cont | ||||
| act fullname="Penghui Mi"/>, <contact fullname="Shaofu Peng"/>, <contact fullnam | ||||
| e="Donald Eastlake"/>, | ||||
| <contact fullname="Alvaro Retana"/>, <contact fullname="Martin Duke"/>, <c | ||||
| ontact fullname="Magnus Westerlund"/>, <contact fullname="Benjamin Kaduk"/>, <co | ||||
| ntact fullname="Roman Danyliw"/>, <contact fullname="Éric Vyncke"/>, <cont | ||||
| act fullname="Murray Kucherawy"/>, <contact fullname="Erik Kline"/>, and <contac | ||||
| t fullname="Jessica Chen"/> for | ||||
| their supports and comments on this document.</t> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 110 change blocks. | ||||
| 385 lines changed or deleted | 329 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||