Top Banner
RIPE 67, Athens Laurent Vanbever Novel Applications for a SDN-enabled Internet Exchange Point [email protected] October, 14 2013 Joint work with Arpit Gupta, Muhammad Shahbaz, Hyojoon Kim, Russ Clark, Nick Feamster, Jennifer Rexford and Scott Shenker
72

Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point [email protected] October, ... carry a large amount of traffic > 2400

Apr 18, 2018

Download

Documents

NguyenKiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

RIPE 67, Athens

Laurent Vanbever

Novel Applications for a

SDN-enabled Internet Exchange Point

[email protected]

October, 14 2013

Joint work with

Arpit Gupta, Muhammad Shahbaz, Hyojoon Kim,

Russ Clark, Nick Feamster, Jennifer Rexford and Scott Shenker

Page 2: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

BGP is notoriously unflexible

and difficult to manage

Page 3: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

BGP is notoriously unflexible

and difficult to manage

Fwd paradigm

Fwd control

Fwd influence

Page 4: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

BGP is notoriously unflexible

and difficult to manage

Fwd paradigm

Fwd control

Fwd influence

BGP

destination-based

indirect

protocol configuration

local

at the BGP session level

Page 5: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Fwd paradigm

Fwd control

Fwd influence

BGP

destination-based

indirect

protocol configuration

local

at the BGP session level

SDN

any

source addr, ports, VLAN, etc.

direct

via an open API (e.g., OpenFlow)

global

via remote controller control

SDN can enable fine-grained, flexible

and direct expression of interdomain policies

Page 6: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Internet Exchange Points (IXPs) ...

Internet Exchange Points are perfect places

to deploy new interdomain features

Page 7: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

connect a large number of participants

Internet Exchange Points (IXPs)

Internet Exchange Points are perfect places

to deploy new interdomain features

Page 8: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

connect a large number of participants

Internet Exchange Points (IXPs)

> 600 participants

AMS-IX (*):

Internet Exchange Points are perfect places

to deploy new interdomain features

(*) See https://www.ams-ix.net

Page 9: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

connect a large number of participants

carry a large amount of traffic > 2400 Gb/s (peak)

> 600 participants

Internet Exchange Points (IXPs)

Internet Exchange Points are perfect places

to deploy new interdomain features

AMS-IX (*):

(*) See https://www.ams-ix.net

Page 10: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

connect a large number of participants

carry a large amount of traffic

are a hotbed of innovation BGP Route Server

Mobile peering

Open peering

> 2400 Gb/s (peak)

> 600 participants

Internet Exchange Points (IXPs)

...

Internet Exchange Points are perfect places

to deploy new interdomain features

AMS-IX (*):

(*) See https://www.ams-ix.net

Page 11: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

connect a large number of participants

carry a large amount of traffic

are a hotbed of innovation

Internet Exchange Points (IXPs)

Even a single deployment can have a large impact!

Internet Exchange Points are perfect places

to deploy new interdomain features

Page 12: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

SDX = SDN + IXP

Enable fine-grained interdomain policies

simplifying network operations

... with scalability in mind

support the load of a large IXP

Augment IXP with SDN capabilities

default forwarding and routing behavior is unchanged

Page 13: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

What does SDX enable that was

hard or impossible to do before?

Page 14: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

SDX enables a wide range of novel applications

Wide-area load balancing

Upstream blocking of DoS attacks

Influence BGP path selection

remote-control

Application-specific peeringpeering

Prevent/block policy violationsecurity

Prevent participants communication

Inbound Traffic Engineering

Traffic offloading

Middlebox traffic steeringforwarding optimization

Fast convergence

Page 15: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Novel Applications for a

SDN-enabled Internet Exchange Point

data- and control-plane

SDX Architecture1

2

3

App#1: Inbound TE

easy and deterministic

App#2: Fast convergence

<1s after peering link failure

Page 16: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Novel Applications for a

SDN-enabled Internet Exchange Point

data- and control-plane

SDX Architecture1

App#1: Inbound TE

easy and deterministic

App#2: Fast convergence

<1s after peering link failure

Page 17: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

