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