rfc8770.original.v2v3.xml | rfc8770.form.xml | |||
---|---|---|---|---|
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" docName="d | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" | |||
raft-ietf-ospf-ospfv2-hbit-12" category="std" updates="6987" ipr="trust200902" o | consensus="true" docName="draft-ietf-ospf-ospfv2-hbit-12" number="0000" cat | |||
bsoletes="" xml:lang="en" sortRefs="true" symRefs="true" tocInclude="true" versi | egory="std" updates="6987" ipr="trust200902" obsoletes="" xml:lang="en" sortRefs | |||
on="3"> | ="true" symRefs="true" tocInclude="true" version="3"> | |||
<!-- xml2rfc v2v3 conversion 2.39.0 --> | <!-- xml2rfc v2v3 conversion 2.39.0 --> | |||
<!-- Generated by id2xml 1.5.0 on 2020-02-12T16:52:09Z --> | <!-- Generated by id2xml 1.5.0 on 2020-02-12T16:52:09Z --> | |||
<front> | <front> | |||
<title>Host Router Support for OSPFv2</title> | <title>Host Router Support for OSPFv2</title> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-ospf-ospfv2-hbit-12"/> | <seriesInfo name="RFC" value="0000"/> | |||
<author fullname="Keyur Patel" initials="K." surname="Patel"> | <author fullname="Keyur Patel" initials="K." surname="Patel"> | |||
<organization>Arrcus</organization> | <organization>Arrcus</organization> | |||
<address> | <address> | |||
<email>keyur@arrcus.com</email> | <email>keyur@arrcus.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Padma Pillay-Esnault" initials="P." surname="Pillay-Esnaul t"> | <author fullname="Padma Pillay-Esnault" initials="P." surname="Pillay-Esnaul t"> | |||
<organization>PPE Consulting</organization> | <organization>PPE Consulting</organization> | |||
<address> | <address> | |||
<email>padma.ietf@gmail.com</email> | <email>padma.ietf@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Manish Bhardwaj" initials="M." surname="Bhardwaj"> | <author fullname="Manish Bhardwaj" initials="M." surname="Bhardwaj"> | |||
<organization>Cisco Systems</organization> | <organization>Cisco Systems</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>170 W. Tasman Drive</street> | <street>170 W. Tasman Drive</street> | |||
<street>San Jose, CA 95134</street> | <city>San Jose</city> | |||
<street>USA</street> | <region>CA</region> | |||
<code>95134</code> | ||||
<country>United States of America</country> | ||||
</postal> | </postal> | |||
<email>manbhard@cisco.com</email> | <email>manbhard@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Serpil Bayraktar" initials="S." surname="Bayraktar"> | <author fullname="Serpil Bayraktar" initials="S." surname="Bayraktar"> | |||
<organization>Cisco Systems</organization> | <organization>Cisco Systems</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>170 W. Tasman Drive</street> | <street>170 W. Tasman Drive</street> | |||
<street>San Jose, CA 95134</street> | <city>San Jose</city> | |||
<street>USA</street> | <region>CA</region> | |||
<code>95134</code> | ||||
<country>United States of America</country> | ||||
</postal> | </postal> | |||
<email>serpil@cisco.com</email> | <email>serpil@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date day="18" month="December" year="2019"/> | <date month="March" year="2020"/> | |||
<workgroup>OSPF</workgroup> | <workgroup>OSPF</workgroup> | |||
<abstract> | <abstract> | |||
<t> | <t> | |||
The Open Shortest Path First Version 2 (OSPFv2) protocol does not | The Open Shortest Path First Version 2 (OSPFv2) protocol does not | |||
have a mechanism for a node to repel transit traffic if it is on the | have a mechanism for a node to repel transit traffic if it is on the | |||
shortest path. This document defines a bit (Host-bit) that enables a | shortest path. This document defines a bit (Host-bit) that enables a | |||
router to advertise that it is a non-transit router. It also | router to advertise that it is a non-transit router. It also | |||
describes the changes needed to support the H-bit in the domain. In | describes the changes needed to support the H-bit in the domain. In | |||
addition, this document updates RFC 6987 to advertise type-2 External | addition, this document updates RFC 6987 to advertise type-2 External | |||
and Not-So-Stubby-Area (NSSA) Link State Advertisements (LSAs) with a | and Not-So-Stubby-Area (NSSA) Link State Advertisements (LSAs) with a | |||
skipping to change at line 85 ¶ | skipping to change at line 90 ¶ | |||
to participate in the topology.</li> | to participate in the topology.</li> | |||
<li>Overloaded routers could use such a capability to temporarily | <li>Overloaded routers could use such a capability to temporarily | |||
repel traffic until they stabilize.</li> | repel traffic until they stabilize.</li> | |||
<li>BGP Route reflectors known as virtual Route Reflectors (vRRs), | <li>BGP Route reflectors known as virtual Route Reflectors (vRRs), | |||
that are not in the forwarding path but are in central locations | that are not in the forwarding path but are in central locations | |||
such as data centers. Such Route Reflectors typically are used | such as data centers. Such Route Reflectors typically are used | |||
for route distribution and are not capable of forwarding transit | for route distribution and are not capable of forwarding transit | |||
traffic. However, they need to learn the OSPF topology to | traffic. However, they need to learn the OSPF topology to | |||
perform SPF computation for optimal routes and reachability | perform SPF computation for optimal routes and reachability | |||
resolution for its clients | resolution for its clients | |||
<xref target="I-D.ietf-idr-bgp-optimal-route-reflection" format="default" />.</li> | <xref target="BGP-ORR" format="default"/>.</li> | |||
</ol> | </ol> | |||
<t> | <t> | |||
This document describes the Host-bit (H-bit) functionality that | This document describes the Host-bit (H-bit) functionality that | |||
prevents other OSPFv2 routers from using the host router by excluding | prevents other OSPFv2 routers from using the host router by excluding | |||
it in path calculations for transit traffic in OSPFv2 routing | it in path calculations for transit traffic in OSPFv2 routing | |||
domains. If the H-bit is set then the calculation of the shortest- | domains. If the H-bit is set then the calculation of the shortest- | |||
path tree for an area, as described in section 16.1 of <xref target="RFC2328" format="default"/>, is | path tree for an area, as described in <xref target="RFC2328" sectionFormat=" of" section="16.1"/>, is | |||
modified by including a check to verify that transit vertices DO NOT | modified by including a check to verify that transit vertices DO NOT | |||
have the H-bit set (see <xref target="sect-4" format="default"/>). Furthermo re, in order to repel | have the H-bit set (see <xref target="sect-4" format="default"/>). Furthermo re, in order to repel | |||
traffic effectively, <xref target="RFC6987" format="default"/> is updated so that type-2 External and | traffic effectively, <xref target="RFC6987" format="default"/> is updated so that type-2 External and | |||
NSSA LSAs are advertised with a high cost (see <xref target="sect-6" format=" default"/>). Open | NSSA LSAs are advertised with a high cost (see <xref target="sect-6" format=" default"/>). Open | |||
Shortest Path First Version 3 defines an option bit for router-LSAs | Shortest Path First Version 3 defines an option bit for router-LSAs | |||
known as the R-bit in <xref target="RFC5340" format="default"/> to support a similar functionality.</t> | known as the R-bit in <xref target="RFC5340" format="default"/> to support a similar functionality.</t> | |||
</section> | </section> | |||
<section anchor="sect-2" numbered="true" toc="default"> | <section anchor="sect-2" numbered="true" toc="default"> | |||
<name>Requirements Language</name> | <name>Requirements Language</name> | |||
<t> | <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "<bcp14>SHOULD NOT</bcp14>", | |||
14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="d | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
efault"/> when, and only when, they appear in all | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document | |||
capitals, as shown here.</t> | are to be interpreted as described in BCP 14 | |||
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | ||||
when, they appear in all capitals, as shown here.</t> | ||||
</section> | </section> | |||
<section anchor="sect-3" numbered="true" toc="default"> | <section anchor="sect-3" numbered="true" toc="default"> | |||
<name>Host-bit Support</name> | <name>Host-bit Support</name> | |||
<t> | <t> | |||
This document defines a new router-LSA bit known as the Host Bit or | This document defines a new router-LSA bit known as the Host Bit or | |||
the H-bit. An OSPFv2 router advertising a router-LSA with the H-bit | the H-bit. An OSPFv2 router advertising a router-LSA with the H-bit | |||
set indicates that it MUST NOT be used as a transit router (see | set indicates that it <bcp14>MUST NOT</bcp14> be used as a transit router (se e | |||
<xref target="sect-4" format="default"/>) by other OSPFv2 routers in the area supporting the | <xref target="sect-4" format="default"/>) by other OSPFv2 routers in the area supporting the | |||
functionality.</t> | functionality.</t> | |||
<t> | <t> | |||
If the H-bit is not set then backwards compatibility is achieved as | If the H-bit is not set then backwards compatibility is achieved as | |||
the behavior will be the same as in <xref target="RFC2328" format="default"/> .</t> | the behavior will be the same as in <xref target="RFC2328" format="default"/> .</t> | |||
<figure anchor="ure-ospf-router-lsa"> | <figure anchor="ure-ospf-router-lsa"> | |||
<name>OSPF Router-LSA</name> | <name>OSPF Router-LSA</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
skipping to change at line 152 ¶ | skipping to change at line 160 ¶ | |||
| Type | # TOS | metric | | | Type | # TOS | metric | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TOS | 0 | TOS metric | | | TOS | 0 | TOS metric | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Link ID | | | Link ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Link Data | | | Link Data | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... | | | ... |]]></artwor | |||
]]></artwork> | k> | |||
</figure> | </figure> | |||
<dl newline="true" spacing="normal" indent="-1"> | <t>Bit H is the high-order bit of the OSPF flags as shown below.</t> | |||
<dt>Bit H is the high-order bit of the OSPF flags as shown below.</dt> | ||||
<dd/> | ||||
</dl> | ||||
<figure anchor="ure-ospf-router-lsa-option-bits"> | <figure anchor="ure-ospf-router-lsa-option-bits"> | |||
<name>OSPF Router-LSA Option bits</name> | <name>OSPF Router-LSA Option bits</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|H|0|0|N|W|V|E|B| | |H|0|0|N|W|V|E|B| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+]]></artwork> | |||
]]></artwork> | ||||
</figure> | </figure> | |||
<t> | <t> | |||
When the H-bit is set, the OSPFv2 router is a Host (non-transit) | When the H-bit is set, the OSPFv2 router is a Host (non-transit) | |||
router and is incapable of forwarding transit traffic. In this mode, | router and is incapable of forwarding transit traffic. In this mode, | |||
the other OSPFv2 routers in the area MUST NOT use the host router for | the other OSPFv2 routers in the area <bcp14>MUST NOT</bcp14> use the host rou ter for | |||
transit traffic, but may send traffic to its local destinations.</t> | transit traffic, but may send traffic to its local destinations.</t> | |||
<t> | <t> | |||
An OSPFv2 router originating a router-LSA with the H-bit set MUST | An OSPFv2 router originating a router-LSA with the H-bit set <bcp14>MUST</bcp 14> | |||
advertise all its non-stub links with a link cost of MaxLinkMetric | advertise all its non-stub links with a link cost of MaxLinkMetric | |||
<xref target="RFC6987" format="default"/>.</t> | <xref target="RFC6987" format="default"/>.</t> | |||
<t> | <t> | |||
When the H-bit is set, an Area Border Router (ABR) MUST advertise the | When the H-bit is set, an Area Border Router (ABR) <bcp14>MUST</bcp14> advert ise the | |||
same H-bit setting in its self-originated router-LSAs for all | same H-bit setting in its self-originated router-LSAs for all | |||
attached areas. The consistency of the setting will prevent inter- | attached areas. The consistency of the setting will prevent inter- | |||
area traffic transiting through the router by suppressing | area traffic transiting through the router by suppressing | |||
advertisement of prefixes from other routers in the area in its | advertisement of prefixes from other routers in the area in its | |||
summary LSAs. Only IPv4 prefixes associated with its local | summary LSAs. Only IPv4 prefixes associated with its local | |||
interfaces MUST be advertised in summary-LSAs to provide reachability | interfaces <bcp14>MUST</bcp14> be advertised in summary-LSAs to provide reach ability | |||
to end hosts attached to a router with the H-bit set.</t> | to end hosts attached to a router with the H-bit set.</t> | |||
<t> | <t> | |||
When the H-bit is set the host router cannot act as an AS Boundary | When the H-bit is set the host router cannot act as an AS Boundary | |||
Router (ASBR). Indeed, ASBR are transit routers to prefixes that are | Router (ASBR). Indeed, ASBR are transit routers to prefixes that are | |||
typically imported through redistribution of prefixes from other | typically imported through redistribution of prefixes from other | |||
routing protocols. Therefore, non-local IPv4 prefixes, e.g., those | routing protocols. Therefore, non-local IPv4 prefixes, e.g., those | |||
imported from other routing protocols, SHOULD NOT be advertised in | imported from other routing protocols, <bcp14>SHOULD NOT</bcp14> be advertise d in | |||
AS-external-LSAs if the H-bit is set. Some use cases, such as an | AS-external-LSAs if the H-bit is set. Some use cases, such as an | |||
overloaded router or a router being gracefully isolated, may benefit | overloaded router or a router being gracefully isolated, may benefit | |||
from continued advertisement of non-local prefixes. In these cases, | from continued advertisement of non-local prefixes. In these cases, | |||
the type 2-metric in AS-external-LSAs MUST be set to LSInfinity to | the type 2-metric in AS-external-LSAs <bcp14>MUST</bcp14> be set to LSInfinit | |||
repel traffic.(see Section 6 of this document).</t> | y to | |||
repel traffic.(see <xref target="sect-6"/> of this document).</t> | ||||
</section> | </section> | |||
<section anchor="sect-4" numbered="true" toc="default"> | <section anchor="sect-4" numbered="true" toc="default"> | |||
<name>SPF Modifications</name> | <name>SPF Modifications</name> | |||
<t> | <t> | |||
The SPF calculation described in section 16.1 <xref target="RFC2328" format=" | The SPF calculation described in <xref target="RFC2328" sectionFormat="of" | |||
default"/> will be | section="16.1"/> will be | |||
modified to ensure that the routers originating router-LSAs with the | modified to ensure that the routers originating router-LSAs with the | |||
H-bit set will not be used for transit traffic. The Step 2 is | H-bit set will not be used for transit traffic. The Step 2 is | |||
modified to include a check on H-bit as shown below. (Please note | modified to include a check on H-bit as shown below. (Please note | |||
all the sub-procedures of Step 2 remain unchanged and not included in | all the sub-procedures of Step 2 remain unchanged and not included in | |||
the excerpt below.)</t> | the excerpt below.)</t> | |||
<ul empty="true" spacing="normal"> | <ul empty="true" spacing="normal"> | |||
<li> | <li> | |||
<dl newline="true" spacing="normal" indent="3"> | <dl newline="false" spacing="normal" indent="4"> | |||
<dt>2) Call the vertex just added to the</dt> | <dt>2)</dt><dd>Call the vertex just added to the | |||
<dd> | ||||
tree vertex V. Examine the LSA | tree vertex V. Examine the LSA | |||
associated with vertex V. This is | associated with vertex V. This is | |||
a lookup in the Area A's link state | a lookup in the Area A's link state | |||
database based on the Vertex ID. If | database based on the Vertex ID. If | |||
this is a router-LSA, and the H-bit | this is a router-LSA, and the H-bit | |||
of the router-LSA is set, and | of the router-LSA is set, and | |||
vertex V is not the root, then the | vertex V is not the root, then the | |||
router should not be used for transit | router should not be used for transit | |||
and step (3) should be executed | and step (3) should be executed | |||
immediately. If this is a router-LSA, | immediately. If this is a router-LSA, | |||
and bit V of the router-LSA (see | and bit V of the router-LSA (see | |||
Section A.4.2) is set, set Area A's | Section A.4.2) is set, set Area A's | |||
TransitCapability to TRUE. In any case, | TransitCapability to TRUE. In any case, | |||
each link described by the LSA gives | each link described by the LSA gives | |||
the cost to an adjacent vertex. For | the cost to an adjacent vertex. For | |||
each described link, (say it joins | each described link, (say it joins | |||
vertex V to vertex W): | vertex V to vertex W):</dd> | |||
</dd> | ||||
</dl> | </dl> | |||
</li> | </li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section anchor="sect-5" numbered="true" toc="default"> | <section anchor="sect-5" numbered="true" toc="default"> | |||
<name>Auto Discovery and Backward Compatibility</name> | <name>Auto Discovery and Backward Compatibility</name> | |||
<t> | <t> | |||
To reduce the possibility of any routing loops due to partial | To reduce the possibility of any routing loops due to partial | |||
deployment, this document defines an OSPF Router Information (RI) LSA | deployment, this document defines an OSPF Router Information (RI) LSA | |||
<xref target="RFC7770" format="default"/> capability. The RI LSA MUST be are | <xref target="RFC7770" format="default"/> capability. The RI LSA <bcp14>MUST | |||
a-scoped. Bit:</t> | </bcp14> be area-scoped. Bit:</t> | |||
<ul empty="true" spacing="normal"> | ||||
<li> | <table anchor="tab-1"> | |||
<dl newline="false" spacing="normal" indent="-1"> | <name>OSPF Router Information LSA Capabilities</name> | |||
<dt>Bit</dt> | <thead> | |||
<dd> | <tr> | |||
<t> | <th>Bit</th> | |||
Capabilities | <th align="center">Capabilities</th> | |||
</t> | </tr> | |||
<ul empty="true" spacing="normal"> | </thead> | |||
<li> 7 Host Router Support capability</li> | <tbody> | |||
</ul> | <tr> | |||
</dd> | <td align="center">7</td> | |||
</dl> | <td>Host Router Support capability</td> | |||
</li> | </tr> | |||
</ul> | </tbody> | |||
<dl newline="false" spacing="normal" indent="7"> | </table> | |||
<dt/> | ||||
<dd> | ||||
Table 1: OSPF Router Information LSA Capabilities</dd> | ||||
</dl> | ||||
<t> | <t> | |||
Auto Discovery via announcement of the Host Router Support Capability | Auto Discovery via announcement of the Host Router Support Capability | |||
ensures that the H-bit functionality and its associated SPF changes | ensures that the H-bit functionality and its associated SPF changes | |||
MUST only take effect if all the routers in a given OSPF area support | <bcp14>MUST</bcp14> only take effect if all the routers in a given OSPF area support | |||
this functionality.</t> | this functionality.</t> | |||
<t> | <t> | |||
In normal operation, it is possible that the RI LSA will fail to | In normal operation, it is possible that the RI LSA will fail to | |||
reach all routers in an area in a timely manner. For example, if a | reach all routers in an area in a timely manner. For example, if a | |||
new router without H-bit support joins an area that previously had | new router without H-bit support joins an area that previously had | |||
only H-bit capable routers with H-bit set then it may take some time | only H-bit capable routers with H-bit set then it may take some time | |||
for the RI to propagate to all routers. While it is propagating, the | for the RI to propagate to all routers. While it is propagating, the | |||
routers in the area will gradually detect the presence of a router | routers in the area will gradually detect the presence of a router | |||
not supporting the capability and revert back to normal SPF | not supporting the capability and revert back to normal SPF | |||
calculation. During the propagation time, the area as a whole is | calculation. During the propagation time, the area as a whole is | |||
unsure of the status of the new router, and that can cause temporary | unsure of the status of the new router, and that can cause temporary | |||
transient loops.</t> | transient loops.</t> | |||
<t> | <t> | |||
The following recommendations will mitigate transient routing loops:</t> | The following recommendations will mitigate transient routing loops:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Implementations are RECOMMENDED to provide a configuration | <li>Implementations are <bcp14>RECOMMENDED</bcp14> to provide a configur ation | |||
parameter to manually override enforcement of the H-bit | parameter to manually override enforcement of the H-bit | |||
functionality in partial deployments where the topology guarantees | functionality in partial deployments where the topology guarantees | |||
that OSPFv2 routers not supporting the H-bit do not compute routes | that OSPFv2 routers not supporting the H-bit do not compute routes | |||
resulting in routing loops.</li> | resulting in routing loops.</li> | |||
<li>All routers with the H-bit set MUST advertise all of the router's | <li>All routers with the H-bit set <bcp14>MUST</bcp14> advertise all of the router's | |||
non-stub links with a metric equal to MaxLinkMetric <xref target="RFC6987" format="default"/> in | non-stub links with a metric equal to MaxLinkMetric <xref target="RFC6987" format="default"/> in | |||
its LSAs in order to avoid OSPFv2 (unless last resort) routers not | its LSAs in order to avoid OSPFv2 (unless last resort) routers not | |||
supporting the H-bit from attempting to use it for transit | supporting the H-bit from attempting to use it for transit | |||
traffic.</li> | traffic.</li> | |||
<li>All routers supporting the H-Bit MUST check the RI LSAs of all | <li>All routers supporting the H-Bit <bcp14>MUST</bcp14> check the RI LS As of all | |||
nodes in the area to verify that all nodes support the H-Bit | nodes in the area to verify that all nodes support the H-Bit | |||
before actively using the H-Bit feature. If any router does not | before actively using the H-Bit feature. If any router does not | |||
advertise the Host Router Support capability then the SPF | advertise the Host Router Support capability then the SPF | |||
Modifications (<xref target="sect-4" format="default"/>) MUST NOT be used in the area.</li> | Modifications (<xref target="sect-4" format="default"/>) <bcp14>MUST NOT</ bcp14> be used in the area.</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section anchor="sect-6" numbered="true" toc="default"> | <section anchor="sect-6" numbered="true" toc="default"> | |||
<name>OSPF AS-External-LSAs/NSSA LSAs with Type 2 Metrics</name> | <name>OSPF AS-External-LSAs/NSSA LSAs with Type 2 Metrics</name> | |||
<t> | <t> | |||
When calculating the path to a prefix in an OSPF AS-External-LSA or | When calculating the path to a prefix in an OSPF AS-External-LSA or | |||
NSSA-LSA <xref target="RFC3101" format="default"/> with a Type-2 metric, the advertised Type-2 metric | NSSA-LSA <xref target="RFC3101" format="default"/> with a Type-2 metric, the advertised Type-2 metric | |||
is taken as more significant than the OSPF intra-area or inter-area | is taken as more significant than the OSPF intra-area or inter-area | |||
path. Hence, advertising the links with MaxLinkMetric as specified | path. Hence, advertising the links with MaxLinkMetric as specified | |||
in <xref target="RFC6987" format="default"/> does not discourage transit traf fic when calculating AS | in <xref target="RFC6987" format="default"/> does not discourage transit traf fic when calculating AS | |||
external or NSSA routes with Type-2 metrics.</t> | external or NSSA routes with Type-2 metrics.</t> | |||
<t> | <t> | |||
Consequently, <xref target="RFC6987" format="default"/> is updated so that th e Type-2 metric in any | Consequently, <xref target="RFC6987" format="default"/> is updated so that th e Type-2 metric in any | |||
self-originated AS-External-LSAs or NSSA-LSAs is advertised as | self-originated AS-External-LSAs or NSSA-LSAs is advertised as | |||
LSInfinity-1 <xref target="RFC2328" format="default"/>. If the H-bit is set, then the Type-2 metric | LSInfinity-1 <xref target="RFC2328" format="default"/>. If the H-bit is set, then the Type-2 metric | |||
MUST be set to LSInfinity.</t> | <bcp14>MUST</bcp14> be set to LSInfinity.</t> | |||
</section> | </section> | |||
<section anchor="sect-7" numbered="true" toc="default"> | <section anchor="sect-7" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
<t> | <t> | |||
This document requests the IANA to assign the 0x80 value to the Host- | This document requests the IANA to assign the 0x80 value to the Host- | |||
Bit (H-bit)in the OSPFv2 Router Properties Registry</t> | Bit (H-bit)in the OSPFv2 Router Properties Registry</t> | |||
<ul empty="true" spacing="normal"> | ||||
<li> | <table anchor="tab-2"> | |||
<dl newline="false" spacing="normal" indent="-1"> | <name>H-Bit</name> | |||
<dt>Value</dt> | <thead> | |||
<dd> | <tr> | |||
<t> | <th>Value</th> | |||
Description Reference | <th>Description</th> | |||
</t> | <th>Reference</th> | |||
<t/> | </tr> | |||
</dd> | </thead> | |||
<dt>0x80</dt> | <tbody> | |||
<dd> | <tr> | |||
<t> | <td>0x80</td> | |||
Host (H-bit) This Document | <td>Host (H-bit)</td> | |||
</t> | <td>This Document</td> | |||
<t/> | </tr> | |||
</dd> | </tbody> | |||
</dl> | </table> | |||
</li> | ||||
</ul> | ||||
<t> | <t> | |||
This document requests the IANA to assign the Bit Number value of 7 | This document requests the IANA to assign the Bit Number value of 7 | |||
to the Host Router Support Capability in the OSPF Router | to the Host Router Support Capability in the OSPF Router | |||
Informational Capability Bits Registry.</t> | Informational Capability Bits Registry.</t> | |||
<ul empty="true" spacing="normal"> | ||||
<li> | <table anchor="tab-3"> | |||
<dl newline="false" spacing="normal" indent="3"> | <name>OSPF Host Router Capability Bit</name> | |||
<dt>Bit Number</dt> | <thead> | |||
<dd> | <tr> | |||
<t> | <th>Bit Number</th> | |||
Capability Name Reference | <th>Capability Name</th> | |||
</t> | <th>Reference</th> | |||
<t> | </tr> | |||
7 OSPF Host Router This Document | </thead> | |||
</t> | <tbody> | |||
</dd> | <tr> | |||
</dl> | <td align="center">7</td> | |||
</li> | <td>OSPF Host Router</td> | |||
</ul> | <td>This Document</td> | |||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="sect-8" numbered="true" toc="default"> | <section anchor="sect-8" numbered="true" toc="default"> | |||
<name>Security Considerations</name> | <name>Security Considerations</name> | |||
<t> | <t> | |||
This document introduces the H-bit which is a capability that | This document introduces the H-bit which is a capability that | |||
restricts the use of a router for transit, while only its local | restricts the use of a router for transit, while only its local | |||
destinations are reachable. This is a subset of the operations of a | destinations are reachable. This is a subset of the operations of a | |||
normal router and therefore should not introduce new security | normal router and therefore should not introduce new security | |||
considerations beyond those already known in OSPFv2 <xref target="RFC2328" fo rmat="default"/>. The | considerations beyond those already known in OSPFv2 <xref target="RFC2328" fo rmat="default"/>. The | |||
feature introduces the advertising of a host router capability | feature introduces the advertising of a host router capability | |||
skipping to change at line 397 ¶ | skipping to change at line 399 ¶ | |||
effectively partition the network. This case is indistinguishable | effectively partition the network. This case is indistinguishable | |||
from the normal case where the operator may consciously decide to | from the normal case where the operator may consciously decide to | |||
set the H-bit to perform maintenance on a router that is on the | set the H-bit to perform maintenance on a router that is on the | |||
only transit path. The OSPF protocol will continue to function | only transit path. The OSPF protocol will continue to function | |||
within the partitioned domains.</li> | within the partitioned domains.</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section anchor="sect-9" numbered="true" toc="default"> | <section anchor="sect-9" numbered="true" toc="default"> | |||
<name>Acknowledgements</name> | <name>Acknowledgements</name> | |||
<t> | <t> | |||
The authors would like to acknowledge Hasmit Grover for discovery of | The authors would like to acknowledge <contact fullname="Hasmit Grover"/> for | |||
the limitation in <xref target="RFC6987" format="default"/>, Acee Lindem, Abh | discovery of | |||
ay Roy, David Ward, | the limitation in <xref target="RFC6987" format="default"/>, <contact | |||
Burjiz Pithawala, and Michael Barnes for their comments.</t> | fullname="Acee Lindem"/>, <contact fullname="Abhay Roy"/>, <contact | |||
fullname="David Ward"/>, <contact fullname="Burjiz Pithawala"/>, and <contact | ||||
fullname="Michael Barnes"/> for their comments.</t> | ||||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<references> | <references> | |||
<name>References</name> | <name>References</name> | |||
<references> | <references> | |||
<name>Normative References</name> | <name>Normative References</name> | |||
<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2 | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. | |||
119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.21 | xml"/> | |||
19.xml"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2328. | |||
<front> | xml"/> | |||
<title>Key words for use in RFCs to Indicate Requirement Levels</tit | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6987. | |||
le> | xml"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC2119"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7770. | |||
<seriesInfo name="RFC" value="2119"/> | xml"/> | |||
<seriesInfo name="BCP" value="14"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. | |||
<author initials="S." surname="Bradner" fullname="S. Bradner"> | xml"/> | |||
<organization/> | ||||
</author> | ||||
<date year="1997" month="March"/> | ||||
<abstract> | ||||
<t>In many standards track documents several words are used to sig | ||||
nify the requirements in the specification. These words are often capitalized. | ||||
This document defines these words as they should be interpreted in IETF document | ||||
s. This document specifies an Internet Best Current Practices for the Internet | ||||
Community, and requests discussion and suggestions for improvements.</t> | ||||
</abstract> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="RFC2328" target="https://www.rfc-editor.org/info/rfc2 | ||||
328" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.23 | ||||
28.xml"> | ||||
<front> | ||||
<title>OSPF Version 2</title> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2328"/> | ||||
<seriesInfo name="RFC" value="2328"/> | ||||
<seriesInfo name="STD" value="54"/> | ||||
<author initials="J." surname="Moy" fullname="J. Moy"> | ||||
<organization/> | ||||
</author> | ||||
<date year="1998" month="April"/> | ||||
<abstract> | ||||
<t>This memo documents version 2 of the OSPF protocol. OSPF is a | ||||
link- state routing protocol. [STANDARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="RFC6987" target="https://www.rfc-editor.org/info/rfc6 | ||||
987" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.69 | ||||
87.xml"> | ||||
<front> | ||||
<title>OSPF Stub Router Advertisement</title> | ||||
<seriesInfo name="DOI" value="10.17487/RFC6987"/> | ||||
<seriesInfo name="RFC" value="6987"/> | ||||
<author initials="A." surname="Retana" fullname="A. Retana"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="L." surname="Nguyen" fullname="L. Nguyen"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="A." surname="Zinin" fullname="A. Zinin"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="R." surname="White" fullname="R. White"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="D." surname="McPherson" fullname="D. McPherson"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2013" month="September"/> | ||||
<abstract> | ||||
<t>This document describes a backward-compatible technique that ma | ||||
y be used by OSPF (Open Shortest Path First) implementations to advertise a rout | ||||
er's unavailability to forward transit traffic or to lower the preference level | ||||
for the paths through such a router.</t> | ||||
<t>This document obsoletes RFC 3137.</t> | ||||
</abstract> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="RFC7770" target="https://www.rfc-editor.org/info/rfc7 | ||||
770" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.77 | ||||
70.xml"> | ||||
<front> | ||||
<title>Extensions to OSPF for Advertising Optional Router Capabiliti | ||||
es</title> | ||||
<seriesInfo name="DOI" value="10.17487/RFC7770"/> | ||||
<seriesInfo name="RFC" value="7770"/> | ||||
<author initials="A." surname="Lindem" fullname="A. Lindem" role="ed | ||||
itor"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="N." surname="Shen" fullname="N. Shen"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="JP." surname="Vasseur" fullname="JP. Vasseur"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="R." surname="Aggarwal" fullname="R. Aggarwal"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="S." surname="Shaffer" fullname="S. Shaffer"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2016" month="February"/> | ||||
<abstract> | ||||
<t>It is useful for routers in an OSPFv2 or OSPFv3 routing domain | ||||
to know the capabilities of their neighbors and other routers in the routing dom | ||||
ain. This document proposes extensions to OSPFv2 and OSPFv3 for advertising opt | ||||
ional router capabilities. The Router Information (RI) Link State Advertisement | ||||
(LSA) is defined for this purpose. In OSPFv2, the RI LSA will be implemented w | ||||
ith an Opaque LSA type ID. In OSPFv3, the RI LSA will be implemented with a uni | ||||
que LSA type function code. In both protocols, the RI LSA can be advertised at | ||||
any of the defined flooding scopes (link, area, or autonomous system (AS)). Thi | ||||
s document obsoletes RFC 4970 by providing a revised specification that includes | ||||
support for advertisement of multiple instances of the RI LSA and a TLV for fun | ||||
ctional capabilities.</t> | ||||
</abstract> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8 | ||||
174" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.81 | ||||
74.xml"> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
tle> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
<seriesInfo name="RFC" value="8174"/> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<author initials="B." surname="Leiba" fullname="B. Leiba"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2017" month="May"/> | ||||
<abstract> | ||||
<t>RFC 2119 specifies common key words that may be used in protoco | ||||
l specifications. This document aims to reduce the ambiguity by clarifying tha | ||||
t only UPPERCASE usage of the key words have the defined special meanings.</t> | ||||
</abstract> | ||||
</front> | ||||
</reference> | ||||
</references> | </references> | |||
<references> | <references> | |||
<name>Informative References</name> | <name>Informative References</name> | |||
<reference anchor="I-D.ietf-idr-bgp-optimal-route-reflection" xml:base=" | ||||
https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-idr-b | <!-- draft-ietf-idr-bgp-optimal-route-reflection (I-D Exists) --> | |||
gp-optimal-route-reflection-19.xml" target="http://www.ietf.org/internet-drafts/ | <!-- Repository file missing "editor" entry, so have to do "long way" --> | |||
draft-ietf-idr-bgp-optimal-route-reflection-19.txt"> | <reference anchor="BGP-ORR" | |||
target="https://tools.ietf.org/html/draft-ietf-idr-bgp-optimal-route-reflection- | ||||
20"> | ||||
<front> | <front> | |||
<title>BGP Optimal Route Reflection (BGP-ORR)</title> | <title>BGP Optimal Route Reflection (BGP-ORR)</title> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-idr-bgp-optimal- | <seriesInfo name="Work in Progress, Internet-Draft," value="draft-ie | |||
route-reflection-19"/> | tf-idr-bgp-optimal-route-reflection-20"/> | |||
<author initials="R" surname="Raszuk" fullname="Robert Raszuk"> | <author initials="R" surname="Raszuk" fullname="Robert Raszuk" role= | |||
"editor"> | ||||
<organization/> | <organization/> | |||
</author> | </author> | |||
<author initials="C" surname="Cassar" fullname="Christian Cassar"> | <author initials="C" surname="Cassar" fullname="Christian Cassar"> | |||
<organization/> | <organization/> | |||
</author> | </author> | |||
<author initials="E" surname="Aman" fullname="Erik Aman"> | <author initials="E" surname="Aman" fullname="Erik Aman"> | |||
<organization/> | <organization/> | |||
</author> | </author> | |||
<author initials="B" surname="Decraene" fullname="Bruno Decraene"> | <author initials="B" surname="Decraene" fullname="Bruno Decraene"> | |||
<organization/> | <organization/> | |||
</author> | </author> | |||
<author initials="K" surname="Wang" fullname="Kevin Wang"> | <author initials="K" surname="Wang" fullname="Kevin Wang"> | |||
<organization/> | <organization/> | |||
</author> | </author> | |||
<date month="July" day="8" year="2019"/> | <date month="January" day="8" year="2020"/> | |||
<abstract> | ||||
<t>This document proposes a solution for BGP route reflectors to a | ||||
llow them to choose the best path for their clients that the clients themselves | ||||
would have chosen under the same conditions, without requiring further state or | ||||
any new features to be placed on the clients. This facilitates, for example, be | ||||
st exit point policy (hot potato routing). This solution is primarily applicabl | ||||
e in deployments using centralized route reflectors. The solution relies upon a | ||||
ll route reflectors learning all paths which are eligible for consideration. Be | ||||
st path selection is performed in each route reflector based on a configured vir | ||||
tual location in the IGP. The location can be the same for all clients or diffe | ||||
rent per peer/update group or per peer. Best path selection can also be perform | ||||
ed based on user configured policies in each route reflector.</t> | ||||
</abstract> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="RFC3101" target="https://www.rfc-editor.org/info/rfc3 | ||||
101" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.31 | ||||
01.xml"> | ||||
<front> | ||||
<title>The OSPF Not-So-Stubby Area (NSSA) Option</title> | ||||
<seriesInfo name="DOI" value="10.17487/RFC3101"/> | ||||
<seriesInfo name="RFC" value="3101"/> | ||||
<author initials="P." surname="Murphy" fullname="P. Murphy"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2003" month="January"/> | ||||
<abstract> | ||||
<t>This memo documents an optional type of Open Shortest Path Firs | ||||
t (OSPF) area that is somewhat humorously referred to as a "not-so-stubby" area | ||||
(or NSSA). NSSAs are similar to the existing OSPF stub area configuration optio | ||||
n but have the additional capability of importing AS external routes in a limite | ||||
d fashion. The OSPF NSSA Option was originally defined in RFC 1587. The functio | ||||
nal differences between this memo and RFC 1587 are explained in Appendix F. All | ||||
differences, while expanding capability, are backward-compatible in nature. Imp | ||||
lementations of this memo and of RFC 1587 will interoperate. [STANDARDS-TRACK]</ | ||||
t> | ||||
</abstract> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="RFC5340" target="https://www.rfc-editor.org/info/rfc5 | ||||
340" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.53 | ||||
40.xml"> | ||||
<front> | ||||
<title>OSPF for IPv6</title> | ||||
<seriesInfo name="DOI" value="10.17487/RFC5340"/> | ||||
<seriesInfo name="RFC" value="5340"/> | ||||
<author initials="R." surname="Coltun" fullname="R. Coltun"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="D." surname="Ferguson" fullname="D. Ferguson"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="J." surname="Moy" fullname="J. Moy"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="A." surname="Lindem" fullname="A. Lindem"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2008" month="July"/> | ||||
<abstract> | ||||
<t>This document describes the modifications to OSPF to support ve | ||||
rsion 6 of the Internet Protocol (IPv6). The fundamental mechanisms of OSPF (fl | ||||
ooding, Designated Router (DR) election, area support, Short Path First (SPF) ca | ||||
lculations, etc.) remain unchanged. However, some changes have been necessary, | ||||
either due to changes in protocol semantics between IPv4 and IPv6, or simply to | ||||
handle the increased address size of IPv6. These modifications will necessitate | ||||
incrementing the protocol version from version 2 to version 3. OSPF for IPv6 i | ||||
s also referred to as OSPF version 3 (OSPFv3).</t> | ||||
<t>Changes between OSPF for IPv4, OSPF Version 2, and OSPF for IPv | ||||
6 as described herein include the following. Addressing semantics have been rem | ||||
oved from OSPF packets and the basic Link State Advertisements (LSAs). New LSAs | ||||
have been created to carry IPv6 addresses and prefixes. OSPF now runs on a per | ||||
-link basis rather than on a per-IP-subnet basis. Flooding scope for LSAs has b | ||||
een generalized. Authentication has been removed from the OSPF protocol and ins | ||||
tead relies on IPv6's Authentication Header and Encapsulating Security Payload ( | ||||
ESP).</t> | ||||
<t>Even with larger IPv6 addresses, most packets in OSPF for IPv6 | ||||
are almost as compact as those in OSPF for IPv4. Most fields and packet- size l | ||||
imitations present in OSPF for IPv4 have been relaxed. In addition, option hand | ||||
ling has been made more flexible.</t> | ||||
<t>All of OSPF for IPv4's optional capabilities, including demand | ||||
circuit support and Not-So-Stubby Areas (NSSAs), are also supported in OSPF for | ||||
IPv6. [STANDARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | </front> | |||
</reference> | </reference> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3101. | ||||
xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5340. | ||||
xml"/> | ||||
</references> | </references> | |||
</references> | </references> | |||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 36 change blocks. | ||||
333 lines changed or deleted | 138 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |