Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.

Slides:



Advertisements
Similar presentations
Towards Software Defined Cellular Networks
Advertisements

Incremental Update for a Compositional SDN Hypervisor Xin Jin Jennifer Rexford, David Walker.
Compiling Path Queries in Software-Defined Networks Srinivas Narayana Jennifer Rexford and David Walker Princeton University.
SDN Applications Jennifer Rexford Princeton University.
Programming Protocol-Independent Packet Processors
Frenetic: A High-Level Language for OpenFlow Networks Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, David Walker.
Composing Software Defined Networks
Composing Software-Defined Networks Princeton*Cornell^ Chris Monsanto*, Joshua Reich* Nate Foster^, Jen Rexford*, David Walker*
SDX: A Software-Defined Internet Exchange
Nanxi Kang Princeton University
Jennifer Rexford Princeton University
Modular SDN Programming w/ Pyretic
Incremental Consistent Updates Naga Praveen Katta Jennifer Rexford, David Walker Princeton University.
Making Cellular Networks Scalable and Flexible Li Erran Li Bell Labs, Alcatel-Lucent Joint work with collaborators at university of Michigan, Princeton,
Jennifer Rexford Princeton University Future of SDN.
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Software-Defined Networking
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Putting the “Inter” in “Internet” Jennifer Rexford Princeton University 1.
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Cellular Core Network Architecture
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
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.
Frenetic: A Programming Language for Software Defined Networks Jennifer Rexford Princeton University Joint work with Nate.
Software-Defined Networks Jennifer Rexford Princeton University.
Higher-Level Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Languages for Software-Defined Networks Nate Foster, Michael J. Freedman, Arjun Guha, Rob Harrison, Naga Praveen Katta, Christopher Monsanto, Joshua Reich,
Professor Yashar Ganjali Department of Computer Science University of Toronto Some slides courtesy.
Frenetic: Programming Software Defined Networks Jennifer Rexford Princeton University Joint with Nate Foster, David Walker,
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Copyright 2013 Open Networking User Group. All Rights Reserved Confidential Not For Distribution Programming Abstractions for Software-Defined Networks.
Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University
SDX: A Software-Defined Internet eXchange Jennifer Rexford Princeton University
The RISE Internet Architecture Nick Feamster (Georgia Tech) Brighten Godfrey (UIUC) Nick McKeown (Stanford) Guru Parulkar (Stanford) Jennifer Rexford (Princeton)
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
High-Level Abstractions for Programming Software Defined Networks Joint with Nate Foster, David Walker, Arjun Guha, Rob Harrison, Chris Monsanto, Joshua.
Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Enabling Innovation Inside the Network Joint with Nate Foster, David Walker, Rob Harrison, Chris Monsanto, Cole Schlesinger, Mike Freedman, Mark Reitblatt,
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
P4 Amore! ( Or, How I Learned to Stop Worrying and Love P4) Jennifer Rexford Princeton University.
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, D. Walker SIGCOMM CCR, 2014 Presented.
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.
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Measurement Query Languages for Software-Defined Networks Jennifer Rexford Princeton University Joint work with Srinivas.
NetEgg: Scenario-based Programming for SDN Policies Yifei Yuan, Dong Lin, Rajeev Alur, Boon Thau Loo University of Pennsylvania 1.
NEWS: Network Function Virtualization Enablement within SDN Data Plane.
Authors: Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, David Walker Presenter: Byungkwon Choi Abstractions for Network Update INA.
Traditional network Coupled data plane (switch hardware) and control plane (switch software) Closed, proprietary interface Hard to change and innovate.
RuleTris: Minimizing Rule Update Latency for TCAM-based SDN Switches Xitao Wen*, Bo Yang #, Yan Chen*, Li Erran Li $, Kai Bu #, Peng Zheng &, Yang Yang*,
Xin Li, Chen Qian University of Kentucky
SDN challenges Deployment challenges
Discovering Your Research Taste
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
of Dynamic NFV-Policies
6.829 Lecture 13: Software Defined Networking
Programming the Networks of the Future
Programmable Networks
Enabling Innovation Inside the Network
Languages for Software-Defined Networks
Programming Languages for Programmable Networks
Programmable Networks
Frenetic: Programming Software Defined Networks
Control-Data Plane Separation
Presentation transcript:

Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University

