Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP...

96
Bringing SDN to the Internet, one exchange point at the time COS 561 Laurent Vanbever November, 11 2014 Princeton University Joint work with: Arpit Gupta, Muhammad Shahbaz, Sean P. Donovan, Russ Clark, Brandon Schlinker, E. Katz-Bassett, Nick Feamster, Jennifer Rexford and Scott Shenker

Transcript of Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP...

Page 1: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Bringing SDN to the Internet, one exchange point at the time

COS 561

Laurent Vanbever

November, 11 2014

Princeton University

Joint work with: Arpit Gupta, Muhammad Shahbaz, Sean P. Donovan, Russ Clark,

Brandon Schlinker, E. Katz-Bassett, Nick Feamster, Jennifer Rexford and Scott Shenker

Page 2: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

BGP is notoriously inflexibleand difficult to manage

Page 3: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

BGP is notoriously inflexibleand difficult to manage

Fwd paradigm

Fwd control

Fwd influence

BGP SDN

Page 4: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

BGP is notoriously inflexibleand difficult to manage

Fwd paradigm

Fwd control

Fwd influence

BGP

destination-based

indirect

configuration

local

BGP session

SDN

Page 5: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Fwd paradigm

Fwd control

Fwd influence

BGP

destination-based

indirect

local

SDN

any

source addr, ports,…

direct

open API (e.g., OpenFlow)

global

remote controller control

SDN can enable fine-grained, flexibleand direct expression of interdomain policies

configuration

BGP session

Page 6: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

How do you deploy SDN in a network composed of 50,000 subnetworks?

Page 7: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

How do you deploy SDN in a network composed of 50,000 subnetworks?

Well, you don’t …

Page 8: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Instead, you aim at finding locations wheredeploying SDN can have the most impact

Page 9: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Instead, you aim at finding locations wheredeploying SDN can have the most impact

connect a large number of networks

carry a large amount of traffic

Deploy SDN in locations that

are opened to innovation

Page 10: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Internet eXchange Points (IXP)meet all the criteria

BGP Route ServerMobile peeringOpen peering…

3.2 Tb/s (peak)

675 networks

AMS-IX

https://www.ams-ix.net

connect a large number of networks

carry a large amount of traffic

are opened to innovation

Deploy SDN in locations that

Page 11: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

A single deployment can have a large impact

AMS-IX

https://www.ams-ix.net

connect a large number of networks

carry a large amount of traffic

are opened to innovation

Deploy SDN in locations that

BGP Route ServerMobile peeringOpen peering…

3.2 Tb/s (peak)

675 networks

Page 12: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX = SDN + IXP

Page 13: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Enable fine-grained inter-domain policies

bringing new features & simplifying operations

Augment the IXP data-plane with SDN capabilities

keeping default forwarding and routing behavior

SDX = SDN + IXP

Page 14: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Enable fine-grained inter-domain policies

… with scalability and correctness in mind

supporting large IXP load and resolving conflicts

Augment the IXP data-plane with SDN capabilities

SDX = SDN + IXP

bringing new features & simplifying operations

keeping default forwarding and routing behavior

Page 15: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX

Content providers Eyeballs providers Transit providers

SDX enables multiple stakeholders to implementpolicies and apps over a shared infrastructure

policies policies

Page 16: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

programming model

Architecture1

Scalability

control- & data-plane

2

Applications

inter domain bonanza

3

Bringing SDN to the Internet, one exchange point at the time

Page 17: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

programming model

Architecture1

Scalability

control- & data-plane

Applications

inter domain bonanza

Bringing SDN to the Internet, one exchange point at the time

Page 18: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

An IXP is a large layer-2 domain where

participant routers exchange routes using BGP

IXP Switching Fabric

Edge router

Participant #1

Participant #2

Participant #3

Page 19: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

An IXP is a large layer-2 domain where

participant routers exchange routes using BGP

eBGP sessions

eBGP routes

Participant #1

Participant #2

Participant #3

Page 20: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Router Server

To alleviate the need of establishing eBGP sessions,

IXP often provides a Route Server (route multiplexer)

10.0.0.0/8

10.0.0.0/8

10.0.0.0/8

Participant #1

Participant #2

Participant #3

Page 21: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

IP traffic is exchanged

directly between participants

Router Server

IP traffic

Participant #1

Participant #2

Participant #3

Page 22: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Participant #1

Participant #2

Participant #3

Router Server

With respect to a traditional IXP,

