protego: cloud-scale multitenant ipsec gateway

36
Protego: Cloud-Scale Multitenant IPsec Gateway Jeongseok Son, Yongqiang Xiong, Kun Tan, Paul Wang, Ze Gan, Sue Moon

Upload: others

Post on 17-Nov-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Protego: Cloud-Scale Multitenant IPsec Gateway

Protego: Cloud-Scale Multitenant IPsec Gateway

Jeongseok Son, Yongqiang Xiong, Kun Tan, Paul Wang, Ze Gan, Sue Moon

Page 2: Protego: Cloud-Scale Multitenant IPsec Gateway

Enterprises are Moving to the Cloud

$ 58B → $ 202BPublic cloud services revenue

from 2009 to 2016

48 out of 50Fortune Global 50 companies

have announced cloud adoption

21. Forecast: Public Cloud Services, Worldwide and Regions, Industry Sectors, 2009-2014, Gartner2. Global Cloud Spending Predicted To Reach $390B By 2020, Forbes

Page 3: Protego: Cloud-Scale Multitenant IPsec Gateway

Connect ?

Cloud Services Provide Virtual Networks for Enterprises

3

VMVM

VMVM

10.1.0.0/16

Virtual Network

Public CloudOn-premises Network

10.0.0.0/16

Page 4: Protego: Cloud-Scale Multitenant IPsec Gateway

VPN tunnel

VPN Tunnels ConnectCloud and On-premises Data Center

4

VMVM

VMVM

10.1.0.0/16

Virtual Network

Public CloudOn-premises Network

10.0.0.0/16

IPsec GW

Page 5: Protego: Cloud-Scale Multitenant IPsec Gateway

Tunnel

Tunnel

Tunnel

Current IPsec GW Deployment:Assign VM to Each Virtual Network

Advantages:

• No additional HW installation

• Performance isolation

• Dynamic scaling

5

Virtual Network

Virtual Network

Virtual Network

IPsec VM

IPsec VM

IPsec VM

Public Cloud

Internet

Page 6: Protego: Cloud-Scale Multitenant IPsec Gateway

Problem:IPsec GW VMs Are Under-utilized

In 90% of DCs,

Daily peak IPsec traffic < One GW capacity

If GW is shared,

99+% of VMscan be saved.

6

Figure: CDF of the peak IPsec traffic of data centers

Page 7: Protego: Cloud-Scale Multitenant IPsec Gateway

How to serve multiple tunnelswith shared resources for elasticity?

7

Page 8: Protego: Cloud-Scale Multitenant IPsec Gateway

IPsec Tunnel

IPsec Tunnel

IPsec Tunnel

Current IPsec GW Deployment

8

Virtual Network

Virtual Network

Virtual Network

IPsec VM

IPsec VM

IPsec VM

Public Cloud

Internet

Page 9: Protego: Cloud-Scale Multitenant IPsec Gateway

IPsec Tunnel

IPsec Tunnel

IPsec Tunnel

Cloud-Scale Multitenant IPsec Gateway

9

Virtual Network

Virtual Network

Virtual Network

Public Cloud

Internet

VMVM

VM

VM

VM

IPsec GW

Page 10: Protego: Cloud-Scale Multitenant IPsec Gateway

Seamless Migration of IPsec Tunnelis the Key to Elasticity

To achieve elasticity

• When GWs are overloaded as the IPsec traffic increases

→ Add more VMs and migrate some tunnels to new VMs

• When GWs are under-utilized as the IPsec traffic decreases

→ Migrate tunnels from some VMs and return the idle VMs

Quick migration scheme with minimal overheadis a key enabler of elasticity

10

Page 11: Protego: Cloud-Scale Multitenant IPsec Gateway

Statefulness of IPsec HindersSeamless Migration

• Strawman approach: Redirect IPsec packets to a different GW

11

IPsec GW

IPsec GW

IPsec GW

External VIP

61.21.234.38

State

Leads to tunnel destruction

How to move or share

state between gateways?

