idnits 2.17.1 draft-zhu-idr-bgpls-sr-vtn-flexalgo-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (February 22, 2021) is 1160 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-12) exists of draft-ietf-idr-bgp-ls-flex-algo-05 == Outdated reference: A later version (-18) exists of draft-ietf-idr-bgp-ls-segment-routing-ext-16 == Outdated reference: A later version (-14) exists of draft-ietf-idr-bgpls-srv6-ext-05 == Outdated reference: A later version (-17) exists of draft-ietf-idr-rfc7752bis-05 == Outdated reference: A later version (-08) exists of draft-ietf-spring-resource-aware-segments-01 ** Downref: Normative reference to an Informational draft: draft-ietf-spring-sr-for-enhanced-vpn (ref. 'I-D.ietf-spring-sr-for-enhanced-vpn') == Outdated reference: A later version (-05) exists of draft-dong-idr-bgpls-sr-enhanced-vpn-02 == Outdated reference: A later version (-26) exists of draft-ietf-lsr-flex-algo-13 == Outdated reference: A later version (-17) exists of draft-ietf-teas-enhanced-vpn-06 == Outdated reference: A later version (-07) exists of draft-zhu-lsr-isis-sr-vtn-flexalgo-01 Summary: 1 error (**), 0 flaws (~~), 11 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IDR Working Group Y. Zhu 3 Internet-Draft China Telecom 4 Intended status: Standards Track J. Dong 5 Expires: August 26, 2021 Z. Hu 6 Huawei Technologies 7 February 22, 2021 9 BGP-LS with Flex-Algo for Segment Routing based Virtual Transport 10 Networks 11 draft-zhu-idr-bgpls-sr-vtn-flexalgo-01 13 Abstract 15 Enhanced VPN (VPN+) aims to provide enhanced VPN service to support 16 some application's needs of enhanced isolation and stringent 17 performance requirements. VPN+ requires integration between the 18 overlay VPN and a particular set of resources in the underlay 19 network. A Virtual Transport Network (VTN) is a virtual underlay 20 network which has a customized network topology and a set of network 21 resources allocated from the physical network. A VTN could be used 22 to support one or a group of VPN+ services. 24 When Segment Routing is used as the data plane to provide VTNs, each 25 VTN can be allocated with a group of SIDs to identify the topology 26 and resource attributes of network segments in the VTN. The 27 association between the network topology, the network resource 28 attributes and the SR SIDs may need to be distributed to a 29 centralized network controller. For network scenarios where each VTN 30 can be identified by a unique Flex-Algo ID, this document describes a 31 mechanism to distribute the information of SR based VTNs using BGP-LS 32 with Flex-Algo. 34 Status of This Memo 36 This Internet-Draft is submitted in full conformance with the 37 provisions of BCP 78 and BCP 79. 39 Internet-Drafts are working documents of the Internet Engineering 40 Task Force (IETF). Note that other groups may also distribute 41 working documents as Internet-Drafts. The list of current Internet- 42 Drafts is at https://datatracker.ietf.org/drafts/current/. 44 Internet-Drafts are draft documents valid for a maximum of six months 45 and may be updated, replaced, or obsoleted by other documents at any 46 time. It is inappropriate to use Internet-Drafts as reference 47 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on August 26, 2021. 50 Copyright Notice 52 Copyright (c) 2021 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (https://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 68 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 69 2. Advertisement of VTN Topology Attribute . . . . . . . . . . . 3 70 2.1. Intra-domain Topology Advertisement . . . . . . . . . . . 4 71 2.2. Inter-Domain Topology Advertisement . . . . . . . . . . . 4 72 3. Advertisement of VTN Resource Attribute . . . . . . . . . . . 6 73 4. Scalability Considerations . . . . . . . . . . . . . . . . . 7 74 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 75 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 76 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 77 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 78 8.1. Normative References . . . . . . . . . . . . . . . . . . 8 79 8.2. Informative References . . . . . . . . . . . . . . . . . 9 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 82 1. Introduction 84 Enhanced VPN (VPN+) is an enhancement to VPN services to support the 85 needs of new applications, particularly including the applications 86 that are associated with 5G services. These applications require 87 enhanced isolation and have more stringent performance requirements 88 than that can be provided with traditional overlay VPNs. Thus these 89 properties require integration between the overlay VPN and the 90 underlay networks. [I-D.ietf-teas-enhanced-vpn] specifies the 91 framework of enhanced VPN and describes the candidate component 92 technologies in different network planes and layers. An enhanced VPN 93 can be used for 5G network slicing, and will also be of use in other 94 generic scenarios. 96 To meet the requirement of enhanced VPN services, a number of virtual 97 underlay networks need to be created, each with a subset of the 98 underlay network topology and a set of network resources allocated to 99 meet the requirement of a specific VPN+ service or a group of VPN+ 100 services. Such a virtual underlay network is called Virtual 101 Transport Network (VTN) in [I-D.ietf-teas-enhanced-vpn]. 103 [I-D.ietf-spring-resource-aware-segments] introduces resource- 104 awareness to Segment Routing (SR) [RFC8402] by associating existing 105 type of SIDs with network resource attributes (e.g. bandwidth, 106 processing or storage resources). These resource-aware SIDs retain 107 their original functionality, with the additional semantics of 108 identifying the set of network resources available for the packet 109 processing action. [I-D.ietf-spring-sr-for-enhanced-vpn] describes 110 the use of resource-aware segments to build SR based VTNs. To allow 111 the network controller and network nodes to perform VTN-specific 112 explicit path computation and/or shortest path computation, the group 113 of resource-aware SIDs allocated by network nodes to each VTN and the 114 associated topology and resource attributes need to be distributed in 115 the control plane. When a centralized network controller is used for 116 VTN-specific path computation, especially when a VTN spans multiple 117 IGP areas or multiple Autonomous Systems (ASes), BGP-LS 118 [I-D.ietf-idr-rfc7752bis] is needed to advertise the VTN information 119 in each IGP area or AS to the network controller, so that the 120 controller could use the collected information to build the view of 121 inter-area or inter-AS SR VTNs. 123 In some network scenarios, each VTN can be identified by a unique 124 Flex-Algo ID [I-D.ietf-lsr-flex-algo]. 125 [I-D.zhu-lsr-isis-sr-vtn-flexalgo] describes an IGP mechanism to 126 advertise the association between the Flex-Algo and the resource 127 attributes and the SR SIDs associated with each VTN. This document 128 describes a mechanism to distribute the information of SR based VTNs 129 to the network controller using BGP-LS with Flex-Algo. 131 1.1. Requirements Language 133 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 134 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 135 "OPTIONAL" in this document are to be interpreted as described in 136 BCP14 RFC 2119 [RFC2119] [RFC8174] when, and only when, they appear 137 in all capitals, as shown here. 139 2. Advertisement of VTN Topology Attribute 141 [I-D.zhu-lsr-isis-sr-vtn-flexalgo] describes the mechanism of using 142 ISIS Flex-Algo to distribute the topological constraints of SR based 143 VTNs. This section describes the corresponding BGP-LS mechanism to 144 distribute both the intra-domain and inter-domain topology attributes 145 of SR based VTNs. 147 2.1. Intra-domain Topology Advertisement 149 [I-D.ietf-lsr-flex-algo] specifies the mechanism to provide 150 distributed constraint-path computation, and the usage of SR-MPLS 151 prefix-SIDs and SRv6 locators for steering traffic along the 152 constrained paths. The Flex-Algo definition is the combination of 153 calculation-type, metric-type and the topological constraints used 154 for path computation. As specified in 155 [I-D.zhu-lsr-isis-sr-vtn-flexalgo], the topology attribute of a VTN 156 can be described by applying Flex-Algo constraints on a particular 157 topology. If each VTN is associated with a unique Flex-Algo, the 158 Flex-Algo ID could be reused as the identifier of the VTN in the 159 control plane. 161 BGP-LS extensions for Flex-Algo [I-D.ietf-idr-bgp-ls-flex-algo] 162 provide the mechanisms to advertise the Flex-Algo definition 163 information. BGP-LS extensions for SR-MPLS 164 [I-D.ietf-idr-bgp-ls-segment-routing-ext] and SRv6 165 [I-D.ietf-idr-bgpls-srv6-ext] provide the mechanism to advertise the 166 algorithm-specific segment routing information. 168 In[I-D.ietf-idr-bgp-ls-segment-routing-ext], algorithm-specific 169 prefix-SIDs can be advertised in BGP-LS attribute associated with 170 Prefix NLRI. 172 In [I-D.ietf-idr-bgpls-srv6-ext], algorithm-specific SRv6 Locators 173 can be advertised in the Prefix NLRI with the SRv6 Locator TLV 174 carried in the associated BGP-LS Attribute, and algorithm-specific 175 End.X SID can be advertised in BGP-LS Attribute associated with the 176 corresponding Link NLRI. Other types of SRv6 SIDs can also be 177 algorithm-specific and are advertised using the SRv6 SID NLRI . 179 2.2. Inter-Domain Topology Advertisement 181 In some network scenarios, a VTNs which span multiple areas or ASes 182 needs to be created. The multi-domain VTN could have different 183 inter-domain connectivity, and may be associated with different set 184 of network resources in each domain and also on the inter-domain 185 links. In order to build the multi-domain VTNs using segment 186 routing, it is necessary to advertise the topology and resource 187 attribute of VTN on the inter-domain links and the associated BGP 188 Peering SIDs. 190 [I-D.ietf-idr-bgpls-segment-routing-epe] and 191 [I-D.ietf-idr-bgpls-srv6-ext] defines the BGP-LS extensions for 192 advertisement of BGP topology information between ASes and the BGP 193 Peering Segment Identifiers. Such information could be used by a 194 network controller for the computation and instantiation of inter-AS 195 traffic engineering SR paths. 197 Depending on the network scenarios and the requirement of inter- 198 domain VTNs, different mechanisms can be used to specify the inter- 199 domain connections of VTNs. 201 o One EBGP session between two ASes can be established over multiple 202 underlying links. In this case, different underlying links can be 203 used for different inter-domain VTNs which requires link isolation 204 between each other. In another similar case, the EBGP session is 205 established over a single link, while the network resource (e.g. 206 bandwidth) on this link can be partitioned into several pieces, 207 each of which can be considered as a virtual member link. In both 208 cases, different BGP Peer-Adj-SIDs SHOULD be allocated to each 209 underlying physical or virtual member link, and ASBRs SHOULD 210 advertise the VTN identifier associated with each BGP Peer-Adj- 211 SID. 213 o For inter-domain connection between two ASes, multiple EBGP 214 sessions can be established between different set of peering 215 ASBRs. It is possible that some of these BGP sessions are used 216 for one multi-domain VTN, while some other BGP sessions are used 217 for another multi-domain VTN. In this case, different BGP peer- 218 node-SIDs are allocated to each BGP session, and ASBRs SHOULD 219 advertise the VTN identifier associated with each BGP Peer-node- 220 SIDs. 222 o At the AS-level topology, different multi-domain VTNs may have 223 different inter-domain connectivity. Different BGP Peer-Set-SIDs 224 can be allocated to represent the groups of BGP peers which can be 225 used for load-balancing in each multi-domain VTN. 227 When Flex-Algo is used consistently in multiple ASes covered by a 228 VTN, the topology-specific BGP peering SIDs can be advertised 229 together with the admin-group (color) of the corresponding Flex-Algo 230 in the BGP-LS attribute. 232 In network scenarios where consistent usage of Flex-Algo among 233 multiple ASes can not be expected, a global-significant VTN-ID can be 234 used to define the AS level VTN topologies. Within each domain, the 235 Flex-Algo based mechanism could be used for intra-domain topology 236 advertisement. The detailed mechanism is specified in 237 [I-D.dong-idr-bgpls-sr-enhanced-vpn]. 239 3. Advertisement of VTN Resource Attribute 241 [I-D.zhu-lsr-isis-sr-vtn-flexalgo] specifies the mechanism to 242 advertise the resource information associated with each VTN. It is 243 based on the extensions to the advertisement of L2 bundle member 244 links information[RFC8668]. This section defines the corresponding 245 BGP-LS extensions. 247 A new TLVs is defined to specify the attribute flags of either a 248 Layer-3 link or a L2 bundle member link. It can be carried in BGP-LS 249 attribute which is associated with a Link NLRI, or it could be 250 carried as a sub-TLV in the L2 Bundle Member Attribute TLV. The 251 format of the sub-TLV is as below: 253 0 1 2 3 254 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 255 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 256 | Type | Length | 257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 258 | Flags | 259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 261 Where: 263 Type: TBD 265 Length: 4 octets. 267 Flags: 16-bit flags. This field is consistent with the Flag field 268 in IS-IS Link Attribute sub-TLV in [RFC5029]. In addition to the 269 flags defined in [RFC5029], A new Flag V is defined in this 270 document. When the V flag is set, it indicates this link is a 271 virtual link. 273 In order to correlate the virtual or physical member links with the 274 Flex-Algo used to identify the VTN, each VTN SHOULD be assigned with 275 a unique Admin Group (AG) or Extended Admin Group (EAG), and the 276 virtual or physical member link associated with this VTN SHOULD be 277 configured with the AG or EAG assigned to the VTN. The AG or EAG of 278 the Layer-3 link SHOULD be set to the union of all the AGs or EAGs of 279 its virtual or physical member links. In the definition of the Flex- 280 Algo corresponding to the VTN, It MUST use the Include-Any Admin 281 Group rule with only the AG or EAG assigned to the VTN as the link 282 constraints, the Include-All Admin Goup rule or the Exclude Admin 283 Group rule MUST NOT be used. This ensures that the Layer-3 link is 284 included in the Flex-Algo specific constraint path computation for 285 each VTN it participates in. 287 The TE attributes of each Layer-3 link or Layer 2 bundle member link, 288 such as the bandwidth, the Adj-SIDs or the SRv6 End.X SIDs, can be 289 advertised using the mechanism as defined in [I-D.ietf-idr-bgp-ls-seg 290 ment-routing-ext][I-D.ietf-idr-bgpls-segment-routing-epe] and 291 [I-D.ietf-idr-bgpls-srv6-ext]. 293 4. Scalability Considerations 295 The mechanism described in this document assumes that each VTN is 296 associated with an unique Flex-Algo, so that the Flex-Algo IDs can be 297 reused to identify the VTNs in the control plane. While this brings 298 the benefit of simplicity, it also has some limitations. For 299 example, it means that even if multiple VTNs share the same 300 topological constraints, they would still need to be identified using 301 different Flex-Algo IDs in the control plane, then independent path 302 computation needs to be executed for each VTN. The number of VTNs 303 supported in a network may be dependent on the number of Flex-Algos 304 supported, which is related to the control plane computation 305 overhead. Another aspect which may impact the number of VTNs 306 supported with this mechanism is that at most 128 Flex-Algos can be 307 used in a network. 309 Based on the above considerations, this mechanism is suitable for 310 networks where a relatively small number of VTNs are needed. 312 5. Security Considerations 314 This document introduces no additional security vulnerabilities to 315 BGP-LS. 317 The mechanism proposed in this document is subject to the same 318 vulnerabilities as any other protocol that relies on BGP-LS. 320 6. IANA Considerations 322 TBD 324 7. Acknowledgments 326 The authors would like to thank Shunwan Zhuang and Zhenbin Li for the 327 review and discussion of this document. 329 8. References 330 8.1. Normative References 332 [I-D.ietf-idr-bgp-ls-flex-algo] 333 Talaulikar, K., Psenak, P., Zandi, S., and G. Dawra, 334 "Flexible Algorithm Definition Advertisement with BGP 335 Link-State", draft-ietf-idr-bgp-ls-flex-algo-05 (work in 336 progress), November 2020. 338 [I-D.ietf-idr-bgp-ls-segment-routing-ext] 339 Previdi, S., Talaulikar, K., Filsfils, C., Gredler, H., 340 and M. Chen, "BGP Link-State extensions for Segment 341 Routing", draft-ietf-idr-bgp-ls-segment-routing-ext-16 342 (work in progress), June 2019. 344 [I-D.ietf-idr-bgpls-segment-routing-epe] 345 Previdi, S., Talaulikar, K., Filsfils, C., Patel, K., Ray, 346 S., and J. Dong, "BGP-LS extensions for Segment Routing 347 BGP Egress Peer Engineering", draft-ietf-idr-bgpls- 348 segment-routing-epe-19 (work in progress), May 2019. 350 [I-D.ietf-idr-bgpls-srv6-ext] 351 Dawra, G., Filsfils, C., Talaulikar, K., Chen, M., 352 daniel.bernier@bell.ca, d., and B. Decraene, "BGP Link 353 State Extensions for SRv6", draft-ietf-idr-bgpls- 354 srv6-ext-05 (work in progress), November 2020. 356 [I-D.ietf-idr-rfc7752bis] 357 Talaulikar, K., "Distribution of Link-State and Traffic 358 Engineering Information Using BGP", draft-ietf-idr- 359 rfc7752bis-05 (work in progress), November 2020. 361 [I-D.ietf-spring-resource-aware-segments] 362 Dong, J., Bryant, S., Miyasaka, T., Zhu, Y., Qin, F., Li, 363 Z., and F. Clad, "Introducing Resource Awareness to SR 364 Segments", draft-ietf-spring-resource-aware-segments-01 365 (work in progress), January 2021. 367 [I-D.ietf-spring-sr-for-enhanced-vpn] 368 Dong, J., Bryant, S., Miyasaka, T., Zhu, Y., Qin, F., Li, 369 Z., and F. Clad, "Segment Routing based Virtual Transport 370 Network (VTN) for Enhanced VPN", February 2021, 371 . 374 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 375 Requirement Levels", BCP 14, RFC 2119, 376 DOI 10.17487/RFC2119, March 1997, 377 . 379 [RFC5029] Vasseur, JP. and S. Previdi, "Definition of an IS-IS Link 380 Attribute Sub-TLV", RFC 5029, DOI 10.17487/RFC5029, 381 September 2007, . 383 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 384 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 385 May 2017, . 387 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 388 Decraene, B., Litkowski, S., and R. Shakir, "Segment 389 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 390 July 2018, . 392 8.2. Informative References 394 [I-D.dong-idr-bgpls-sr-enhanced-vpn] 395 Dong, J., Hu, Z., Li, Z., Tang, X., and R. Pang, "BGP-LS 396 Extensions for Segment Routing based Enhanced VPN", draft- 397 dong-idr-bgpls-sr-enhanced-vpn-02 (work in progress), June 398 2020. 400 [I-D.ietf-lsr-flex-algo] 401 Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and 402 A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- 403 algo-13 (work in progress), October 2020. 405 [I-D.ietf-teas-enhanced-vpn] 406 Dong, J., Bryant, S., Li, Z., Miyasaka, T., and Y. Lee, "A 407 Framework for Enhanced Virtual Private Networks (VPN+) 408 Service", draft-ietf-teas-enhanced-vpn-06 (work in 409 progress), July 2020. 411 [I-D.zhu-lsr-isis-sr-vtn-flexalgo] 412 Zhu, Y., Dong, J., and Z. Hu, "Using Flex-Algo for Segment 413 Routing based VTN", draft-zhu-lsr-isis-sr-vtn-flexalgo-01 414 (work in progress), September 2020. 416 [RFC8668] Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, 417 M., and E. Aries, "Advertising Layer 2 Bundle Member Link 418 Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, 419 December 2019, . 421 Authors' Addresses 423 Yongqing Zhu 424 China Telecom 426 Email: zhuyq8@chinatelecom.cn 427 Jie Dong 428 Huawei Technologies 430 Email: jie.dong@huawei.com 432 Zhibo Hu 433 Huawei Technologies 435 Email: huzhibo@huawei.com