An IXP is a large L2 domain where

participant routers peer using BGP

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

Page 18: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

An IXP is a large L2 domain where

participant routers peer using BGP

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

ParticipantEdge router

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

Page 19: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

(private) eBGP session

An IXP is a large L2 domain where

participant routers peer using BGP

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

ParticipantEdge router

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

Page 20: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

Route server

ParticipantEdge router

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

Route-ServereBGP session

An IXP is a large L2 domain where

participant routers peer using BGP

Page 21: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

An IXP is a large L2 domain where

participant routers peer using BGP

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

Route server

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

IP Traffic

ParticipantEdge router

Page 22: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

With respect to IXPs, SDN-enabled IXPs (SDX) ...

data plane relies on SDN-capable devices

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

Route server

ParticipantEdge router

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

Page 23: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

Route server

ParticipantEdge router

OpenFlow enabled Switch

With respect to IXPs, SDN-enabled IXPs (SDX)

data plane relies on SDN-capable devices

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

OF

Page 24: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

With respect to IXPs, SDN-enabled IXPs (SDX)

control plane relies on a SDN controller

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

OF

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

SDX Controller

ParticipantEdge router

Page 25: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

SDX participants write their inter domain policies

using a high-level language built on top of Pyretic (*)

(*) See http://frenetic-lang.org/pyretic/

Page 26: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

SDX policies are composed of

a pattern and some actions

match  (   ),  then  (   )Pattern Actions

(*) See http://frenetic-lang.org/pyretic/

Page 27: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

dstip

(*) See http://frenetic-lang.org/pyretic/

srcip

srcmac

dstmac

dstport

srcport

protocol

match  (  

vlan_id

eth_type

tos

,  &&,  || ),  then  (   )

drop

forward

rewrite

Pattern

Action

Pattern selects packets based on any header fields,

while Actions forward or modify the selected packets

Page 28: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

OF

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

Each SDX participant writes her policies independently

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

SDX Controller

match(dstip=ipC),  fwd(C)match(dstip=ipA),  fwd(A)match(dstip=ipB),  fwd(B)

match(dstip=ipA.1),  fwd(A1)match(dstip=ipA.2),  fwd(A2)

match(dstip=ipC),  fwd(C)

Participant B’s policy:

Participant A’s policy:

Participant C’s policy:

Page 29: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

OF

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1 2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

2

The SDX controller composes these policies together

ensuring isolation and correctness

SDX Controller

match(dstip=ipC),  fwd(C)match(dstip=ipA),  fwd(A)match(dstip=ipB),  fwd(B)

match(dstip=ipA.1),  fwd(A1)match(dstip=ipA.2),  fwd(A2)

Participant B’s policy:

Participant A’s policy:

Participant C’s policy:

match(dstip=ipC),  fwd(C)

Page 30: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

2

After compiling the policies, the SDX controller

provisions the IXP data plane using OpenFlow

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

OF

SDX Controller

OpenFlow rules

Page 31: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Building a SDX platform is challenging, but possible

Page 32: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Check that it is legitimate for remote

participants to provision a policy P?

How do we?

Challenge #1: Authentication

Page 33: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Use the RPKI system to authenticate policies scope

only the prefix owner can act on the traffic remotely

We...

Check that it is legitimate for remote

participants to provision a policy P?

Challenge #1: Authentication

How do we?

Page 34: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Prevent participants from performing

unwanted actions (e.g., rewrite the source mac)?

Challenge #2: Access control

How do we?

Page 35: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Prevent participants from performing

unwanted actions (e.g., rewrite the source mac)?

Use access-lists to limit the actions available

to each participant

Challenge #2: Access control

We...

How do we?

Page 36: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Avoid clashes between participant policies

acting on the same traffic?

Challenge #3: Isolation

How do we?

Page 37: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Use virtual topologies to limit participants’ visibility

each participant can only talk with its own neighbors

Avoid clashes between participant policies

acting on the same traffic?

Challenge #3: Isolation

We...

How do we?

Page 38: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Manage millions of forwarding entries with hardware

supporting only hundred thousands of them?

