51
SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford, Scott Shenker, Russ Clark, Ethan Katz-Bassett Georgia Tech, Princeton University, UC Berkeley, USC 1

SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Embed Size (px)

Citation preview

Page 1: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX: A Software-Defined Internet Exchange

Arpit Gupta

Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Scott Shenker, Russ Clark, Ethan Katz-Bassett

Georgia Tech, Princeton University, UC Berkeley, USC1

Page 2: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

The Interdomain Ecosystem is Evolving ...

2

Flatter and densely interconnected Internet*

*Labovitz et al., Internet Inter-Domain Traffic, SIGCOMM 2010

Page 3: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

…But BGP is Not

• Routing only on destination IP prefixes(No customization of routes by application, sender)

• Can only influence immediate neighbors(No ability to affect path selection remotely)

• Indirect control over data-plane forwarding (Indirect mechanisms to influence path selection)

3

How to overcome BGP’s limitations?

Page 4: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDN for Interdomain Routing

• Forwarding on multiple header fields (not just destination IP prefixes)

• Ability to control entire networks with a single software program (not just immediate neighbors)

• Direct control over data-plane forwarding (not indirect control via control-plane arcana)

4

How to incrementally deploy SDN for Interdomain Routing?

Page 5: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Deploy SDN at Internet Exchanges

• Leverage: SDN deployment even at single IXP can yield benefits for tens to hundreds of ISPs

• Innovation hotbed: Incentives to innovate as IXPs on front line of peering disputes

• Growing in numbers: ~100 new IXPs established in past three years*

5*https://prefix.pch.net/applications/ixpdir/summary/growth/

Page 6: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Background: Conventional IXPs

6

AS A Router

AS C Router

AS B Router

BGP Session

Switching Fabric

IXP

Route Server

Page 7: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX = SDN + IXP

7

AS A Router

AS C Router

AS B Router

BGP Session

SDN Switch

SDX Controller

SDX

Page 8: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX Opens Up New Possibilities

• More flexible business relationshipsMake peering decisions based on time of day, volume of traffic & nature of application

• More direct & flexible traffic controlDefine fine-grained traffic engineering policies

• Better security– Prefer “more secure” routes– Automatically blackhole attack traffic

8

Page 9: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX Enables Innovations at IXPs

• Dropping of attack traffic– Blocking unwanted traffic in middle of Internet

• Inbound traffic engineering– Divide traffic by sender or application

• Application-specific peering– Video traffic via Comcast, non-video via ATT

• Server load balancing– Select data centers to handle request

• Redirection through middleboxes– E.g., transcoding, caching, monitoring, etc.

9

Page 10: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX Enables Innovations at IXPs

• Dropping of attack traffic– Blocking unwanted traffic in middle of Internet

• Inbound traffic engineering– Divide traffic by sender or application

• Application-specific peering– Video traffic via Comcast, non-video via ATT

• Server load balancing– Select data centers to handle request

• Redirection through middleboxes– E.g., transcoding, caching, monitoring, etc.

10

Page 11: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Dropping of Attack Traffic

11

AS B

AS C

AS A

SDX 1 SDX 2

Page 12: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Dropping of Attack Traffic

12

AS B

AS C

AS A

SDX 1 SDX 2

Attacker

Victim

AS C under attack originating from AS A

Page 13: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Dropping of Attack Traffic

13

AS B

AS C

AS A

SDX 1 SDX 2

Attacker

Victim

ASC can remotely block attack traffic at SDX(s)

Page 14: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX vs. Traditional blackholing

• Remote influence

Physical connectivity to SDX not required

• More specific

Drop rules based on multiple header fields, source

address, destination address, port number …

• Coordinated

Drop rules can be coordinated across multiple IXPs

14

Page 15: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX Enables Innovations at IXPs

• Dropping of attack traffic– Blocking unwanted traffic in middle of Internet

• Inbound traffic engineering– Divide traffic by sender or application

• Application-specific peering– Video traffic via Comcast, non-video via ATT

