ISDX: An Industrial-Scale Software-Defined IXP Arpit Gupta Princeton University Robert MacDavid, Rüdiger Birkner, Marco Canini,

Slides:



Advertisements
Similar presentations
Using Network Virtualization Techniques for Scalable Routing Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton University.
Advertisements

Multihoming and Multi-path Routing
DTunnels Year 1 Summary Nick Feamster. Overview Two pieces –DTunnels: Mechanism for creating appearance of layer 2 links between virtual nodes –BGP Mux:
Multihoming and Multi-path Routing
MPLS VPN.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS VPN Technology Introducing the MPLS VPN Routing Model.
SDN Applications Jennifer Rexford Princeton University.
© 2009 Cisco Systems, Inc. All rights reserved. Cisco Public Presentation_ID 1 BGP Diverse Paths draft-ietf-grow-diverse-bgp-paths-dist-02 Keyur Patel.
Why do current IP semantics cause scaling issues? −Today, “addressing follows topology,” which limits route aggregation compactness −Overloaded IP address.
SDX: A Software-Defined Internet Exchange
Jennifer Rexford Princeton University
Technical Aspects of Peering Session 4. Overview Peering checklist/requirements Peering step by step Peering arrangements and options Exercises.
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Network Layer: Internet-Wide Routing & BGP Dina Katabi & Sam Madden.
Internet2 and AL2S Eric Boyd Senior Director of Strategic Projects
Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Internet2 Network: Convergence of Innovation, SDN, and Cloud Computing Eric Boyd Senior Director of Strategic Projects.
Distributed Route Aggregation on the Global Network (DRAGON) João Luís Sobrinho 1 Laurent Vanbever 2, Franck Le 3, Jennifer Rexford 2 1 Instituto Telecomunicações,
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
1 In VINI Veritas: Realistic and Controlled Network Experimentation Jennifer Rexford with Andy Bavier, Nick Feamster, Mark Huang, and Larry Peterson
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
1 Design and implementation of a Routing Control Platform Matthew Caesar, Donald Caldwell, Nick Feamster, Jennifer Rexford, Aman Shaikh, Jacobus van der.
1 Different Strokes for Different Folks (Or, How I Learned to Stop Worrying and Love Virtualization) Jennifer Rexford, Princeton University Joint work.
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
SDX: A Software Defined Internet Exchange Arpit Gupta, Laurent Vanbever, Muhammad Shahbaz, Sean P. Donovan, Brandon Schlinker Nick Feamster, Jennifer Rexford,
Multipath Routing Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Putting the “Inter” in “Internet” Jennifer Rexford Princeton University 1.
WAN Technologies.
Computer Networks Layering and Routing Dina Katabi
Cellular Core Network Architecture
Software-Defined Networks Jennifer Rexford Princeton University.
VeriFlow: Verifying Network-Wide Invariants in Real Time
Vytautas Valancius, Nick Feamster, Akihiro Nakao, and Jennifer Rexford.
SDX: A Software-Defined Internet eXchange Jennifer Rexford Princeton University
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
1MPLS QOS 10/00 © 2000, Cisco Systems, Inc. rfc2547bis VPN Alvaro Retana Alvaro Retana
CS 4396 Computer Networks Lab BGP. Inter-AS routing in the Internet: (BGP)
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
CellSDN: Software-Defined Cellular Core networks Xin Jin Princeton University Joint work with Li Erran Li, Laurent Vanbever, and Jennifer Rexford.
Yaping Zhu with: Jennifer Rexford (Princeton University) Aman Shaikh and Subhabrata Sen (ATT Research) Route Oracle: Where Have.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
SDX: A Software-Defined Internet eXchange Jennifer Rexford Princeton University
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—3-1 Route Selection Using Policy Controls Using Multihomed BGP Networks.
Nick Feamster Princeton University
Dynamic P2P with BGP Route Servers BFD for data-plane verification Magnus Bergroth NORDUnet.
Bringing External Connectivity and Experimenters to GENI Nick Feamster Georgia Tech.
Fabric: A Retrospective on Evolving SDN Presented by: Tarek Elgamal.
WAN Technologies. 2 Large Spans and Wide Area Networks MAN networks: Have not been commercially successful.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
1 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Multi Node Label Routing – A layer 2.5 routing protocol
CIS 700-5: The Design and Implementation of Cloud Networks
Multi-layer software defined networking in GÉANT
SONATA: Scalable Streaming Analytics for Network Monitoring
The Underlying Technologies
Softwire Mesh Solution Framework
COMP 3270 Computer Networks
CAR: Cloud-Assisted Routing
6.829 Lecture 13: Software Defined Networking
Flexible and Scalable Systems for Network Management
Sonata Query-driven Streaming Network Telemetry
Prelude Ensuring Inter-Domain Loop-Freedom in SDN-Enabled Networks
Software Defined Networking
Extending MPLS/BGP VPNs to End-Systems
Sonata: Query-Driven Streaming Network Telemetry
BGP Instability Jennifer Rexford
Elmo Muhammad Shahbaz Lalith Suresh, Jennifer Rexford, Nick Feamster,
Control-Data Plane Separation
Presentation transcript:

iSDX: An Industrial-Scale Software-Defined IXP Arpit Gupta Princeton University Robert MacDavid, Rüdiger Birkner, Marco Canini, Nick Feamster, Jennifer Rexford, Laurent Vanbever

Internet Exchange Points (IXPs) AS A Router AS C Router AS B Router BGP Session Switching Fabric IXP Route Server 2

Software Defined IXPs (SDXs) AS A Router AS C Router AS B Router BGP Session SDN Switch SDX Controller SDX 3 [*Gupta et al., SIGCOMM’14]

Deployment Experience: –Inter-Agency Exchange –Large IXP in Europe –Smaller IXPs in Asia Challenges: –Data Plane Scalability –…–… Deployment Ready SDX is Hard! 4

Data Plane Scalability Challenges 5 DevicesOperations Data Plane Performance State (# entries) Update Rate (flow-mods/s) Match-Action on Multiple Headers 100K2,500

Data Plane Scalability Challenges 6 DevicesOperations Data Plane Performance State (# entries) Update Rate (flow-mods/s) Match-Action on Multiple Headers 100K2,500 Matches on IP Prefixes only ~1MN/A Problem: Optimize the usage of available devices

AS A IXP Fabric AS B AS C announces 10/8, 40/8 AS D announces 10/8, 40/8, 80/8 AS E announces 80/8 Simple Example dPort = 443 → fwd(C) dPort = 22 → fwd(C) dPort = 80 → fwd(E) SDX Controller 7

Forwarding Table Entries at SDX SDN Policies # Forwarding Table Entries dPort = 443 → fwd(C)1 dPort = 22 → fwd(C)1 dPort = 80 → fwd(E)1 Number of forwarding table entries for A & B’s Outbound SDN Policies AS A AS B 8

Goal Tracker Large IXP Dataset: –BGP RIBs & Updates from large IXP –511 IXP participants –96 million peering routes for 300K IP prefixes –25K BGP updates for 2-hour duration 9 Simple Example Baseline3

Goal Tracker Large IXP Dataset: –BGP RIBs & Updates from large IXP –511 IXP participants –96 million peering routes for 300K IP prefixes –25K BGP updates for 2-hour duration 10 Simple Example Large IXP Baseline362K

Goal Tracker Simple Example Large IXP Baseline362K Satisfies design goals, but … 11

Goal Tracker Simple Example Large IXP Baseline362K … not congruent with BGP! 12

AS A IXP Fabric AS C announces 10/8, 40/8 Challenge: Congruence with BGP dPort = 443 → fwd(C) p dIP = , dPort = 443 Ensure p is not forwarded to C SDX Controller 13

AS A IXP Fabric AS C announces 10/8, 40/8 Solution: SDN Policy Augmentation dIP ∈ {10/8, 40/8} ⋀ dPort = 443 → fwd(C) p dIP = , dPort = 443 Match on prefixes advertised by C SDX Controller 14

Data Plane State Explosion! SDN Policy Augmentation increases forwarding table entries SDN Policies # Forwarding Table Entries 10/840/880/8 dPort = 443 → fwd(C)110 dPort = 22 → fwd(C)110 dPort = 443 → fwd(D)

Goal Tracker Simple Example Large IXP Baseline362K Policy Augmentation768M Not possible to support these many forwarding table entries! 16

Forwarding Equivalence Classes SDN Policies # Forwarding Table Entries 10/840/880/8 dPort = 443 → fwd(C)110 dPort = 22 → fwd(C)110 dPort = 443 → fwd(D)111 10/8, 40/8 exhibit similar forwarding behavior 17

Leveraging Forwarding Equivalence 10/8 40/8 80/8 forward to BGP Next Hop AS A AS C announces 10/8, 40/8 AS D announces 10/8, 40/8, 80/8 IXP Fabric Single BGP Next Hop for 10/8, 40/8 18 dPort = 443 → fwd(C)

Leveraging Forwarding Equivalence 10/8 40/8 80/8 forward to BGP Next Hop AS A IXP Fabric fwd(C) match on BGP Next Hop AS C announces 10/8, 40/8 AS D announces 10/8, 40/8, 80/8 Flow Rules at SDX match on BGP Next Hops 19 dPort = 443 → fwd(C)

Goal Tracker Simple Example Large IXP Baseline362K Policy Augmentation768M *FEC Computation421M Still not possible to support these many forwarding table entries! [*Gupta et al., SIGCOMM’14] 20

SDN Policies # Forwarding Table Entries {10/8, 40/8}80/8 dPort = 443 → fwd(C)10 dPort = 22 → fwd(C)10 dPort = 443 → fwd(D)11 Independent FEC Computation can be more efficient More Efficient FEC Computation 21

Partitioning FEC Computation Large number of SDX participants –Many different policies on groups of prefixes –Leads to a large number of small FECs of prefixes Compute FECs independently –Separate computation per participant –Leads to small number of large FECs, and less frequent recomputation –Enables “scale out” of the FEC computation 22

SDN Policies # Forwarding Table Entries {10/8, 40/8}80/8 dPort = 443 → fwd(C)10 dPort = 22 → fwd(C)10 dPort = 443 → fwd(D)1 A & B independently compute FECs FEC Computation Partitioning in Action

Goal Tracker Simple Example Large IXP Baseline362K Policy Augmentation768M FEC Computation421M Independent FEC Computation3763K Also requires support for 15K flow-mods/seconds 24

Undesired BGP & SDN Coupling SDN Policies # Forwarding Table Entries 10/840/880/8 dPort = 443 → fwd(C)110 dPort = 22 → fwd(C)110 dPort = 443 → fwd(D)1  011 Incoming BGP Update: {AS D withdraws route for prefix 10/8} 25

Decoupling BGP from SDN Policies Leverage advances in commodity hw switches –Support for Bitmask Matching (L2 headers) Extend BGP “next hop” encoding –So far: encode FECs (single field) –New idea: encode reachability bitmask (multi field) Changing only the BGP announcements –No need to update the SDX data plane! 26

Reachability Bitmask in Action 10/8 40/8 80/8 forward to BGP Next Hop Reachable via AS C AS A AS C announces 10/8, 40/8 AS D announces 10/8, 40/8, 80/8 IXP Fabric Reachable via AS D Dedicate one bit per participant dPort = 443 → fwd(C) 27

Reachability Bitmask in Action Reachable via AS C Reachable via AS D AS A AS C announces 10/8, 40/8 AS D announces 10/8, 40/8, 80/8 10/8 40/8 80/8 fwd(C) match on Reachability Bitmask IXP Fabric forward to BGP Next Hop Immune to BGP Dynamics dPort = 443 → fwd(C) 28

Reachability Bitmask in Action SDN Policies # Forwarding Table Entries C dPort = 443 → fwd(C)1 dPort = 22 → fwd(C)1 dPort = 443 → fwd(D)1 Reduces Data Plane State

Goal Tracker Simple Example Large IXP Baseline362K Policy Augmentation768M FEC Computation421M Independent FEC Computation3763K Reachability Encoding365K We can now run SDX over commodity hardware switches 30

iSDX Evaluation Summary Data Plane State: –Requires 65K < 100K forwarding table entries Data Plane Update Rate: –Requires 0 < 2500 flow-mods/second Other Goals: –Processes BGP update bursts in real time (50 ms) –Requires only 360 BGP Next Hops compared to 25K from previous solutions 31

You Can Run iSDX Today! Running code –Vagrant & Docker based setup –Instructions to run with Hardware Switches ONF’s Open Source SDN –Community: –Mailing List 32