draft-ietf-lsr-ospf-prefix-originator-06.txt | draft-ietf-lsr-ospf-prefix-originator-07.txt | |||
---|---|---|---|---|
LSR Working Group A. Wang | LSR Working Group A. Wang | |||
Internet-Draft China Telecom | Internet-Draft China Telecom | |||
Intended status: Standards Track A. Lindem | Intended status: Standards Track A. Lindem | |||
Expires: January 1, 2021 Cisco Systems | Expires: April 23, 2021 Cisco Systems | |||
J. Dong | J. Dong | |||
Huawei Technologies | Huawei Technologies | |||
P. Psenak | P. Psenak | |||
K. Talaulikar | K. Talaulikar | |||
Cisco Systems | Cisco Systems | |||
June 30, 2020 | October 20, 2020 | |||
OSPF Prefix Originator Extensions | OSPF Prefix Originator Extensions | |||
draft-ietf-lsr-ospf-prefix-originator-06 | draft-ietf-lsr-ospf-prefix-originator-07 | |||
Abstract | Abstract | |||
This document defines OSPF extensions to include information | This document defines OSPF extensions to include information | |||
associated with the node originating a prefix along with the prefix | associated with the node originating a prefix along with the prefix | |||
advertisement. | advertisement. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
skipping to change at page 1, line 38 ¶ | skipping to change at page 1, line 38 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on January 1, 2021. | This Internet-Draft will expire on April 23, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 14 ¶ | skipping to change at page 2, line 14 ¶ | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
2. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 3 | 2. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. Prefix Source Router-ID Sub-TLV . . . . . . . . . . . . . 4 | 2.1. Prefix Source Router-ID Sub-TLV . . . . . . . . . . . . . 3 | |||
2.2. Prefix Originator Sub-TLV . . . . . . . . . . . . . . . . 4 | 2.2. Prefix Originator Sub-TLV . . . . . . . . . . . . . . . . 4 | |||
3. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 5 | 3. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 5 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 7 | 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 8 | 7.2. Informative References . . . . . . . . . . . . . . . . . 8 | |||
Appendix A. Inter-Area Topology Retrieval Process . . . . . . . 9 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
Appendix B. Special Considerations on Inter-Area Topology | ||||
Retrieval . . . . . . . . . . . . . . . . . . . . . 10 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
1. Introduction | 1. Introduction | |||
Prefix attributes are advertised in OSPFv2 [RFC2328] using the | Prefix attributes are advertised in OSPFv2 [RFC2328] using the | |||
Extended Prefix Opaque Link State Advertisement (LSA) [RFC7684] and | Extended Prefix Opaque Link State Advertisement (LSA) [RFC7684] and | |||
in OSPFv3 [RFC5340] using the various Extended Prefix LSA types | in OSPFv3 [RFC5340] using the various Extended Prefix LSA types | |||
[RFC8362]. | [RFC8362]. | |||
The identification of the originating router for a prefix in OSPF | The identification of the originating router for a prefix in OSPF | |||
varies by the type of the prefix and is currently not always | varies by the type of the prefix and is currently not always | |||
skipping to change at page 3, line 30 ¶ | skipping to change at page 3, line 28 ¶ | |||
This document proposes extensions to the OSPF protocol for inclusion | This document proposes extensions to the OSPF protocol for inclusion | |||
of information associated with the router originating the prefix | of information associated with the router originating the prefix | |||
along with the prefix advertisement. These extensions do not change | along with the prefix advertisement. These extensions do not change | |||
the core OSPF route computation functionality. They provide useful | the core OSPF route computation functionality. They provide useful | |||
information for topology analysis and traffic engineering, especially | information for topology analysis and traffic engineering, especially | |||
on a controller when this information is advertised as an attribute | on a controller when this information is advertised as an attribute | |||
of the prefixes via mechanisms such as Border Gateway Protocol Link- | of the prefixes via mechanisms such as Border Gateway Protocol Link- | |||
State (BGP-LS) [RFC7752]. | State (BGP-LS) [RFC7752]. | |||
Applications related to use of the prefix originating node | ||||
information for topology reconstruction process on a controller and | ||||
the associated limitations are described in Appendix A and | ||||
Appendix B. | ||||
1.1. Requirements Language | 1.1. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2. Protocol Extensions | 2. Protocol Extensions | |||
skipping to change at page 5, line 10 ¶ | skipping to change at page 4, line 47 ¶ | |||
TLV, Inter-Area-Prefix TLV, and External-Prefix TLV [RFC8362] when | TLV, Inter-Area-Prefix TLV, and External-Prefix TLV [RFC8362] when | |||
originating either an IPv4 [RFC5838] or an IPv6 prefix advertisement. | originating either an IPv4 [RFC5838] or an IPv6 prefix advertisement. | |||
The Prefix Originator Sub-TLV has the following format: | The Prefix Originator Sub-TLV has the following format: | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Router Address (4 or 16 octects) | | | Router Address (4 or 16 octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: Prefix Originator Sub-TLV Format | Figure 2: Prefix Originator Sub-TLV Format | |||
Where: | Where: | |||
o Type: TBD1 for OSPFv2 and TBD2 for OSPFv3 | o Type: TBD1 for OSPFv2 and TBD2 for OSPFv3 | |||
o Length: 4 or 16 | o Length: 4 or 16 | |||
skipping to change at page 5, line 32 ¶ | skipping to change at page 5, line 20 ¶ | |||
router that originated the IPv4 or IPv6 prefix advertisement. | router that originated the IPv4 or IPv6 prefix advertisement. | |||
Such an address would be semantically equivalent to what may be | Such an address would be semantically equivalent to what may be | |||
advertised in the OSPFv2 Router Address TLV [RFC3630] or in the | advertised in the OSPFv2 Router Address TLV [RFC3630] or in the | |||
OSPFv3 Router IPv6 Address TLV [RFC5329]. | OSPFv3 Router IPv6 Address TLV [RFC5329]. | |||
A prefix advertisement MAY include more than one Prefix Originator | A prefix advertisement MAY include more than one Prefix Originator | |||
sub-TLV, one corresponding to each of the Equal-Cost Multi-Path | sub-TLV, one corresponding to each of the Equal-Cost Multi-Path | |||
(ECMP) nodes that originated the given prefix. | (ECMP) nodes that originated the given prefix. | |||
A received Prefix Originator Sub-TLV that has an invalid length (not | A received Prefix Originator Sub-TLV that has an invalid length (not | |||
4 or 16) or a Reachable Address containing an invalid IPv4 or IPv6 | 4 or 16) or a Router Address containing an invalid IPv4 or IPv6 | |||
address (dependent on address family of the associated prefix) MUST | address (dependent on address family of the associated prefix) MUST | |||
be considered invalid and ignored. Additionally, reception of such | be considered invalid and ignored. Additionally, reception of such | |||
Sub-TLV SHOULD be logged as an error (subject to rate-limiting). | Sub-TLV SHOULD be logged as an error (subject to rate-limiting). | |||
[RFC7794] provides similar functionality for the Intermediate System | [RFC7794] provides similar functionality for the Intermediate System | |||
to Intermediate System (IS-IS) protocol. | to Intermediate System (IS-IS) protocol. | |||
3. Elements of Procedure | 3. Elements of Procedure | |||
This section describes the procedure for advertisement of the Prefix | This section describes the procedure for advertisement of the Prefix | |||
Source Router-ID and Prefix Originator Sub-TLVs along with the prefix | Source Router-ID and Prefix Originator Sub-TLVs along with the prefix | |||
advertisement. | advertisement. | |||
The OSPF Router ID of the Prefix Source Router-ID is set to the OSPF | The OSPF Router ID of the Prefix Source Router-ID is set to the OSPF | |||
Router ID of the node originating the prefix in the OSPF domain. | Router ID of the node originating the prefix in the OSPF domain. | |||
If the originating node is advertising an OSPFv2 Router Address TLV | If the originating node is advertising an OSPFv2 Router Address TLV | |||
[RFC3630] or an OSPFv3 Router IPv6 Address TLV [RFC5329], then that | [RFC3630] or an OSPFv3 Router IPv6 Address TLV [RFC5329], then that | |||
value is set in the Router Address field of the Prefix Originator | value is set in the Router Address field of the Prefix Originator | |||
Sub-TLV. When the orignating node is not advertising such an | Sub-TLV. When the originating node is not advertising such an | |||
address, implementations MAY support mechanisms to determine a | address, implementations MAY support mechanisms to determine a | |||
reachable address belonging to the originating node to set in the | reachable address (e.g., advertised with the N-flag set [RFC7684] or | |||
Router Address field. Such mechanisms are outside the scope of this | N-bit set [RFC8362] and either matching the OSPF Router ID or the | |||
document. | highest IP address) belonging to the originating node to set in the | |||
Router Address field. | ||||
Implementations MAY support the selection of specific prefixes for | Implementations MAY support the selection of specific prefixes for | |||
which the originating node information needs to be included with | which the originating node information needs to be included with | |||
their prefix advertisements. | their prefix advertisements. | |||
When an ABR generates inter-area prefix advertisements into its non- | When an ABR generates inter-area prefix advertisements into its non- | |||
backbone areas corresponding to an inter-area prefix advertisement | backbone areas corresponding to an inter-area prefix advertisement | |||
from the backbone area, the only way to determine the originating | from the backbone area, the only way to determine the originating | |||
node information is based on the Prefix Source Router-ID and Prefix | node information is based on the Prefix Source Router-ID and Prefix | |||
Originator Sub-TLVs present in the inter-area prefix advertisement | Originator Sub-TLVs present in the inter-area prefix advertisement | |||
skipping to change at page 7, line 39 ¶ | skipping to change at page 7, line 33 ¶ | |||
| 27 | Prefix Source Router-ID Sub-TLV | early allocation done | | | 27 | Prefix Source Router-ID Sub-TLV | early allocation done | | |||
| TBD2 | Prefix Originator Sub-TLV | pending | | | TBD2 | Prefix Originator Sub-TLV | pending | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 4: Code Points in OSPFv3 Extended-LSA Sub-TLVs | Figure 4: Code Points in OSPFv3 Extended-LSA Sub-TLVs | |||
6. Acknowledgement | 6. Acknowledgement | |||
Many thanks to Les Ginsberg for his suggestions on this draft. Also | Many thanks to Les Ginsberg for his suggestions on this draft. Also | |||
thanks to Jeff Tantsura, Rob Shakir, Gunter Van De Velde, Goethals | thanks to Jeff Tantsura, Rob Shakir, Gunter Van De Velde, Goethals | |||
Dirk, Smita Selot, Shaofu Peng, and John E Drake for their valuable | Dirk, Smita Selot, Shaofu Peng, John E Drake and Baalajee S for their | |||
comments. | review and valuable comments. | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
skipping to change at page 9, line 11 ¶ | skipping to change at page 9, line 11 ¶ | |||
R. Aggarwal, "Support of Address Families in OSPFv3", | R. Aggarwal, "Support of Address Families in OSPFv3", | |||
RFC 5838, DOI 10.17487/RFC5838, April 2010, | RFC 5838, DOI 10.17487/RFC5838, April 2010, | |||
<https://www.rfc-editor.org/info/rfc5838>. | <https://www.rfc-editor.org/info/rfc5838>. | |||
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | |||
S. Ray, "North-Bound Distribution of Link-State and | S. Ray, "North-Bound Distribution of Link-State and | |||
Traffic Engineering (TE) Information Using BGP", RFC 7752, | Traffic Engineering (TE) Information Using BGP", RFC 7752, | |||
DOI 10.17487/RFC7752, March 2016, | DOI 10.17487/RFC7752, March 2016, | |||
<https://www.rfc-editor.org/info/rfc7752>. | <https://www.rfc-editor.org/info/rfc7752>. | |||
Appendix A. Inter-Area Topology Retrieval Process | ||||
When an IP SDN Controller receives BGP-LS [RFC7752] information, it | ||||
should compare the prefix Network Layer Reachability Information | ||||
(NLRI) that is included in the BGP-LS NLRI. When it encounters the | ||||
same prefix but with different source router ID, it should extract | ||||
the corresponding area-ID, rebuild the link between these two source | ||||
routers in the non-backbone area. Below is one example that based on | ||||
the Figure 5 which illustrates a topology where OSPF is running in | ||||
multiple areas. | ||||
+-----------------+ | ||||
|IP SDN Controller| | ||||
+--------+--------+ | ||||
| | ||||
| BGP-LS | ||||
| | ||||
+---------------------+------+--------+-----+--------------+ | ||||
| +--+ +--+ ++-+ ++-+ +-++ + -+ +--+| | ||||
| |S1+--------+S2+---+R1+---|R0+----+R2+---+T1+--------+T2|| | ||||
| +-++ N1 +-++ ++-+ +--+ +-++ ++++ N2 +-++| | ||||
| | | | | || | | | ||||
| | | | | || | | | ||||
| +-++ +-++ ++-+ +-++ ++++ +-++| | ||||
| |S4+--------+S3+---+R3+-----------+R4+---+T3+--------+T4|| | ||||
| +--+ +--+ ++-+ +-++ ++-+ +--+| | ||||
| | | | | ||||
| | | | | ||||
| Area 1 | Area 0 | Area 2 | | ||||
+---------------------+---------------+--------------------+ | ||||
Figure 5: OSPF Inter-Area Prefix Originator Scenario | ||||
R0-R4 are routers in the backbone area, S1-S4 are internal routers in | ||||
area 1, and T1-T4 are internal routers in area 2. R1 and R3 are ABRs | ||||
between area 0 and area 1. R2 and R4 are ABRs between area 0 and | ||||
area 2. N1 is the network between router S1 and S2 and N2 is the | ||||
network between router T1 and T2. Ls1 is the loopback address of | ||||
Node S1 and Lt1 is the loopback address of Node T1. | ||||
Assuming we want to rebuild the connection between router S1 and | ||||
router S2 located in area 1: | ||||
a. Normally, router S1 will advertise prefix N1 within its router- | ||||
LSA. | ||||
b. When this router-LSA reaches the ABR router R1, it will convert | ||||
it into summary-LSA, add the Source Router-ID Sub-TLV and the | ||||
Prefix Originator Sub-TLV, as described in Section 3. | ||||
c. R1 then floods this extension summary-LSA to R0, which is using | ||||
the BGP-LS protocol with IP SDN Controller. The controller then | ||||
knows the prefix for N1 is from S1. | ||||
d. Router S2 will perform a similar process, and the controller will | ||||
also learn that prefix N1 is also from S2. | ||||
e. Then it can reconstruct the link between S1 and S2, using the | ||||
prefix N1. The topology within Area 1 can then be reconstructed | ||||
accordingly. | ||||
Iterating the above process continuously, the IP SDN controller can | ||||
retrieve a detailed topology that spans multiple areas. | ||||
Appendix B. Special Considerations on Inter-Area Topology Retrieval | ||||
The above topology retrieval process can be applied in the case where | ||||
each point-to-point or multi-access link connecting routers is | ||||
assigned a unique prefix. However, there are some situations where | ||||
this heuristic cannot be applied. Specifically, the cases where the | ||||
link is unnumbered or the prefix corresponding to the link is an | ||||
anycast prefix. | ||||
The Appendix A heuristic to rebuild the topology can normally be used | ||||
if all links are numbered. For anycast prefixes, if it corresponds | ||||
to the loopback interface and has a host prefix length, i.e., 32 for | ||||
IPv4 prefixes and 128 for IPv6 prefixes, Appendix A can also applied | ||||
since these anycast prefixes are not required to reconstruct the | ||||
topology. | ||||
Authors' Addresses | Authors' Addresses | |||
Aijun Wang | Aijun Wang | |||
China Telecom | China Telecom | |||
Beiqijia Town, Changping District | Beiqijia Town, Changping District | |||
Beijing 102209 | Beijing 102209 | |||
China | China | |||
Email: wangaj3@chinatelecom.cn | Email: wangaj3@chinatelecom.cn | |||
Acee Lindem | Acee Lindem | |||
Cisco Systems | Cisco Systems | |||
End of changes. 15 change blocks. | ||||
103 lines changed or deleted | 17 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |