Putting the “Inter” in “Internet” Jennifer Rexford Princeton University 1.

Slides:



Advertisements
Similar presentations
Multihoming and Multi-path Routing
Advertisements

Multihoming and Multi-path Routing
Jennifer Rexford Princeton University MW 11:00am-12:20pm Logically-Centralized Control COS 597E: Software Defined Networking.
All Rights Reserved © Alcatel-Lucent 2009 Enhancing Dynamic Cloud-based Services using Network Virtualization F. Hao, T.V. Lakshman, Sarit Mukherjee, H.
Towards Software Defined Cellular Networks
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
SDN Applications Jennifer Rexford Princeton University.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
SDX: A Software-Defined Internet Exchange
Nanxi Kang Princeton University
Jennifer Rexford Princeton University
Fundamentals of Computer Networks ECE 478/578 Lecture #18: Policy-Based Routing Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
OpenFlow-Based Server Load Balancing GoneWild
Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
SDN and Openflow.
Towards Virtual Routers as a Service 6th GI/ITG KuVS Workshop on “Future Internet” November 22, 2010 Hannover Zdravko Bozakov.
1 In VINI Veritas: Realistic and Controlled Network Experimentation Jennifer Rexford with Andy Bavier, Nick Feamster, Mark Huang, and Larry Peterson
A Routing Control Platform for Managing IP Networks Jennifer Rexford Computer Science Department Princeton University
1 Design and implementation of a Routing Control Platform Matthew Caesar, Donald Caldwell, Nick Feamster, Jennifer Rexford, Aman Shaikh, Jacobus van der.
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
Software-Defined Networking
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.
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
Stable Internet Routing Without Global Coordination Jennifer Rexford AT&T Labs--Research Joint work with Lixin Gao.
Building a Strong Foundation for a Future Internet Jennifer Rexford ’91 Computer Science Department (and Electrical Engineering and the Center for IT Policy)
Inter-domain Routing Outline Border Gateway Protocol.
Try Before you Buy: SDN Emulation with (Real) Interdomain Routing 1 Brandon Schlinker ⋆, Kyriakos Zarifis*, Italo Cunha ♮, Nick Feamster †, Ethan Katz-Bassett*,
Cellular Core Network Architecture
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Sponsored by the National Science Foundation Software Defined Exchanges: New Opportunities for Future Internet Research Mike Zink GREE-SC2014 July 21 st.
Composing Software Defined Networks Jennifer Rexford Princeton University With Joshua Reich, Chris Monsanto, Nate Foster, and.
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Serval: Software Defined Service-Centric Networking Jen Rexford Erik Nordstrom, David Shue, Prem Gopalan, Rob Kiefer, Mat Arye, Steven Ko, Mike Freedman.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
Software-Defined Networks Jennifer Rexford Princeton University.
9/15/2015CS622 - MIRO Presentation1 Wen Xu and Jennifer Rexford Department of Computer Science Princeton University Chuck Short CS622 Dr. C. Edward Chow.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
Copyright 2013 Open Networking User Group. All Rights Reserved Confidential Not For Distribution Programming Abstractions for Software-Defined Networks.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Hierarchical Routing (§5.2.6)
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.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
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.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
SDX: A Software-Defined Internet eXchange Jennifer Rexford Princeton University
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Programming Languages COS 597E: Software Defined Networking.
Nick Feamster Princeton University
Bringing External Connectivity and Experimenters to GENI Nick Feamster Georgia Tech.
Inter-domain Routing Outline Border Gateway Protocol.
ISDX: An Industrial-Scale Software-Defined IXP Arpit Gupta Princeton University Robert MacDavid, Rüdiger Birkner, Marco Canini,
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
Jennifer Rexford Princeton University
COMP 3270 Computer Networks
6.829 Lecture 13: Software Defined Networking
DDoS Attack Detection under SDN Context
Software Defined Networking
Enabling Innovation Inside the Network
COS 561: Advanced Computer Networks
Programmable Networks
Control-Data Plane Separation
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Putting the “Inter” in “Internet” Jennifer Rexford Princeton University 1

The Internet 2 Global system of interconnected computers using a standard (TCP/IP) protocol suite… Internet

