35
ROUTEFLOW & SOFTWARE-DEFINED EXCHANGES Raphael Vicente Rosa Christian Esteve Rothenberg University of Campinas (UNICAMP), Brazil

RouteFlow & IXPs

Embed Size (px)

DESCRIPTION

RouteFlow & IXPs This talk will discuss the architecture of RouteFlow which is a leading OpenFlow based virtual router. It will focus on the new projects based upon RouteFlow which are finding traction in Internet eXchange Points (IXPs) - Cardigan being one of the most popular one. Some common aspects of IXPS will be shown. The talk will conclude with a list of future projects and vision of SDN routing. About Raphael Vincent Rosa Raphael is a Communications Network Engineer. He finished his MS in Computer Science working with intra datacenter routing, contributing to open source SDN projects such as Ryu network controller and RouteFlow platform. Currently he is pursuing PhD research under the guidance of Dr. Christian Esteve Rothenburg with main interests in SDN and Distributed-NFV topics.

Citation preview

Page 1: RouteFlow & IXPs

ROUTEFLOW &

SOFTWARE-DEFINED EXCHANGES

Raphael Vicente Rosa

Christian Esteve Rothenberg

University of Campinas (UNICAMP), Brazil

Page 2: RouteFlow & IXPs

Agenda

• Background:

• Software-Defined Networking (SDN)

• Separating Routing from Routers (BGP-based pre-SDN)

• RouteFlow: Software-Defined IP Routing

• Basics

• Cardigan deployment at live IXP (>1 year)

• Software-Defined Exchanges

• Research perspectives and open innovation

2

Page 3: RouteFlow & IXPs

Background on SDN [5]

3

[5] "Software-Defined Networking: A Comprehensive Survey."

Page 4: RouteFlow & IXPs

SDN AND OPEN SOURCE ARE EVOLVING AND

ACCELERATING THE PATH OF STANDARDIZATION

Components of the New Frontier

"We’d love to see OpenDaylight do for networking what Linux

has done for the computing industry."

Page 5: RouteFlow & IXPs

SDN & NFV: The Frontier of Networking

Existing

• CLIs

• Closed Source

• Vendor Lead

• Classic Network

Appliances

New

• APIs

• Open Source

• Customer Lead

• Network Function

Virtualization (NFV)

Adapted from: Kyle Mestery, Next Generation Network Developer Skills

Page 6: RouteFlow & IXPs

Separating Routing From Routers

• Routing Control Platform (2004) [1]

• Path computation based on a consistent view of network state

• Controlled interactions between routing protocol layers

• Expressive specification of routing policies

6

Figure 1 – Routing Control Platforms (RCPs) [1]

Page 7: RouteFlow & IXPs

Redefinition of Inter-AS Routing

• Inter-AS Routing Issues

• Routing tables scalability (route entries)

• BGP policy definitions (communities, filter tags)

• Dynamic negotiation of network resources (e.g., bandwidth prices)

• …

• Complexity can be better managed

• Simpler routing configuration

• Network-wide traffic engineering

• Better network diagnostics and troubleshooting

• New interdomain routing protocols

7

Page 8: RouteFlow & IXPs

RCP Challenges

• Robustness

• Consistent view: loop-free paths

• Scalability

• Session establishment, path computation, management

• Convergence speed

• Intra and Inter AS route computation

• Configuration languages

• Correctness and security

• Troubleshooting and diagnostics

• Detach control and data planes

8

Page 9: RouteFlow & IXPs

RouteFlow: Basics

Data Plane

Control Plane

Page 10: RouteFlow & IXPs

Linux

RouteFlow: Basics

Page 11: RouteFlow & IXPs

RouteFlow [2]

• Background

• Glue of IP routing stacks with OpenFlow

• Controller-centric hybrid IP networks

• Migration path to SDN (e.g., Cardigan)

• Benefits:

• Cheap network gear with minimal embedded software

• Provide interoperability with legacy network elements

• Avoid re-writing legacy protocols in a centralized fashion

• Innovation power to stakeholders

• network operators, service providers

11

[2] “Revisiting routing control platforms with the eyes and muscles of software-defined networking”

Page 12: RouteFlow & IXPs

RouteFlow: High Level Architecture

• Modular

• 3 components

• Hierarchical

• Distributed

• Multi-controller

• POX, Ryu, ODL

• Routing stacks

• Quagga, BIRD, XORP

12

Figure 2 – RouteFlow Architecture [2]

Page 13: RouteFlow & IXPs

RouteFlow

13

Figure 3 – RouteFlow General Architecture

Page 14: RouteFlow & IXPs

RouteFlow: SDX for Layer 3

• RouteFlow – an approach to build BGP in the controller • Create a virtual model of the router in the controller

• Forward BGP update packets to the virtual interface

• Compute BGP route tables (RIB and FIB) based on virtual model

• Translate FIB into Flow Tables based on real switch model

• Install Flow Tables in the data plane

• Build a SDN-based Router • vandevecken code fork on RouteFlow (higher performance, simpler, 1.3 capable)

