LSR Working Group | A. Wang |
Internet-Draft | China Telecom |
Intended status: Standards Track | A. Lindem |
Expires: April 18, 2019 | Cisco Systems |
J. Dong | |
Huawei Technologies | |
K. Talaulikar | |
P. Psenak | |
Cisco Systems | |
October 15, 2018 |
OSPF Extension for Prefix Originator
draft-wang-lsr-ospf-prefix-originator-ext-00
This document describes method to transfer the source router id of inter-area prefixes for OSPFv2 [RFC7684]and OSPFv3 [RFC8362], which is needed in several use cases in OSPF inter-area scenario.
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 April 18, 2019.
Copyright (c) 2018 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.
Draft [I-D.ietf-ospf-mpls-elc] defines mechanisms to signal Entropy Label Capability(ELC) and Entropy Readable Label Depth (ERLD) for the ingress LSR to know each LSR's capability of reading the maximum label stack depth and performing EL-based load-balancing in MPLS network. After knowing this information, the ingress LSR can push the appropriate label stack for specific FEC trafffic, especially in segment routing environment or in other stacked LSPs scenarios.
But in OSPF inter-area scenario, the prefixes originator information in another area is omitted by ABR router, all prefixes are attached behind the ABR. Router in one area doesn't know where the prefixes really come from, can't decide the associated router of the 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 assist the ingress LSR does the right Label stack action.
More generally, draft [I-D.ietf-ospf-segment-routing-msd] defines the mechanism to advertise multiple types of supported Maximum SID Depths(MSD) at node and/or link granularity. These information will be referred when the head end router starts to send the traffic to destination prefixes. In inter-area scenario, it is also necessary for the sender to knows the capabilities of the receivers that associated with the inter-area prefixes.
There is also other scenario that the originator of inter-area prefixes are useful. For example, BGP-LS [RFC7752] describes the methodology that using BGP protocol to transfer the Link-State information. Such method can enable SDN controller to collect the underlay network topology automatically.
But if the underlay network is divided into multi area and running OSPF protocol, it is not easy for the SDN controller to rebuild the multi-area topology, because normally the ABR that locates on the boundary of different area will hide the detail topology information in non-backbone area, and the router in backbone area that runs BGP-LS protocol can only get and report the summary network information in non-backbone area. If the SDN controller can get the originator of the inter-area prefixes, it is easy for them to rebuild the inter-area topology automatically.
[RFC7794] introduces “IPv4/IPv6 Source Router IDs” TLV to label the source of the prefixes redistributed from different Level, this TLV can be used in the above scenarios. Such solution can also be applied into network that run OSPF protocol, but the related LSP messages must be extended.
This draft gives such solution for the OSPF v2 and OSPF v3 protocol.
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 router in area 1 and area 2 respectively. R1 and R3 are border routers between area 0 and area 1; R2 and R4 are border routers between area 0 and area 2. N1 is the network between router S1 and S2, N2 is the network between router T1 and T2. Ls1 is the loopback address of Node S1, 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 want 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 select the right label action at the ingress node for the target traffic.
On the other hand, If R0 has some methods to know 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 format extension for OSPFv2 and OSPFv3 respectively. These documents give the flexibility to add new attributes for the prefixes and links. Based on these formats, we can define new sub TLV to transfer the “Prefix Source Router ID”, as that defined in [RFC7794].
The proposed “Prefix Source Router ID” format is the following:
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 (variable) | +---------------------------------------------------------------+
For IPv4 network, it is the following:
This sub TLV should be included in the “OSPFv2 Extended Prefix Opaque LSA” that defined in
For IPv6 network, it is the following:
This sub TLV should be included in “E-Inter-Area-Prefix-LSA” that defined in [RFC8362]
When ABR(for example R2 in Fig.1)receives the “Router LSA” announcement in area 2, it should generate the corresponding “OSPFv2 Extended Prefix Opaque LSA” for OSPFv2 or “E-Inter-Area-Prefix-LSA” for OSPFv3 that includes the sub TLV “Source Router ID” of the network prefixes(for example, for prefix Lt1, N2 etc.), which labels the source router of the corresponding link.
When S1 in another area receives such LSA, it then can know the prefix Lt1 is associated with node T1, check the ELC, ERLD or MSD value according to its necessary, and select the right label action at the ingress node S1 for the traffic target to Lt1.
When R0 receives such LSA, it then strips this additional information, put it into the corresponding part in BGP-LS protocol as described in[I-D.ietf-idr-bgp-ls-segment-routing-ext] and reports them to the IP SDN Controller, 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 special environment as that stated in Appendix B
TBD.
TBD.
Very thanks Les Ginsberg for their valuable suggestions on the contents of this draft. And also thanks Jeff Tantsura, 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 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 router 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, the IP SDN controller can then retrieve the detail topology that span multi-area.
The above topology retrieval process can be applied in general situation, where each prefix of the link between two nodes is planned and allocated in normal space. But there are some situations not belong to this and needs to be considered specially, for example when the link is unnumbered and there are anycast prefixes deployed within the network etc.
When ABR receives the unnumbered LSA, it will not advertise such LSA into another area in the current OSPF specification. Considering such situation is seldom exist in real network, here we will only state explicitly that the above retrieval process is not suitable for the network that deploys unnumbered links.
When there are anycast prefixes deployment within the network, if the anycast prefix length is equal to 32, the controller can bypass them easily because no prefix of the link will use such prefix length. If the ansycast prefixes length is less than 32, it is acceptable that connects the nodes advertising these anycast prefixes logically. Or, if these anycast prefixes come from more than two nodes, the controller can also detect such situation and label it explicitly.