+ All Categories
Home > Documents > SDX: A Software-Defined Internet Exchangenetseminar.stanford.edu/seminars/10_16_14.pdf · SDX: A...

SDX: A Software-Defined Internet Exchangenetseminar.stanford.edu/seminars/10_16_14.pdf · SDX: A...

Date post: 22-Mar-2020
Category:
Upload: others
View: 15 times
Download: 0 times
Share this document with a friend
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
Transcript

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

The Interdomain Ecosystem is Evolving ...

2

Flatter and densely interconnected Internet*

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

…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?

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?

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/

Background: Conventional IXPs

6

AS A Router

AS C Router

AS B Router

BGP Session

Switching Fabric IXP

Route Server

SDX = SDN + IXP

7

AS A Router

AS C Router

AS B Router

BGP Session

SDN Switch

SDX Controller

SDX

SDX Opens Up New Possibilities

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

•  More direct & flexible traffic control Define fine-grained traffic engineering policies

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

8

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

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

Dropping of Attack Traffic

11

AS B

AS C

AS A

SDX 1 SDX 2

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

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)

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

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

Inbound Traffic Engineering

16

AS A Router

AS C Routers

AS B Router

SDX Controller

SDX

C1 C2 10.0.0.0/8

17

AS A Router

AS C Routers

AS B Router C1 C2

Incoming Data

Inbound Traffic Engineering

10.0.0.0/8

Incoming Traffic Out Port

Using BGP

Using SDX

dstport = 80 C1

18

AS A Router

AS C Routers

AS B Router C1 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

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 Router C1 C2

Incoming Data

Inbound Traffic Engineering

10.0.0.0/8 Enables fine-grained traffic engineering policies

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

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

Directly Program the SDX Switch

22

B1 A1

C1 C2 match(dstport=80)!fwd(C1)

match(dstport=80)!drop

Switching Fabric

AS A & C directly program the SDX Switch

Conflicting Policies

23

drop? C1? B1 A1

C1 C2

Switching Fabric

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

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

Virtual Switch Abstraction

Each AS writes policies for its own virtual switch 24

AS A

C1 C2

B1 A1

AS C

AS B

match(dstport=80)!fwd(C)

match(dstport=80)!fwd(C1)

Virtual Switch

Virtual Switch Virtual Switch

Switching Fabric

Combining Participant’s Policies

25

Policy(p) = PolA ! PolC

AS A

C1 C2

B1 A1

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

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

Requirement: Forwarding Only Along BGP Advertised Routes

27

A

C

B SDX

10/8

20/8

match(dstport=80) ! fwd(C)

Ensure ‘p’ is not forwarded to C

28

match(dstport=80) ! fwd(C)

A

C

B SDX

10/8

20/8 p

dstip = 20.0.0.1 dstport = 80

Solution: Policy Augmentation

29

A

C

B SDX

10/8

20/8

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

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

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

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

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

Reducing Data-Plane State: Solution

34

10/8 40/8 20/8

Group prefixes with similar forwarding behavior

SDX Controller

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 to BGP Next Hop

Reducing Data-Plane State: Solution

36

fwd(1)

fwd(2)

forward to BGP Next Hop

match on BGP Next Hop

Flow rules at SDX match on BGP next hops

SDX FIB

10/8

40/8

20/8

Edge router

Reducing Data-Plane State: Solution

37

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

flow rules

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

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/

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

!"#

!"#$

%&'()*'&*#+,

!"#!

-).&(/0

12345642473

53489:4242;87

1234564242;87

<**)=*(>?>*@'

!%"#A*'@<*(>

!"#B

$.>?')*#+,

53489:4158489

0-).&(/#C#?<@(DEF'@-)G@C:2H#II#JKFEBH

@=**>.'

"LM#N<OG&(

$%&'()*

41

Transit Portal brings real traffic to SDX Fabric

Use Case: Application-specific Peering

!"#

!"#$

%&'()*'&*#+,

!"#!

-).&(/0

12345642473

53489:4242;87

1234564242;87

<**)=*(>?>*@'

!%"#A*'@<*(>

!"#B

$.>?')*#+,

53489:4158489

0-).&(/#C#?<@(DEF'@-)G@C:2H#II#JKFEBH

@=**>.'

"LM#N<OG&(

$%&'()*

42

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

Use Case: Application-specific Peering

!"#

!"#$

%&'()*'&*#+,

!"#!

-).&(/0

12345642473

53489:4242;87

1234564242;87

<**)=*(>?>*@'

!%"#A*'@<*(>

!"#B

$.>?')*#+,

53489:4158489

0-).&(/#C#?<@(DEF'@-)G@C:2H#II#JKFEBH

@=**>.'

"LM#N<OG&(

$%&'()*

43

0 200 400 600 800 1000 1200 1400 1600 1800

Time (seconds)

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

Traf

fic R

ate

(Mbp

s)

application-specific peering policyapplication-specific peering policy

route withdrawalroute withdrawal

AS-A

AS-B

Use Case: Application-specific Peering

SDX Deployment

44

•  Research & Education Networks Internet2, GENI, SOX, ESnet, NSA-LTS

•  Commercial Networks Regional IXPs in US, Europe & Africa

•  NSF program to encourage SDX deployments

Next Steps

45

Building SDX-mediated Internet

SDX currently considers a single deployment

Step 1: Interconnecting SDX platforms

Step 2: Completely replacing BGP with SDX-mediated Internet

SDX-Mediated Internet: Advantages

49

•  New endpoint peering paradigm More flexible, tailored to the traffic exchanged

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

•  In-sync with current Internet Ecosystem Content consumers vs providers vs transit providers

SDX-Mediated Internet: New Research Challenges

50

•  New endpoint peering paradigm Policy Analysis ?

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

•  In-sync with current Internet Ecosystem New players ?

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/


Recommended