data-plane relies on SDN-capable devices

Page 23: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Participant #1

Participant #2

Participant #3

Router Server

With respect to a traditional IXP,

SDX data-plane relies on SDN-capable devices

SDN

Page 24: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

With respect to a traditional IXP,

SDX control-plane relies on a SDN controller

Participant #1

Participant #2

Participant #3

SDN controller

also a Route Server

BGP sessions

Page 25: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX participants express their forwarding policies in a high-level language, built on top of Pyretic (*)

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

Page 26: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX policies are composed ofa pattern and some actions

match  (   ),  then  (   )Pattern Actions

Page 27: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

dstip

srcip

srcmac

dstmac

dstport

srcport

protocol

vlan_id

eth_type

tos

,  &&,  ||

Pattern

Pattern selects packets based on any header fields,

while Actions forward or modify the selected packets

match  (   ),  then  (   )Actions

Page 28: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

drop

forward

rewrite

Pattern selects packets based on any header fields,

while actions forward or modify the selected packets

Actions

match  (   ),  then  (   )Pattern

Page 29: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX controller

Each SDX participant writes her policies independently

Participant #2 policy

match(dstport=80),  fwd(#3)match(dstport=22),  fwd(#1)

Page 30: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Participant #2 policy

SDX controller

match(dstport=80),  fwd(#3)match(dstport=22),  fwd(#1)

Participant #3 policy

match(srcip=0*),  fwd(left)match(srcip=1*),  fwd(right)

Each SDX participant writes her policies independently

Page 31: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

… and transmit them to the SDX controller

SDX controller

Participant #2 policy

match(dstport=80),  fwd(#3)match(dstport=22),  fwd(#1)

Participant #3 policy

match(srcip=0*),  fwd(left)match(srcip=1*),  fwd(right)

Page 32: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Participant #2 policy

match(dstport=80),  fwd(#3)match(dstport=22),  fwd(#1)

Participant #3 policy

match(srcip=0*),  fwd(left)match(srcip=1*),  fwd(right)

SDX controller

Forwarding rules

SDN

The controller compiles all the policies

into SDN forwarding rules

Page 33: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX compilation stage implements

each participant policy in the data-plane

Ensuring isolation

Resolving conflict

Considering BGP

Page 34: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Ensuring isolation

Resolving conflict

Considering BGP

Each participant controls

one “virtual” switch

connected to participants

it can communicate with

SDX compilation stage implements

each participant policy in the data-plane

Page 35: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Ensuring isolation

Resolving conflict

Considering BGP

Policies are composed

according to BGPbusiness relationships

SDX compilation stage implements

each participant policy in the data-plane

Page 36: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Ensuring isolation

Considering BGP

Policies are augmented

with BGP information

guarantee correctness

and reachability

Resolving conflict

SDX compilation stage implements

each participant policy in the data-plane

Page 37: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

programming model

Architecture

Scalability

control- & data-plane

2

Applications

inter domain bonanza

Bringing SDN to the Internet, one exchange point at the time

Page 38: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

data-plane

space

control-plane

time

The SDX platform faces scalability challenges

in both the data- and in the control-plane

Page 39: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

data-plane control-plane

512k prefixes, 500+ participants,

potentially 109 of forwarding rules

forwarding rules must be updated

dynamically according to BGP

space time

Page 40: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

data-plane control-plane

To scale, the SDX platform leverages

existing infrastructure & domain-specific knowledge

aggregate rules,

on existing routers

leverage

policy structure

space time

Page 41: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

data-plane control-plane

space time

aggregate rules,

on existing routers

Page 42: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX groups IP prefixes according

to their behavior through the fabric

e.g., all prefixes advertised by X

just the way the Internet works

policies are prefix-based

forwarding actions are shared for a lot of prefixes

Page 43: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

e.g., all prefixes advertised by X

just the way the Internet works

policies are prefix-based

forwarding actions are shared for a lot of prefixes

SDX groups IP prefixes according

to their behavior through the fabric

group prefixes by equivalence class

Page 44: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

FIB size: O(500k) IP entries

FIB size: O(500k) IP entries FIB size: O(500k) IP entries

SDX leverages edge routers to map packets to their equivalence class

SDX

Page 45: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX considers edge routers’ FIB as the first stage of a multi-stage FIB

Table #1 Table #2

SDX fabric

Edge router SDX switch

Page 46: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Routers FIB match on the destination prefix and set a tag accordingly

Table #1 Table #2

Edge router SDX switch

set a TAG

based on IP prefix

Page 47: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX FIB matches on the tag

Table #1 Table #2

Edge router SDX switch

match TAGset a TAG

based on IP prefix

Page 48: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

BGP router virtual switch

p1

p2

p3

p4

p5

fwd(1)

fwd(2)

fwd(3)

fwd(4)

SDX uses BGP NH as a provisioning interface

and MAC addresses as tag in the data-plane

L2 NH match on L2 NH

Edge router SDX switch

Page 49: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX accommodates policies for 100+ participants, with less than 30k rules

Page 50: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

data-plane control-plane

space time

leverage

policy structure

Page 51: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX policies share key characteristics

disjointness

locality

burstiness

Static

Dynamic

Page 52: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX policies share key characteristics

disjointness

locality

burstiness

Dynamic

disjoint policies don’tneed to be composed

significant gain as

composition is costly

Static

Page 53: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX policies share key characteristics

locality

burstiness

Dynamic

disjointness

policy updates usually

impact few prefixes

75% of the updates affect

no more than 3 prefixes

Static

Page 54: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX policies share key characteristics

burstiness

Static disjointness

locality

policy updates are separated

by large periods of inactivity

In 75% of the case, updates

are separated by 10s or more

Dynamic

Page 55: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Slow, but optimal algorithm in background

regroup rules according to forwarding behavior

Fast, non-optimal algorithm upon updates

can install more forwarding rules than required

These characteristics enable an efficient,2-stage compilation algorithm

Stage 1

Stage 2

Page 56: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Slow, but optimal algorithm in background

Time vs Space trade-off

Fast, non-optimal algorithm upon updates

These characteristics enable an efficient,2-stage compilation algorithm

regroup rules according to forwarding behavior

can install more forwarding rules than required

Page 57: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

In most cases, the SDX takes <100 ms

to recompute the entire policy

Page 58: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

programming model

Architecture

Scalability

control- & data-plane

Applications

inter domain bonanza

3

Bringing SDN to the Internet, one exchange point at the time

Page 59: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX enables a wide range of novel applications

Wide-area load balancing

Upstream blocking of DoS attacks

Influence BGP path selectionremote-control

Application-specific peeringpeering

Prevent/block policy violationsecurity

Prevent participants communication

Inbound Traffic Engineering

Traffic offloading

Middlebox traffic steeringforwarding optimization

Fast convergence

Page 60: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX enables a wide range of novel applications

Wide-area load balancing

Upstream blocking of DoS attacks

Influence BGP path selectionremote-control

Application-specific peeringpeering

Prevent/block policy violationsecurity

Prevent participants communication

Inbound Traffic Engineering

Traffic offloading

Middlebox traffic steeringforwarding optimization

Fast convergence

Page 61: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX#B

SDX#A

AS2

AS1

AS666

SDX can help mitigating DDoS attacks,

closer to the source

HTTPd @10.0.0.1/32

Page 62: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Attacker

AS1 is victim of a DDoS attack

targeting its web server

SDX#B

SDX#A

HTTPd @10.0.0.1/32Victim

AS2

AS666

Page 63: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Attacker

AS13

AS1 remotely installsdrop policies in all SDXes

SDX#B

SDX#A

HTTPd @10.0.0.1/32Victim

drop

drop

AS2

Page 64: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

match(srcip=*,  dstip=10.0.01/32,  dstport=80)  >>  drop()

AS1 remotely installsdrop policies in all SDXes

AS1 policy

Page 65: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

match(srcip=*,  dstip=10.0.01/32,  dstport=80)  >>  drop()

SDX policies are targeted, hence

other services stay reachable

single IP single service

AS1 policy

Page 66: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX enables a wide range of novel applications

Wide-area load balancing

Upstream blocking of DoS attacks

Influence BGP path selectionremote-control

Application-specific peeringpeering

Prevent/block policy violationsecurity

Prevent participants communication

Inbound Traffic Engineering

Traffic offloading

Middlebox traffic steeringforwarding optimization

Fast convergence

Page 67: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX can improve inbound traffic engineering

Page 68: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

AS B

192.0.1/24192.0.2/24

Given an IXP Physical Topology and a BGP topology,

implement B’s inbound policies

AS A AS C

A C

B1 B2

192.0.1/24192.0.2/24

IXP Fabric BGP topology

Page 69: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

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

B’s inbound policies

192.0.2/24 left*

AS B

192.0.1/24192.0.2/24

AS A AS C

192.0.1/24192.0.2/24

Page 70: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

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?

B’s inbound policies

AS B

192.0.1/24192.0.2/24

AS A AS C

192.0.1/24192.0.2/24

Page 71: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

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 72: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

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 73: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

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 74: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

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 75: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

SDX enables a wide range of novel applications

Wide-area load balancing

Upstream blocking of DoS attacks

Influence BGP path selectionremote-control

Application-specific peeringpeering

Prevent/block policy violationsecurity

Prevent participants communication

Inbound Traffic Engineering

Traffic offloading

Middlebox traffic steeringforwarding optimization

Fast convergence

Page 76: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

BGP is pretty slow to converge upon peering failure

Page 77: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Let’s consider a example with 2 networks,

A and B, with B being the provider of A

A1

A2

B1

B2

IXP

fabric

edge

routers

edge

routers

Page 78: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

A1

A2

B1

B2

Router B2 is a backup router,

it may be used only upon B1’s failure

backup

Page 79: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

A1

A2

B1

B2

backup

500,000 BGP routes

P1

P500k

...

B1

B1

...

prefix NH

forwarding table

Both A1 and A2 prefer the routes received

from B1 and install them in their FIB

Page 80: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

A1

A2

B1

B2

backup

500,000 BGP routes

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 81: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

A1

A2

B1

B2

backup

500,000 BGP routes

P1

P500k

...

B2

B1

...

prefix NH

forwarding table

Upon B1’s failure, A1 and A2 must update

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

Page 82: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

A1

A2

B1

B2

backup

500,000 BGP routes

P1

P500k

...

B2

B2

...

prefix NH

forwarding table

Upon B1’s failure, A1 and A2 must update

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

Page 83: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

On most routers, FIB updates are performed linearly,

entry-by-entry, leading to slow BGP convergence

500k entries * 150 μsecs

entry

convergence time

average time to update one entry

Page 84: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

On most routers, FIB updates are performed linearly,

entry-by-entry, leading to slow BGP convergence

500k entries * 150 μsecs = O(75) seconds

entry

convergence time

average time to update one entry

Page 85: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

With SDX, sub-second peering convergence

can be achieved with any router

Page 86: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

When receiving multiple routes, the SDX controller pre-computes a backup NH for each prefix

A1

A2

B1

B2

backup500,000

BGP routes

SDN controller

Page 87: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

When receiving multiple routes, the SDX controller pre-computes a backup NH for each prefix

A1

A2

B1

B2

backup500,000 BGP routes

(via B1)

SDN controller

P1

P500k

...

B1

B1

...

prefix NH

forwarding table

Page 88: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

A1

A2

B1

B2

backup500,000 BGP routes

(via B1)

SDN controller

P1

P500k

...

B1

B1

...

prefix NH

forwarding table

Upon a peer failure, the SDX controller

directly pushes next-hop rewrite rules

Page 89: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

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

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

Page 90: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

A1

A2

B1

B2

backup

IP traffic

SDN controller

P1

P500k

...

B1

B1

...

prefix NH

forwarding table

All IP traffic immediately moves from B1 to B2,

independently of the number of FIB updates

Page 91: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

# edge entries * 150 μsecs + 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 92: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

# edge entries * 150 μsecs + 30~50 ms

entry

= O(30~50) ms

SDX data-plane can enable sub-second,

prefix-independent BGP convergence

convergence time

Page 93: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

old router

(Cisco 7200)

cheap

SDN switch

high-end router

(Cisco CRS 12000)

+

SDN devices can boost the performance

of traditional devices. Prototype under way!

Logical unit

Page 94: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

programming model

Architecture

Scalability

control- & data-plane

Applications

inter domain bonanza

Bringing SDN to the Internet, one exchange point at the time

Page 95: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Scale to hundreds of participants

both in the control- and in the data-plane

Running code (*) and deployment under way

important potential for impact

Enable declarative, fine-grained inter-domain policies

many of which are not possible Today

(*) https://github.com/sdn-ixp/sdx-platform

SDX is a promising first step

towards fixing Internet routing

Page 96: Bringing SDN to the Internet, one exchange point at the timeSDN controller also a Route Server BGP sessions. ... Inbound Traffic Engineering Traffic offloading forwarding optimization

Laurent Vanbever

www.vanbever.eu

Bringing SDN to the Internet, one exchange point at the time

COS 561

November, 11 2014