Challenge #4: Scalability

How do we?

Page 39: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Leverage routers’ routing tables

tailored for IP prefixes matching

Manage millions of forwarding entries with hardware

supporting only hundred thousands of them?

Challenge #4: Scalability

We...

How do we?

Page 40: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Novel Applications for a

SDN-enabled Internet Exchange Point

data- and control-plane

SDX Architecture

2 App#1: Inbound TE

easy and deterministic

App#2: Fast convergence

<1s after peering link failure

Page 41: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

SDX can improve inbound traffic engineering

Page 42: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

AS B

192.0.1/24192.0.2/24

Given an IXP Physical Topology and a BGP topology,

implement B’s inbound policies!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

AS A AS C

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

192.0.1/24192.0.2/24

Page 43: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

to receive on

left192.0.1/24 A

right192.0.2/24 C

right192.0.2/24 ATT_IP

192.0.1/24 right*

from

Given an IXP Physical Topology and a BGP topology,

Implement B’s inbound policies

AS B

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

AS A AS C

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

B’s inbound policies

192.0.1/24192.0.2/24

192.0.2/24 left*

Page 44: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

left192.0.1/24 A

right192.0.2/24 C

right192.0.2/24 ATT_IP

192.0.1/24 right*

192.0.2/24 left*

to receive onfrom

Given an IXP Physical Topology and a BGP topology,

How do you that with BGP?

AS B

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

AS A AS C

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

B’s inbound policies

192.0.1/24192.0.2/24

Page 45: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Implementing such a policy is configuration-intensive

using AS-Path prepend, MED, community tagging, etc.

It is hard

BGP provides few knobs to influence remote decisions

Page 46: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

BGP policies cannot influence remote

decisions based on source addresses

to receive on

right192.0.2.0/24 ATT_IP

from

It is hard...

... and even impossible for some requirements

Page 47: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

There is no guarantee that remote parties will comply

one can only “influence” remote decisions

Networks engineers have no choice but to “try and see”

which makes it impossible to adapt to traffic pattern

Implementing such a policy is configuration-intensive

using AS-Path prepend, MED, community tagging, etc.

It is hard...

In any case, the outcome is unpredictable

Page 48: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

match(dstip=192.0.1/24,  srcmac=A),  fwd(L)

match(dstip=192.0.2/24,  srcmac=B),  fwd(R)

match(dstip=192.0.2/24,  srcip=ATT),  fwd(R)

match(dstip=192.0.1/24),  fwd(R)

to fwd

left192.0.1/24 A

right192.0.2/24 B

right192.0.2/24 ATT_IP

192.0.1/24 right*

from B’s SDX Policy

SDX policies give any participant direct control on its forwarding paths

With SDX, implement B’s inbound policy is easy

192.0.2/24 left* match(dstip=192.0.2/24),  fwd(L)

Page 49: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Novel Applications for a

SDN-enabled Internet Exchange Point

data- and control-plane

SDX Architecture

3

App#1: Inbound TE

easy and deterministic

App#2: Fast convergence

<1s after peering link failure

Page 50: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

BGP is pretty slow to converge upon peering failure

Page 51: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

Let’s consider a simple example with 2 networks,

A and B, with B being the provider of A

Page 52: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

Router B2 is a backup router,

it can be used only upon B1’s failure

backup

Page 53: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

backupP1

P500k

...

B1

B1

...

prefix NH

forwarding table

500,000 BGP routes

Both A1 and A2 prefer the routes received

from B1 and install them in their FIB

Page 54: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

P1

P500k

...

B1

B1

...

prefix NH

forwarding table

Upon B1’s failure, A1 and A2 must update

every single entry in their FIB (~500k entries)

Page 55: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

P1

P500k

...

B2

...

prefix NH

forwarding table

B1

FIB updates

Upon B1’s failure, A1 and A2 must update

every single entry in their FIB (~500k entries)

Page 56: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

P1

P500k

...

B2

...

prefix NH

forwarding table

B2

Upon B1’s failure, A1 and A2 must update

every single entry in their FIB (~500k entries)

FIB updates

Page 57: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

