Network Working Group L. Dunbar Internet Draft A. Malis Intended status: Informational Huawei Expires: January 2019 July 2, 2018 Gap Analysis of Interconnecting Underlay with Cloud Overlay draft-dm-net2cloud-gap-analysis-00 Abstract This document analyzes the technological gaps when using SD-WAN to interconnect workloads & apps hosted in various locations, especially cloud data centers when the network service providers do not have or have limited physical infrastructure to reach the locations [Net2Cloud-problem]. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This document may not be modified, and derivative works of it may not be created, except to publish it as an RFC and to translate it into languages other than English. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt xxx, et al. Expires January 2, 2019 [Page 1] Internet-Draft Net2Cloud Gap Analysis July 2018 The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on December 2, 2018. Copyright Notice Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction...................................................3 2. Conventions used in this document..............................3 3. Gap Analysis of CPEs Registration Protocol.....................4 4. Gap Analysis in aggregating VPN paths and Internet paths.......4 4.1. Gap analysis of Using BGP to cover SD-WAN paths...........6 4.2. Gaps in preventing attacks to CPEs from their Internet ports ...............................................................7 5. Gap analysis of CPEs not directly connected to VPN PEs.........8 5.1. Gap Analysis of Floating PEs to connect to Remote CPEs...10 5.2. NAT Traversing...........................................10 5.3. Complication of use BGP between PE and remote CPEs via Internet......................................................10 5.4. Designated Forwarder to the remote edges.................11 5.5. Traffic Path Management..................................12 6. Manageability Considerations..................................12 7. Security Considerations.......................................12 8. IANA Considerations...........................................12 9. References....................................................12 9.1. Normative References.....................................13 9.2. Informative References...................................13 Dunbar, et al. Expires Jan 2019 [Page 2] Internet-Draft Net2Cloud Gap Analysis July 2018 10. Acknowledgments..............................................14 1. Introduction [Net2Cloud-Problem] describes the problems of enterprises face today in transitioning their IT infrastructure to support digital economy, such as connecting enterprises' branch offices to dynamic workloads in Cloud DCs. This document analyzes the technological gaps to interconnect dynamic workloads & apps hosted in various locations, especially in cloud data centers to which the network service providers may not have or have limited physical infrastructure to reach. 2. Conventions used in this document Cloud DC: Off-Premise Data Centers that usually host applications and workload owned by different organizations or tenants. Controller: Used interchangeably with SD-WAN controller to manage SD-WAN overlay path creation/deletion and monitoring the path conditions between two sites. CPE-Based VPN: Virtual Private Secure network formed among CPEs. This is to differentiate from most commonly used PE based VPNs OnPrem: On Premises data centers and branch offices SD-WAN: Software Defined Wide Area Network, which can mean many different things. In this document, "SD-WAN" refers to the solutions specified by ONUG (Open Network User Group), which build point-to-point IPsec overlay paths between two end-points (or branch offices) that need to intercommunicate. Dunbar, et al. Expires Jan 2019 [Page 3] Internet-Draft Net2Cloud Gap Analysis July 2018 3. Gap Analysis of CPEs Registration Protocol SD-WAN, conceived in ONUG (Open Network User Group) a few years ago as way to aggregate multiple connections between any two points, has emerged as an on-demand technology to securely interconnect the OnPrem branches with the workloads instantiated in Cloud DCs that do not have MPLS VPN PE co-located or have very limited bandwidths. Some SD-WAN networks use the NHRP protocol [RFC2332] to register SD- WAN endpoints with a "Controller" (or NHRP server), which then has the ability to map a private VPN address to a public IP address of the destination node. DSVPN [DSVPN] or DMVPN [DMVPN] are used to establish tunnels among SD-WAN endpoints. NHRP was originally intended for ATM address resolution, and as a result it misses many attributes which are necessary for dynamic end point CPE registration to controller, such as: - Location identifier, such as Site Identifier, System ID, and/or Port ID. - CPE attached GW information. When a CPE is instantiated within Cloud DC, the Cloud DC operator' GW to which the CPE is attached. - Private <-> Public address mapping, which is needed when the CPEs use private addresses. - IPsec configuration parameters (from controller to CPEs) 4. Gap Analysis in aggregating VPN paths and Internet paths Most likely, enterprises, especially large ones, already have their CPEs interconnected by provider VPNs, such as EVPN, L2VPN, or L3VPN. The L2VPN or L3VPN can also be formed among all the CPEs directly attached to PEs, which is referred to as CPE based VPN as shown in the following diagram. The commonly used CPE based VPNs have CPE directly attached to PEs via VLANs (Ethernet). Therefore, the communication is secure. The BGP is used to distribute routes among CPEs. Dunbar, et al. Expires Jan 2019 [Page 4] Internet-Draft Net2Cloud Gap Analysis July 2018 +---+ |RR | EVPN MAC/IP BGP updates +======+---+===========+ // \\ // <-----EVPN-VxLAN----> \\ +-+--+ ++-+ ++-+ +--+-+ | CPE|--|PE| |PE+--+ CPE| +--| 1 | |1 | |x | | c |---+ +-+--+ ++-+ ++-+ +----+ | | | VPN +-+---+ +----+ +--------+ | Network | PE3 | |CPE | | CPE | | | |- --| 3 | | c | +-----+ +-+---+ +----+ +------+-+-------+ PE4 |-----+ +---+-+ === or \\ indicates control plane communications Figure 1: L2 or L3 VPNs over IP WAN To use SD-WAN to aggregate Internet paths with the VPN paths, the CPEs need to have some ports connected to PEs and other Ports connected to the internet. NHRP & DSVPN/DMVPN can be used for the CPEs to be registered with their SD-WAN Controllers to establish secure tunnels among relevant CPEs. That means the CPEs need to participate in two separate control planes: EVPN&BGP for CPE based VPN via links directly attached to PEs and NHRP & DSVPN/DMVPN. Two separate control planes not only add complexity to CPEs, but also increase operational cost. Dunbar, et al. Expires Jan 2019 [Page 5] Internet-Draft Net2Cloud Gap Analysis July 2018 +---------Internet paths--------------+ | | | +---+ | | |RR | | | +======+---+===========+ | | // \\ | | // <-----EVPN-VxLAN----> \\ | | +-+--+ ++-+ ++-+ +--+-+ (|) | | CPE|--|PE| |PE+--+ CPE| (|) +--| 1 | |1 | |x | | c |---+ +-+--+ ++-+ ++-+ +----+ | | | VPN +-+---+ +----+ +--------+ | Network | PE3 | |CPE | | CPE | | | |- --| 3 | | c | +-----+ +-+---+ +----+ +------+-+-------+ PE4 |-----+ +---+-+ Figure 2: CPEs interconnected by VPN paths and Internet Paths 4.1. Gap analysis of Using BGP to cover SD-WAN paths Since BGP is widely deployed, it is desirable to consider using BGP to control the SD-WAN paths instead of NHRP, DSVPN/DMVPN. This section analyzes the gaps of using BGP to control SD-WAN. RFC5512 and [Tunnel-Encap] describe methods for end points to advertise tunnel information and to trigger tunnel Establishment. RFC5512 & [Tunnel-Encaps] have the Endpoint Address to indicate IPv4 or IPv6 address format Tunnel Encapsulation attribute to indicate different encapsulation formats, such as L2TPv3, GRE, VxLAN, IP in IP, etc. There are sub-TLVs to describe the detailed tunnel information for each of the encapsulations. There is also Color sub-TLV to describe customer specified information about the tunnels (which can be creatively used for SD- To express supporting multiple Encap types, multiple Extended communities with SAFI value = 7 can be used. Here are some of the gaps using RFC5512 and [Tunnel-Encap] to control SD-WAN: - Doesn't have fields to carry detailed information of the remote CPE: such as Site-ID, System-ID, Port-ID Dunbar, et al. Expires Jan 2019 [Page 6] Internet-Draft Net2Cloud Gap Analysis July 2018 - Does not have the proper field to express IPsec configuration information from "Controller" (which can be RR) to CPEs. - Does not have proper way for two peer CPEs to negotiate IPSec key based on the configuration sent from Controller. - UDP NAT private address <-> public address mapping - CPEs tend to communicate with a few other CPEs, not all the CPEs need to form mesh connections. Using BGP, CPEs can easily get dumped with too much information of other CPEs that they never need to communicate. NHRP only sends the relevant information for the interested end points for establishing tunnels. Therefore, need some form of "Registration" methods. [VPN-over-Internet] describes a way to securely interconnect CPEs via IPsec using BGP. This method is useful, however, it still miss some aspects to aggregate CPE based VPN paths with internet paths that interconnect the CPEs. In addition: - The draft assumes that CPE "register" with the RR. However, it does not say how. Should "NHRP" (modified version) be considered? In SD-WAN, Zero Touch Provisioning is expected. It is not acceptable to require manual configuration on RR which CPEs are controlled. - The draft assumes that CPE and RR are connected by IPsec tunnel. With zero touch provisioning, we need an automatic way to synchronize the IPsec SA between CPE and RR. The draft assumes: A CPE must also be provisioned with whatever additional information is needed in order to set up an IPsec SA with each of the red RRs - IPsec requires periodic refreshment of the keys. How to synchronize the refreshment among multiple nodes? - IPsec usually only send configuration parameters to two end points and let the two end points to negotiate the KEY. Now we assume that RR is responsible for creating the KEY for all end points. When one end point is confiscated, all other connections are impacted. 4.2. Gaps in preventing attacks to CPEs from their Internet ports When CPEs have ports facing internet, it brings in the security risks of potential DDoS attacks to the CPEs from the ports facing internet. I.e. the CPE resource are attacked by unwanted traffic. To mitigate security risk, it is absolutely necessary to enable Anti-DDoS feature on those CPEs to prevent major DDoS attack. Dunbar, et al. Expires Jan 2019 [Page 7] Internet-Draft Net2Cloud Gap Analysis July 2018 5. Gap analysis of CPEs not directly connected to VPN PEs Because of the ephemeral property of the selected Cloud DCs, an enterprise or its network service provider may not have the direct links to the Cloud DCs that are optimal for hosting the enterprise's specific workloads/Apps. Under those circumstances, SD-WAN is a very flexible choice to interconnect the enterprise on-premises data centers & branch offices to its desired Cloud DCs. However, SD-WAN paths over public internet can have unpredictable performance, especially over long distances and cross state/country boundaries. Therefore, it is highly desirable to place as much as possible the portion of SD-WAN paths over service provider VPN (e.g. enterprise's existing VPN) that have guaranteed SLA to minimize the distance/segments over public internet. MEF Cloud Service Architecture [MEF-Cloud] also describes a use case of network operators needing to use SD-WAN over LTE or public internet for the last mile access that they do not have physical infrastructure. Under those scenarios, one or both of the SD-WAN end points may not directly attached to the PEs of a SR Domain. Using SD-WAN to connect the enterprise existing sites with the workloads in Cloud DC, the enterprise existing sites' CPEs have to be upgraded to support SD-WAN. If the workloads in Cloud DC need to be connected to many sites, the upgrade process can be very expensive. [Net2Cloud-Problem] describes a hybrid network approach that integrates SD-WAN with traditional MPLS-based VPNs, to extend the existing MPLS-based VPNs to the Cloud DC Workloads over the access paths that are not under the VPN provider control. To make it working properly, a small number of the PEs of the MPLS VPN can be designated to connect to the remote workloads via SD-WAN secure IPsec tunnels. Those designated PEs are shown as fPE (floating PE or smart PE) in Figure below. Once the secure IPsec tunnels are established, the workloads in Cloud DC can be reached by the enterprise's VPN without upgrading all of the enterprise's existing Dunbar, et al. Expires Jan 2019 [Page 8] Internet-Draft Net2Cloud Gap Analysis July 2018 CPEs. The only CPE that needs to support SD-WAN would be a virtualized CPE instantiated within the cloud DC. +--------+ +--------+ | Host-a +--+ +----| Host-b | | | | (') | | +--------+ | +-----------+ ( ) +--------+ | +-+--+ ++-+ ++-+ +--+-+ (_) | | CPE|--|PE| |PE+--+ CPE| | +--| | | | | | | |---+ +-+--+ ++-+ ++-+ +----+ / | | / | MPLS +-+---+ +--+-++--------+ +------+-+ | Network |fPE-1| |CPE || Host | | Host | | | |- --| || d | | c | +-----+ +-+---+ +--+-++--------+ +--------+ |fPE-2|-----+ +---+-+ (|) (|) (|) SD-WAN (|) (|) over any access +=\======+=========+ // \ | Cloud DC \\ // \ ++-----+ \\ +Remote| | CPE | +-+----+ ----+-------+-------+----- | | +---+----+ +---+----+ | Remote | | Remote | | App-1 | | App-2 | +--------+ +--------+ Figure 3: VPN Extension to Cloud DC In Figure 3 above, the optimal Cloud DC to host the workloads (due to proximity, capacity, pricing, or other criteria chosen by the enterprises) does not happen to have a direct connection to the PEs of the MPLS VPN that interconnects the enterprise's existing sites. Dunbar, et al. Expires Jan 2019 [Page 9] Internet-Draft Net2Cloud Gap Analysis July 2018 5.1. Gap Analysis of Floating PEs to connect to Remote CPEs To extend MPLS VPN to remote CPEs, it is necessary to establish secure tunnels (such as IPsec tunnels) between the Floating PEs and the remote CPEs. Gap: Even though a set of PEs can be manually selected to act as the floating PEs for a specific cloud data center, there are no standard protocols for those PEs to interact with the remote CPEs (most likely virtualized) instantiated in the third party cloud data centers (such as exchanging performance information or route information). When there is more than one fPE available for use (as there should be for resiliency or the ability to support multiple cloud DCs scattered geographically), it is not straight to designate egress fPE to remote CPEs based on applications. There are too much applications traffic traversing PEs, it is not feasible for PEs to recognize applications carried by the payload. 5.2. NAT Traversing Most cloud DCs only assign private IP addresses to the workloads instantiated. Therefore, the traffic to/from the workload usually need to traverse NAT. 5.3. Complication of use BGP between PE and remote CPEs via Internet Even though EBGP (external BGP) Multihop method can be used to connect peers that are not directly connected to each other, there are still some complications/gaps in extending BGP from MPLS VPN PEs to remote CPEs via any access paths (e.g. internet): EBGP Multi-hop scheme requires static configuration on both peers. To use EBGP between a PE and remote CPEs, the PE has to be statically configured with "next-hop" to the IP addresses of the CPEs. When remote CPEs, especially remote virtualized CPEs Dunbar, et al. Expires Jan 2019 [Page 10] Internet-Draft Net2Cloud Gap Analysis July 2018 dynamically instantiated or removed, the configuration on the PE Multi-Hop EBGP has to be changed accordingly. Gap: Egress peering engineering (EPE) is not enough. Running BGP on virtualized CPE in Cloud DC requires GRE tunnels being established first, which requires address and key management for the remote CPEs. RFC 7024 (Virtual Hub & Spoke) and Hierarchical VPN is not enough Also need a method to automatically trigger configuration changes on PE when remote CPEs' are instantiated or moved (IP address change) or deleted. EBGP Multi-hop scheme does not have embedded security mechanism. The PE and remote CPEs needs secure communication channel when connected via public internet. Remote CPEs, if instantiated in Cloud DC, might have to traverse NAT to reach PE. It is not clear how BGP can be used between devices outside the NAT and the entities behind the NAT. It is not clear how to configure the Next Hop on the PEs to reach private addresses. 5.4. Designated Forwarder to the remote edges Among multiple floating PEs available for a remote CPE, multicast traffic from the remote CPE towards the MPLS VPN can be broadcasted back to the remote CPE due to the PE receiving the broadcast data frame forwarding the multicast/broadcast frame to other PEs that in turn send to all attached CPEs. This process may cause a traffic loop. Therefore, it is necessary to designate one floating PE as the CPE's Designated Forwarder, similar to TRILL's Appointed Forwarders [RFC6325]. Gap: the MPLS VPN does not have features like TRILL's Appointed Forwarders. Dunbar, et al. Expires Jan 2019 [Page 11] Internet-Draft Net2Cloud Gap Analysis July 2018 5.5. Traffic Path Management When there are multiple floating PEs that have established IPsec tunnels to the remote CPE, the remote CPE can forward the outbound traffic to the Designated Forwarder PE, which in turn forwards the traffic to egress PEs to the destinations. However, it is not straightforward for the egress PE to send back the return traffic to the Designated Forwarder PE. Example of Return Path management using Figure 3 above. - fPE-1 is desired for communication between App-1 <-> Host-a due to latency, pricing or other criteria. - fPE-2 is desired for communication between App-1 <-> Host-b. 6. Manageability Considerations TBD 7. Security Considerations The intention of this draft is to identify the gaps in current and proposed SD-WAN approaches to the requirements identified in [Net2Cloud-problem]. Several of these approaches have gaps in meeting enterprise security requirements when tunneling their traffic over the Internet, as is the general intention of SD-WAN. See the individual sections above for further discussion of these security gaps. 8. IANA Considerations This document requires no IANA actions. RFC Editor: Please remove this section before publication. 9. References Dunbar, et al. Expires Jan 2019 [Page 12] Internet-Draft Net2Cloud Gap Analysis July 2018 9.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 9.2. Informative References [RFC8192] S. Hares, et al, "Interface to Network Security Functions (I2NSF) Problem Statement and Use Cases", July 2017 [RFC5521] P. Mohapatra, E. Rosen, "The BGP Encapsulation Subsequent Address Family Identifier (SAFI) and the BGP Tunnel Encapsulation Attribute", April 2009. [Tunnel-Encap]E. Rosen, et al, "The BGP Tunnel Encapsulation Attribute", draft-ietf-idr-tunnel-encaps-09, Feb 2018. [VPN-over-Internet] E. Rosen, "Provide Secure Layer L3VPNs over Public Infrastructure", draft-rosen-bess-secure-l3vpn-00, work-in-progress, July 2018 [DMVPN] Dynamic Multi-point VPN: https://www.cisco.com/c/en/us/products/security/dynamic- multipoint-vpn-dmvpn/index.html [DSVPN] Dynamic Smart VPN: http://forum.huawei.com/enterprise/en/thread-390771-1- 1.html [ITU-T-X1036] ITU-T Recommendation X.1036, "Framework for creation, storage, distribution and enforcement of policies for network security", Nov 2007. [Net2Cloud-Problem] L. Dunbar and A. Malis, "Seamless Interconnect Underlay to Cloud Overlay Problem Statement", draft-dm- net2cloud-problem-statement-02, June 2018 Dunbar, et al. Expires Jan 2019 [Page 13] Internet-Draft Net2Cloud Gap Analysis July 2018 10. Acknowledgments Acknowledgements to xxx for his review and contributions. This document was prepared using 2-Word-v2.0.template.dot. Dunbar, et al. Expires Jan 2019 [Page 14] Internet-Draft Net2Cloud Gap Analysis July 2018 Authors' Addresses Linda Dunbar Huawei Email: Linda.Dunbar@huawei.com Andrew G. Malis Huawei Email: agmalis@gmail.com Dunbar, et al. Expires Jan 2019 [Page 15]