The Internet 3 Offering an extensive set of services

The Internet 4 A network of networks ~ 50,000 Autonomous Systems (ASes)

The Internet 5 Interdomain routing on IP address blocks /24 Web server Border Gateway Protocol (BGP)

The Interdomain Ecosystem is Evolving... 6 Rise of (very) large cloud/content providers

The Interdomain Ecosystem is Evolving... 7 Growing number and role of Internet eXchange Points (IXPs)

… But the Internet Routing System is Not Routing only on destination IP address blocks (No customization of routes by application or sender) Can only influence immediate neighbors (No ability to affect path selection remotely) Indirect control over packet forwarding (Indirect mechanisms to influence path selection) Enables only basic packet forwarding (Difficult to introduce new in-network services) 8

Enter Software-Defined Networking (SDN) Match packets on multiple header fields (not just destination IP address) Control entire networks with a single program (not just immediate neighbors) Direct control over packet handling (not indirect control via routing protocol arcana) Perform many different actions on packets (beyond basic packet forwarding) 9

Software-Defined Networking 10

Software Defined Networks 11 control plane: distributed algorithms data plane: packet processing

decouple control and data planes Software Defined Networks 12

decouple control and data planes by providing open standard API Software Defined Networks 13

Simple, Open Data-Plane API Prioritized list of rules –Pattern: match packet header bits –Actions: drop, forward, modify, send to controller –Priority: disambiguate overlapping patterns –Counters: #bytes and #packets 14 1.srcip = 1.2.*.*, dstip = *  drop 2.srcip = *.*.*.*, dstip = 3.4.*.*  forward(2) 3. srcip = , dstip = *.*.*.*  send to controller 1.srcip = 1.2.*.*, dstip = *  drop 2.srcip = *.*.*.*, dstip = 3.4.*.*  forward(2) 3. srcip = , dstip = *.*.*.*  send to controller

(Logically) Centralized Controller Controller Platform 15

Protocols  Applications Controller Platform 16 Controller Application

Seamless Mobility 17 See host sending traffic at new location Modify rules to reroute the traffic

Server Load Balancing Pre-install load-balancing policy Split traffic based on source IP src=0*, dst= src=1*, dst=

Example SDN Applications Seamless mobility and migration Server load balancing Dynamic access control Using multiple wireless access points Energy-efficient networking Blocking denial-of-service attacks Adaptive traffic monitoring Network virtualization Steering traffic through middleboxes 19

Entire backbone runs on SDN A Major Trend in Networking Bought for $1.2 x 10 9 (mostly cash) 20

SDN and the “Inter”net SDN today –Used inside a single Autonomous System –Data center, enterprise, backbone, … Our goal: –Reinvent interdomain traffic delivery 21

SDX: Software-Defined eXchange Arpit Gupta, Laurent Vanbever, Muhammad Shahbaz, Sean Donovan, Brandon Schlinker, Nick Feamster, Jennifer Rexford, Scott Shenker, Russ Clark, Ethan Katz-Bassett Georgia Tech, Princeton University, UC Berkeley, USC 22

Deploy SDN at Internet Exchanges Leverage: SDN deployment even at single IXP can yield benefits for tens to hundreds of ISPs Innovation hotbed: Incentives to innovate as IXPs on front line of peering disputes Growing in numbers: ~100 new IXPs established in past three years 23

Conventional IXPs 24 AS A Router AS C Router AS B Router BGP Session Switching Fabric IXP Route Server

SDX = SDN + IXP 25 AS A Router AS C Router AS B Router BGP Session SDN Switch SDX Controller SDX

SDX Opens Up New Possibilities More flexible business relationships –Make peering decisions based on time of day, volume of traffic, and nature of application More direct and flexible traffic control –Fine-grained traffic engineering –Steering traffic through “middleboxes” Better security –Automatically drop attack traffic –Prevent “free riding” 26

Inbound Traffic Engineering 27 AS A Router AS C Routers AS B Router SDX Controller SDX C1C /8

28 AS A Router AS C Routers AS B Router C1C2 Incoming Data Inbound Traffic Engineering /8 Incoming TrafficOut Port Using BGP Using SDX dstport = 80C1