On most routers, FIB updates are performed linearly,

entry-by-entry, leading to slow BGP convergence

500k entries * 150 usecs

entry

convergence time

average timeto update one entry

Page 58: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

On most routers, FIB updates are performed linearly,

entry-by-entry, leading to slow BGP convergence

500k entries * 150 usecs = O(75) seconds

entry

convergence time

average timeto update one entry

Page 59: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

With SDX, sub-second peering convergence

can be achieved with any router

Page 60: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

2 2

When receiving multiple routes, the SDX controller

pre-computes a backup NH for each prefix

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

500,000 BGP routes

backup

SDX controller

2

Page 61: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

2

P1

P500k

...

B1

B1

...

prefix NH

forwarding table

2 2

SDX controller

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

500,000 BGP routesvia B1

backup

When receiving multiple routes, the SDX controller

pre-computes a backup NH for each prefix

2

Page 62: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Upon a peer failure, the SDX controller

directly pushes next-hop rewrite rules

2

P1

P500k

...

B1

B1

...

prefix NH

forwarding table

2 2

SDX controller

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

500,000 BGP routesvia B1

backup

2

Page 63: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

500k

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

2

P1

P500k

...

B1

B1

...

prefix NH

forwarding table

2 2

SDX controller

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

500,000 BGP routesvia B1

backup

1

match(srcmac:A1,  dstmac:B1),  rewrite(dstmac:B2),  fwd(B2)

match(srcmac:A2,  dstmac:B1),  rewrite(dstmac:B2),  fwd(B2)

Page 64: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

P1

P500k

...

B1

B1

...forwarding table

All BGP traffic immediately moves from B1 to B2,

independently of the number of FIB updates

2

2 2

SDX controller

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

2

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

1

!"#$%&'()&**+)

!"#$%&'()

!"#!

* +

!"#$%&'(*

!"#$

),

!"#$%&'(+

%&'()&#!"#*

),

!"#$%&'(,

!"#+

* +

!"#$%&'()*+(,-.$#&/$"01(2,)3.4(5"36.(07(8+9:

-#$./.$0"1()!(2&1.3.45

,&62&5.74(81&9:;014(4#7;.45

,#-$!./(01/'2$345)/06

7

%

<&074(!4;/4;

2

Page 65: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

# edge entries * 150 usecs + 30~50 ms

entry

average update time per entry

controller communication time

SDX data-plane can enable sub-second,

prefix-independent BGP convergence

convergence time

Page 66: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

# edge entries * 150 usecs + 30~50 ms

entry

= O(30~50) ms

SDX data-plane can enable sub-second,

prefix-independent BGP convergence

convergence time

Page 67: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

It does not interfere with participant policies

totally transparent to the routing system

It does not require any hardware changes

works on any router, even older ones

Most peering links can be protected

since most participants have at least two interfaces

SDX data-plane can enable sub-second,

prefix-independent BGP convergence

Page 68: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Novel Applications for a

SDN-enabled Internet Exchange Point

data- and control-plane

SDX Architecture

App#1: Inbound TE

easy and deterministic

App#2: Fast convergence

<1s after peering link failure

Page 69: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Enable fine-grained Traffic Engineering, Load-balancing

think traffic steering, monitoring, etc.

Simplify infrastructure management

Capture broadcast traffic & unwanted traffic

deal with it at the controller level (e.g., ARP, STP BPDUs)

SDN can also solve some of the challenges

faced by IXP operators

get rid of STP, perform isolation without VLANs, etc.

Page 70: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

We have partnered with a large regional IXP in Atlanta

which hosts many large content providers such as Akamai

We have a first SDX controller prototype

which supports policies composition and isolation

We have running code

as well as a first deployment site

We are open for peering request

ping me if you are interested

Page 72: Novel Applications for a SDN-enabled Internet … Applications for a SDN-enabled Internet Exchange Point vanbever@cs.princeton.edu October, ... carry a large amount of traffic > 2400

Novel Applications for a

SDN-enabled Internet Exchange Point

RIPE 67, Athens

Laurent Vanbever

October, 14 2013

http://vanbever.eu