bgp#: a system for dynamic route control in data centers€¦ · bgp#: a system for dynamic route...

39
BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy Kern Tao Zhang Parantap Lahiri John Arnold Kevin Grady Microsoft *Also a Microsoft Intern

Upload: others

Post on 10-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

BGP#: A System for Dynamic Route Control

In Data Centers

1

Chao-Chih Chen

UC Davis*

Lihua Yuan Albert Greenberg

Randy Kern Tao Zhang

Parantap Lahiri John Arnold Kevin Grady

Microsoft*Also a Microsoft Intern

Page 2: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Data Centers – Tenants & Landlord

2

One landlord

Owner and manager of the data centers

Many tenants

Internal users

Search, email, online gaming, online office suites, etc..

External users

Utility computing customers, etc..

Many challenges, this talk focuses on empowering

tenants with route control ability

Page 3: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Routing Tensions

3

Tenants have different goals

But, tenants want to control their internal/external

routes dynamically and on-demand

Landlord manages shared infrastructure

Needs to empower users

Needs to control bad behavior

Needs to be scalable

Page 4: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Tenant Goal: Spread Traffic

4

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.3200.30.21.3 192.168.0.2

Divide traffic between 192.168.0.2 and 192.168.0.3

Page 5: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Tenant Goal: Migrate Traffic

5

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.3200.30.21.3 192.168.0.2

Move traffic from 192.168.0.3 to 192.168.0.2

Page 6: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Route Control In Current Framework

6

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

(1) Tenants Submit

tickets

Routing policy A

Routing policy Z

Page 7: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Route Control In Current Framework

7

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

(1) Tenants Submit

tickets

(2) System

assigns one

admin per ticket

Routing policy A

Routing policy Z

Page 8: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Route Control In Current Framework

8

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

(1) Tenants Submit

tickets

(2) System

assigns one

admin per ticket

Routing policy A

Routing policy Z

(3) Admin clarifies

requirements in

ticket with tenant

Page 9: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Route Control In Current Framework

9

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

(1) Tenants Submit

tickets

(2) System

assigns one

admin per ticket

Routing policy A

Routing policy Z

(4) Admin creates

route configuration

for each ticket

(3) Admin clarifies

requirements in

ticket with tenant

Page 10: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Route Control In Current Framework

10

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

(1) Tenants Submit

tickets

(2) System

assigns one

admin per ticket

Routing policy A

Routing policy Z

(4) Admin creates

route configuration

for each ticket

(3) Admin clarifies

requirements in

ticket with tenant

(5) Admin shows

tenant routing policy

and reconfigures it if

unsatisfactory

Page 11: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Route Control In Current Framework

11

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

(1) Tenants Submit

tickets

(2) System

assigns one

admin per ticket

Routing policy A

Routing policy Z

(4) Admin creates

route configuration

for each ticket

(6) Admin

confirms with

tenant that ticket

is resolved

(3) Admin clarifies

requirements in

ticket with tenant

(5) Admin shows

tenant routing policy

and reconfigures it if

unsatisfactory

Page 12: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Route Control In Current Framework

12

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

(1) Tenants Submit

tickets

(2) System

assigns one

admin per ticket

Routing policy A

Routing policy Z

(4) Admin creates

route configuration

for each ticket

(6) Admin

confirms with

tenant that ticket

is resolved

(3) Admin clarifies

requirements in

ticket with tenant

(5) Admin shows

tenant routing policy

and reconfigures it if

unsatisfactory

(7) Admin

resolves ticket

Page 13: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Route Control In Current Framework

13

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

(1) Tenants Submit

tickets

(2) System

assigns one

admin per ticket

Routing policy A

Routing policy Z

(4) Admin creates

route configuration

for each ticket

(6) Admin

confirms with

tenant that ticket

is resolved

(8) System notifies

tenants ticket is

resolved

(3) Admin clarifies

requirements in

ticket with tenant

(5) Admin shows

tenant routing policy

and reconfigures it if

unsatisfactory

(7) Admin

resolves ticket

Above processes are simplified

Page 14: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Problems in Today’s Data Center Framework

14

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

Routing policy A

Routing policy Z

Tenants have

limited control over

routing

Page 15: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Problems in Today’s Data Center Framework