Page 12: Protego: Cloud-Scale Multitenant IPsec Gateway

Core Ideas of Protego

Separation of control and data planes

• Control Plane: Single control node

• Data Plane: Set of data nodes

→ Make IPsec (nearly) stateless in the data plane

Tunnel migration by IPsec rekeying

→ Migrate tunnels without packet loss and buffering

Elastic provisioning algorithm

12

Page 13: Protego: Cloud-Scale Multitenant IPsec Gateway

Breakdown of IPsec Protocol

13

Internet Key Exchange

• Setup Shared Attributes

(Security Association)

→ Carries control traffic

Encapsulating Security

Payload

• Encryption/Decryption

→ Carries data traffic

Page 14: Protego: Cloud-Scale Multitenant IPsec Gateway

Separation of Control and Data Plane

14

ESP

IKE

ESP

IKE

ESP

IKELoadBalancer

ESP

ESP

ESP

LoadBalancer

IKEIKE

Page 15: Protego: Cloud-Scale Multitenant IPsec Gateway

Rationale Behind the Separation

Infrequent IKE state updateand tiny IKE traffic compared to ESP traffic

• Stored in a central control node

→ Data nodes do not maintain IKE state

Frequent ESP state changes (every packet sent/received)but quick re-initialization

• Reconstructed whenever necessary by rekeying

→ Data nodes do not have to preserve ESP state

Any data node can process any IPsec tunnel traffic

15

Page 16: Protego: Cloud-Scale Multitenant IPsec Gateway

Protego Architecture Overview

16

Page 17: Protego: Cloud-Scale Multitenant IPsec Gateway

Gateway Management Node

17

Page 18: Protego: Cloud-Scale Multitenant IPsec Gateway

Gateway Management Node

IKE packet processing• Negotiate a shared symmetric key for ESP

• Distribute the key to one of GPNs

• Save updated state to the standby GMN (High availability)

Resource management• Adjust the number of GPNs by migrating tunnels

Traffic steering• Insert forwarding rules to load balancers (GIN and GEN)

18

Page 19: Protego: Cloud-Scale Multitenant IPsec Gateway

Gateway Ingress and Egress Node

19

Page 20: Protego: Cloud-Scale Multitenant IPsec Gateway

Gateway Ingress and Egress Node

Traffic forwarding• Rewrite the destination address to the address of a GPN

Rate limiting• Enforce per-tunnel performance isolation

GPN failure detection• Adaptive heartbeat by sampling and tagging

20

Page 21: Protego: Cloud-Scale Multitenant IPsec Gateway

Gateway Processing Node

21

Page 22: Protego: Cloud-Scale Multitenant IPsec Gateway

Gateway Processing Node

ESP packet processing

• Encryption and decryption of ESP packets

ESP processing is tricky to parallelize due to sequence number

→ Designed lock-free ESP processor (Check out the paper)

22

Page 23: Protego: Cloud-Scale Multitenant IPsec Gateway

Leverage Rekeying Processto Migrate IPsec Tunnels Seamlessly

Original purpose of rekeying

• IPsec gateways use keys for a limited amount of time/data

• Quickly re-negotiates ESP SA in single RTT

Leverage rekeying to quickly construct ESP state

• Create new ESP SA in the destination node

• Old ESP SA is alive until new ESP SA is used

→ No packet loss and buffering during migration process

23

Page 24: Protego: Cloud-Scale Multitenant IPsec Gateway

IPsec Tunnel Migration Process

24

GIN

GMN

GPN

GPN

IKE:

CREATE_CHILD_SA

ESP

1.GMN sends theCREATE_CHILD_SA request

Page 25: Protego: Cloud-Scale Multitenant IPsec Gateway

IPsec Tunnel Migration Process

1. GMN sends theCREATE_CHILD_SA request

2.GMN receives the CREATE_CHILD_SA response.(New CHILD_SAs are created)

25

GIN

GMN

GPN

GPN

IKE:

CREATE_CHILD_SA