• Server load balancing– Select data centers to handle request

• Redirection through middleboxes– E.g., transcoding, caching, monitoring, etc.

15

Page 16: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Inbound Traffic Engineering

16

AS A Router

AS C Routers

AS B Router

SDX Controller

SDX

C1 C2

10.0.0.0/8

Page 17: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

17

AS A Router

AS C Routers

AS B RouterC1 C2

Incoming Data

Inbound Traffic Engineering

10.0.0.0/8

Incoming Traffic Out Port

Using BGP

Using SDX

dstport = 80 C1

Page 18: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

18

AS A Router

AS C Routers

AS B RouterC1 C2

Incoming Data

Inbound Traffic Engineering

10.0.0.0/8

Incoming Traffic Out Port

Using BGP

Using SDX

dstport = 80 C1 ?

Fine grained policies not possible with BGP

Page 19: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

19

Incoming Traffic Out Port

Using BGP

Using SDX

dstport = 80 C1 ? match(dstport =80) fwd(C1)

AS A Router

AS C Routers

AS B RouterC1 C2

Incoming Data

Inbound Traffic Engineering

10.0.0.0/8Enables fine-grained traffic engineering policies

Page 20: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Building SDX is Challenging

• Programming abstractions

How networks define SDX policies and how are they

combined together?

• Interoperation with BGP

How to provide flexibility w/o breaking global routing?

• Scalability

How to handle policies for hundreds of peers, half million

prefixes and matches on multiple header fields?

20

Page 21: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Building SDX is Challenging

• Programming abstractions

How networks define SDX policies and how are they

combined together?

• Interoperation with BGP

How to provide flexibility w/o breaking global routing?

• Scalability

How to handle policies for hundreds of peers, half million

prefixes and matches on multiple header fields?

21

Page 22: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Directly Program the SDX Switch

22

B1A1

C1 C2

match(dstport=80)fwd(C1)match(dstport=80)drop

Switching Fabric

AS A & C directly program the SDX Switch

Page 23: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Conflicting Policies

23

drop? C1?B1A1

C1 C2

Switching Fabric

How to restrict participant’s policy to traffic it sends or receives?

match(dstport=80)dropmatch(dstport=80)fwd(C1)

Page 24: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Virtual Switch Abstraction

Each AS writes policies for its own virtual switch

24

AS A

C1 C2

B1A1

AS C

AS B

match(dstport=80)fwd(C)

match(dstport=80)fwd(C1)

Virtual Switch

Virtual Switch Virtual Switch

Switching Fabric

Page 25: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Combining Participant’s Policies

25

Policy(p) = PolA PolC

AS A

C1 C2

B1A1

AS C

AS B

match(dstport=80)fwd(C1)

Virtual Switch

Virtual Switch Virtual Switch

Switching Fabric

p

match(dstport=80)fwd(C)

PolA

PolC

Page 26: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Building SDX is Challenging

• Programming abstractions

How networks define SDX policies and how are they

combined together?

• Interoperation with BGP

How to provide flexibility w/o breaking global routing?

• Scalability

How to handle policies for hundreds of peers, half million

prefixes and matches on multiple header fields?

26

Page 27: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Requirement: Forwarding Only Along BGP Advertised Routes

27

A

C

BSDX

10/8

20/8

match(dstport=80) fwd(C)

Page 28: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Ensure ‘p’ is not forwarded to C

28

match(dstport=80) fwd(C)

A

C

BSDX

10/8

20/8

p

dstip = 20.0.0.1dstport = 80

Page 29: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Solution: Policy Augmentation

29

A

C

BSDX

10/8

20/8

(match(dstport=80) && match(dstip = 10/8)) fwd(C)

Page 30: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Building SDX is Challenging

• Programming abstractions

How networks define SDX policies and how are they

combined together?

• Interoperation with BGP

How to provide flexibility w/o breaking global routing?

• Scalability

How to handle policies for hundreds of peers, half million

prefixes and matches on multiple header fields?

30

Page 31: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Scalability Challenges

