rfc9723xml2.original.xml | rfc9723.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='UTF-8'?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | ||||
<?rfc toc="yes"?> | <!DOCTYPE rfc [ | |||
<?rfc tocompact="yes"?> | <!ENTITY nbsp " "> | |||
<?rfc tocdepth="3"?> | <!ENTITY zwsp "​"> | |||
<?rfc tocindent="yes"?> | <!ENTITY nbhy "‑"> | |||
<?rfc symrefs="yes"?> | <!ENTITY wj "⁠"> | |||
<?rfc sortrefs="yes"?> | ]> | |||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" docName="draft-i | |||
<?rfc compact="yes"?> | etf-idr-cpr-08" number="9723" ipr="trust200902" consensus="true" obsoletes="" up | |||
<?rfc subcompact="no"?> | dates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symR | |||
<rfc category="info" docName="draft-ietf-idr-cpr-08" ipr="trust200902"> | efs="true" sortRefs="true" version="3"> | |||
<front> | <front> | |||
<title abbrev="BGP CPR for SRv6 Services">BGP Colored Prefix Routing (CPR) | <title abbrev="BGP CPR for SRv6 Services">BGP Colored Prefix Routing (CPR) | |||
for SRv6 based Services</title> | for SRv6-Based Services</title> | |||
<seriesInfo name="RFC" value="9723"/> | ||||
<author fullname="Haibo Wang" initials="H." surname="Wang"> | <author fullname="Haibo Wang" initials="H." surname="Wang"> | |||
<organization>Huawei Technologies</organization> | <organization>Huawei Technologies</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | ||||
<city/> | ||||
<region/> | ||||
<code/> | ||||
<country>China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<email>rainsword.wang@huawei.com</email> | <email>rainsword.wang@huawei.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Jie Dong" initials="J." surname="Dong"> | <author fullname="Jie Dong" initials="J." surname="Dong"> | |||
<organization>Huawei Technologies</organization> | <organization>Huawei Technologies</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | ||||
<city/> | ||||
<region/> | ||||
<code/> | ||||
<country>China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<email>jie.dong@huawei.com</email> | <email>jie.dong@huawei.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar "> | <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar "> | |||
<organization>Cisco Systems</organization> | <organization>Cisco Systems</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | ||||
<city/> | ||||
<region/> | ||||
<code/> | ||||
<country>India</country> | <country>India</country> | |||
</postal> | </postal> | |||
<email>ketant.ietf@gmail.com</email> | <email>ketant.ietf@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Tao Han" initials="T." surname="Han"> | <author fullname="Tao Han" initials="T." surname="Han"> | |||
<organization>Huawei Technologies</organization> | <organization>Huawei Technologies</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | ||||
<city/> | ||||
<code/> | ||||
<country>China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<email>hantao@huawei.com</email> | <email>hantao@huawei.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Ran Chen" initials="R." surname="Chen"> | <author fullname="Ran Chen" initials="R." surname="Chen"> | |||
<organization>ZTE Corporation</organization> | <organization>ZTE Corporation</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | ||||
<city/> | ||||
<region/> | ||||
<code/> | ||||
<country>China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<email>chen.ran@zte.com.cn</email> | <email>chen.ran@zte.com.cn</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date month="May" year="2025"/> | ||||
<date day="24" month="February" year="2025"/> | <area>RTG</area> | |||
<workgroup>idr</workgroup> | ||||
<area>Routing Area</area> | ||||
<workgroup>Interdomain Routing Working Group</workgroup> | <keyword>intent-aware routing</keyword> | |||
<abstract> | <abstract> | |||
<t>This document describes a mechanism to advertise IPv6 prefixes in BGP | <t>This document describes a mechanism to advertise IPv6 prefixes in BGP | |||
which are associated with Color Extended Communities to establish | that are associated with Color Extended Communities to establish | |||
end-to-end intent-aware paths for Segment Routing over IPv6 (SRv6) | end-to-end intent-aware paths for Segment Routing over IPv6 (SRv6) | |||
services. Such IPv6 prefixes are called "Colored Prefixes", and this | services. Such IPv6 prefixes are called "Colored Prefixes", and this | |||
mechanism is called Colored Prefix Routing (CPR). In SRv6 networks, the | mechanism is called "Colored Prefix Routing" (CPR). In SRv6 networks, the | |||
Colored prefixes are the SRv6 locators associated with different intent. | Colored Prefixes are the SRv6 locators associated with different intents. | |||
SRv6 services (e.g. SRv6 VPN services) with specific intent could be | SRv6 services (e.g., SRv6 VPN services) with a specific intent could be | |||
assigned with SRv6 Segment Identifiers (SIDs) under the corresponding | assigned with SRv6 Segment Identifiers (SIDs) under the corresponding | |||
SRv6 locators, which are advertised as Colored prefixes.</t> | SRv6 locators, which are advertised as Colored Prefixes.</t> | |||
<t>This operational methodology allows the SRv6 service traffic to be | <t>This operational methodology allows the SRv6 service traffic to be | |||
steered into end-to-end intent-aware paths simply based on the longest | steered into end-to-end intent-aware paths based on the longest | |||
prefix matching of SRv6 Service SIDs to the Colored prefixes. The | prefix matching of SRv6 Service SIDs to the Colored Prefixes. The | |||
existing IPv6 Address Family and Color Extended Community are reused for | existing IPv6 Address Family and Color Extended Community are reused to | |||
the advertisement of IPv6 Colored prefixes without new BGP extensions, | advertise IPv6 Colored Prefixes without new BGP extensions; | |||
thus this mechanism is easy to interoperate and can be deployed | thus, this mechanism is easy to interoperate and can be deployed | |||
incrementally in multi-Autonomous System (AS) networks which belong to | incrementally in multi-Autonomous System (AS) networks that belong to | |||
the same trusted domain.</t> | the same trusted domain.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section title="Introduction"> | <section numbered="true" toc="default"> | |||
<name>Introduction</name> | ||||
<t>With the trend of using one common network to carry multiple types of | <t>With the trend of using one common network to carry multiple types of | |||
services, each service type can have different requirements for the | services, each service type can have different requirements for the | |||
network. Such requirements are usually considered as the "intent" of the | network. Such requirements are usually considered the "intent" of the | |||
service or customer, and is represented as an abstract notion called | service or customer, which is represented as an abstract notion called | |||
"color".</t> | "color".</t> | |||
<t>In network scenarios where the services are delivered across multiple | <t>In network scenarios where the services are delivered across multiple | |||
Autonomous Systems (ASes) , there is a need to provide the services with | Autonomous Systems (ASes), there is a need to provide the services with | |||
different end-to-end paths to meet the intent. <xref | different end-to-end paths to meet the intent. <xref target="I-D.hr-spring | |||
target="I-D.hr-spring-intentaware-routing-using-color"/> describes the | -intentaware-routing-using-color" format="default"/> describes the | |||
problem statements and requirements for inter-domain intent-aware | problem statements and requirements for inter-domain intent-aware | |||
routing.</t> | routing.</t> | |||
<t>The inter-domain path can be established using either Multi-Protocol | <t>The inter-domain path can be established using either Multi-Protocol | |||
Label Switching (MPLS) or IP data plane. In MPLS-based networks, the | Label Switching (MPLS) or the IP data plane. In MPLS-based networks, the | |||
usual inter-domain approach is to establish an end-to-end Label-Switched | usual inter-domain approach is to establish an end-to-end Label Switched | |||
Path (LSP) based on the BGP Labeled Unicast (BGP-LU) mechanism as | Path (LSP) based on the mechanism | |||
defined in <xref target="RFC8277"/>. Each domain's ingress border node | defined in <xref target="RFC8277" format="default"/> (which is usually ref | |||
erred to as BGP-LU (BGP Labeled Unicast)). Each domain's ingress border node | ||||
needs to perform label swapping for the end-to-end LSP, and impose the | needs to perform label swapping for the end-to-end LSP, and impose the | |||
label stack which is used for the LSP within its own domain.</t> | label stack that is used for the LSP within its own domain.</t> | |||
<t>In IP-based networks, the IP reachability information can be | <t>In IP-based networks, the IP reachability information can be | |||
advertised to network nodes in different domains using BGP, so that all | advertised to network nodes in different domains using BGP, so that all | |||
the domain border nodes can obtain the routes to the IP prefixes of the | the domain border nodes can obtain the routes to the IP prefixes of the | |||
destination nodes in other domains. With the introduction of SRv6 <xref | destination nodes in other domains. With the introduction of SRv6 <xref ta | |||
target="RFC8402"/> <xref target="RFC8754"/> <xref target="RFC8986"/>, | rget="RFC8402" format="default"/> <xref target="RFC8754" format="default"/> <xre | |||
BGP services are assigned with SRv6 Service SIDs <xref | f target="RFC8986" format="default"/>, | |||
target="RFC9252"/>, which are routable in the network according to its | BGP services are assigned with SRv6 Service SIDs <xref target="RFC9252" fo | |||
rmat="default"/>, which are routable in the network according to its | ||||
SRv6 locator prefix. Thus, the inter-domain path can be established | SRv6 locator prefix. Thus, the inter-domain path can be established | |||
simply based on the inter-domain routes to the prefix, and inter-domain | simply based on the inter-domain routes to the prefix. Inter-domain | |||
LSPs based on BGP-LU mechanism is not necessary for IPv6 and SRv6-based | LSPs based on the BGP-LU mechanism are not necessary for IPv6- and SRv6-ba | |||
sed | ||||
networks.</t> | networks.</t> | |||
<t>This document describes a mechanism to advertise IPv6 prefixes that | ||||
<t>This document describes a mechanism to advertise IPv6 prefixes which | are associated with the Color Extended Community to establish end-to-end | |||
are associated with Color Extended Community to establish end-to-end | ||||
intent-aware paths for SRv6 services. The color value in the Color | intent-aware paths for SRv6 services. The color value in the Color | |||
Extended Community indicates the intent <xref target="RFC9256"/>. Such | Extended Community indicates the intent <xref target="RFC9256" format="def ault"/>. Such | |||
IPv6 prefixes are called "Colored Prefixes", and this mechanism is | IPv6 prefixes are called "Colored Prefixes", and this mechanism is | |||
called Colored Prefix Routing (CPR). In SRv6 networks, the Colored | called Colored Prefix Routing (CPR). In SRv6 networks, the Colored | |||
Prefixes are the SRv6 locators associated with different intent. BGP | Prefixes are the SRv6 locators associated with different intents. BGP | |||
services over SRv6 (e.g. SRv6 VPN services) <xref target="RFC9252"/> | services over SRv6 (e.g., SRv6 VPN services) <xref target="RFC9252" format | |||
="default"/> | ||||
with specific intent could be assigned with SRv6 SIDs under the | with specific intent could be assigned with SRv6 SIDs under the | |||
corresponding SRv6 locators, which are advertised as Colored Prefixes. | corresponding SRv6 locators, which are advertised as Colored Prefixes. | |||
This allows the SRv6 service traffic to be steered (as specified in | This allows the SRv6 service traffic to be steered (as specified in | |||
<xref target="RFC9252"/>) into end-to-end intent-aware paths simply | <xref target="RFC9252" format="default"/>) into end-to-end intent-aware pa ths | |||
based on the longest prefix matching of SRv6 Service SIDs to the Colored | based on the longest prefix matching of SRv6 Service SIDs to the Colored | |||
Prefixes. In the data plane, the dedicated transport label or SID for | Prefixes. In the data plane, the dedicated transport label or SID for | |||
the inter-domain path is not needed, resulting in smaller encapsulation | the inter-domain path is not needed, resulting in smaller encapsulation | |||
overhead than with other options.</t> | overhead than with other options.</t> | |||
<t>The existing IPv6 Address Family and Color Extended Community could | <t>The existing IPv6 Address Family and Color Extended Community could | |||
be reused for the advertisement of IPv6 Colored Prefixes without new BGP | be reused to advertise IPv6 Colored Prefixes without new BGP | |||
extensions, thus this mechanism is easy to interoperate and can be | extensions; thus, this mechanism is easy to interoperate and can be | |||
deployed incrementally in multi-AS networks which belong to the same | deployed incrementally in multi-AS networks that belong to the same | |||
trusted domain (in the sense used by Section 8 of <xref | trusted domain (in the sense used by <xref target="RFC8402" sectionFormat= | |||
target="RFC8402"/>).</t> | "of" section="8"/>).</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>BGP CPR</name> | ||||
<section numbered="true" toc="default"> | ||||
<name>Colored Prefix Allocation</name> | ||||
<section title="BGP CPR"> | ||||
<t/> | ||||
<section title="Colored Prefix Allocation"> | ||||
<t>In SRv6 networks, an SRv6 locator needs to be allocated for each | <t>In SRv6 networks, an SRv6 locator needs to be allocated for each | |||
node. In order to distinguish N different intents, a Provider Edge | node. In order to distinguish N different intents, a Provider Edge | |||
(PE) node needs to be allocated with N SRv6 locators, each of which is | (PE) node needs to be allocated with N SRv6 locators, each of which is | |||
associated a different intent that is identified by a color value. One | associated a different intent that is identified by a color value. One | |||
way to achieve this is by splitting the base SRv6 locator of the node | way to achieve this is by splitting the base SRv6 locator of the node | |||
into N sub-locators, and these sub-locators are Colored Prefixes | into N sub-locators, whereby these sub-locators are Colored Prefixes | |||
associated with different intents.</t> | associated with different intents.</t> | |||
<t>For example, a PE node is allocated with the base SRv6 Locator | <t>For example, a PE node is allocated with the base SRv6 Locator | |||
2001:db8:aaaa:1::/64. In order to provide 16 different intents, this | 2001:db8:aaaa:1::/64. In order to provide 16 different intents, this | |||
base SRv6 Locator is split into 16 sub-locators from | base SRv6 Locator is split into 16 sub-locators from | |||
2001:db8:aaaa:1:0000::/68 to 2001:db8:aaaa:1:F000::/68, each of these | 2001:db8:aaaa:1:0000::/68 to 2001:db8:aaaa:1:F000::/68; each of these | |||
sub-locators is associated with a different intent, such as low-delay, | sub-locators is associated with a different intent, such as low-delay, | |||
high-bandwidth, etc.</t> | high-bandwidth, etc.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Colored Prefix Advertisement"> | <name>Colored Prefix Advertisement</name> | |||
<t>After the allocation of Colored Prefixes on a PE node, routes to | <t>After the allocation of Colored Prefixes on a PE node, routes to | |||
these Colored Prefixes need to be advertised both in the local domain | these Colored Prefixes need to be advertised both in the local domain | |||
and also to other domains using BGP, so that the BGP SRv6 services | and also to other domains using BGP, so that the BGP SRv6 services | |||
routes could be resolved using the corresponding CPR route.</t> | routes could be resolved using the corresponding CPR route.</t> | |||
<t>In a multi-AS IPv6 network, the IPv6 unicast Address | <t>In a multi-AS IPv6 network, the mechanism for IPv6 unicast routing as | |||
Family/Subsequent Address Family (AFI/SAFI = 2/1) <xref | defined in <xref target="RFC2545"/> is used for the advertisement of the Colore | |||
target="RFC2545"/> is used for the advertisement of the Colored Prefix | d Prefix routes, in which the Address Family / Subsequent Address Family (AFI/SA | |||
routes. The color extended community <xref target="RFC9012"/> is | FI = 2/1) is used. | |||
The Color Extended Community <xref target="RFC9012" format="default"/> is | ||||
carried with the Colored Prefix route with the color value indicating | carried with the Colored Prefix route with the color value indicating | |||
the intent <xref target="RFC9256"/>. The procedure of Colored Prefix | the intent <xref target="RFC9256" format="default"/>. The procedure of C olored Prefix | |||
advertisement is described using an example with the following | advertisement is described using an example with the following | |||
topology:</t> | topology:</t> | |||
<t><figure> | <figure anchor="fig-1"> | |||
<artwork><![CDATA[ | <name>Example Topology for CPR Route Illustration</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
Consistent Color Domain: | Consistent Color Domain: | |||
C1, C2, ... | C1, C2, ... | |||
+--------------+ +--------------+ +-------------+ | +--------------+ +--------------+ +-------------+ | |||
| | | | | | | | | | | | | | |||
| [ASBR11]---[ASBR21] [ASBR23]---[ASBR31] | | | [ASBR11]---[ASBR21] [ASBR23]---[ASBR31] | | |||
--[PE1] [P1] | X | [P2] | X | [P3] [PE3]-- | --[PE1] [P1] | X | [P2] | X | [P3] [PE3]-- | |||
| [ASBR12]---[ASBR22] [ASBR24]---[ASBR32] | | | [ASBR12]---[ASBR22] [ASBR24]---[ASBR32] | | |||
| | | | | | | | | | | | | | |||
+--------------+ +--------------+ +-------------+ | +--------------+ +--------------+ +-------------+ | |||
AS1 AS2 AS3 | AS1 AS2 AS3 | |||
Colored Prefixes of PE3: | Colored Prefixes of PE3: | |||
Low delay: PE3:CL1:: | Low delay: PE3:CL1:: | |||
High bandwidth: PE3:CL2:: | High bandwidth: PE3:CL2:: | |||
... | ... | |||
Figure 1. Example Topology for CPR Route Illustration | ||||
]]></artwork> | ]]></artwork> | |||
</figure></t> | </figure> | |||
<t>Assume PE3 is provisioned with two different Colored Prefixes CLP-1 | <t>Assume PE3 is provisioned with two different Colored Prefixes CLP-1 | |||
and CLP-2 for two different intents such as "low-delay" and | and CLP-2 for two different intents such as "low-delay" and | |||
"high-bandwidth" respectively. In this example, It is assumed that the | "high-bandwidth" respectively. In this example, It is assumed that the | |||
color representing a specific intent is consistent throughout all the | color representing a specific intent is consistent throughout all the | |||
domains.</t> | domains.</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li> | |||
<t>PE3 originates BGP IPv6 unicast (AFI/SAFI=2/1) route for the | <t>PE3 originates BGP IPv6 unicast (AFI/SAFI=2/1) route for the | |||
Colored Prefixes PE3:CL1:: and PE3:CL2::. Each route should carry | Colored Prefixes PE3:CL1:: and PE3:CL2::. Each route should carry | |||
the corresponding color extended community C1 or C2. PE3 also | the corresponding Color Extended Community C1 or C2. PE3 also | |||
advertises a route for the base SRv6 Locator prefix PE3:BL, and | advertises a route for the base SRv6 Locator prefix PE3:BL, and | |||
there is no color extended community carried with this route.</t> | there is no Color Extended Community carried with this route.</t> | |||
</li> | ||||
<li> | ||||
<t>ASBR31 and ASBR32 receive the CPR routes of PE3, and advertise | <t>ASBR31 and ASBR32 receive the CPR routes of PE3, and advertise | |||
the CPR routes further to ASBR23 and ASBR24 with next-hop set to | the CPR routes further to ASBR23 and ASBR24 with next-hop set to | |||
itself.</t> | itself.</t> | |||
</li> | ||||
<li> | ||||
<t>ASBR23 and ASBR24 receive the CPR routes of PE3. Since the | <t>ASBR23 and ASBR24 receive the CPR routes of PE3. Since the | |||
color-to-intent mapping in AS2 is consistent with that in AS3, the | color-to-intent mapping in AS2 is consistent with that in AS3, the | |||
Color Extended Community in the received CPR routes are kept | Color Extended Community in the received CPR routes are kept | |||
unchanged. ASBR23 and ASBR 24 advertise the CPR routes further in | unchanged. ASBR23 and ASBR24 advertise the CPR routes further in | |||
AS2 with the next-hop set to itself.</t> | AS2 with the next hop set to itself.</t> | |||
</li> | ||||
<li> | ||||
<t>The behavior of ASBR21 and ASBR22 are similar to the behavior | <t>The behavior of ASBR21 and ASBR22 are similar to the behavior | |||
of ASBR31 and ASBR32.</t> | of ASBR31 and ASBR32.</t> | |||
</li> | ||||
<li> | ||||
<t>The behavior of ASBR11 and ASBR12 are similar to the behavior | <t>The behavior of ASBR11 and ASBR12 are similar to the behavior | |||
of ASBR23 and ASBR24.</t> | of ASBR23 and ASBR24.</t> | |||
</list></t> | </li> | |||
</ul> | ||||
<t>In normal cases, the color value in the color extended community | <t>In normal cases, the color value in the Color Extended Community | |||
associated with the CPR route is consistent through all the domains, | associated with the CPR route is consistent through all the domains, | |||
so that the Color Extended Community in the CPR routes is kept | so that the Color Extended Community in the CPR routes is kept | |||
unchanged. While in some special cases, one intent may be represented | unchanged. In some special cases, one intent may be represented | |||
as different color value in different domains. If this is the case, | as a different color value in different domains. If this is the case, | |||
then the Color Extended Community in the CPR routes needs to be | then the Color Extended Community in the CPR routes needs to be | |||
updated at the border nodes of the domains based on the color-mapping | updated at the border nodes of the domains based on the color-mapping | |||
policy. For example, in AS1, the intent "low latency" is represented | policy. For example, in AS1, the intent "low latency" is represented | |||
by color "red", while in AS2 the same intent is represented by color | by the color "red", while the same intent is represented by color | |||
"blue". When a CPR route is sent from AS1 to AS2, the Color Extended | "blue" in AS2. When a CPR route is sent from AS1 to AS2, the Color Exten | |||
ded | ||||
Community in the CPR routes needs to be updated from "red" to "blue" | Community in the CPR routes needs to be updated from "red" to "blue" | |||
at the border nodes based on the color-mapping policy.</t> | at the border nodes based on the color-mapping policy.</t> | |||
<t>In network scenarios where some of the intermediate autonomous | <t>In network scenarios where some of the intermediate autonomous | |||
systems are MPLS-based, the CPR routes may still be advertised using | systems are MPLS based, the CPR routes may still be advertised using | |||
the IPv6 unicast address family (AFI/SAFI=2/1) in the MPLS-based | the IPv6 unicast address family (AFI/SAFI=2/1) in the MPLS-based | |||
intermediate domains, and at the MPLS domain border nodes, some route | intermediate domains; at the MPLS domain border nodes, some route | |||
resolution policy could be used to make the CPR routes resolved to | resolution policy could be used to make the CPR routes resolve to | |||
intra-domain intent-aware MPLS LSPs. Another possible mechanism is to | intra-domain intent-aware MPLS LSPs. Another possible mechanism is to | |||
use the IPv6 LU address family (AFI/SAFI=2/4) to advertise the CPR | use the IPv6 LU address family (AFI/SAFI=2/4) to advertise the CPR | |||
routes in the MPLS domains, the detailed procedure is described in | routes in the MPLS domains, the detailed procedure is described in | |||
Section 7.1.2.1 of <xref | <xref target="I-D.ietf-spring-srv6-mpls-interworking" sectionFormat="of" | |||
target="I-D.ietf-spring-srv6-mpls-interworking"/>.</t> | section="7.1.2.1"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="CPR to Intra-domain Path Resolution"> | <name>CPR to Intra-Domain Path Resolution</name> | |||
<t>A domain border node which receives a CPR route can resolve the CPR | <t>A domain border node that receives a CPR route can resolve the CPR | |||
route to an intra-domain color-aware path based on the tuple (N, C), | route to an intra-domain color-aware path based on the tuple (N, C), | |||
where N is the next-hop of the CPR route, and C is the color extended | where N is the next hop of the CPR route, and C is the Color Extended | |||
community of the CPR route. The intra-domain color-aware path could be | Community of the CPR route. The intra-domain color-aware path could be | |||
built with any of the following mechanisms:</t> | built with any of the following mechanisms:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>SRv6 Policy</li> | |||
<t>SRv6 or SR-MPLS Policy</t> | <li>SR-MPLS Policy</li> | |||
<li>SRv6 Flex-Algo</li> | ||||
<t>SRv6 or SR-MPLS Flex-Algo</t> | <li>SR-MPLS Flex-Algo</li> | |||
<li>RSVP-TE</li> | ||||
<t>RSVP-TE</t> | </ul> | |||
</list></t> | <t>For example, if PE1 receives a CPR route to PE3:CL1:: with the color | |||
C1 | ||||
<t>For example, PE1 receives a CPR route to PE3:CL1:: with color C1 | and next hop ASBR11, it can resolve the CPR routes to an intra-domain | |||
and next-hop ASBR11, it can resolve the CPR routes to an intra-domain | ||||
SRv6 Policy based on the tuple (ASBR11, C1).</t> | SRv6 Policy based on the tuple (ASBR11, C1).</t> | |||
<t>The intra-domain path resolution scheme could be based on any | <t>The intra-domain path resolution scheme could be based on any | |||
existing tunnel resolution policy, and new tunnel resolution | existing tunnel resolution policy, and new tunnel resolution | |||
mechanisms could be introduced if needed.</t> | mechanisms could be introduced if needed.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="SRv6 Service Route Advertisement"> | <name>SRv6 Service Route Advertisement</name> | |||
<t>For an SRv6 service which is associated with a specific intent, the | <t>For an SRv6 service that is associated with a specific intent, the | |||
SRv6 Service SID could be allocated under the corresponding Colored | SRv6 Service SID could be allocated under the corresponding Colored | |||
locator prefix. For example, on PE3 in the example topology, an SRv6 | locator prefix. For example, on PE3 in the example topology, an SRv6 | |||
VPN service with the low-delay intent can be allocated with the SRv6 | VPN service with the low-delay intent can be allocated with the SRv6 | |||
End.DT4 SID PE3:CL1:DT::, where PE3:CL1:: is the SRv6 Colored Prefix | End.DT4 SID PE3:CL1:DT::, where PE3:CL1:: is the SRv6 Colored Prefix | |||
for low-delay service.</t> | for low-delay service.</t> | |||
<t>The SRv6 service routes are advertised using the mechanism defined | <t>The SRv6 service routes are advertised using the mechanism defined | |||
in <xref target="RFC9252"/>. The inter-domain VPN Option C is used, | in <xref target="RFC9252" format="default"/>. The inter-domain VPN Optio | |||
which means the next-hop of the SRv6 service route is set to the | n C is used, | |||
originating PE and not changed. Since the intent of the service is | which means the next hop of the SRv6 service route is set to the | |||
originating PE and is not changed. Since the intent of the service is | ||||
embedded in the SRv6 service SID, the SRv6 service route does not need | embedded in the SRv6 service SID, the SRv6 service route does not need | |||
to carry the color extended community.</t> | to carry the Color Extended Community.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="SRv6 Service Steering"> | <name>SRv6 Service Steering</name> | |||
<t>With the CPR routing mechanism, the ingress PE node which receives | <t>With the CPR routing mechanism, the ingress PE node that receives | |||
the SRv6 service routes follows the behavior of SRv6 shortest path | the SRv6 service routes follows the behavior of SRv6 shortest path | |||
forwarding (refer to Section 5 and 6 of <xref target="RFC9252"/>). The | forwarding (refer to Sections <xref target="RFC9252" | |||
SRv6 service SID carried in the service route is used as the | sectionFormat="bare" section="5"/> and <xref target="RFC9252" | |||
destination address in the outer IPv6 header that encapsulates the | sectionFormat="bare" section="6"/> of <xref target="RFC9252" | |||
service packet. If the corresponding CPR route has been received and | format="default"/>). The SRv6 service SID carried in the service route | |||
installed, longest prefix matching of SRv6 service SIDs to the Colored | is used as the destination address in the outer IPv6 header that | |||
Prefixes is performed. As a result of this prefix matching, the next | encapsulates the service packet. If the corresponding CPR route has | |||
hop found is an intra-domain color-aware path, which will be used for | been received and installed, longest prefix matching of SRv6 service | |||
forwarding the SRv6 service traffic. This process repeats at the | SIDs to the Colored Prefixes is performed. As a result of this prefix | |||
border node of each domain the packet traverses, until it reaches its | matching, the next hop found is an intra-domain color-aware path, | |||
destination.</t> | which will be used for forwarding the SRv6 service traffic. This | |||
process repeats at the border node of each domain the packet | ||||
traverses, until it reaches its destination.</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>Encapsulation and Forwarding Process</name> | ||||
<section title="Encapsulation and Forwarding Processes"> | ||||
<t>This section describes the encapsulation and forwarding process of | <t>This section describes the encapsulation and forwarding process of | |||
data packets which are matched with the corresponding CPR route.</t> | data packets which are matched with the corresponding CPR route.</t> | |||
<t>The topology of <xref target="fig-1"/> is used in each example.</t> | ||||
<t>The topology of Figure 1 is used in each example.</t> | <section numbered="true" toc="default"> | |||
<name>CPR over SRv6 Intra-Domain Paths</name> | ||||
<section title="CPR over SRv6 Intra-Domain Paths"> | ||||
<t>Following is an illustration of the packet encapsulation and | <t>Following is an illustration of the packet encapsulation and | |||
forwarding process of CPR over SRv6 Policy. The abstract | forwarding process of CPR over SRv6 Policy. The abstract | |||
representation of IPv6 and SRH in section 6 of <xref | representation of IPv6 and the Segment Routing Header (SRH) described in | |||
target="RFC8754"/> is used.</t> | <xref target="RFC8754" sectionFormat="of" section="6"/> is used.</t> | |||
<t>PE3 is provisioned with a Colored Prefix PE3:CL1:: for | <t>PE3 is provisioned with a Colored Prefix PE3:CL1:: for | |||
"low-delay".</t> | "low-delay".</t> | |||
<t>In AS1, the SRv6 Policy on PE1 for (ASBR11, C1) is represented with | <t>In AS1, the SRv6 Policy on PE1 for (ASBR11, C1) is represented with | |||
SID list <P1, ASBR11>.</t> | SID list <P1, ASBR11>.</t> | |||
<t>In AS2, the SRv6 Policy on ASBR21 for (ASBR23, C1) is represented | <t>In AS2, the SRv6 Policy on ASBR21 for (ASBR23, C1) is represented | |||
with the SID list <P2, ASBR23>.</t> | with the SID list <P2, ASBR23>.</t> | |||
<t>In AS3, the SRv6 Policy on ASBR31 for (PE3, C1) is represented with | <t>In AS3, the SRv6 Policy on ASBR31 for (PE3, C1) is represented with | |||
the SID list <P3, PE3>.</t> | the SID list <P3, PE3>.</t> | |||
<t>C-pkt is the customer packet PE1 received from its attaching | <t>C-pkt is the customer packet PE1 received from its attaching | |||
CE.</t> | CE.</t> | |||
<t>For packets that belong to an SRv6 VPN service associated with the | ||||
<t>For packets which belong to an SRv6 VPN service associated with the | ||||
SRv6 Service SID PE3:CL1.DT6, the packet encapsulation and forwarding | SRv6 Service SID PE3:CL1.DT6, the packet encapsulation and forwarding | |||
process using H.Encaps.Red behavior <xref target="RFC8986"/> is shown | process using H.Encaps.Red behavior <xref target="RFC8986" format="defau lt"/> is shown | |||
as below:</t> | as below:</t> | |||
<figure> | ||||
<t><figure> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<artwork><![CDATA[PE1 ->P1: (PE1, P1)(PE3:CL1.DT6, ASBR11; | PE1 ->P1: (PE1, P1)(PE3:CL1.DT6, ASBR11; SL=2)(C-pkt) | |||
SL=2)(C-pkt) | ||||
P1 ->ASBR11: (PE1, ASBR11)(PE3:CL1.DT6, ASBR11; SL=1)(C-pkt) | P1 ->ASBR11: (PE1, ASBR11)(PE3:CL1.DT6, ASBR11; SL=1)(C-pkt) | |||
ASBR11->ASBR21: (PE1, PE3:CL1.DT6)(C-pkt) | ASBR11->ASBR21: (PE1, PE3:CL1.DT6)(C-pkt) | |||
ASBR21->P2: (ASBR21, P2)(ASBR23; SL=1)(PE1, PE3:CL1.DT6)(C-pkt) | ASBR21->P2: (ASBR21, P2)(ASBR23; SL=1)(PE1, PE3:CL1.DT6)(C-pkt) | |||
P2->ASBR23: (ASBR21, ASBR23)(PE1, PE3:CL1.DT6)(C-pkt) | P2->ASBR23: (ASBR21, ASBR23)(PE1, PE3:CL1.DT6)(C-pkt) | |||
ASBR23->ASBR31: (PE1, PE3:CL1.DT6)(C-pkt) | ASBR23->ASBR31: (PE1, PE3:CL1.DT6)(C-pkt) | |||
ASBR31->P3: (ASBR31, P3)(PE3; SL=1)(PE1, PE3:CL1.DT6)(C-pkt) | ASBR31->P3: (ASBR31, P3)(PE3; SL=1)(PE1, PE3:CL1.DT6)(C-pkt) | |||
P3->PE3: (ASBR31, PE3)(PE1, PE3:CL1.DT6)(C-pkt) | P3->PE3: (ASBR31, PE3)(PE1, PE3:CL1.DT6)(C-pkt) | |||
]]></artwork> | ]]></artwork> | |||
</figure></t> | </figure> | |||
<t>In some autonomous systems, SRv6 Flex-Algo may be used to provide | <t>In some autonomous systems, SRv6 Flex-Algo may be used to provide | |||
intent-aware intra-domain paths. The encapsulation is similar to the | intent-aware intra-domain paths. The encapsulation is similar to the | |||
case with SRv6 Policy.</t> | case with SRv6 Policy.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="CPR over MPLS Intra-Domain Paths"> | <name>CPR over MPLS Intra-Domain Paths</name> | |||
<t>In network scenarios where some of the autonomous systems use MPLS | <t>In network scenarios where some of the autonomous systems use the MPL | |||
based data plane, the CPR route can be resolved over a color-aware | S-based data plane, the CPR route can be resolved over a color-aware | |||
intra-domain MPLS LSP. Such intra-domain MPLS LSP may be established | intra-domain MPLS LSP. Such an intra-domain MPLS LSP may be established | |||
using SR-MPLS Policy, SR-MPLS Flex-Algo or RSVP-TE.</t> | using SR-MPLS Policy, SR-MPLS Flex-Algo, or RSVP-TE.</t> | |||
<t>The encapsulation and forwarding of SRv6 service packets (which are | <t>The encapsulation and forwarding of SRv6 service packets (which are | |||
actually IPv6 packets) over an intra-domain MPLS LSP is based on the | actually IPv6 packets) over an intra-domain MPLS LSP is based on the | |||
MPLS mechanisms as defined in <xref target="RFC3031"/> <xref | MPLS mechanisms as defined in <xref target="RFC3031" format="default"/>, | |||
target="RFC3032"/> and <xref target="RFC8660"/>. The behavior is | <xref target="RFC3032" format="default"/> and <xref target="RFC8660" format="de | |||
similar to that of 6PE <xref target="RFC4798"/>.</t> | fault"/>. The behavior is | |||
similar to that of IPv6 Provider Edge Routers (6PEs) <xref target="RFC47 | ||||
98" format="default"/>.</t> | ||||
<t>In AS1, the SR-MPLS Policy on PE1 for (ASBR11, C1) is represented | <t>In AS1, the SR-MPLS Policy on PE1 for (ASBR11, C1) is represented | |||
with SID list <P1, ASBR11>.</t> | with the SID list <P1, ASBR11>.</t> | |||
<t>In AS2, the SR-MPLS Flex-Algo on ASBR21 for (ASBR23, C1) is | <t>In AS2, the SR-MPLS Flex-Algo on ASBR21 for (ASBR23, C1) is | |||
represented with SID list <ASBR23>.</t> | represented with SID list <ASBR23>.</t> | |||
<t>In AS3, the SR-MPLS Policy on ASBR31 for (PE3, C1) is represented | <t>In AS3, the SR-MPLS Policy on ASBR31 for (PE3, C1) is represented | |||
with SID list <P3, PE3>.</t> | with SID list <P3, PE3>.</t> | |||
<t>C-pkt is the customer packet PE-1 received from its attaching | <t>C-pkt is the customer packet PE-1 received from its attaching | |||
CE.</t> | CE.</t> | |||
<t>For packets that belong to an SRv6 VPN service associated with the | ||||
<t>For packets which belong to an SRv6 VPN service associated with the | ||||
SRv6 Service SID PE3:CL1.DT6, the packet encapsulation and forwarding | SRv6 Service SID PE3:CL1.DT6, the packet encapsulation and forwarding | |||
process is shown as below:</t> | process is shown as below:</t> | |||
<figure> | ||||
<t><figure> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<artwork><![CDATA[PE1-> P1: Label-stack(P1, ASBR11)(PE1, PE3:CL1.DT6 | PE1-> P1: Label-stack(P1, ASBR11)(PE1, PE3:CL1.DT6)(C-pkt) | |||
)(C-pkt) | ||||
P1->ASBR11: Label-stack(ASBR11)(PE1, PE3:CL1.DT6)(C-pkt) | P1->ASBR11: Label-stack(ASBR11)(PE1, PE3:CL1.DT6)(C-pkt) | |||
ASBR11->ASBR21: (PE1, PE3:CL1.DT6)(C-pkt) | ASBR11->ASBR21: (PE1, PE3:CL1.DT6)(C-pkt) | |||
ASBR21->P2: Label-stack(ASBR23)(PE1, PE3:CL1.DT6)(C-pkt) | ASBR21->P2: Label-stack(ASBR23)(PE1, PE3:CL1.DT6)(C-pkt) | |||
P2->ASBR23: Label-stack(ASBR23)(PE1, PE3:CL1.DT6)(C-pkt) | P2->ASBR23: Label-stack(ASBR23)(PE1, PE3:CL1.DT6)(C-pkt) | |||
ASBR23->ASBR31: (PE1, PE3:CL1.DT6)(C-pkt) | ASBR23->ASBR31: (PE1, PE3:CL1.DT6)(C-pkt) | |||
ASBR31->P3: Label-stack(P3, PE3)(PE1, PE3:CL1.DT6)(C-pkt) | ASBR31->P3: Label-stack(P3, PE3)(PE1, PE3:CL1.DT6)(C-pkt) | |||
P3->PE3: Label-stack(PE3)(PE1, PE3:CL1.DT6)(C-pkt) | P3->PE3: Label-stack(PE3)(PE1, PE3:CL1.DT6)(C-pkt) | |||
]]></artwork> | ]]></artwork> | |||
</figure></t> | </figure> | |||
<t/> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>Operational Considerations</name> | ||||
<section title="Operational Considerations"> | ||||
<t>The CPR mechanism can be used in network scenarios where multiple | <t>The CPR mechanism can be used in network scenarios where multiple | |||
inter-connected ASes belong to the same operator, or there is an | inter-connected ASes belong to the same operator, or where there is an | |||
operational trust model between the ASes of different operators which | operational trust model between the ASes of different operators which | |||
makes them belonging to the same trusted domain (in the sense used by | means they belong to the same trusted domain (in the sense used by | |||
Section 8 of <xref target="RFC8402"/>).</t> | <xref target="RFC8402" sectionFormat="of" section="8"/>).</t> | |||
<t>As described in section 5 of <xref | ||||
target="I-D.hr-spring-intentaware-routing-using-color"/>, the | ||||
inter-domain intent-aware routing may be achieved with a logical tunnel | ||||
created by an SR Policy across multiple ASes, and service traffic with | ||||
specific intent can be steered to the inter-domain SR Policy based on | ||||
the intent signaled by Color Extended Community. An operator may prefer | ||||
a BGP routing based solution for the reasons described in <xref | ||||
target="I-D.hr-spring-intentaware-routing-using-color"/>. Another | ||||
possible consideration of the operator is the availability of | ||||
inter-domain controller for end-to-end intent-aware path computation. | ||||
This document proposes an alternate solution to signal the intent with | ||||
IPv6 Colored Prefixes using BGP.</t> | ||||
<t>When the Colored Prefixes are assigned as the sub-locators of the | <t>As described in <xref | |||
target="I-D.hr-spring-intentaware-routing-using-color" | ||||
sectionFormat="of" section="5"/>, inter-domain intent-aware routing | ||||
may be achieved with a logical tunnel created by an SR Policy that applies | ||||
to | ||||
multiple ASes. In addition, service traffic with specific intent can be s | ||||
teered | ||||
to the inter-domain SR Policy based on the intent signaled by Color | ||||
Extended Community. An operator may prefer a BGP routing-based solution | ||||
for the reasons described in <xref | ||||
target="I-D.hr-spring-intentaware-routing-using-color" | ||||
format="default"/>. The operator may also consider | ||||
the availability of an inter-domain controller for end-to-end intent-aware | ||||
path computation. This document proposes an alternate solution to | ||||
signal the intent with IPv6 Colored Prefixes using BGP.</t> | ||||
<t>When Colored Prefixes are assigned as sub-locators of the | ||||
node's base SRv6 locator, the IPv6 unicast route of the base locator | node's base SRv6 locator, the IPv6 unicast route of the base locator | |||
prefix is the covering prefix of all the Colored locator prefixes. To | prefix is the prefix that covers all of the Colored locator prefixes. To | |||
make sure the Colored locator prefixes can be distributed to the ingress | make sure the Colored locator prefixes can be distributed to the ingress | |||
PE nodes along the border nodes, it is required that the route | PE nodes along the border nodes, it is required that route | |||
aggregation be disabled for IPv6 unicast routes which carry the color | aggregation be disabled for IPv6 unicast routes that carry the Color | |||
extended community.</t> | Extended Community.</t> | |||
<t>With the CPR mechanism, at the prefix originator, each Colored Prefix i | ||||
<t>With CPR mechanism, at the prefix originator, each colored prefix is | s | |||
associated with one specific intent (i.e. color). And in each domain, | associated with one specific intent (i.e., color). In each domain, | |||
according to the color mapping policy, the same CPR route is always | according to the color mapping policy, the same CPR route is always | |||
updated with the same color. The case where there are multiple copies of | updated with the same color. The case where there are multiple copies of | |||
CPR routes with the same colored prefix but different color extened | CPR routes with the same Colored Prefix but different Color Extended | |||
commuity is considered a misconfiguration.</t> | Community is considered a misconfiguration.</t> | |||
<t>All the border nodes and the ingress PE nodes need to install the | <t>All the border nodes and the ingress PE nodes need to install the | |||
Colored locator prefixes into the RIB and FIB. For transit domains which | Colored locator prefixes in the RIB and FIB. For transit domains that | |||
support the CPR mechanism, the border nodes can use the tuple (N, C) | support the CPR mechanism, the border nodes can use the tuple (N, C), | |||
where N is next hop and C is color, to resolve the CPR routes to | where N is the next hop and C is the color, to resolve the CPR routes to | |||
intent-aware intra-domain paths. For transit domains which do not | intent-aware intra-domain paths. For transit domains that do not | |||
support the CPR mechanism, the border nodes would ignore the color | support the CPR mechanism, the border nodes would ignore the Color | |||
extended community and resolve the CPR routes over a best-effort | Extended Community and resolve the CPR routes over a best-effort | |||
intra-domain path to the next-hop N, while the CPR route will be | intra-domain path to the next-hop N, while the CPR route will be | |||
advertised further to the downstream domains with only the next-hop | advertised further to the downstream domains with only the next hop | |||
changed to itself. This allows the CPR routes to be resolved to | changed to itself. This allows the CPR routes to resolve to | |||
intent-aware intra-domain paths in any autonomous systems that support | intent-aware intra-domain paths in any autonomous systems that support | |||
the CPR mechanism, while can fall back to resolve over best-effort | the CPR mechanism, while the CPR routes can fall back to resolve over best | |||
intra-domain path in the legacy autonomous systems.</t> | -effort intra-domain paths in the legacy autonomous systems. | |||
</t> | ||||
<t>There may be multiple inter-domain links between the adjacent | <t>There may be multiple inter-domain links between the adjacent | |||
autonomous systems, and a border node BGP speaker may receive CPR routes | autonomous systems, and a border node BGP speaker may receive CPR routes | |||
from multiple peering BGP speakers in another domain via EBGP. The local | from multiple peering BGP speakers in another domain via External BGP (EBG P). The local | |||
policy of a BGP speaker may take the attributes of the inter-domain | policy of a BGP speaker may take the attributes of the inter-domain | |||
links and the attributes of the received CPR routes into consideration | links and the attributes of the received CPR routes into consideration | |||
when selecting the best path for specific Colored Prefixes to better | when selecting the best path for specific Colored Prefixes to better | |||
meet the intent. The detailed local policy is outside the scope of this | meet the intent. The detailed local policy is outside the scope of this | |||
document. In a multi-AS environment, the policy of BGP speakers in | document. In a multi-AS environment, the policy of BGP speakers in | |||
different domains needs to be consistent.</t> | different domains needs to be consistent.</t> | |||
<t>In this document, the IPv6 Unicast Address Family is used for the | ||||
<t>In this document, IPv6 Unicast Address Family is used for the | ||||
advertisement of IPv6 Colored Prefixes. The primary advantage of this | advertisement of IPv6 Colored Prefixes. The primary advantage of this | |||
approach is the improved interoperability with legacy networks that lack | approach is the improved interoperability with legacy networks that lack | |||
support for intent-aware paths, and the facilitation of incremental | support for intent-aware paths, and the facilitation of incremental | |||
deployment of intent-aware routing mechanisms. One potential concern | deployment of intent-aware routing mechanisms. One potential concern | |||
arises regarding the necessity of separating Colored Prefixes from | arises regarding the need to separate Colored Prefixes from | |||
public IPv6 unicast routes. Since the IP prefixes and SRv6 locators of | public IPv6 unicast routes. Because the IP prefixes and SRv6 locators of | |||
network infrastructure are usually advertised as part of the IP unicast | network infrastructure are usually advertised as part of the IP unicast | |||
routes, and appropriate filters are configured at the boundaries of | routes, and appropriate filters are configured at the boundaries of | |||
network administration, this is not considered to be a significant | network administration, this concern is not considered to be a significant | |||
issue. <xref target="RFC9602"/> allocates the prefix 5f00::/16 for SRv6 | issue. <xref target="RFC9602" format="default"/> allocates the prefix 5f00 | |||
SIDs, by common agreement among participants in the trusted domain, the | ::/16 for SRv6 | |||
SIDs. By common agreement among participants in the trusted domain, the | ||||
filters can be configured to by default drop all traffic from 5f00::/16 | filters can be configured to by default drop all traffic from 5f00::/16 | |||
but permit the colored prefixes in use in these domains. The proposal in | but permit the Colored Prefixes in use in these domains. The proposal in | |||
<xref target="I-D.ietf-idr-bgp-car"/> provides a complementary solution | <xref target="BGP-CAR" format="default"/> provides a complementary solutio | |||
n | ||||
that is also based on the notion of color indicating the intent and | that is also based on the notion of color indicating the intent and | |||
where the SRv6 Locator prefix itself signifies the intent, the | where the SRv6 Locator prefix itself signifies the intent; the | |||
difference is that a separate SAFI is used.</t> | difference is that a separate SAFI is used.</t> | |||
<t><xref target="I-D.ietf-idr-bgp-ct" format="default"/> describes another | ||||
<t><xref target="I-D.ietf-idr-bgp-ct"/> describes another mechanism for | mechanism for | |||
intent-aware routing, in which the SRv6 service SIDs are not directly | intent-aware routing, in which the SRv6 service SIDs are not directly | |||
associated with the intent, while additional SRv6 transport SIDs are | associated with the intent (additional SRv6 transport SIDs are | |||
required for steering traffic to the inter-domain intent-aware paths, | required to steer traffic to the inter-domain intent-aware paths), | |||
and an SRv6 operation similar to MPLS label swapping is needed on the | and an SRv6 operation similar to MPLS label swapping is needed on the | |||
border nodes of autonomous systems.</t> | border nodes of autonomous systems.</t> | |||
</section> | </section> | |||
<section anchor="IANA" numbered="true" toc="default"> | ||||
<section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
<t>This document makes no request of IANA.</t> | <t>This document has no IANA actions.</t> | |||
</section> | </section> | |||
<section anchor="Security" numbered="true" toc="default"> | ||||
<section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
<t>The mechanism described in this document provides an approach for | <t>The mechanism described in this document provides an approach for | |||
inter-domain intent-aware routing based on existing BGP protocol | inter-domain intent-aware routing based on existing BGP protocol | |||
mechanisms. The existing BGP IPv6 Unicast Address Family and existing | mechanisms. The existing BGP IPv6 Unicast Address Family and existing | |||
Color extended community are reused without further BGP extensions. With | Color Extended Community are reused without further BGP extensions. With | |||
this approach, the number of IPv6 Colored Prefixes advertised by PE | this approach, the number of IPv6 Colored Prefixes advertised by PE | |||
nodes is in proportion to the number of intents it supports. This may | nodes is proportionate to the number of intents it supports. This may | |||
introduce additional routes to BGP IPv6 routing table. While since these | introduce additional routes to the BGP IPv6 routing table. Because these | |||
are infrastructure routes, the amount of Colored Prefixes is only a | are infrastructure routes, the number of Colored Prefixes is only a | |||
small portion of the total amount of IPv6 prefixes. Thus it is | small portion of the total amount of IPv6 prefixes. Thus, | |||
considered that the impact to the required routing table size is | the impact to the required routing table size is considered | |||
acceptable.</t> | acceptable.</t> | |||
<t>As the CPR routes are distributed across multiple ASes that belong | ||||
<t>As the CPR routes are distributed across multiple ASes which belong | ||||
to a trusted domain, the mapping relationship between the intent and the | to a trusted domain, the mapping relationship between the intent and the | |||
IPv6 Colored Prefixes are observable to BGP nodes in those ASes. It is | IPv6 Colored Prefixes are observable to BGP nodes in those ASes. It is | |||
possible for an on-path attacker in the trusted domain to identify | possible for an on-path attacker in the trusted domain to identify | |||
packets associated with a particular intent.</t> | packets associated with a particular intent.</t> | |||
<t>The security considerations as described in <xref target="RFC4271" form | ||||
<t>The security considerations as described in <xref target="RFC4271"/> | at="default"/>, | |||
<xref target="RFC4272"/> and <xref target="RFC8754"/> apply to this | <xref target="RFC4272" format="default"/> and <xref target="RFC8754" for | |||
mat="default"/> apply to this | ||||
document.</t> | document.</t> | |||
</section> | </section> | |||
<section title="Contributing Authors"> | </middle> | |||
<t>The following people contributed significantly to the content of this | <back> | |||
document and should be considered co-authors:</t> | <displayreference target="I-D.ietf-idr-bgp-ct" to="BGP-CT"/> | |||
<t><figure> | <displayreference target="I-D.hr-spring-intentaware-routing-using-color" to="INT | |||
<artwork><![CDATA[Xinjun Chen | ENTAWARE"/> | |||
ifocus.chen@huawei.com | <displayreference target="I-D.ietf-spring-srv6-mpls-interworking" to="SRv6-INTER | |||
WORK"/> | ||||
Jingrong Xie | <references> | |||
xiejingrong@huawei.com | <name>References</name> | |||
<references> | ||||
<name>Normative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
271.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
545.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
272.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
402.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
754.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
986.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
012.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
252.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
256.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
Zhenqiang Li | <!-- [I-D.hr-spring-intentaware-routing-using-color] | |||
li_zhenqiang@hotmail.com | IESG State: I-D Exists | |||
]]></artwork> | --> | |||
</figure></t> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D. | |||
</section> | hr-spring-intentaware-routing-using-color.xml"/> | |||
<section anchor="Acknowledgements" title="Acknowledgements"> | <!-- [I-D.ietf-spring-srv6-mpls-interworking] | |||
<t>The authors would like to thank Shunwan Zhuang, Zhibo Hu, Zhenbin Li, | IESG State: Expired | |||
Dhananjaya Rao and Dhruv Dhody for the review and valuable | --> | |||
discussion.</t> | ||||
</section> | ||||
</middle> | ||||
<back> | <reference anchor="I-D.ietf-spring-srv6-mpls-interworking" target="https://datat | |||
<references title="Normative References"> | racker.ietf.org/doc/html/draft-ietf-spring-srv6-mpls-interworking-00"> | |||
<?rfc include='reference.RFC.4271'?> | <front> | |||
<title>SRv6 and MPLS interworking</title> | ||||
<author initials="S." surname="Agrawal" fullname="Swadesh Agrawal" role="e | ||||
ditor"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author initials="C." surname="Filsfils" fullname="Clarence Filsfils"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author initials="D." surname="Voyer" fullname="Daniel Voyer"> | ||||
<organization>Bell Canada</organization> | ||||
</author> | ||||
<author initials="G." surname="Dawra" fullname="Gaurav Dawra"> | ||||
<organization>LinkedIn</organization> | ||||
</author> | ||||
<author initials="Z." surname="Li" fullname="Zhenbin Li"> | ||||
<organization>Huawei Technologies</organization> | ||||
</author> | ||||
<author initials="S." surname="Hegde" fullname="Shraddha Hegde"> | ||||
<organization>Juniper Networks</organization> | ||||
</author> | ||||
<date month="October" day="17" year="2024" /> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-mpls-interwor | ||||
king-00" /> | ||||
</reference> | ||||
<?rfc include='reference.RFC.2545'?> | <!-- [I-D.ietf-idr-bgp-car] | |||
IESG State: RFC ED Queue | ||||
--> | ||||
<?rfc include='reference.RFC.4272'?> | <reference anchor="BGP-CAR" target="https://datatracker.ietf.org/doc/html/draft- | |||
ietf-idr-bgp-car-16"> | ||||
<front> | ||||
<title>BGP Color-Aware Routing (CAR)</title> | ||||
<author initials="D." surname="Rao" fullname="Dhananjaya Rao" role="editor | ||||
"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author initials="S." surname="Agrawal" fullname="Swadesh Agrawal" role="e | ||||
ditor"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<date month="February" day="20" year="2025" /> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-car-16" /> | ||||
<?rfc include='reference.RFC.8402'?> | </reference> | |||
<?rfc include='reference.RFC.8754'?> | <!-- [I-D.ietf-idr-bgp-ct] | |||
IESG State: RFC Ed Queue | ||||
--> | ||||
<?rfc include='reference.RFC.8986'?> | <reference anchor="I-D.ietf-idr-bgp-ct" target="https://datatracker.ietf.org/doc | |||
/html/draft-ietf-idr-bgp-ct-39"> | ||||
<front> | ||||
<title>BGP Classful Transport Planes</title> | ||||
<author initials="K." surname="Vairavakkalai" fullname="Kaliraj Vairavakka | ||||
lai" role="editor"> | ||||
<organization>Juniper Networks, Inc.</organization> | ||||
</author> | ||||
<author initials="N." surname="Venkataraman" fullname="Natrajan Venkataram | ||||
an" role="editor"> | ||||
<organization>Juniper Networks, Inc.</organization> | ||||
</author> | ||||
<date month="February" day="28" year="2025" /> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-ct-39" /> | ||||
<?rfc include='reference.RFC.9012'?> | </reference> | |||
<?rfc include='reference.RFC.9252'?> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | |||
031.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | ||||
032.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | ||||
798.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
277.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
660.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
602.xml"/> | ||||
<?rfc include='reference.RFC.9256'?> | </references> | |||
</references> | </references> | |||
<references title="Informative References"> | <section anchor="Acknowledgements" numbered="false" toc="default"> | |||
<?rfc include='reference.I-D.hr-spring-intentaware-routing-using-color'?> | <name>Acknowledgements</name> | |||
<t>The authors would like to thank <contact fullname="Shunwan Zhuang"/>, | ||||
<?rfc include='reference.I-D.ietf-spring-srv6-mpls-interworking'?> | <contact fullname="Zhibo Hu"/>, <contact fullname="Zhenbin Li"/>, | |||
<contact fullname="Dhananjaya Rao"/>, and <contact fullname="Dhruv | ||||
<?rfc include='reference.I-D.ietf-idr-bgp-car'?> | Dhody"/> for their reviews and valuable discussion.</t> | |||
</section> | ||||
<?rfc include='reference.I-D.ietf-idr-bgp-ct'?> | ||||
<?rfc include='reference.RFC.3031'?> | <section anchor="contribs" numbered="false" toc="default"> | |||
<name>Contributors</name> | ||||
<t>The following people contributed significantly to the content of this | ||||
document and should be considered co-authors:</t> | ||||
<?rfc include='reference.RFC.3032'?> | <contact fullname="Xinjun Chen"> | |||
<address> | ||||
<email>ifocus.chen@huawei.com</email> | ||||
</address> | ||||
</contact> | ||||
<?rfc include='reference.RFC.4798'?> | <contact fullname="Jingrong Xie"> | |||
<address> | ||||
<email>xiejingrong@huawei.com</email> | ||||
</address> | ||||
</contact> | ||||
<?rfc include='reference.RFC.8277'?> | <contact fullname="Zhenqiang Li"> | |||
<address> | ||||
<email>li_zhenqiang@hotmail.com</email> | ||||
</address> | ||||
</contact> | ||||
<?rfc include='reference.RFC.8660'?> | </section> | |||
<?rfc include='reference.RFC.9602'?> | ||||
</references> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 144 change blocks. | ||||
354 lines changed or deleted | 396 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |