| < draft-ietf-lsr-ospf-prefix-originator-03.txt | draft-ietf-lsr-ospf-prefix-originator-04.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: February 28, 2020 Cisco Systems | Expires: March 15, 2020 Cisco Systems | |||
| J. Dong | J. Dong | |||
| Huawei Technologies | Huawei Technologies | |||
| P. Psenak | P. Psenak | |||
| K. Talaulikar | K. Talaulikar | |||
| Cisco Systems | Cisco Systems | |||
| August 27, 2019 | September 12, 2019 | |||
| OSPF Extension for Prefix Originator | OSPF Prefix Originator Extension | |||
| draft-ietf-lsr-ospf-prefix-originator-03 | draft-ietf-lsr-ospf-prefix-originator-04 | |||
| Abstract | Abstract | |||
| This document describes Open Shortest Path First (OSPF) v2 and OSPFv3 | This document defines Open Shortest Path First (OSPF) encodings to | |||
| encodings to advertise the router-id of the originator of inter-area | advertise the router-id of the originator of inter-area prefixes for | |||
| prefixes for OSPFv2 and OSPFv3 Link-State Advertisement (LSA), which | OSPFv2 and OSPFv3 Link-State Advertisements (LSAs). The source | |||
| are needed in several use cases in multi-area OSPF use cases. | originator is needed in several multi-area OSPF use cases. | |||
| 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 | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 February 28, 2020. | This Internet-Draft will expire on March 15, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 15 ¶ | skipping to change at page 2, line 15 ¶ | |||
| 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 | |||
| 2. Conventions used in this document . . . . . . . . . . . . . . 3 | 2. Conventions used in this document . . . . . . . . . . . . . . 3 | |||
| 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4. Conventions used in this document . . . . . . . . . . . . . . 4 | 4. Inter-Area Prefix Source Advertisement Use Cases . . . . . . 4 | |||
| 5. Scenario Description . . . . . . . . . . . . . . . . . . . . 4 | 5. Prefix Source Router-ID sub-TLV . . . . . . . . . . . . . . . 5 | |||
| 6. Prefix Source Router-ID sub-TLV . . . . . . . . . . . . . . . 5 | 6. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 6 | |||
| 7. Extended LSA Elements of Procedure . . . . . . . . . . . . . 6 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 9. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 7 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 10.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 8 | ||||
| Appendix A. Inter-Area Topology Retrieval Process . . . . . . . 9 | Appendix A. Inter-Area Topology Retrieval Process . . . . . . . 9 | |||
| Appendix B. Special Considerations on Inter-Area Topology | Appendix B. Special Considerations on Inter-Area Topology | |||
| Retrieval . . . . . . . . . . . . . . . . . . . . . 9 | Retrieval . . . . . . . . . . . . . . . . . . . . . 10 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 1. Introduction | 1. Introduction | |||
| [I-D.ietf-ospf-mpls-elc] defines mechanisms to Entropy Readable Label | [I-D.ietf-ospf-mpls-elc] defines mechanisms to advertise Entropy | |||
| Depth (ERLD) for ingress Label Switching Router (LSR) to discover | Readable Label Depth (ERLD) for ingress Label Switching Routers (LSR) | |||
| each LSR's capability of performing Entropy Label (EL) -based load- | to discover other LSR's capability of performing Entropy Label based | |||
| balancing in Multi Protocol Label Switch (MPLS) networks. The | load-balancing in MPLS networks. The ingress LSR can use this | |||
| ingress LSR can use this information to push the appropriate label | information to construct the appropriate label stack for specific | |||
| stack for specific traffic, especially in segment routing | traffic requirements, especially in segment routed networks and other | |||
| environments and other stacked LSPs scenarios. | deployments requiring stacked LSPs. | |||
| However, in inter-area scenarios, the Area Border Router (ABR) does | However, in inter-area scenarios, the Area Border Router (ABR) does | |||
| not advertise the originating OSPF router-id for inter-area prefixes. | not advertise the originating OSPF router-id for inter-area prefixes. | |||
| An OSPF router in one area doesn't know where the prefixes really | An OSPF router in one area doesn't know the origin area of inter-area | |||
| came from and can't determine the router that originated inter-area | prefixes and can't determine the router that originated these | |||
| prefixes and then can't judge the ERLD capabilities of the | prefixes or the ERLD capabilities of the destination. Therefore, it | |||
| destination. It is necessary to transfer the originator information | is necessary to advertise the originator of these inter-area prefixes | |||
| of these inter-area prefixes to ensure the ingress LSR constructs the | to ensure the ingress LSR can construct the appropriate label stack. | |||
| right label stack. | ||||
| More generally, [RFC8476] defines a mechanism to advertise multiple | More generally, [RFC8476] defines a mechanism to advertise multiple | |||
| types of supported Maximum SID Depths (MSD) at node and/or link | types of supported Maximum SID Depths (MSD) at node and/or link | |||
| granularity. This information will be referred when the head-end | granularity. This information will be referred when the head-end | |||
| router starts to send traffic to destination prefixes. In inter-area | router starts to send traffic to destination prefixes. In inter-area | |||
| scenario, it is also necessary for the sender to learn the | scenario, it is also necessary for the sender to learn the | |||
| capabilities of the receivers associated with the inter-area | capabilities of the receivers associated with the inter-area | |||
| prefixes. | prefixes. | |||
| There is also another scenario where knowing the originator of inter- | There is another scenario where knowing the originator of inter-area | |||
| area prefixes is useful. For example, Border Gateway Protocol Link- | prefixes is useful. For example, Border Gateway Protocol Link-State | |||
| State (BGP-LS) [RFC7752] describes mechanisms using the BGP protocol | (BGP-LS) [RFC7752] describes mechanisms using the BGP protocol to | |||
| to advertise Link-State information. This can enable an Software | advertise Link-State information. This information can enable a | |||
| Definition Network (SDN) controller to collect the underlay network | Software Definition Network (SDN) controller to automatically | |||
| topology automatically. | determine the underlay network topology. | |||
| But if the underlay network is divided into multiple areas and | However, if the underlay network is partitioned into multiple areas | |||
| running the OSPF protocol, it is not easy for the SDN controller to | and running the OSPF protocol, it is not easy for the SDN controller | |||
| rebuild the multi-area topology, because normally an ABR that | to rebuild the multi-area topology since ABR that connects multiple | |||
| connects multiple areas will hide the detailed topology information | areas will normally hide the detailed topology for these non-backbone | |||
| for these non-backbone areas. If only the internal routers within | areas. If only the internal routers within backbone area run the | |||
| backbone area run the BGP-LS protocol, they just learn and report the | BGP-LS protocol, they just learn and report the summary network | |||
| summary network information from the non-backbone areas. If the SDN | information from the non-backbone areas. If the SDN controller can | |||
| controller can learn the originator of the inter-area prefixes, it is | learn the originator of the inter-area prefixes, it is possible to | |||
| possible to rebuild the inter-area topology automatically. | rebuild the inter-area topology. | |||
| [RFC7794] introduces the Intermediate System to Intermediate System | [RFC7794] introduces the Intermediate System to Intermediate System | |||
| (IS-IS) "IPv4/IPv6 Source Router IDs" Type-Length-Value (TLV) to | (IS-IS) "IPv4/IPv6 Source Router IDs" Type-Length-Value (TLV) to | |||
| advertise the source of the prefixes redistributed from a different | advertise the source of prefixes leaked from a different IS-IS level. | |||
| IS-IS level. This TLV can be used in the above scenarios. Such | This TLV can be used in the above scenarios. Such solution can also | |||
| solution can also be applied in networks that run the OSPF protocol, | be applied in networks that run the OSPF protocol, but existing OSPF | |||
| but the related LSAs TLV must be extended. | LSAs TLVs must be extended to include the router originating the | |||
| prefix. | ||||
| This draft provides such solution for the OSPFv2 and OSPFv3 | This draft provides such solution for the OSPFv2 and OSPFv3 | |||
| protocols. | protocols. | |||
| 2. Conventions used in this document | 2. Conventions used in this document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| document are to be interpreted as described in [RFC2119] . | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| 3. Terminology | 3. Terminology | |||
| The following terms are used in this document: | The following terms are used in this document: | |||
| o ABR: Area Border Router | o ABR: Area Border Router | |||
| o ERLD: Entropy Readable Label Depth | o ERLD: Entropy Readable Label Depth | |||
| o EL: Entropy Label | o EL: Entropy Label | |||
| skipping to change at page 4, line 18 ¶ | skipping to change at page 4, line 18 ¶ | |||
| o MSD: Maximum SID Depths | o MSD: Maximum SID Depths | |||
| o NLRI: Network Layer Reachability Information | o NLRI: Network Layer Reachability Information | |||
| o OSPF: Open Shortest Path First | o OSPF: Open Shortest Path First | |||
| o SID: Segment IDentifier | o SID: Segment IDentifier | |||
| o SDN: Software Definition Network | o SDN: Software Definition Network | |||
| 4. Conventions used in this document | 4. Inter-Area Prefix Source Advertisement Use Cases | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
| document are to be interpreted as described in [RFC2119] . | ||||
| 5. Scenario Description | ||||
| Figure 1 illustrates the topology scenario when OSPF is running in | Figure 1 illustrates a topology where OSPF is running in multiple | |||
| multi-area. R0-R4 are routers in backbone area, S1-S4,T1-T4 are | areas. R0-R4 are routers in the backbone area, S1-S4 are internal | |||
| internal routers in area 1 and area 2 respectively. R1 and R3 are | routers in area 1, and T1-T4 are internal routers in area 2. R1 and | |||
| area border routers between area 0 and area 1. R2 and R4 are area | R3 are ABRs between area 0 and area 1. R2 and R4 are ABRs between | |||
| border routers between area 0 and area 2. N1 is the network between | area 0 and area 2. N1 is the network between router S1 and S2 and N2 | |||
| router S1 and S2 and N2 is the network between router T1 and T2. Ls1 | is the network between router T1 and T2. Ls1 is the loopback address | |||
| is the loopback address of Node S1 and Lt1 is the loopback address of | of Node S1 and Lt1 is the loopback address of Node T1. | |||
| Node T1. | ||||
| +-----------------+ | +-----------------+ | |||
| |IP SDN Controller| | |IP SDN Controller| | |||
| +--------+--------+ | +--------+--------+ | |||
| | | | | |||
| | BGP-LS | | BGP-LS | |||
| | | | | |||
| +---------------------+------+--------+-----+--------------+ | +---------------------+------+--------+-----+--------------+ | |||
| | +--+ +--+ ++-+ ++-+ +-++ + -+ +--+| | | +--+ +--+ ++-+ ++-+ +-++ + -+ +--+| | |||
| | |S1+--------+S2+---+R1+---|R0+----+R2+---+T1+--------+T2|| | | |S1+--------+S2+---+R1+---|R0+----+R2+---+T1+--------+T2|| | |||
| skipping to change at page 5, line 27 ¶ | skipping to change at page 4, line 50 ¶ | |||
| | +-++ +-++ ++-+ +-++ ++++ +-++| | | +-++ +-++ ++-+ +-++ ++++ +-++| | |||
| | |S4+--------+S3+---+R3+-----------+R4+---+T3+--------+T4|| | | |S4+--------+S3+---+R3+-----------+R4+---+T3+--------+T4|| | |||
| | +--+ +--+ ++-+ +-++ ++-+ +--+| | | +--+ +--+ ++-+ +-++ ++-+ +--+| | |||
| | | | | | | | | | | |||
| | | | | | | | | | | |||
| | Area 1 | Area 0 | Area 2 | | | Area 1 | Area 0 | Area 2 | | |||
| +---------------------+---------------+--------------------+ | +---------------------+---------------+--------------------+ | |||
| Figure 1: OSPF Inter-Area Prefix Originator Scenario | Figure 1: OSPF Inter-Area Prefix Originator Scenario | |||
| If S1 wants to send traffic to prefix Lt1 that is connected T1 in | If S1 wants to send traffic to prefix Lt1 that is connected to T1 in | |||
| another area, it should know the ERLD, and MSD values that are | another area, it should know the ERLD and MSD values associated with | |||
| associated with the node T1, and then construct the right label stack | the node T1, and then construct the right label stack at the ingress | |||
| at the ingress node for the target traffic. | node for traffic destined to prefix Lt1. | |||
| In another scenario, If R0 has some method to learn the originator of | In another scenario, If R0 has some method to learn the originator of | |||
| network N1 and reports such information to IP SDN controller, then it | network N1 and reports such information to IP SDN controller, then it | |||
| is possible for the controller to retrieval the topology in non- | is possible for the controller to reconstruct the topology in the | |||
| backbone area. The topology retrieval process and its usage | non-backbone areas. The topology reconstruction process and its | |||
| limitation are described in the Appendix A and Appendix B . | limitations are described in the Appendix A and Appendix B. | |||
| From the above scenarios, we can conclude it is useful to introduce | From the above scenarios, we can conclude it is useful to define the | |||
| and define the prefix originator sub TLV within OSPF. | OSPF prefix originator sub TLV . | |||
| 6. Prefix Source Router-ID sub-TLV | 5. Prefix Source Router-ID sub-TLV | |||
| [RFC7684] and [RFC8362] define the TLV extensions for OSPFv2 and | [RFC7684] and [RFC8362] respectively define TLV-based LSAs for OSPFv2 | |||
| OSPFv3 respectively. These documents facilitate addition of new | and OSPFv3. These documents facilitate addition of new attributes | |||
| attributes for prefixes. Based on these formats, we can define new | for prefixes and provide the basis for a sub-TLV to advertise the | |||
| sub-TLV to advertise the "Prefix Source Router ID", as that defined | "Prefix Source Router ID". For OSPFv2, this sub-TLV is a sub-TLV of | |||
| in [RFC7794]. | OSPFv2 Extended Prefix TLV which SHOULD be included in the "OSPFv2 | |||
| Extended Prefix Opaque LSA" [RFC7684] for inter-area prefixes. For | ||||
| OSPFv3, this sub-TLV is a sub-TLV of "Inter-Area-Prefix TLV", which | ||||
| SHOULD be included in the "E-Inter-Area-Prefix-LSA" [RFC8362]. | ||||
| The "Prefix Source Router-ID" sub-TLV has the following format: | The "Prefix Source Router-ID" 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Prefix Source Router-ID | | | Prefix Source Router-ID | | |||
| +---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
| Figure 2: Prefix Source Router-ID sub-TLV Format | Figure 2: Prefix Source Router-ID sub-TLV Format | |||
| o Source Router-ID Sub-TLV Type: TBD1[RFC7684] or TBD2 [RFC8362] | o Source Router-ID Sub-TLV Type: TBD1 [RFC7684] or TBD2 [RFC8362] | |||
| o Length: 4 | o Length: 4 | |||
| o Value: Router-ID of OSPFv2/OSPFv3 source router | o Value: Router-ID of OSPFv2/OSPFv3 router that is the source of the | |||
| prefix. | ||||
| For OSPFv2, this sub-TLV is a sub-TLV of OSPFv2 Extended Prefix TLV, | This sub-TLV provides the same functionality as the IS-IS "IPv4/IPv6 | |||
| which SHOULD be included in the "OSPFv2 Extended Prefix Opaque LSA" . | Source Router" TLV defined in [RFC7794]. | |||
| For OSPFv3, this sub-TLV is a sub-TLV of "Inter-Area-Prefix TLV", | 6. Elements of Procedure | |||
| which SHOULD be included in the "E-Inter-Area-Prefix-LSA". | ||||
| 7. Extended LSA Elements of Procedure | When an ABR, for example R2 in Figure 1, receives a Router-LSA | |||
| advertisement in area 2, it SHOULD originate the corresponding | ||||
| "OSPFv2 Extended Prefix Opaque LSA" for OSPFv2 or "E-Inter-Area- | ||||
| Prefix-LSA" for OSPFv3 that includes the Source Router-ID sub-TLV for | ||||
| the network prefixes. For example, to identify the source router | ||||
| prefix Lt1 and other inter-area prefixes in Figure 1. | ||||
| When an ABR, for example R2 in Figure 1, receives the Router-LSA | When a router in another area, e.g., S1, receives such LSA, it then | |||
| announcement in area 2, it should originate the corresponding "OSPFv2 | can ascertain that prefix Lt1 is associated with node T1 and obtain | |||
| Extended Prefix Opaque LSA" for OSPFv2 or "E-Inter-Area-Prefix-LSA" | the ERLD or MSD value from T1's Router-Information LSA [RFC7770] and | |||
| for OSPFv3 that includes the Source Router-ID sub-TLV for the network | construct the right label stack at the ingress node S1 for traffic | |||
| prefixes, e.g., for prefix Lt1, N2. etc., which identifies the source | destined to prefix Lt1. | |||
| router that advertised the prefix. | ||||
| When S1 in another area receives such LSA, it then can learn that | When a router in another area, e.g., R0, receives such LSA, it learns | |||
| prefix Lt1 is associated with node T1, check the ERLD, or MSD value | the Prefix Source Router-id and includes it in the prefix information | |||
| according to its necessity, and construct the right label stack at | advertised to an SDN controller as described in | |||
| the ingress node S1 for the traffic destined to Lt1. | [I-D.ietf-idr-bgp-ls-segment-routing-ext]. The SDN controller can | |||
| then use such information to build the inter-area topology according | ||||
| to the process described in the Appendix A. The topology retrieval | ||||
| process may not suitable for some environments as stated in | ||||
| Appendix B. | ||||
| When R0 receives such LSA, it learns the Prefix Source Router-id and | 7. Security Considerations | |||
| includes it in the prefix information advertised to an SDN controller | ||||
| as described in[I-D.ietf-idr-bgp-ls-segment-routing-ext]. The SDN | ||||
| controller can then use such information to build the inter-area | ||||
| topology according to the process described in the Appendix A. The | ||||
| topology retrieval process may not suitable for some environments as | ||||
| stated in Appendix B. | ||||
| 8. Security Considerations | Since this document extends the "OSPFv2 Extended Prefix LSA" and | |||
| "OSPFv3 E-Inter-Area-Prefix LSA", the security considerations for | ||||
| [RFC7684] and [RFC8362] are applicable. | ||||
| Security concerns for OSPF are addressed in [RFC5709] | Modification of the "Prefix Source Sub-TLV" could be used for a | |||
| Advertisement of the additional information defined in this document | Denial-of-Service attack and could inhibit the use cases described in | |||
| introduces no new security concerns | Section 4. If the OSPF domain is vulnerable to such attacks, OSPF | |||
| authentication should be used as defined for OSPFv2 in [RFC5709] and | ||||
| [RFC7474] and for OSPFv3 in [RFC7166]. | ||||
| 9. IANA Considerations | Additionally, advertisement of the prefix source for inter-area | |||
| prefixes facilitates reconstruction of the OSPF topology for other | ||||
| areas. Network operators may consider their topologies to be | ||||
| sensitive confidential data. For OSPFv3, IPsec can be used to | ||||
| provide confidentiality [RFC4552]. Since there is no standard | ||||
| defined for native OSPFv2 IPsec, some form of secure tunnel is | ||||
| required to provide confidentiality. | ||||
| This specification defines one Prefix Source Router-ID sub-TLV as | 8. IANA Considerations | |||
| described in Section 6. This value should be added to the existing | ||||
| "OSPFv2 Extended Prefix TLV Sub-TLVs" registry and "OSPFv3 Extended- | ||||
| LSA Sub-TLVs registry" respectively. | ||||
| The following new sub-TLV is added to the registry of "OSPFv2 | This specification defines the Prefix Source Router-ID sub-TLV as | |||
| Extended Prefix TLV Sub-TLVs". The allocation policy is IETF Review | described in Section 5. This value should be added to the both | |||
| that defined in [RFC7684] | existing "OSPFv2 Extended Prefix TLV Sub-TLVs" and "OSPFv3 Extended- | |||
| LSA Sub-TLVs" registries. | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++++++++ | The following sub-TLV is added to the "OSPFv2 Extended Prefix TLV | |||
| | Code Point | Description | Status | | Sub-TLVs" registry. The allocation policy is IETF Review as defined | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++++++++ | in [RFC7684] | |||
| | TBD | Prefix Source Sub-TLV | Allocation from IANA | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++++++++ | ||||
| Figure 3: CodePoint in "OSPFv2 Extended Prefix TLV Sub-TLVs" | ||||
| The following new sub-TLV is added to the registry of "OSPFv3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Extended-LSA Sub-TLVs". The allocation policy is IETF Review that | | Code Point | Description | Status | | |||
| defined in [RFC8362] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | TBD | Prefix Source Sub-TLV | Allocation from IANA | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 3: Code Point in "OSPFv2 Extended Prefix TLV Sub-TLVs" | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++++++++ | The following sub-TLV is added to the "OSPFv3 Extended-LSA Sub-TLVs" | |||
| | Code Point | Description | Status | | registry. The allocation policy is IETF Review as defined in | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++++++++ | [RFC8362] | |||
| | TBD | Prefix Source Sub-TLV | Allocation from IANA | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++++++++ | ||||
| Figure 4: CodePoint in "OSPFv3 Extended-LSA Sub-TLVs" | ||||
| 10. Acknowledgement | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Code Point | Description | Status | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | TBD | Prefix Source Sub-TLV | Allocation from IANA | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 4: Code Point in "OSPFv3 Extended-LSA Sub-TLVs" | ||||
| Many thanks to Les Ginsberg for his valuable suggestions on this | 9. Acknowledgement | |||
| draft. And also thanks Jeff Tantsura,Rob Shakir, Van De Velde | ||||
| Gunter, Goethals Dirk, Shaofu Peng, John E Drake for their valuable | ||||
| comments on this draft. | ||||
| 11. References | Many thanks to Les Ginsberg for his suggestions on this draft. Also | |||
| thanks to Jeff Tantsura, Rob Shakir, Gunter Van De Velde, Goethals | ||||
| Dirk, Shaofu Peng, and John E Drake for their valuable comments. | ||||
| 11.1. Normative References | 10. References | |||
| 10.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>. | |||
| [RFC4552] Gupta, M. and N. Melam, "Authentication/Confidentiality | ||||
| for OSPFv3", RFC 4552, DOI 10.17487/RFC4552, June 2006, | ||||
| <https://www.rfc-editor.org/info/rfc4552>. | ||||
| [RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., | [RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., | |||
| Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic | Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic | |||
| Authentication", RFC 5709, DOI 10.17487/RFC5709, October | Authentication", RFC 5709, DOI 10.17487/RFC5709, October | |||
| 2009, <https://www.rfc-editor.org/info/rfc5709>. | 2009, <https://www.rfc-editor.org/info/rfc5709>. | |||
| [RFC7166] Bhatia, M., Manral, V., and A. Lindem, "Supporting | ||||
| Authentication Trailer for OSPFv3", RFC 7166, | ||||
| DOI 10.17487/RFC7166, March 2014, | ||||
| <https://www.rfc-editor.org/info/rfc7166>. | ||||
| [RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed., | ||||
| "Security Extension for OSPFv2 When Using Manual Key | ||||
| Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, | ||||
| <https://www.rfc-editor.org/info/rfc7474>. | ||||
| [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., | [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., | |||
| Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute | Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute | |||
| Advertisement", RFC 7684, DOI 10.17487/RFC7684, November | Advertisement", RFC 7684, DOI 10.17487/RFC7684, November | |||
| 2015, <https://www.rfc-editor.org/info/rfc7684>. | 2015, <https://www.rfc-editor.org/info/rfc7684>. | |||
| [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | |||
| S. Ray, "North-Bound Distribution of Link-State and | S. Shaffer, "Extensions to OSPF for Advertising Optional | |||
| Traffic Engineering (TE) Information Using BGP", RFC 7752, | Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, | |||
| DOI 10.17487/RFC7752, March 2016, | February 2016, <https://www.rfc-editor.org/info/rfc7770>. | |||
| <https://www.rfc-editor.org/info/rfc7752>. | ||||
| [RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and | [RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and | |||
| U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 | U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 | |||
| and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, | and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, | |||
| March 2016, <https://www.rfc-editor.org/info/rfc7794>. | March 2016, <https://www.rfc-editor.org/info/rfc7794>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
| [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and | [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and | |||
| F. Baker, "OSPFv3 Link State Advertisement (LSA) | F. Baker, "OSPFv3 Link State Advertisement (LSA) | |||
| Extensibility", RFC 8362, DOI 10.17487/RFC8362, April | Extensibility", RFC 8362, DOI 10.17487/RFC8362, April | |||
| 2018, <https://www.rfc-editor.org/info/rfc8362>. | 2018, <https://www.rfc-editor.org/info/rfc8362>. | |||
| [RFC8476] Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, | [RFC8476] Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, | |||
| "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, | "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, | |||
| DOI 10.17487/RFC8476, December 2018, | DOI 10.17487/RFC8476, December 2018, | |||
| <https://www.rfc-editor.org/info/rfc8476>. | <https://www.rfc-editor.org/info/rfc8476>. | |||
| 11.2. Informative References | 10.2. Informative References | |||
| [I-D.ietf-idr-bgp-ls-segment-routing-ext] | [I-D.ietf-idr-bgp-ls-segment-routing-ext] | |||
| Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., | Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., | |||
| and M. Chen, "BGP Link-State extensions for Segment | and M. Chen, "BGP Link-State extensions for Segment | |||
| Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-16 | Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-16 | |||
| (work in progress), June 2019. | (work in progress), June 2019. | |||
| [I-D.ietf-ospf-mpls-elc] | [I-D.ietf-ospf-mpls-elc] | |||
| Xu, X., Kini, S., Psenak, P., Filsfils, C., and S. | Xu, X., Kini, S., Psenak, P., Filsfils, C., and S. | |||
| Litkowski, "Signaling Entropy Label Capability and Entropy | Litkowski, "Signaling Entropy Label Capability and Entropy | |||
| Readable Label-stack Depth Using OSPF", draft-ietf-ospf- | Readable Label-stack Depth Using OSPF", draft-ietf-ospf- | |||
| mpls-elc-08 (work in progress), May 2019. | mpls-elc-09 (work in progress), September 2019. | |||
| [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | ||||
| S. Ray, "North-Bound Distribution of Link-State and | ||||
| Traffic Engineering (TE) Information Using BGP", RFC 7752, | ||||
| DOI 10.17487/RFC7752, March 2016, | ||||
| <https://www.rfc-editor.org/info/rfc7752>. | ||||
| Appendix A. Inter-Area Topology Retrieval Process | Appendix A. Inter-Area Topology Retrieval Process | |||
| When an IP SDN Controller receives this information, it should | When an IP SDN Controller receives BGP-LS [RFC7752] information, it | |||
| compare the prefix Network Layer Reachability Information (NLRI) that | should compare the prefix Network Layer Reachability Information | |||
| included in the BGP-LS packet. When it encounters the same prefix | (NLRI) that is included in the BGP-LS NLRI. When it encounters the | |||
| but with different source router ID, it should extract the | same prefix but with different source router ID, it should extract | |||
| corresponding area-ID, rebuild the link between these two different | the corresponding area-ID, rebuild the link between these two source | |||
| source routers in non-backbone area. Belows is one example that | routers in the non-backbone area. Below is one example that based on | |||
| based on the Figure 1: | the Figure 1: | |||
| Assuming we want to rebuild the connection between router S1 and | Assuming we want to rebuild the connection between router S1 and | |||
| router S2 that locates in area 1: | router S2 located in area 1: | |||
| a. Normally, router S1 will advertise prefix N1 within its router- | a. Normally, router S1 will advertise prefix N1 within its router- | |||
| LSA. | LSA. | |||
| b. When this router-LSA reaches the ABR router R1, it will convert | b. When this router-LSA reaches the ABR router R1, it will convert | |||
| it into summary-LSA, add the Prefix Source Router-ID sub-TLV, | it into summary-LSA, add the Prefix Source Router-ID sub-TLV, | |||
| which is router id of S1 in this example. | which is router id of S1 in this example. | |||
| c. R1 then floods this extension summary-LSA to R0, which is running | c. R1 then floods this extension summary-LSA to R0, which is using | |||
| BGP-LS protocol with IP SDN Controller. The controller then | the BGP-LS protocol with IP SDN Controller. The controller then | |||
| knows the prefixes of N1 is from S1. | knows the prefix for N1 is from S1. | |||
| d. Router S2 will do the similar process, and the controller will | d. Router S2 will perform a similar process, and the controller will | |||
| also learn that prefixes N1 is also from S2. | also learn that prefix N1 is also from S2. | |||
| e. Then it can reconstruct the link between S1 and S2, using the | e. Then it can reconstruct the link between S1 and S2, using the | |||
| prefix N1. The topology within Area 1 can then be reconstructed | prefix N1. The topology within Area 1 can then be reconstructed | |||
| accordingly. | accordingly. | |||
| Iterating the above process continuously, the IP SDN controller can | Iterating the above process continuously, the IP SDN controller can | |||
| retrieve a detailed topology that spans multiple areas. | retrieve a detailed topology that spans multiple areas. | |||
| Appendix B. Special Considerations on Inter-Area Topology Retrieval | Appendix B. Special Considerations on Inter-Area Topology Retrieval | |||
| The above topology retrieval process can be applied in the case where | The above topology retrieval process can be applied in the case where | |||
| each link between routers is assigned a unique prefix. However, | each point-to-point or multi-access link connecting routers is | |||
| there are some situations where this heuristic cannot be applied. | assigned a unique prefix. However, there are some situations where | |||
| Specifically, the cases where the link is unnumbered or the prefix | this heuristic cannot be applied. Specifically, the cases where the | |||
| corresponding to the link is an anycast prefix. | 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 | The Appendix A heuristic to rebuild the topology can normally be used | |||
| if all links are numbered. For anycast prefixes, if it corresponds | 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 | 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 apply. | 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 | |||
| End of changes. 53 change blocks. | ||||
| 169 lines changed or deleted | 205 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/ | ||||