29 AS A Router AS C Routers AS B Router C1C2 Incoming Data Inbound Traffic Engineering /8 Incoming TrafficOut Port Using BGP Using SDX dstport = 80C1? Fine grained policies not possible with BGP

30 Incoming TrafficOut Port Using BGP Using SDX dstport = 80C1?match(dstport =80)  fwd(C1) AS A Router AS C Routers AS B Router C1C2 Incoming Data Inbound Traffic Engineering /8 Enables fine-grained traffic engineering policies

Prevent DDoS Attacks 31 AS 2 AS 1 AS 3 SDX 1SDX 2

Prevent DDoS Attacks 32 AS 2 AS 1 AS 3 SDX 1SDX 2 Attacker Victim AS1 under attack originating from AS3

Use Case: Prevent DDoS Attacks 33 AS 2 AS 1 AS 3 SDX 1SDX 2 Attacker Victim AS1 can remotely block attack traffic at SDX(es)

SDX-based DDoS protection vs. Traditional Defenses/Blackholing Remote influence Physical connectivity to SDX not required More specific Drop rules based on multiple header fields, source address, destination address, port number … Coordinated Drop rules can be coordinated across multiple IXPs 34

Building SDX is Challenging Programming abstractions How networks define SDX policies and how are they combined together? Interoperation with BGP How to provide flexibility w/o breaking global routing? Scalability How to handle policies for hundreds of peers, half million address blocks, and matches on multiple header fields? 35

Building SDX is Challenging Programming abstractions How networks define SDX policies and how are they combined together? Interoperation with BGP How to provide flexibility w/o breaking global routing? Scalability How to handle policies for hundreds of peers, half million prefixes and matches on multiple header fields? 36

Directly Program the SDX Switch 37 B1 A1 C1C2 match(dstport=80)  fwd(C1) match(dstport=80)  drop Switching Fabric AS A & C directly program the SDX Switch

Conflicting Policies 38 drop? C1? B1 A1 C1C2 Switching Fabric How to restrict participant’s policy to traffic it sends or receives? match(dstport=80)  drop match(dstport=80)  fwd(C1)

Virtual Switch Abstraction Each AS writes policies for its own virtual switch 39 AS A C1C2 B1 A1 AS C AS B match(dstport=80)  drop match(dstport=80)  fwd(C1) Virtual Switch Switching Fabric

Combining Participant’s Policies 40 Policy(p) = Pol A  Pol C AS A C1C2 B1 A1 AS C AS B match(dstport=80)  fwd(C1) Virtual Switch Switching Fabric p match(dstport=80)  fwd(C) Pol A Pol C

Building SDX is Challenging Programming abstractions How networks define SDX policies and how are they combined together? Interoperation with BGP How to provide flexibility w/o breaking global routing? Scalability How to handle policies for hundreds of peers, half million prefixes and matches on multiple header fields? 41

Requirement: Forwarding Only Along BGP Advertised Routes 42 A C B SDX 10/8 20/8 match(dstport=80)  fwd(C)

Ensure ‘p’ is not forwarded to C 43 match(dstport=80)  fwd(C) A C B SDX 10/8 20/8 p dstip = dstport = 80

Solution: Policy Augmentation 44 A C B SDX 10/8 20/8 (match(dstport=80) && match(dstip = 10/8))  fwd(C)

Building SDX is Challenging Programming abstractions How networks define SDX policies and how are they combined together? Interoperation with BGP How to provide flexibility w/o breaking global routing? Scalability How to handle policies for hundreds of peers, half million prefixes and matches on multiple header fields? 45

Scalability Challenges Reducing data-plane state: –Support for all forwarding rules in (limited) SDN switch memory (millions of flow rules possible) Reducing control-plane computation: –Faster policy compilation (policy compilation takes hours for initial compilation) 46

Scalability Challenges Reducing Data-Plane State: Support for all forwarding rules in (limited) switch memory millions of flow rules possible Reducing Control-Plane Computation: Faster policy compilation policy compilation could take hours 47

Reducing Data-Plane State: Observations 48 Internet routing policies defined for groups of prefixes. Edge routers can handle matches on hundreds of thousands of IP prefixes.

