LSR Working Group | A. Wang |
Internet-Draft | China Telecom |
Intended status: Standards Track | A. Lindem |
Expires: May 28, 2020 | Cisco Systems |
J. Dong | |
Huawei Technologies | |
P. Psenak | |
K. Talaulikar | |
Cisco Systems | |
November 25, 2019 |
OSPF Prefix Originator Extension
draft-ietf-lsr-ospf-prefix-originator-05
This document defines Open Shortest Path First (OSPF) encodings to advertise the router-id of the originator of inter-area prefixes for OSPFv2 and OSPFv3 Link-State Advertisements (LSAs). The source originator is needed in several multi-area OSPF use cases.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 28, 2020.
Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
[I-D.ietf-ospf-mpls-elc] defines mechanisms to advertise Entropy Readable Label Depth (ERLD) for ingress Label Switching Routers (LSR) to discover other LSR's capability of performing Entropy Label based load-balancing in MPLS networks. The ingress LSR can use this information to construct the appropriate label stack for specific traffic requirements, especially in segment routed networks and other deployments requiring stacked LSPs.
However, in inter-area scenarios, the Area Border Router (ABR) does not advertise the originating OSPF router-id for inter-area prefixes. An OSPF router in one area doesn't know the origin area of inter-area prefixes and can't determine the router that originated these prefixes or the ERLD capabilities of the destination. Therefore, it is necessary to advertise the originator of these inter-area prefixes to ensure the ingress LSR can construct the appropriate label stack.
More generally, [RFC8476] defines a mechanism to advertise multiple types of supported Maximum SID Depths (MSD) at node and/or link granularity. This information will be referred when the head-end router starts to send traffic to destination prefixes. In inter-area scenario, it is also necessary for the sender to learn the capabilities of the receivers associated with the inter-area prefixes.
There is another scenario where knowing the originator of inter-area prefixes is useful. For example, Border Gateway Protocol Link-State (BGP-LS) [RFC7752] describes mechanisms using the BGP protocol to advertise Link-State information. This information can enable a Software Definition Network (SDN) controller to automatically determine the underlay network topology.
However, if the underlay network is partitioned into multiple areas and running the OSPF protocol, it is not easy for the SDN controller to rebuild the multi-area topology since ABR that connects multiple areas will normally hide the detailed topology for these non-backbone areas. If only the internal routers within backbone area run the BGP-LS protocol, they just learn and report the summary network information from the non-backbone areas. If the SDN controller can learn the originator of the inter-area prefixes, it is possible to rebuild the inter-area topology.
[RFC7794] introduces the Intermediate System to Intermediate System (IS-IS) "IPv4/IPv6 Source Router IDs" Type-Length-Value (TLV) to advertise the source of prefixes leaked from a different IS-IS level. This TLV can be used in the above scenarios. Such solution can also be applied in networks that run the OSPF protocol, but existing OSPF LSAs TLVs must be extended to include the router originating the prefix.
This draft provides such solution for the OSPFv2 [RFC2328] and OSPFv3 [RFC5340] protocols.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "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.
The following terms are used in this document:
Figure 1 illustrates a topology where OSPF is running in multiple areas. 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.
+-----------------+ |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 1: OSPF Inter-Area Prefix Originator Scenario
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 associated with the node T1, and then construct the right label stack at the ingress node for traffic destined to prefix Lt1.
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 is possible for the controller to reconstruct the topology in the non-backbone areas. The topology reconstruction process and its limitations are described in the Appendix A and Appendix B.
Figure 2 illustrates a topology where OSPF is running in different domain that is connected by an Autonomous System Border Router (ASBR). A, B, and C are routers in the Domain 1; C, D, and E are routers in Domain 2. Router C is the ASBR between the two domains.
When router E receives an external prefix, it will redistribute it as an AS-External LSA within domain 2. When C receives such LSA, the originator information for such external prefix will be lost when it encodes the prefix information with the current LSA format field. In some situations, it will be helpful if C can advertise such originator information.
+-------------------------------------------------------------------+ | | External Prefix | | +---+ +---+ +---+ +---+ +-|-+ | | | A +-------+ B +----------| C +---------+ D +---------+ E |------| | +---+ +---+ +---+ +---+ +---+ | | Domain 1 | Domain 2 | +-------------------------------------------------------------------+ Figure 2: OSPF External Prefix Originator Scenario
From the above scenarios, we can conclude that it is useful to define the OSPF prefix originator sub TLV .
[RFC7684] and [RFC8362] respectively define TLV-based LSAs for OSPFv2 and OSPFv3. These documents facilitate addition of new attributes for prefixes and provide the basis for a sub-TLV to advertise the "Prefix Source Router ID". For OSPFv2, this sub-TLV is a sub-TLV of 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:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Prefix Source Router-ID | +---------------------------------------------------------------+ Figure 3: Prefix Source Router-ID sub-TLV Format
This sub-TLV provides the same functionality as the IS-IS "IPv4/IPv6 Source Router" TLV defined in [RFC7794].
The following sections describe the procedure to include the newly defined "Source Router-ID Sub-TLV" in the related LSA for inter-area prefixes and external prefixes respectively.
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 a router in another area, e.g., S1, receives such LSA, it then can ascertain that prefix Lt1 is associated with node T1 and obtain the ERLD or MSD value from T1's Router-Information LSA [RFC7770] and construct the right label stack at the ingress node S1 for traffic destined to prefix Lt1.
When a router in another area, e.g., R0, receives such LSA, it learns the Prefix Source Router-id and 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.
When an ASBR, for example C in Figure 2, receives an AS-External LSA for an external prefix in domain 2, it SHOULD extract the originator information from the "Advertising Router" field from the LSA header. When the prefix is advertised into domain 1 as an AS-External LSA, router C may also advertise the Source Router-ID using a AS-scoped OSPFv2 Extended Prefix Opaque LSA or as a Sub-TLV in the OSPFv3 AS-External LSA.
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.
Modification of the "Prefix Source Sub-TLV" could be used for a Denial-of-Service attack and could inhibit the use cases described in 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].
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 the Prefix Source Router-ID sub-TLV as described in Section 6. This value should be added to the both 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 Sub-TLVs" registry. The allocation policy is IETF Review as defined in [RFC7684]
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code Point | Description | Status | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 4 | Prefix Source Sub-TLV | Allocation from IANA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: Code Point in "OSPFv2 Extended Prefix TLV Sub-TLVs"
The following sub-TLV is added to the "OSPFv3 Extended-LSA Sub-TLVs" registry. The allocation policy is IETF Review as defined in [RFC8362]
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code Point | Description | Status | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 27 | Prefix Source Sub-TLV | Allocation from IANA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: Code Point in "OSPFv3 Extended-LSA Sub-TLVs"
Many thanks to Les Ginsberg for his suggestions on this draft. Also thanks to Jeff Tantsura, Rob Shakir, Gunter Van De Velde, Goethals Dirk, Smita Selot, Shaofu Peng, and John E Drake for their valuable comments.
[I-D.ietf-idr-bgp-ls-segment-routing-ext] | Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H. and M. Chen, "BGP Link-State extensions for Segment Routing", Internet-Draft draft-ietf-idr-bgp-ls-segment-routing-ext-16, June 2019. |
[I-D.ietf-ospf-mpls-elc] | Xu, X., Kini, S., Psenak, P., Filsfils, C., Litkowski, S. and M. Bocci, "Signaling Entropy Label Capability and Entropy Readable Label-stack Depth Using OSPF", Internet-Draft draft-ietf-ospf-mpls-elc-12, October 2019. |
[RFC7752] | Gredler, H., 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. |
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 1:
Assuming we want to rebuild the connection between router S1 and router S2 located in area 1:
Iterating the above process continuously, the IP SDN controller can retrieve a detailed topology that spans multiple areas.
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.