Software-Defined Networking Can program the network –Network-wide visibility –Direct control over the switches –Simple data-plane abstraction But, does not make it easy –Low-level programming interface –Explicit resource control –Non-modular 2 Controller

SDN Research at Princeton Programming languages –Raise the level of abstraction –Queries, composition, and updates Grappling with reality –One controller platform  Coexisting platforms –Central controller  Replicated controllers –Simple data plane  Flexible packet processing Real applications –Server load balancing –Cellular core networks –Internet eXchange Points 3

Programming Languages Frenetic Project frenetic-lang.org Joint work with the research groups of David Walker (Princeton), Nate Foster (Cornell), and Arjun Guha (Umass-Amherst), and Josh Reich (now at AT&T Research)

Network Control Loop 5 Read state OpenFlow Switches Write policy Compute Policy

Network Control Loop 6 Query languag e OpenFlow Switches Consistent updates Module Composition

Query Abstractions Declarative queries –What to collect, not how Efficient compilation –Keep traffic in the “fast path” –… using OpenFlow rules Recent work: path queries –Regular expression on paths –Tagging of packets in the data plane 7 Select(bytes) Where(inport:2) GroupBy([dstmac]) Every(60) Select(packets) GroupBy([srcmac]) SplitWhen([inport]) Limit(1) Learning Host Location Traffic Histogram ingress() ^ (switch != FW)* ^ egress() Packets avoiding firewall

Policy Composition: Operators Modular controller application Policy as a function –From “located packet” to set of located packets Composition operators –Parallel: Monitor + Route –Sequential: LB >> Route 8 Controller Platform LB Route Monitor FW

Policy Composition: Compilation Synthesizing low-level rules Recent work: incremental compilation 9 Controller Platform Route Load Balancer >> dstip =  fwd(1) dstip =  fwd(2 ) srcip = 0*, dstip=  dstip= srcip = 1*, dstip=  dstip= srcip = 0*, dstip =  dstip = , fwd(1) srcip = 1*, dstip =  dstip = , fwd(2 )

Consistent Updates Transition from policy P 1 to P 2 –New access control, new paths, … Preserve invariants –No loops, blackholes, congestion, … Using OpenFlow mechanisms –Tag packets with policy version number –Two-phase update (internal, then ingress) Recent work –Dynamic schedules for faster updates (with MSR) 10

Grappling With Reality Joint with David Walker (Princeton), Mike Freedman (Princeton), and P4 team (p4.org)

CoVisor: Compositional Hypervisor Mix-and-match “best of breed” apps –Different languages, different controllers Using Frenetic composition operators Prototype as an extension of OpenVirteX 12 Monitor Floodlight OpenFlow POX Load Balancer OpenFlow Route ONOS OpenFlow Compositional Hypervisor

Ravana: Replicated Controllers Logically centralized control –Abstraction of one controller –Replication for reliability Beyond replicated state machine –Switches maintain state –Commands are not idempotent –One event  commands to many switches –Observations by hosts and controller app New replication protocol –For SDN, NFV, software-defined storage, … 13 Controller

P4: Flexible Packet Processing OpenFlow 1.0 is too simple –12 header fields, one match-action table OpenFlow 1.x is too complicated –42 header fields, various match-action tables Protocol-independent packet processing –Protocol independence –Target independence –Reconfigurability in the field Ongoing work: efficient compilation 14

SDN Applications 15

Controller Applications Niagara: server load balancing –Split traffic over multiple backend servers –… using commodity OpenFlow switches –Demo at the REANNZ exchange point SoftCell: cellular core networks –Support user mobility and middlebox steering –… using commodity OpenFlow switches –Evaluation on traces from a large LTE network SDX: Internet eXchange Points –Laurent Vanbever’s talk! 16

Conclusion For SDN to succeed, we need –Programming abstractions –Practical underlying systems –Compelling applications SPAN collaboration –Frenetic: Josh Reich (AT&T) –P4: Nick McKeown (Stanford), Dan Daly (Intel) –SDX: Scott Shenker (UCB) Exploring tech transfer with On.Lab –OpenVirteX: compositional hypervisor –ONOS: Frenetic support on top of ONOS 17