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