• Reducing Data-Plane State: Support for all forwarding rules in (limited) switch memory (millions of flow rules possible)

• Reducing Control-Plane Computation: Faster policy compilation (policy compilation takes hours for initial compilation)

31

Page 32: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Scalability Challenges

• Reducing Data-Plane State: Support for all forwarding rules in (limited) switch memory millions of flow rules possible

• Reducing Control-Plane Computation: Faster policy compilation policy compilation could take hours

32

Page 33: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Reducing Data-Plane State:Observations

33

• Internet routing policies defined for groups of prefixes.*

• Edge routers can handle matches on hundreds of thousands of IP prefixes.

*Feamster et al.,Guidelines for Interdomain TE, CCR 2003

Page 34: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Reducing Data-Plane State:Solution

34

10/8

40/8 20/8

Group prefixes with similar forwarding behavior

SDX Controller

Page 35: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Reducing Data-Plane State:Solution

35

10/8

40/8

20/8

Advertise one BGP next hop for each such

prefix group

Edge router

forward toBGP Next Hop

Page 36: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Reducing Data-Plane State:Solution

36

fwd(1)

fwd(2)

forward toBGP Next Hop

match onBGP Next Hop

Flow rules at SDX match on BGP next hops

SDX FIB

10/8

40/8

20/8

Edge router

Page 37: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Reducing Data-Plane State:Solution

37

For hundreds of participants’ policies, few millions < 35K

flow rules

Page 38: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Reducing Control-Plane Computation

38

• Initial policy compilation time– Leveraged domain-specific knowledge of policies– Hundreds of participants requires < 15 minutes

• Policy recompilation time – Leveraged bursty nature of BGP updates– Most recompilation after a BGP update < 100 ms

Page 39: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX Platform

39

• Running code with full BGP-integration

• SDX Testbeds:– Uses Transit Portal– Emulates edge routers (Mininet)

Github repo: https://github.com/sdn-ixp/sdx/

Page 40: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX Enables Innovations at IXPs

• Dropping of attack traffic– Blocking unwanted traffic in middle of Internet

• Inbound traffic engineering– Divide traffic by sender or application

• Application-specific peering– Video traffic via Comcast, non-video via ATT

• Server load balancing– Select data centers to handle request

• Redirection through middleboxes– E.g., transcoding, caching, monitoring, etc.

40

Page 41: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Transit Portal brings real traffic to SDX Fabric

Use Case: Application-specific Peering

Page 42: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Policy = match(dstport = 80) fwd(B)

Use Case: Application-specific Peering

Page 43: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Use Case: Application-specific Peering

Page 44: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX Deployment

44

• Research & Education NetworksInternet2, GENI, SOX, ESnet, NSA-LTS

• Commercial NetworksRegional IXPs in US, Europe & Africa

• NSF program to encourage SDX deployments

Page 45: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Next Steps

45

Building SDX-mediated Internet

Page 46: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX currently considers a single deployment

Page 47: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Step 1: Interconnecting SDX platforms

Page 48: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Step 2: Completely replacing BGP with

SDX-mediated Internet

Page 49: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX-Mediated Internet:Advantages

49

• New endpoint peering paradigmMore flexible, tailored to the traffic exchanged

• Simple, scalable, and policy neutral “Spine”SDX-to-SDX only, just carry bits

• In-sync with current Internet EcosystemContent consumers vs providers vs transit providers

Page 50: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

SDX-Mediated Internet:New Research Challenges

50

• New endpoint peering paradigmPolicy Analysis ?

• Simple, scalable, and policy neutral “Spine”Routing Mechanisms ?

• In-sync with current Internet EcosystemNew players ?

Page 51: SDX: A Software-Defined Internet Exchange Arpit Gupta Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford,

Summary

• SDN-based exchange (SDX) is promising for fixing Internet routing

• Solved various challenges in building a real deployable SDX

• Many open research problems, both for building and using SDX

51

Contact: [email protected]

Github repo: https://github.com/sdn-ixp/sdx/