15

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

Routing policy A

Routing policy Z

Tenants have

limited control over

routing

Dedicated human

resource required

Page 16: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Problems in Today’s Data Center Framework

16

Ticket

Distribution

System

Tenant A

Tenant B

Tenant Z

Routing policy A

Routing policy Z

Tenants have

limited control over

routing

Dedicated human

resource required

Manual work: slow

Page 17: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

A Better System

17

Allows for automated route control

Use application programming interfaces

Allows tenants independent & safe route control

Support route validation

Ensures better scalability

Factor out policy control for system scalability

Eliminate per-ticket manual intervention for human

scalability

Tolerates failures and planned maintenance

Deploy redundant components

Page 18: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Solution: BGP#

18

Simple speakers (“MultiSpeaker”)

Peer with BGP routers

Send route announcements/withdrawals (ECMP-capable)

Stateful controller (“Controller”)

Controls and coordinates the speakers

Exposes API to tenants

Custom client applications (“Application”)

Discover services offered by controllers’ API

Modify routing to tenants’ network via controller’s API

Page 19: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

BGP# Architecture

19

Tenant A’slogical network

Tenant Z’slogical network

Tenant A’s

Application

Tenant Z’s

Application

Controller

API

BGP Router

MultiSpeaker MultiSpeaker

Page 20: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Using BGP# To Migrate Traffic

20

Controller

API

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.3Multi-

Speaker1

1 = BGP Session

Move next hop of 200.30.21.3

from 192.168.0.3 to 192.168.0.2

Application issues route change request

Page 21: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Using BGP# To Migrate Traffic

21

Controller

API

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.3Multi-

Speaker1

1 = BGP Session

Move next hop of 200.30.21.3

from 192.168.0.3 to 192.168.0.2

Controller validates and forwards request

Page 22: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Using BGP# To Migrate Traffic

22

Controller

API

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.3200.30.21.3 192.168.0.2

A: 200.30.21.3/32NEXT_HOP: 192.168.0.2

Multi-Speaker

1

1 = BGP Session

MultiSpeaker transforms request into BGP message

Page 23: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Using BGP# To Migrate Traffic

23

Controller

API

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.2Multi-

Speaker1

1 = BGP Session

MultiSpeaker needs to have announced the original route for the migration to succeed

Page 24: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Using BGP# To Spread Traffic

24

Controller

API

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.3Multi-

Speaker

1

2

1 2 = BGP Session

Spread traffic to 192.168.0.2 also

Session 1 of MultiSpeaker announced existing route

Router enabled ECMP

Page 25: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Using BGP# To Spread Traffic

25

Controller

API

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.3Multi-

Speaker

1

2

1 2 = BGP Session

Spread traffic to 192.168.0.2 also

Controller validates and forwards request

Page 26: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Using BGP# To Spread Traffic

26

Controller

API

192.168.0.1

192.168.0.2 192.168.0.3

User traffic to200.30.21.3

Routing TableDestination Next Hop200.30.21.3 192.168.0.3200.30.21.3 192.168.0.2

Session 2A: 200.30.21.3/32

NEXT_HOP: 192.168.0.2

Multi-Speaker

1

2

1 2 = BGP Session

MultiSpeaker transforms request into BGP message

Page 27: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Automated Route Control

27

Controller API allows for custom applications

Application can automatically manage routes to

meet tenant’s goals

Validated to manipulate only tenant’s routes

Example

Goal Route Control Program Behavior

Fast server failover Replace dead server IP with live server IP

High throughput Replace IP of servers having heavy link utilization

with IP of servers having light link utilization

Page 28: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Independent and Safe Route Control

28

Controller

API

Tenants control their

routes independently of

other tenants

Controller enforces

routing policies via

database

Database

Tenant Valid Address Space

A 10.10.1.0/24

Z 10.10.26.0/24

MultiSpeaker MultiSpeaker

Page 29: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Scalability

29

Factor out policy control

MultiSpeakers and Controller are not placed in

machines handling user traffic

Eliminates need for one policy controller per machine

Reduces peering sessions to router

Eliminate per-ticket manual intervention

Policy enforced at Controller

Guarantees tenant routing behaviors are isolated from

others

Page 30: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Resiliency

30

