sdn-ip peering using bgp

20
SEAMLESS INTERWORKING OF SDN AND IP 1 UMESH KRISHNASWAMY, PINGPING LIN, JONATHAN HART, TETSUYA MURAKAMI MASAYOSHI KOBAYASHI, ALI AL-SHABIBI, K. C. WANG, KUNIHIRO ISHIGURO

Upload: umesh-krishnaswamy

Post on 22-Nov-2014

3.307 views

Category:

Technology


0 download

DESCRIPTION

Seamless SDN-IP Peering using BGP by ON.Lab www.onlab.us

TRANSCRIPT

Page 1: SDN-IP Peering using BGP

1

SEAMLESS INTERWORKING OF SDN AND IP

UMESH KRISHNASWAMY, PINGPING LIN, JONATHAN HART, TETSUYA MURAKAMIMASAYOSHI KOBAYASHI, ALI AL-SHABIBI, K. C. WANG, KUNIHIRO ISHIGURO

Page 2: SDN-IP Peering using BGP

2

HOW CAN WE SEAMLESSLY PEER BETWEEN SDN AND IP NETWORKS?

IP

IP

IP

IP

IP

IP

IP

IP

IP

IP

IP

IP

SDNSDN

SDN

Page 3: SDN-IP Peering using BGP

3

eBGP

eBGP

eBGP

eBGP

eBGP

eBGP

eBGP

IP ROUTING IN SDN

SDNIP

IP

IP

IP

NOSBGP

Daemon

RIB RoutingRIB

Sync

BGP routing updates

Considerations

Entire SDN AS appears as a single big router to external peers

Page 4: SDN-IP Peering using BGP

4

SDN

PROACTIVE FLOW INSTALLATION

Considerations

Proactive flow installer creates IP prefix based flow entries

IPIP

NOS

RIB Match Action

Add Prefix ...

Match Action

Add MAC ...Match Action

Add MAC ...Match Action

Add MAC ...

Proactive Flow InstallerBGP route update Match Action

Add Prefix ...

Page 5: SDN-IP Peering using BGP

5

SDN

FLOW ENTRY COMPUTATION

Match Action

Prefix X Rewrite destination to MAC A, output 1

Prefix Y Rewrite destination to MAC B, output 2

Prefix Z Rewrite destination to MAC C, output 2

IP

MAC based forwarding in SDN Core

Prefix Y

Prefix Z

MAC A

MAC B

MAC C

1

1

2

2

Prefix based lookup at the first hop switch

Flow Table

Y

Prefix X

Flow Table

Match Action

MAC_B output = 1

MAC_C output = 2

Page 6: SDN-IP Peering using BGP

6

SDN

AFTER BGP REROUTE

Match Action

Prefix X Rewrite destination to MAC A, output 1

Prefix Y Rewrite destination to MAC B, output 2

Prefix Z Rewrite destination to MAC C, output 2

IP

Prefix Z

MAC A

MAC B

MAC C

1

1

2

2

Prefix based lookup at the first hop switch

Flow Table

Considerations

Reduce churn within SDN core when BGP routes flap

Y

Prefix X

Flow Table

Match Action

MAC_B output = 1

MAC_C output = 2

Prefix YPrefix Y

Match Action

Prefix X Rewrite destination to MAC A, output 1

Prefix Y Rewrite destination to MAC C, output 2

Prefix Z Rewrite destination to MAC C, output 2

MAC based forwarding in SDN Core

Page 7: SDN-IP Peering using BGP

CURRENT IMPLEMENTATION

Proactive Flow Installer

Prepopulate flows based on BGP updates

ZebOSBGPD

RIB RIB pusher

External BGP peers

Prefix, Nexthop

BGP Route

RIBRIB

Syncer

ONOS

Flow ManagerTopology Discovery

Openflow

Page 8: SDN-IP Peering using BGP

RELATED WORK - ROUTEFLOW

Routeflow SDNIP

Emulates distributed IP control plane on centralized controller

Native application on SDN OS

Treat each Openflow switch as an IP router Treat entire SDN AS as a single big router

Topology discovery done by IGP Topology discovery done by SDN OS

Page 9: SDN-IP Peering using BGP

DEMONSTRATION OF SDN-IP ON ONOS

192.168.20.1/24

AS4

AS2 172.16.20.1/24

AS3172.16.30.1/24 172.16.40.1/24

172.16.10.1/24

192.168.10.1/24