• Build peering fabric based on dynamic SDN policies • rather than static network constructs

• Use SDN rules to scrub bad behavior* • Deal with Router hygiene issues (default deny instead of default allow).

• Deal with “Capacity Theft” issues (as well as “noise” traffic)

(Adapted from – Inder Monga NVS'14)

14

Page 15: RouteFlow & IXPs

Abstracting SDX:

what are the common functions?

• A place where peering domains come together

• Peering domains need not be physically connected

• Supports establishment of inter-domain connectivity/routing

• A broker of inter-domain and inter-SRP trust

• Each SDX defines its rules of engagement

• Enforcer of individual domain policies

• Marketplace for Software Defined Services (SDS) can be built

as a SDX overlay

• For example, an application-specific exchange (a video marketplace)

• Resources may be virtual or physical

(Adapted from – Inder Monga NVS'14)

15

Page 16: RouteFlow & IXPs

Internet eXchange Points (IXPs)

• It's a network fabric that participants connect to

• They advertise their networks

• Any packet you place into the exchange finds the appropriate

destination

• It is not a: router, switch, layer 3 switch…

• It's just a place you poke two things...

• Advertisements for things you'll accept

• and packets you want to get rid of

16

Page 17: RouteFlow & IXPs

IXPs

17

Figure 4 – Typical IXP Architecture [3]

Page 18: RouteFlow & IXPs

Anatomy of a large European IXP [3]

• A particular Internet ecosystem (2012) • Agnostic of any tier structure (flatenning 400 members)

• Peer-Peer links (more than 50,000)

• High-densely connected (visible / invisible / cannot tell P-P links)

• Prefix exchange ratio

• Traffic matrix (10 PB of IP traffic daily)

• Misconceptions reassessment • Tier-1 ISPs do not peer at IXP (they do)

• IXPs are not used for transit (they are)

• The number of peer-peer links on the internet is small (larger than assumed)

• IXP links are mostly used for back-up (they are not)

18

Page 19: RouteFlow & IXPs

Cardigan [4]

• SDN-based distributed router in a live IXP

• Reduces operational complexity

• Hybrid SDN-IP network side-by-side

• New approach to the router abstraction model

• RouteFlow Vandervecken branch

19

Figure 5 – Cardigan initial 2-switch deployment [4]

Page 20: RouteFlow & IXPs

Initial Limitations and Easy Fixes

• Extensible message formats

• RFProtocol flexibility

• Set of matches, actions, options...

• IPv6, MPLS on Ethernet

• Inneficient gateway resolution

• RFClient: Reception of its Netlink announcement and discovery of the associated gateway MAC address

• Cache IPv4 and IPv6 routes until ARP resolutions

• Scalable router abstraction

• Router abstraction dependent on the physical topology

• No arbitrary paths inside the ISP network

• Traffic classification using VLAN tags per static inter-switch links (ISLs) configuration

• Fine granular traffic control introducing MPLS paths

20

Page 21: RouteFlow & IXPs

Cardigan 2.0

• MPLS Label Switched Path (LSP)

• A prefix to a path (set of paths)

• Ingress node through a set of transit nodes

• Operator freely defines packet circuits over the network (arbitrary

level of detail)

• Forwarding Path Manager (FPM) component On RouteFlow

architecture

• Feeds all calculated routes (even if initially discarded)

21

Page 22: RouteFlow & IXPs

Cardigan 2.0

22

Figure 6 – Cardigan with MPLS design [4]

Page 23: RouteFlow & IXPs

Deployment

• Pronto Switches (PicOs) - 1G SFPs

• Out-of-band VM controller by layer 2 VLANs

• Traffic forwarded directly by OpenFlow switches

• In production for 9 months

• 90 organizations - forwarding customer traffic and sharing routes

• 1134 flows on each swicth (1028 layer 3 routes)

23

Page 24: RouteFlow & IXPs

Discussion Itens (1/2)

• Protocol compliance

• OF 1.0 TTL decrement

• MAC addressing

• Scalability of flow tables

• OF agent implementation

• Vendor switches memory leaks and flow counters

• Encapsulation Hazards

• MTU size for Ethernet, VLAN, MPLS, etc

24

Page 25: RouteFlow & IXPs

Discussion Itens (2/2)

• Gateway Address Resolution - Increased performance

• Separation of gateway resolution and route processing

• Scalability

• Distribution of the FIB accross multiple devices, different data plane

technologies (NPU/FPGA)

• Resilience

• High-available non-stop forwarding solution and systematical SDN

troubleshooting

• Policy enforcements at IXPs – tedious tasks

• Manual time-of-the-day routing, dynamic traffic engineering, route

preferences, etc)’

25

Page 26: RouteFlow & IXPs

Related Work

• IXP: an interesting networking landscape

• SDX: A Software Defined Internet Exchange • Arpit Gupta (Georgia Institute of Technology), Laurent Vanbever (Princeton

University), Muhammad Shahbaz (Georgia Institute of Technology), Sean P. Donovan (Georgia Institute of Technology), Brandon Schlinker (University of Southern California), Nick Feamster (Georgia Institute of Technology), Jennifer Rexford (Princeton University), Scott Shenker (UC Berkeley), Russ Clark (Georgia Institute of Technology), Ethan Katz-Bassett (University of Southern California)

• ACM SIGCOMM, Chicago, IL. August 2014.

• Enforcing RPKI-Based Routing Policy on the Data Plane at an Internet Exchange

• HotSDN ’14

26

Page 27: RouteFlow & IXPs

Future Work

• Rethink peering between SDN domains

• Strictly enforce routing and security policy

• Prevent crafted BGP packets from exploiting policy

• Prevent misdirected traffic

• Simplify operations

• Increase reliability

27

Page 28: RouteFlow & IXPs

Research & Open Innovation

• Open Innovation

• Google Summer of Code [ 2013, 2014, … new proposals]

• Github Community [ forks, pull requests ]

• Code Contributions [5K – 10K LOC, testing hours, bug reports ]

• Mailing Lists [ +200 Members, 160 Topics ]

• Community contributions & collaborations

• Web-based UI & Internet 2 HW pilot [C. Small, Indiana]

• Aggregated BGP Routing Service [C. Corrêa, Unirio]

• SNMP plugin [J. Stringer, Google]

• IPv6, MPLS, IXP [REANZ, Google]

• Optimal BGP best path reflection [R. Raszuk, NTT-MCL]

• Intra data center BGP routing [R. V. Rosa, Unicamp]

• MPLS LDP support [Vikram Dham]

• ….

28

Page 30: RouteFlow & IXPs

Summary

• Routing Control Platforms possible through SDN

• IXP is a particular microcosm of the Internet ecosystem

• SDN may solve IXP challenges

• Software Defined Exchanges

• RouteFlow as a SDX layer 3

• Rethink peering between IP and SDN domains (and SDN-SDN)

• More related work at below L3 and at application-layer

• Cardigan RouteFlow pilot deployment is a real SDN-

based legacy IXP implementation

30

Page 31: RouteFlow & IXPs

References • [1] Nick Feamster, Hari Balakrishnan, Jennifer Rexford, Aman Shaikh, and Jacobus van der

Merwe. 2004. The case for separating routing from routers. In Proceedings of the ACM SIGCOMM workshop on Future directions in network architecture (FDNA '04). ACM, New York, NY, USA, 5-12.

• [2] Christian Esteve Rothenberg, Marcelo Ribeiro Nascimento, Marcos Rogerio Salvador, Carlos Nilton Araujo Corrêa, Sidney Cunha de Lucena, and Robert Raszuk. 2012. Revisiting routing control platforms with the eyes and muscles of software-defined networking. In Proceedings of the first workshop on Hot topics in software defined networks (HotSDN '12). ACM, New York, NY, USA, 13-18.

• [3] Bernhard Ager, Nikolaos Chatzis, Anja Feldmann, Nadi Sarrar, Steve Uhlig, and Walter Willinger. 2012. Anatomy of a large european IXP. SIGCOMM Comput. Commun. Rev. 42, 4 (August 2012).

• [4] Jonathan Philip Stringer, Qiang Fu, Christopher Lorier, Richard Nelson, and Christian Esteve Rothenberg. 2013. Cardigan: deploying a distributed routing fabric. In Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking (HotSDN '13). ACM, New York, NY, USA, 169-170

• [5] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg, Siamak Azodolmolky, Steve Uhlig. "Software-Defined Networking: A Comprehensive Survey." To appear in Proceedings of the IEEE, 2015.

• https://github.com/SDN-Survey/latex/wiki

• http://arxiv.org/abs/1406.0440

31

Page 32: RouteFlow & IXPs

32

Thank you!

Questions?

• Raphael Vicente Rosa

• raphaelvrosa [at] gmail [dot] com

Ask and contribute! [email protected]

Get the code! https://github.com/routeflow/RouteFlow/

Page 33: RouteFlow & IXPs

BACKUP

33

Page 34: RouteFlow & IXPs

RouteFlow Project History 34

• Start Msc. Thesis

work by Marcelo

N. • First Prototype

• QuagFlow Poster

@ SIGCOMM

• Open-Source

Release

• Demos @ ONS11

• Demo @

SuperComputing 11

• Tutorial & Demo @

OFELIA/CHANGE SS • First Short-Paper

@ WPEIF

• Evaluation on

NetFPGA testbed

• Indiana University

- Pronto OF

switches + BGP

peering with

Juniper MX • Demos @ ONS12

• Running on FIBRE /

OFELIA testbed

• HotSDN Paper

• Collaboraion with

NTT

Page 35: RouteFlow & IXPs

RouteFlow 2013 / 2014

• Significant contributions from CARDIGAN and the

VANDERWECKEN fork

• Live in production network in New Zealand

• Inter-VLAN routing at UNESP, Brazil.

• Google Summer of Code (GSOC 2013 / 2014)

• …

35