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/ |