idnits 2.17.00 (12 Aug 2021) /tmp/idnits57446/draft-ietf-rtgwg-net2cloud-problem-statement-10.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 == Line 668 has weird spacing: '...ith the assis...' -- The document date (May 1, 2020) is 750 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'SDWAN-BGP-USAGE' is mentioned on line 154, but not defined == Missing Reference: 'BGP-SDWAN-USAGE' is mentioned on line 700, but not defined == Unused Reference: 'ITU-T-X1036' is defined on line 767, but no explicit reference was found in the text == Unused Reference: 'RFC4364' is defined on line 774, but no explicit reference was found in the text == Unused Reference: 'RFC4664' is defined on line 777, but no explicit reference was found in the text Summary: 0 errors (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group L. Dunbar 2 Internet Draft Futurewei 3 Intended status: Informational Andy Malis 4 Expires: November 1, 2020 Independent 5 C. Jacquenet 6 Orange 7 M. Toy 8 Verizon 9 May 1, 2020 11 Dynamic Networks to Hybrid Cloud DCs Problem Statement 12 draft-ietf-rtgwg-net2cloud-problem-statement-10 14 Abstract 16 This document describes the problems that enterprises face today 17 when interconnecting their branch offices with dynamic workloads in 18 third party data centers (a.k.a. Cloud DCs). There can be many 19 problems associated with network connecting to or among Clouds, many 20 of which probably are out of the IETF scope. The objective of this 21 document is to identify some of the problems that need additional 22 work in IETF Routing area. Other problems are out of the scope of 23 this document. 25 This document focuses on the network problems that many enterprises 26 face when they have workloads & applications & data split among 27 different data centers, especially for those enterprises with 28 multiple sites that are already interconnected by VPNs (e.g., MPLS 29 L2VPN/L3VPN). 31 Current operational problems are examined to determine whether there 32 is a need to improve existing protocols or whether a new protocol is 33 necessary to solve them. 35 Status of this Memo 37 This Internet-Draft is submitted in full conformance with the 38 provisions of BCP 78 and BCP 79. 40 Internet-Drafts are working documents of the Internet Engineering 41 Task Force (IETF), its areas, and its working groups. Note that 42 other groups may also distribute working documents as Internet- 43 Drafts. 45 Internet-Drafts are draft documents valid for a maximum of six 46 months and may be updated, replaced, or obsoleted by other documents 47 at any time. It is inappropriate to use Internet-Drafts as 48 reference material or to cite them other than as "work in progress." 50 The list of current Internet-Drafts can be accessed at 51 http://www.ietf.org/ietf/1id-abstracts.txt 53 The list of Internet-Draft Shadow Directories can be accessed at 54 http://www.ietf.org/shadow.html 56 This Internet-Draft will expire on October 1, 2020. 58 Copyright Notice 60 Copyright (c) 2020 IETF Trust and the persons identified as the 61 document authors. All rights reserved. 63 This document is subject to BCP 78 and the IETF Trust's Legal 64 Provisions Relating to IETF Documents 65 (http://trustee.ietf.org/license-info) in effect on the date of 66 publication of this document. Please review these documents 67 carefully, as they describe your rights and restrictions with 68 respect to this document. Code Components extracted from this 69 document must include Simplified BSD License text as described in 70 Section 4.e of the Trust Legal Provisions and are provided without 71 warranty as described in the Simplified BSD License. 73 Table of Contents 75 1. Introduction...................................................3 76 1.1. Key Characteristics of Cloud Services:....................3 77 1.2. Connecting to Cloud Services..............................3 78 1.3. The role of SD-WAN in connecting to Cloud Services........4 79 2. Definition of terms............................................4 80 3. High Level Issues of Connecting to Multi-Cloud.................6 81 3.1. Security Issues...........................................6 82 3.2. Authorization and Identity Management.....................6 83 3.3. API abstraction...........................................7 84 3.4. DNS for Cloud Resources...................................8 85 3.5. NAT for Cloud Services....................................9 86 3.6. Cloud Discovery...........................................9 87 4. Interconnecting Enterprise Sites with Cloud DCs...............10 88 4.1. Sites to Cloud DC........................................10 89 4.2. Inter-Cloud Interconnection..............................12 90 5. Problems with MPLS-based VPNs extending to Hybrid Cloud DCs...14 91 6. Problem with using IPsec tunnels to Cloud DCs.................15 92 6.1. Scaling Issues with IPsec Tunnels........................15 93 6.2. Poor performance over long distance......................16 94 7. Problems of Using SD-WAN to connect to Cloud DCs..............16 95 7.1. More Complexity to Edge Nodes............................17 96 7.2. Edge WAN Port Management.................................17 97 7.3. Forwarding based on Application..........................18 98 8. End-to-End Security Concerns for Data Flows...................18 99 9. Requirements for Dynamic Cloud Data Center VPNs...............18 100 10. Security Considerations......................................19 101 11. IANA Considerations..........................................19 102 12. References...................................................19 103 12.1. Normative References....................................19 104 12.2. Informative References..................................19 105 13. Acknowledgments..............................................20 107 1. Introduction 109 1.1. Key Characteristics of Cloud Services: 111 Key characteristics of Cloud Services are on-demand, scalable, 112 highly available, and usage-based billing. Cloud Services, such as, 113 compute, storage, network functions (most likely virtual), third 114 party managed applications, etc. are usually hosted and managed by 115 third parties Cloud Operators. Here are some examples of Cloud 116 network functions: Virtual Firewall services, Virtual private 117 network services, Virtual PBX services including voice and video 118 conferencing systems, etc. Cloud Data Center (DC) is shared 119 infrastructure that hosts the Cloud Services to many customers. 121 1.2. Connecting to Cloud Services 123 With the advent of widely available third-party cloud DCs and 124 services in diverse geographic locations and the advancement of 125 tools for monitoring and predicting application behaviors, it is 126 very attractive for enterprises to instantiate applications and 127 workloads in locations that are geographically closest to their end- 128 users. Such proximity can improve end-to-end latency and overall 129 user experience. Conversely, an enterprise can easily shutdown 130 applications and workloads whenever end-users are in motion (thereby 131 modifying the networking connection of subsequently relocated 132 applications and workloads). In addition, enterprises may wish to 133 take advantage of more and more business applications offered by 134 cloud operators. 136 The networks that interconnect hybrid cloud DCs must address the 137 following requirements: 138 - to access all workloads in the desired cloud DCs. 139 Many enterprises include cloud in their disaster recovery 140 strategy, such as enforcing periodic backup policies within the 141 cloud, or running backup applications in the Cloud. 143 - Global reachability from different geographical zones, thereby 144 facilitating the proximity of applications as a function of the 145 end users' location, to improve latency. 146 - Elasticity: prompt connection to newly instantiated 147 applications at Cloud DCs when usages increase and prompt 148 release of connection after applications at locations being 149 removed when demands change. 150 - Scalable security management. 152 1.3. The role of SD-WAN in connecting to Cloud Services 154 Some of the characteristics of SD-WAN [SDWAN-BGP-USAGE], such as 155 network augmentation and forwarding based on application IDs instead 156 of based on destination IP addresses, are very essential for 157 connecting to on-demand Cloud services. 159 Issues associated with using SD-WAN for connecting to Cloud services 160 are also discussed in this document. 162 2. Definition of terms 164 Cloud DC: Third party Data Centers that usually host applications 165 and workload owned by different organizations or 166 tenants. 168 Controller: Used interchangeably with SD-WAN controller to manage 169 SD-WAN overlay path creation/deletion and monitoring the 170 path conditions between two or more sites. 172 DSVPN: Dynamic Smart Virtual Private Network. DSVPN is a secure 173 network that exchanges data between sites without 174 needing to pass traffic through an organization's 175 headquarter virtual private network (VPN) server or 176 router. 178 Heterogeneous Cloud: applications and workloads split among Cloud 179 DCs owned or managed by different operators. 181 Hybrid Clouds: Hybrid Clouds refers to an enterprise using its own 182 on-premises DCs in addition to Cloud services provided 183 by one or more cloud operators. (e.g. AWS, Azure, 184 Google, Salesforces, SAP, etc). 186 SD-WAN: Software Defined Wide Area Network. In this document, 187 "SD-WAN" refers to the solutions of pooling WAN 188 bandwidth from multiple underlay networks to get better 189 WAN bandwidth management, visibility & control. When the 190 underlay networks are private networks, traffic can 191 traverse without additional encryption; when the 192 underlay networks are public, such as Internet, some 193 traffic needs to be encrypted when traversing through 194 (depending on user provided policies). 196 VPC: Virtual Private Cloud is a virtual network dedicated to 197 one client account. It is logically isolated from other 198 virtual networks in a Cloud DC. Each client can launch 199 his/her desired resources, such as compute, storage, or 200 network functions into his/her VPC. Most Cloud 201 operators' VPCs only support private addresses, some 202 support IPv4 only, others support IPv4/IPv6 dual stack. 204 3. High Level Issues of Connecting to Multi-Cloud 206 There are many problems associated with connecting to hybrid Cloud 207 Services, many of which are out of the IETF scope. This section is 208 to identify some of the high-level problems that can be addressed by 209 IETF, especially by Routing area. Other problems are out of the 210 scope of this document. By no means has this section covered all 211 problems for connecting to Hybrid Cloud Services, e.g. difficulty in 212 managing cloud spending is not discussed here. 214 3.1. Security Issues 216 Cloud Services is built upon shared infrastructure, therefore not 217 secure by nature. Security has been a primary, and valid, concern 218 from the start of cloud computing, e.g. not being able to see the 219 exact location where the data are stored or trace of access. 220 Headlines highlighting data breaches, compromised credentials, and 221 broken authentication, hacked interfaces and APIs, account hijacking 222 haven't helped alleviate concerns. 224 Many Cloud operators offer monitoring services for data stored in 225 Clouds, such as AWS CloudTrail, Azure Monitor, and many third-party 226 monitoring tools to improve visibility to data stored in Clouds. But 227 there is still underline security concerns on illegitimate data and 228 workloads access. 230 Secure user identity management, authentication, and access control 231 mechanisms are important. Developing appropriate security 232 measurements can enhance the confidence needed by enterprises to 233 fully take advantage of Cloud Services. 235 3.2. Authorization and Identity Management 237 One of the more prominent challenges for Cloud Services is Identity 238 Management and Authorization. The Authorization not only includes 239 user authorization, but also the authorization of API calls by 240 applications from different Cloud DCs managed by different Cloud 241 Operators. In addition, there are authorization for Workload 242 Migration, Data Migration, and Workload Management. 244 There are many types of users in cloud environments, e.g. end users 245 for accessing applications hosted in Cloud DCs, Cloud-resource users 246 who are responsible for setting permissions for the resources based 247 on roles, access lists, IP addresses, domains, etc. 249 There are many types of Cloud authorizations: including MAC 250 (Mandatory Access Control) - where each app owns individual access 251 permissions, DAC (Discretionary Access Control) - where each app 252 requests permissions from an external permissions app, RBAC (Role- 253 based Access Control) - where the authorization service owns roles 254 with different privileges on the cloud service, and ABAC (Attribute- 255 based Access Control) - where access is based on request attributes 256 and policies. 258 IETF hasn't yet developed comprehensive specification for Identity 259 management and data models for Cloud Authorizations. 261 3.3. API abstraction 263 Different Cloud Operators have different APIs to access their Cloud 264 resources, security functions, the NAT, etc. 266 It is difficult to move applications built by one Cloud operator's 267 APIs to another. However, it is highly desirable to have a single 268 and consistent way to manage the networks and respective security 269 policies for interconnecting applications hosted in different Cloud 270 DCs. 272 The desired property would be having a single network fabric to 273 which different Cloud DCs and enterprise's multiple sites can be 274 attached or detached, with a common interface for setting desired 275 policies. 277 The difficulty of connecting applications in different Clouds might 278 be stemmed from the fact that they are direct competitors. Usually 279 traffic flow out of Cloud DCs incur charges. Therefore, direct 280 communications between applications in different Cloud DCs can be 281 more expensive than intra Cloud communications. 283 It is desirable to have a common API shim layer or abstraction for 284 different Cloud providers to make it easier to move applications 285 from one Cloud DC to another. 287 3.4. DNS for Cloud Resources 289 DNS name resolution is essential for on-premises and cloud-based 290 resources. For customers with hybrid workloads, which include on- 291 premises and cloud-based resources, extra steps are necessary to 292 configure DNS to work seamlessly across both environments. 294 Cloud operators have their own DNS to resolve resources within their 295 Cloud DCs and to well-known public domains. Cloud's DNS can be 296 configured to forward queries to customer managed authoritative DNS 297 servers hosted on-premises, and to respond to DNS queries forwarded 298 by on-premises DNS servers. 300 For enterprises utilizing Cloud services by different cloud 301 operators, it is necessary to establish policies and rules on 302 how/where to forward DNS queries to. When applications in one Cloud 303 need to communication with applications hosted in another Cloud, 304 there could be DNS queries from one Cloud DC being forwarded to the 305 enterprise's on premise DNS, which in turn be forwarded to the DNS 306 service in another Cloud. Needless to say, configuration can be 307 complex depending on the application communication patterns. 309 However, even with carefully managed policies and configurations, 310 collisions can still occur. If you use an internal name like .cloud 311 and then want your services to be available via or within some other 312 cloud provider which also uses .cloud, then it can't work. 313 Therefore, it is better to use the global domain name even when an 314 organization does not make all its namespace globally resolvable. An 315 organization's globally unique DNS can include subdomains that 316 cannot be resolved at all outside certain restricted paths, zones 317 that resolve differently based on the origin of the query, and zones 318 that resolve the same globally for all queries from any source. 320 Globally unique names do not equate to globally resolvable names or 321 even global names that resolve the same way from every perspective. 322 Globally unique names do prevent any possibility of collision at the 323 present or in the future and they make DNSSEC trust manageable. 324 Consider using a registered and fully qualified domain name (FQDN) 325 from global DNS as the root for enterprise and other internal 326 namespaces. 328 3.5. NAT for Cloud Services 330 Cloud resources, such as VM instances, are usually assigned with 331 private IP addresses. By configuration, some private subnets can 332 have the NAT function to reach out to external network and some 333 private subnets are internal to Cloud only. 335 Different Cloud operators support different levels of NAT functions. 336 For example, AWS NAT Gateway does not currently support connections 337 towards, or from VPC Endpoints, VPN, AWS Direct Connect, or VPC 338 Peering. https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc- 339 nat-gateway.html#nat-gateway-other-services. AWS Direct 340 Connect/VPN/VPC Peering does not currently support any NAT 341 functionality. 343 Google's Cloud NAT allows Google Cloud virtual machine (VM) 344 instances without external IP addresses and private Google 345 Kubernetes Engine (GKE) clusters to connect to the Internet. Cloud 346 NAT implements outbound NAT in conjunction with a default route to 347 allow instances to reach the Internet. It does not implement inbound 348 NAT. Hosts outside of VPC network can only respond to established 349 connections initiated by instances inside the Google Cloud; they 350 cannot initiate their own, new connections to Cloud instances via 351 NAT. 353 For enterprises with applications running in different Cloud DCs, 354 proper configuration of NAT has to be performed in Cloud DC and in 355 their own on-premise DC. 357 3.6. Cloud Discovery 359 One of the concerns of using Cloud services is not aware where the 360 resource is actually located, especially Cloud operators can move 361 application instances from one place to another. When applications 362 in Cloud communicate with on-premise applications, it may not be 363 clear where the Cloud applications are located or to which VPCs they 364 belong. 366 It is highly desirable to have tools to discover cloud services in 367 much the same way as you would discover your on-premises 368 infrastructure. A significant difference is that cloud discovery 369 uses the cloud vendor's API to extract data on your cloud services, 370 rather than the direct access used in scanning your on-premises 371 infrastructure. 373 Standard data models, APIs or tools can alleviate concerns of 374 enterprise utilizing Cloud Resources, e.g. having a Cloud service 375 scan that connects to the API of the cloud provider and collects 376 information directly. 378 4. Interconnecting Enterprise Sites with Cloud DCs 380 Considering that many enterprises already have existing VPNs (e.g. 381 MPLS based L2VPN or L3VPN) interconnecting branch offices & on- 382 premises data centers, connecting to Cloud services will be mixed of 383 different types of networks. When an enterprise's existing VPN 384 service providers do not have direct connections to the 385 corresponding cloud DCs that the enterprise prefers to use, the 386 enterprise has to face additional infrastructure and operational 387 costs to utilize Cloud services. 389 4.1. Sites to Cloud DC 391 Most Cloud operators offer some type of network gateway through 392 which an enterprise can reach their workloads hosted in the Cloud 393 DCs. AWS (Amazon Web Services) offers the following options to reach 394 workloads in AWS Cloud DCs: 396 - AWS Internet gateway allows communication between instances in 397 AWS VPC and the internet. 398 - AWS Virtual gateway (vGW) where IPsec tunnels [RFC6071] are 399 established between an enterprise's own gateway and AWS vGW, so 400 that the communications between those gateways can be secured 401 from the underlay (which might be the public Internet). 402 - AWS Direct Connect, which allows enterprises to purchase direct 403 connect from network service providers to get a private leased 404 line interconnecting the enterprises gateway(s) and the AWS 405 Direct Connect routers. In addition, an AWS Transit Gateway can 406 be used to interconnect multiple VPCs in different Availability 407 Zones. AWS Transit Gateway acts as a hub that controls how 408 traffic is forwarded among all the connected networks which act 409 like spokes. 411 Microsoft's ExpressRoute allows extension of a private network to 412 any of the Microsoft cloud services, including Azure and Office365. 413 ExpressRoute is configured using Layer 3 routing. Customers can opt 414 for redundancy by provisioning dual links from their location to two 415 Microsoft Enterprise edge routers (MSEEs) located within a third- 416 party ExpressRoute peering location. The BGP routing protocol is 417 then setup over WAN links to provide redundancy to the cloud. This 418 redundancy is maintained from the peering data center into 419 Microsoft's cloud network. 421 Google's Cloud Dedicated Interconnect offers similar network 422 connectivity options as AWS and Microsoft. One distinct difference, 423 however, is that Google's service allows customers access to the 424 entire global cloud network by default. It does this by connecting 425 your on-premises network with the Google Cloud using BGP and Google 426 Cloud Routers to provide optimal paths to the different regions of 427 the global cloud infrastructure. 429 Figure below shows an example of some of a tenant's workloads are 430 accessible via a virtual router connected by AWS Internet Gateway; 431 some are accessible via AWS vGW, and others are accessible via AWS 432 Direct Connect. 434 Different types of access require different level of security 435 functions. Sometimes it is not visible to end customers which type 436 of network access is used for a specific application instance. To 437 get better visibility, separate virtual routers (e.g. vR1 & vR2) can 438 be deployed to differentiate traffic to/from different cloud GWs. It 439 is important for some enterprises to be able to observe the specific 440 behaviors when connected by different connections. 442 Customer Gateway can be customer owned router or ports physically 443 connected to AWS Direct Connect GW. 445 +------------------------+ 446 | ,---. ,---. | 447 | (TN-1 ) ( TN-2)| 448 | `-+-' +---+ `-+-' | 449 | +----|vR1|----+ | 450 | ++--+ | 451 | | +-+----+ 452 | | /Internet\ For External 453 | +-------+ Gateway +---------------------- 454 | \ / to reach via Internet 455 | +-+----+ 456 | | 457 | ,---. ,---. | 458 | (TN-1 ) ( TN-2)| 459 | `-+-' +---+ `-+-' | 460 | +----|vR2|----+ | 461 | ++--+ | 462 | | +-+----+ 463 | | / virtual\ For IPsec Tunnel 464 | +-------+ Gateway +---------------------- 465 | | \ / termination 466 | | +-+----+ 467 | | | 468 | | +-+----+ +------+ 469 | | / \ For Direct /customer\ 470 | +-------+ Gateway +----------+ gateway | 471 | \ / Connect \ / 472 | +-+----+ +------+ 473 | | 474 +------------------------+ 476 Figure 1: Examples of Multiple Cloud DC connections. 478 4.2. Inter-Cloud Interconnection 480 The connectivity options to Cloud DCs described in the previous 481 section are for reaching Cloud providers' DCs, but not between cloud 482 DCs. When applications in AWS Cloud need to communicate with 483 applications in Azure, today's practice requires a third-party 484 gateway (physical or virtual) to interconnect the AWS's Layer 2 485 DirectConnect path with Azure's Layer 3 ExpressRoute. 487 Enterprises can also instantiate their own virtual routers in 488 different Cloud DCs and administer IPsec tunnels among them, which 489 by itself is not a trivial task. Or by leveraging open source VPN 490 software such as strongSwan, you create an IPSec connection to the 491 Azure gateway using a shared key. The StrongSwan instance within AWS 492 not only can connect to Azure but can also be used to facilitate 493 traffic to other nodes within the AWS VPC by configuring forwarding 494 and using appropriate routing rules for the VPC. 496 Most Cloud operators, such as AWS VPC or Azure VNET, use non- 497 globally routable CIDR from private IPv4 address ranges as specified 498 by RFC1918. To establish IPsec tunnel between two Cloud DCs, it is 499 necessary to exchange Public routable addresses for applications in 500 different Cloud DCs. [BGP-SDWAN] describes one method. Other methods 501 are worth exploring. 503 In summary, here are some approaches, available now (which might 504 change in the future), to interconnect workloads among different 505 Cloud DCs: 507 a) Utilize Cloud DC provided inter/intra-cloud connectivity 508 services (e.g., AWS Transit Gateway) to connect workloads 509 instantiated in multiple VPCs. Such services are provided with 510 the cloud gateway to connect to external networks (e.g., AWS 511 DirectConnect Gateway). 512 b) Hairpin all traffic through the customer gateway, meaning all 513 workloads are directly connected to the customer gateway, so 514 that communications among workloads within one Cloud DC must 515 traverse through the customer gateway. 516 c) Establish direct tunnels among different VPCs (AWS' Virtual 517 Private Clouds) and VNET (Azure's Virtual Networks) via 518 client's own virtual routers instantiated within Cloud DCs. 519 DMVPN (Dynamic Multipoint Virtual Private Network) or DSVPN 520 (Dynamic Smart VPN) techniques can be used to establish direct 521 Multi-point-to-Point or multi-point-to multi-point tunnels 522 among those client's own virtual routers. 524 Approach a) usually does not work if Cloud DCs are owned and managed 525 by different Cloud providers. 527 Approach b) creates additional transmission delay plus incurring 528 cost when exiting Cloud DCs. 530 For the Approach c), DMVPN or DSVPN use NHRP (Next Hop Resolution 531 Protocol) [RFC2735] so that spoke nodes can register their IP 532 addresses & WAN ports with the hub node. The IETF ION 533 (Internetworking over NBMA (non-broadcast multiple access) WG 534 standardized NHRP for connection-oriented NBMA network (such as ATM) 535 network address resolution more than two decades ago. 537 There are many differences between virtual routers in Public Cloud 538 DCs and the nodes in an NBMA network. NHRP cannot be used for 539 registering virtual routers in Cloud DCs unless an extension of such 540 protocols is developed for that purpose, e.g. taking NAT or dynamic 541 addresses into consideration. Therefore, DMVPN and/or DSVPN cannot 542 be used directly for connecting workloads in hybrid Cloud DCs. 544 Other protocols such as BGP can be used, as described in [BGP- 545 SDWAN]. 547 5. Problems with MPLS-based VPNs extending to Hybrid Cloud DCs 549 Traditional MPLS-based VPNs have been widely deployed as an 550 effective way to support businesses and organizations that require 551 network performance and reliability. MPLS shifted the burden of 552 managing a VPN service from enterprises to service providers. The 553 CPEs attached to MPLS VPNs are also simpler and less expensive, 554 because they do not need to manage routes to remote sites; they 555 simply pass all outbound traffic to the MPLS VPN PEs to which the 556 CPEs are attached (albeit multi-homing scenarios require more 557 processing logic on CPEs). MPLS has addressed the problems of 558 scale, availability, and fast recovery from network faults, and 559 incorporated traffic-engineering capabilities. 561 However, traditional MPLS-based VPN solutions are sub-optimized for 562 connecting end-users to dynamic workloads/applications in cloud DCs 563 because: 565 - The Provider Edge (PE) nodes of the enterprise's VPNs might not 566 have direct connections to third party cloud DCs that are used 567 for hosting workloads with the goal of providing an easy access 568 to enterprises' end-users. 570 - It takes some time to deploy provider edge (PE) routers at new 571 locations. When enterprise's workloads are changed from one 572 cloud DC to another (i.e., removed from one DC and re- 573 instantiated to another location when demand changes), the 574 enterprise branch offices need to be connected to the new cloud 575 DC, but the network service provider might not have PEs located 576 at the new location. 578 One of the main drivers for moving workloads into the cloud is 579 the widely available cloud DCs at geographically diverse 580 locations, where apps can be instantiated so that they can be 581 as close to their end-users as possible. When the user base 582 changes, the applications may be migrated to a new cloud DC 583 location closest to the new user base. 585 - Most of the cloud DCs do not expose their internal networks. An 586 enterprise with a hybrid cloud deployment can use an MPLS-VPN 587 to connect to a Cloud provider at multiple locations. The 588 connection locations often correspond to gateways of different 589 Cloud DC locations from the Cloud provider. The different 590 Cloud DCs are interconnected by the Cloud provider's own 591 internal network. At each connection location (gateway), the 592 Cloud provider uses BGP to advertise all of the prefixes in the 593 enterprise's VPC, regardless of which Cloud DC a given prefix 594 is actually in. This can result in inefficient routing for the 595 end-to-end data path. 597 Another roadblock is the lack of a standard way to express and 598 enforce consistent security policies for workloads that not only use 599 virtual addresses, but in which are also very likely hosted in 600 different locations within the Cloud DC [RFC8192]. The current VPN 601 path computation and bandwidth allocation schemes may not be 602 flexible enough to address the need for enterprises to rapidly 603 connect to dynamically instantiated (or removed) workloads and 604 applications regardless of their location/nature (i.e., third party 605 cloud DCs). 607 6. Problem with using IPsec tunnels to Cloud DCs 608 As described in the previous section, many Cloud operators expose 609 their gateways for external entities (which can be enterprises 610 themselves) to directly establish IPsec tunnels. Enterprises can 611 also instantiate virtual routers within Cloud DCs to connect to 612 their on-premises devices via IPsec tunnels. 614 6.1. Scaling Issues with IPsec Tunnels 616 If there is only one enterprise location that needs to reach the 617 Cloud DC, an IPsec tunnel is a very convenient solution. 619 However, many medium-to-large enterprises have multiple sites and 620 multiple data centers. For multiple sites to communicate with 621 workloads and apps hosted in cloud DCs, Cloud DC gateways have to 622 maintain many IPsec tunnels to all those locations. In addition, 623 each of those IPsec Tunnels requires pair-wise periodic key 624 refreshment. For a company with hundreds or thousands of locations, 625 there could be hundreds (or even thousands) of IPsec tunnels 626 terminating at the cloud DC gateway, which is very processing 627 intensive. That is why many cloud operators only allow a limited 628 number of (IPsec) tunnels & bandwidth to each customer. 630 Alternatively, you could use a solution like group encryption where 631 a single IPsec SA is necessary at the GW but the drawback is key 632 distribution and maintenance of a key server, etc. 634 6.2. Poor performance over long distance 636 When enterprise CPEs or gateways are far away from cloud DC gateways 637 or across country/continent boundaries, performance of IPsec tunnels 638 over the public Internet can be problematic and unpredictable. Even 639 though there are many monitoring tools available to measure delay 640 and various performance characteristics of the network, the 641 measurement for paths over the Internet is passive and past 642 measurements may not represent future performance. 644 Many cloud providers can replicate workloads in different available 645 zones. An App instantiated in a cloud DC closest to clients may have 646 to cooperate with another App (or its mirror image) in another 647 region or database server(s) in the on-premises DC. This kind of 648 coordination requires predicable networking behavior/performance 649 among those locations. 651 7. Problems of Using SD-WAN to connect to Cloud DCs 652 SD-WAN lets enterprises augment their current VPN network with cost- 653 effective, readily available Broadband Internet connectivity, 654 enabling some traffic offloading to paths over the Internet 655 according to differentiated, possibly application-based traffic 656 forwarding policies, or when the MPLS VPN connection between the two 657 locations is congested, or otherwise undesirable or unavailable. 659 7.1. More Complexity to Edge Nodes 661 Augmenting transport path is not as simple as it appears. For an 662 enterprise with multiple sites, CPE managed overlay paths among 663 sites requires each CPE to manage all the addresses that local hosts 664 have potential to reach, i.e., map internal VPN addresses to 665 appropriate Overlay paths. This is similar to the complexity of 666 Frame Relay based VPNs, where each CPE needed to maintain mesh 667 routing for all destinations if they were to avoid an extra hop 668 through a hub router. Even with the assistance from a central 669 controller (instead of running a routing protocol) to resolve the 670 mapping between destinations and SD-WAN paths, SD-WAN CPEs are still 671 responsible for routing table maintenance as remote destinations 672 change their attachments, e.g., the dynamic workload in other DCs 673 are de-commissioned or added. 675 In addition, overlay path for interconnecting branch offices are 676 different from connecting to Cloud DCs: 678 - Overlay path interconnecting branch offices usually have two 679 end-points (e.g. CPEs) controlled by one entity (e.g. 680 controllers or management systems operated by the enterprise). 681 - Connecting to Cloud DC may consists of CPEs owned or managed by 682 the enterprise, and the remote end-points being managed or 683 controlled by Cloud DCs. 685 7.2. Edge WAN Port Management 687 An SDWAN edge node can have WAN ports connected to different 688 networks or public internet managed by different operators. 689 There is therefore a need to propagate WAN port property to 690 remote authorized peers in third party network domains in 691 addition to route propagation. Such an exchange cannot happen 692 before communication between peers is properly secured. 694 7.3. Forwarding based on Application 695 Forwarding based on application IDs instead of based on 696 destination IP addresses is often referred to as Application based 697 Segmentation. If the Applications have unique IP addresses, then 698 the Application Based Segmentation can be achieved by propagating 699 different BGP UPDATE messages to different nodes, as described in 700 [BGP-SDWAN-USAGE]. If the Application cannot be uniquely 701 identified by the IP addresses, more work is needed. 703 8. End-to-End Security Concerns for Data Flows 705 When IPsec tunnels established from enterprise on-premises CPEs 706 are terminated at the Cloud DC gateway where the workloads or 707 applications are hosted, some enterprises have concerns regarding 708 traffic to/from their workload being exposed to others behind the 709 data center gateway (e.g., exposed to other organizations that 710 have workloads in the same data center). 711 To ensure that traffic to/from workloads is not exposed to 712 unwanted entities, IPsec tunnels may go all the way to the 713 workload (servers, or VMs) within the DC. 715 9. Requirements for Dynamic Cloud Data Center VPNs 717 In order to address the aforementioned issues, any solution for 718 enterprise VPNs that includes connectivity to dynamic workloads or 719 applications in cloud data centers should satisfy a set of 720 requirements: 722 - The solution should allow enterprises to take advantage of the 723 current state-of-the-art in VPN technology, in both traditional 724 MPLS-based VPNs and IPsec-based VPNs (or any combination 725 thereof) that run over the public Internet. 726 - The solution should not require an enterprise to upgrade all 727 their existing CPEs. 728 - The solution should support scalable IPsec key management among 729 all nodes involved in DC interconnect schemes. 730 - The solution needs to support easy and fast, on-the-fly, VPN 731 connections to dynamic workloads and applications in third 732 party data centers, and easily allow these workloads to migrate 733 both within a data center and between data centers. 734 - Allow VPNs to provide bandwidth and other performance 735 guarantees. 736 - Be a cost-effective solution for enterprises to incorporate 737 dynamic cloud-based applications and workloads into their 738 existing VPN environment. 740 10. Security Considerations 742 The draft discusses security requirements as a part of the problem 743 space, particularly in sections 4, 5, and 8. 745 Solution drafts resulting from this work will address security 746 concerns inherent to the solution(s), including both protocol 747 aspects and the importance (for example) of securing workloads in 748 cloud DCs and the use of secure interconnection mechanisms. 750 11. IANA Considerations 752 This document requires no IANA actions. RFC Editor: Please remove 753 this section before publication. 755 12. References 757 12.1. Normative References 759 12.2. Informative References 761 [RFC2735] B. Fox, et al "NHRP Support for Virtual Private 762 networks". Dec. 1999. 764 [RFC8192] S. Hares, et al "Interface to Network Security Functions 765 (I2NSF) Problem Statement and Use Cases", July 2017 767 [ITU-T-X1036] ITU-T Recommendation X.1036, "Framework for creation, 768 storage, distribution and enforcement of policies for 769 network security", Nov 2007. 771 [RFC6071] S. Frankel and S. Krishnan, "IP Security (IPsec) and 772 Internet Key Exchange (IKE) Document Roadmap", Feb 2011. 774 [RFC4364] E. Rosen and Y. Rekhter, "BGP/MPLS IP Virtual Private 775 Networks (VPNs)", Feb 2006 777 [RFC4664] L. Andersson and E. Rosen, "Framework for Layer 2 Virtual 778 Private Networks (L2VPNs)", Sept 2006. 780 [BGP-SDWAN] L. Dunbar, et al. "BGP Extension for SDWAN Overlay 781 Networks", draft-dunbar-idr-bgp-sdwan-overlay-ext-03, 782 work-in-progress, Nov 2018. 784 13. Acknowledgments 786 Many thanks to Alia Atlas, Chris Bowers, Paul Vixie, Paul Ebersman, 787 Timothy Morizot, Ignas Bagdonas, Michael Huang, Liu Yuan Jiao, 788 Katherine Zhao, and Jim Guichard for the discussion and 789 contributions. 791 Authors' Addresses 793 Linda Dunbar 794 Futurewei 795 Email: Linda.Dunbar@futurewei.com 797 Andrew G. Malis 798 Independent 799 Email: agmalis@gmail.com 801 Christian Jacquenet 802 Orange 803 Rennes, 35000 804 France 805 Email: Christian.jacquenet@orange.com 807 Mehmet Toy 808 Verizon 809 One Verizon Way 810 Basking Ridge, NJ 07920 811 Email: mehmet.toy@verizon.com