System resiliency: Ensure system continues operating

Instantiate multiple MultiSpeakers

Single MultiSpeaker failure does not affect other

MultiSpeakers’ availability

Separate MultiSpeakers and Controller

Controller failure does not affect MultiSpeakers’ availability

Prefix resiliency: Ensure prefix stays available

Announce the same prefixes from multiple MultiSpeakers

Router retains prefix as long as one MultiSpeaker is alive

Separate MultiSpeakers and Controller

Page 31: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Example – Prefix Resiliency

31

-

Multi-

Speaker

A

Route Table

VIP1 from MultiSpeaker A

VIP1 from MultiSpeaker B

VIP2 from MultiSpeaker A

VIP2 from MultiSpeaker B

1 Route announcement

Multi-

Speaker

B

Controller

API

Result: Router installs

VIP1/2 from

MultiSpeakers A and B

A: VIP1/32

A: VIP2/32

A: VIP1/32

A: VIP2/32

Page 32: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Example – Prefix Resiliency

32

Multi-

Speaker

A

Route Table

VIP1 from MultiSpeaker A

VIP1 from MultiSpeaker B

VIP2 from MultiSpeaker A

VIP2 from MultiSpeaker B

1 Route announcement

Multi-

Speaker

B

Controller

API

Result: Prefixes VIP1/2

remains available

MultiSpeaker B fails2

Page 33: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Example – Prefix Resiliency

33

Multi-

Speaker

A

Route Table

VIP1 from MultiSpeaker A

VIP1 from MultiSpeaker C

VIP2 from MultiSpeaker A

VIP2 from MultiSpeaker C

1 Route announcement

Multi-

Speaker

B

Controller

API Result: Redundancy

restored; MultiSpeaker

C receives

configuration from

persistent store

MultiSpeaker B fails2

Multi-

Speaker

C

Automation service*

instantiates new

MultiSpeaker

3

Persistent

Store

Configurations

* Automation service

is an overarching

data center manager,

omitted for brevity

Page 34: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Example – Prefix Resiliency

34

Multi-

Speaker

A

Route Table

VIP1 from MultiSpeaker A

VIP1 from MultiSpeaker C

VIP2 from MultiSpeaker A

VIP2 from MultiSpeaker C

1 Route announcement

Controller

API

End Result: Prefixes

VIP1/2 unaffected by

controller failure

MultiSpeaker B fails2

Automation service

instantiates new

MultiSpeaker

3

Multi-

Speaker

C

Controller fails,

MultiSpeaker A & C

maintain peering

4

Page 35: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Example – Prefix Resiliency

35

Multi-

Speaker

A

Route Table

VIP1 from MultiSpeaker A

VIP1 from MultiSpeaker C

VIP2 from MultiSpeaker A

VIP2 from MultiSpeaker C

1 Route announcement

Controller

API

MultiSpeaker B fails2

Automation service

instantiates new

MultiSpeaker

3

Multi-

Speaker

C

Controller fails,

MultiSpeaker A & C

maintain peering

4

Controller

API

Automation servce

instantiates new

controller

5

End Result: New

controller establishes

session with

MultiSpeakers

Page 36: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

No Inconsistency With Multiple MultiSpeakers

36

Suppose some MultiSpeakers become unresponsive

BGP# listening tool detects the lack of router re-

advertisement

Suppose MultiSpeaker reboots and is in different state

than other MultiSpeakers

Obtain current configuration file from persistent store

Page 37: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Alternate Approach?

37

Each tenant sets up its own BGP instances

Tenants need to implement one BGP instance per

machine

Ticket system dependency

Delayed BGP instance operation

Landlord needs to deal with many BGP peers

Manual configuration

Dedicated human resource

Increased complexity

Page 38: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

Conclusions

38

Tenants have more power

API makes it possible for tenants to perform automated

route control

Landlord retains responsibility of validation

Controller provides centralized control point

System achieves scalability and resiliency

Distributed components ensure near zero-impact on single

point of failure

Page 39: BGP#: A System for Dynamic Route Control In Data Centers€¦ · BGP#: A System for Dynamic Route Control In Data Centers 1 Chao-Chih Chen UC Davis* Lihua Yuan Albert Greenberg Randy

39

DEMO available after talk – find me if interested!