Page 26: Protego: Cloud-Scale Multitenant IPsec Gateway

IPsec Tunnel Migration Process

26

GIN

GMN

GPN

GPN

Traffic steering1. GMN sends the

CREATE_CHILD_SA request

2.GMN receives the CREATE_CHILD_SA response.(New CHILD_SAs are created)

3.GMN hands the new SAs over to a GPN, and inserts forwarding rules

Page 27: Protego: Cloud-Scale Multitenant IPsec Gateway

IPsec Tunnel Migration Process

27

GIN

GMN

GPN

GPNOutbound ESP

1. GMN sends theCREATE_CHILD_SA request

2.GMN receives the CREATE_CHILD_SA response.(New CHILD_SAs are created)

3.GMN hands the new SAs over to a GPN, and inserts forwarding rules

4.GPN starts to use the new outbound SA

Page 28: Protego: Cloud-Scale Multitenant IPsec Gateway

IPsec Tunnel Migration Process

28

GIN

GMN

GPN

GPN

New ESP traffic

1. GMN sends theCREATE_CHILD_SA request

2.GMN receives the CREATE_CHILD_SA response.(New CHILD_SAs are created)

3.GMN hands the new SAs over to a GPN, and inserts forwarding rules

4.GPN starts to use the new outbound SA

5.GIN forwards the new ESP packets to the new GPN

Page 29: Protego: Cloud-Scale Multitenant IPsec Gateway

Elastic Resource Provisioning Algorithm

Objectives• Minimize the resource usage

• Satisfying the throughput requirement of tenants

Model: 1-D bin packing (CPU usage)• Item: IPsec tunnel

• Bin: GPN

Consolidation & Load Balancing• Periodically consolidate GPNs (Consolidation interval)

• Instantly mitigate hotspots by migrating tunnels

29

Page 30: Protego: Cloud-Scale Multitenant IPsec Gateway

Implementation

Gateway Ingress & Egress Node• Extended Mux of Ananta load balancer (SIGCOMM ‘13)

• Packet filtering based on Windows NDIS Lightweight filter driver

Gateway Management Node• Based on the IPsec service module of the Routing and Remote Access

Service in Windows Server 2012 R2.

Gateway Processing NodeRefer to the paper for details

30

Page 31: Protego: Cloud-Scale Multitenant IPsec Gateway

Evaluation

Server specification• 16-core Intel Xeon

E5-2650 v2 at 2.6Ghz

• Mellanox Connect-3 Pro 40Gbps

• Windows Server 2012 R2

• Hyper-V

31

Page 32: Protego: Cloud-Scale Multitenant IPsec Gateway

Migration Does Not Degrade Throughput

32

Rekeying:

192 ms

Key Distribution:

56 ms

Page 33: Protego: Cloud-Scale Multitenant IPsec Gateway

GPN Throughput Scales Linearly

33

To achieve 10 Gbps,

AES256-CBC/SHA1:

8 cores

AES256-CBC/SHA2:

12 cores

Page 34: Protego: Cloud-Scale Multitenant IPsec Gateway

Provisioning Simulation

• Measured the average throughput of IPsec gateways every minute in one data center for a day

• Collected the throughput trace of 170 tunnels and injected to our simulator, which replay the traffic trace

• Simulated our provisioning algorithm with different consolidation intervals

34

Page 35: Protego: Cloud-Scale Multitenant IPsec Gateway

Protego Saves a Large Amount of Resources

35

Consolidation Interval: 3 min – 60 min

• Throughput Guarantee (99% of tunnels):

90.21 % – 98.63 %

• Resource Saving: 81.72 % – 88.00 %

Page 36: Protego: Cloud-Scale Multitenant IPsec Gateway

Summary

• IPsec gateway is an essential and common component for cloud providers to offer virtual network services

• Protego is a software IPsec Gateway that serves multiple IPsec tunnels using shared resources for better resource utilization

• Protego saves a significant amount of resources with the separation of control and data plane and seamless tunnel migration by rekeying