Reducing Data-Plane State: Solution 49 10/8 40/8 20/8 Group prefixes with similar forwarding behavior SDX Controller

Reducing Data-Plane State: Solution 50 10/8 40/8 20/8 Advertise one BGP next hop for each such prefix group Edge router forward to BGP Next Hop

Reducing Data-Plane State: Solution 51 fwd(1) fwd(2) forward to BGP Next Hop match on BGP Next Hop Flow rules at SDX match on BGP next hops SDX FIB 10/8 40/8 20/8 Edge router

Reducing Data-Plane State: Solution 52 For hundreds of participants’ policies, few millions  < 35K flow rules

Reducing Control-Plane Compilation: Initial Compilation Time Skip unnecessary steps –Most policies involve a small subset of participants Simplify computation –Policies are disjoint (e.g., different virtual switch/port) Memoize intermediate results –Avoid repeating a computation multiple times 53 (Pol A + Pol B + Pol C ) >> (Pol A + Pol B + Pol C ) Hundreds of participants requires < 15 minutes

Reducing Control-Plane Compilation: Recompilation Time Almost all traffic goes to stable IP prefixes –Only 10-15% of prefixes saw any updates in a week Most BGP updates affect just a few groups –Recompute rules only for affected groups of prefixes BGP updates are bursty –Fast, but suboptimal, recompilation in real time –Optimized, but slow, recompilation in the background 54 Most recompilation after a BGP update < 100 ms

55 Application-Specific Peering Transit Portal brings real traffic to SDX

56 Application-Specific Peering Policy = match(dstport = 80) >> fwd(B)

57 Application-Specific Peering

SDX Platform Running code with full BGP-integration –Github: SDX testbeds: –Transit Portal for “in the wild” experiments –Mininet for controller experiments Ongoing deployment activities –Internet2, GENI, ESnet, SOX, NSA-LTS –Regional IXPs in US, Europe, and Africa 58

Niagara: SDN-Based Server Load Balancing 59 Joint work with Nanxi Kang (Princeton) and Monia Ghobadi, Alex Shraer, and John Reumann (Google), with support from Josh Bailey (Google) and Jamie Curtis (REANNZ) on operational deployment at the REANNZ SDX

Server Load Balancing Today Dedicated appliances –Costly –Hard to scale –Single point of failure Software load balancer –Lower performance –Higher power usage 60 ….…. ….…. OVS

Load Balancer With SDN Switches Commodity SDN hardware switches –Cheap –High bandwidth –Low power Split traffic based on header fields 61 srcipdstipaction 0* Fwd to server 1 1* Fwd to server 2 clients

Scalability Challenges Many services (dstip) –Cloud could host ~10,000 services Many backend servers –Could have a dozen (clusters of) servers But, small switch rule-table size –E.g., 4000 entries 62

Optimizing Rule-Table Size Approximate weights for a single service –Match on the last bits of the source IP address –Expansion of powers of two Three servers with weights {1/6, 1/3, 1/2} 63 WeightEstimationRules 1/61/8 + 1/32*000, * /31/2 – 1/8 – 1/32*0 1/2 *

Optimizing Rule-Table Size Dividing rule table across services –Truncate the approximation for each service –Giving more rules to more popular services –Optimal, greedy optimization algorithm 64 Service A Service B Service C

Optimizing Rule-Table Size Sharing rules across multiple services –Group all services with similar weights –E.g., {1/2,1/2} vs. {1/8, 7/8} Use two stages of rules 65 dstiptag … tagsrcipaction 10*Fwd to cluster 1 1*Fwd to cluster *Fwd to cluster 1 2*Fwd to cluster 2

Evaluation and Deployment Simulation experiments –10,000 services –16 clusters of servers –Can get by with 4000 rules Operational demonstration –Deployed at the REANNZ SDX –Load balancing for Web and DNS services –Extending to an ongoing deployment Illustrates the value of an SDX 66

Conclusion The Internet is changing –Rise of large content/cloud providers –Increasing role of Internet eXchange Points Software-Defined Networking can help –New capabilities for wide-area traffic delivery –New abstractions and scalability techniques Next steps –Wider operational deployment –Additional SDX applications –Distributed exchange points 67