192.168.30.1/24

192.168.40.1/24

192.168.50.1/24

SDN AS emulated in Mininet

Quagga BGPd

LAX

CHI

IAH

NYC

ATL

SLC

BGP

BGP BGPBG

P

ONOSBGPD

Routing GUI

Host

BGP

SDN AS1

Page 10: SDN-IP Peering using BGP

DEPLOYMENT IN GOOGLE PROJECT CARDIGAN

Wellington Internet Exchange

SDN

REANNZWIX

Pica8 3290 Pica8 3780

Research and Education Advanced Network

NZ

ONOS

SDN-IP

Timeframe: May – July 2013

Demonstrate that Openflow/SDN can peer with production IP networks

Page 11: SDN-IP Peering using BGP

DEPLOYMENT IN GOOGLE PROJECT TREEHOUSE

Timeframe: June – August 2013

Demonstrate that Openflow/SDN software and hardware is ready for WAN applications

REANNZ

NOX

Routeflow

ES.Net

NOX

Routeflow

Stanford

ONOS

SDN-IP

Page 12: SDN-IP Peering using BGP

RIB update speed is very slow due REST API Implement a high performance RIB syncer

Completely transition from Floodlight Currently using Forwarding and StaticFlowPusher Implement Proxy Arp to resolve MACs of BGP peers Add new ONOS Flow API to program edge switch

Code cleanup: Rewrite proactive flow installer from Python to Java Use ONOS Flow API to program core switch

NEAR-TERM IMPROVEMENTS TO SDN-IP

Page 13: SDN-IP Peering using BGP

SDN-IP MEMORY SCALING (UNOPTIMIZED)

Page 14: SDN-IP Peering using BGP

Limits of running on a single instance of ONOS: No scale-out of control plane No fault tolerance of the control plane

Scale-out provided by multi instance ONOS: Flow programming and monitoring is scaled out Topology discovery is scaled out

High availability: ONOS provides HA for installed flow paths BGP uses graceful restart or non-stop routing Restarting SDN-IP re-syncs RIB and applies changes

Single instance of SDN-IP should suffice Heavy lifting in BGPD and ONOS

SDN-IP ON MULTI-INSTANCE ONOS

Page 15: SDN-IP Peering using BGP

SDN-IP ON MULTI-INSTANCE ONOS

SDN-IP

Prefix, Nexthop

Instance 1

FM

Instance 2

FM

Instance 3

FM

BGPD

RIB RIB

Page 16: SDN-IP Peering using BGP

Limits of single BGP process: Limited scaling of BGP router process as peers grow

• Maintaining BGP sessions with neighbors• Processing incoming updates, sending updates to peers• Updating the IP RIB with BGP entries

Use case: private IP peering like MPLS L3VPNs Multiple BGP processes:

Partition VRFs handled by each BGP process Use a route reflector to consolidate RIB

High availability: BGP uses graceful-restart or non-stop routing

SCALING OUT BGP PROCESSING

Page 17: SDN-IP Peering using BGP

SCALING OUT BGP PROCESSING

SDN-IP

Prefix, Nexthop

Instance 1

FM

Instance 2

FM

Instance 3

FMBGPD

Route ReflectorRoute

Reflector

BGPD

BGPD

RIBRIB

Page 18: SDN-IP Peering using BGP

ROADMAP

Area Q3 2013 Q4 2013

Features High performance RIB syncer

Use ONOS proxy-arp and flow API for IP prefix match and rewrite

Runs on multi-instance ONOS

Policy based routing within SDN: make use of multiple internal paths

Traffic engineering within SDN: API for applications to control internal path selection

Scale and performance

Target 10K routes in RIBTarget 50 RIB updates/secTarget 100 peers

Target 100K routes in RIB

Release Release 0.1 to open source Release 0.2 to open source

Deployment Deploy in Google Project CARDIGAN

Deploy in Google Project TREEHOUSE

Deploy on Internet2 100G network

Roadmap for open source BGPD owned by IP Infusion

Page 19: SDN-IP Peering using BGP

PLEASE JOIN US

Learn Collaborate Contribute

Try out your innovative ideas with our tools

Improve our tools and platforms

Stay informed about SDN

Users and contributors

Keep track of latest SDN research and innovations

Demonstrate early stage SDN ideas with ON.LAB

Co-develop platforms and use cases

Organizations

Page 20: SDN-IP Peering using BGP

www.onlab.us