LSR Working Group | A. Wang |
Internet-Draft | China Telecom |
Intended status: Standards Track | A. Lindem |
Expires: July 8, 2019 | Cisco Systems |
J. Dong | |
Huawei Technologies | |
K. Talaulikar | |
P. Psenak | |
Cisco Systems | |
January 4, 2019 |
OSPF Extension for Prefix Originator
draft-wang-lsr-ospf-prefix-originator-ext-01
This document describes OSPFv2 and OSPFv3 encodings to advertise the router-id of the originator of inter-area prefixes for OSPFv2 and OSPFv3 LSAs, which are needed in several use cases 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 July 8, 2019.
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 signal Entropy Label Capability (ELC) and Entropy Readable Label Depth (ERLD) for ingress LSR to discover each LSR's capability of reading the maximum label stack depth and performing EL-based load-balancing in MPLS networks. The ingress LSR can use this information to push the appropriate label stack for specific FEC trafffic, especially in segment routing environments and other stacked LSPs scenarios.
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 where the prefixes really came from and can't determine the router that originated inter-area prefixes and then can't judge the ELC and ERLD capabilities of the destination. It is necessary to transfer the originator information of these inter-area prefixes to ensure the ingress LSR constructs the right Label stack.
More generally, draft [I-D.ietf-ospf-segment-routing-msd] 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 also another scenario where knowing the originator of inter-area prefixes is useful. For example, BGP-LS [RFC7752] describes mechanisms using the BGP protocol to advertise Link-State information. This can enable an SDN controller to collect the underlay network topology automatically.
But if the underlay network is divided into multiple areas and running the OSPF protocol, it is not easy for the SDN controller to rebuild the multi-area topology, because normally an Area Border Router (ABR) that connects multiple areas will hide the detailed topology information for these non-backbone areas, and the router in backbone area that runs the BGP-LS protocol can only 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 for them to rebuild the inter-area topology automatically.
[RFC7794] introduces the IS-IS “IPv4/IPv6 Source Router IDs” TLV to advertise the source of the prefixes redistributed 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 the related Link state Advertisements (LSAs) must be extended.
This draft provides such solution for the OSPFv2 and OSPFv3 protocols.
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] .
Fig.1 illustrates the topology scenario when OSPF is running in multi-area. R0-R4 are routers in backbone area, S1-S4,T1-T4 are internal routers in area 1 and area 2 respectively. R1 and R3 are area border routers between area 0 and area 1. R2 and R4 are area border routers 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 | +---------------------+---------------+--------------------+ Fig.1 OSPF Inter-Area Prefix Originator Scenario
If S1 wants to send traffic to prefix Lt1 that is connected T1 in another area, it should know the ELC, ERLD, and MSD values that are associated with the node T1, and then construct the right label stack at the ingress node for the target traffic.
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 retrieval the topology in non-backbone area. The topology retrieval process and its usage limitation are described in the Appendix A and Appendix B.
From the above scenarios, we can conclude it is useful to introduce and define the prefix originator sub TLV within OSPF.
[RFC7684] and [RFC8362] define the TLV extensions for OSPFv2 and OSPFv3 respectively. These documents facilitate addition of new attributes for prefixes and links. Based on these formats, we can define new sub-TLV to advertise the “Prefix Source Router ID”, as that defined in [RFC7794].
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 | +---------------------------------------------------------------+
[RFC7684] or the "E-Inter-Area-Prefix-LSA" [RFC8362].
This sub-TLV can be included in the “OSPFv2 Extended Prefix Opaque LSA”
When an ABR, for example R2 in Fig.1, receives the Router-LSA announcement 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, e.g., for prefix Lt1, N2. etc., which identifies the source router that advertised the prefix.
When S1 in another area receives such LSA, it then can learn that prefix Lt1 is associated with node T1, check the ELC, ERLD, or MSD value according to its necessity, and construct the right label stack at the ingress node S1 for the traffic destined to Lt1.
When 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.
TBD.
TBD.
Many thanks to Les Ginsberg for his valuable suggestions on this draft. And also thanks Jeff Tantsura and Rob Shakir for their valuable comments on this draft.
[I-D.wang-idr-bgpls-inter-as-topology-ext] | Wang, A. and H. Chen, "BGP-LS Extension for Inter-AS Topology Retrieval", Internet-Draft draft-wang-idr-bgpls-inter-as-topology-ext-02, August 2018. |
When an IP SDN Controller receives this information, it should compare the prefix NLRI that included in the BGP-LS packet. 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 different source routers in non-backbone area. Belows is one example that based on the Fig.1:
Assuming we want to rebuild the connection between router S1 and router S2 that locates in area 1:
Iterating the above process continuously, an 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 link between 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 and is not unique.
The Appendix A heuristic to rebuild the topology can normally be used if all links are numbered and the anycast prefixes correspond to loopbacks and have a host prefix length, i.e., 32 for IPv4 prefixes and 128 for IPv6 prefixes.