Software Defined Networking Mike Freedman COS 461: Computer Networks

Slides:



Advertisements
Similar presentations
OpenFlow and Software Defined Networks. Outline o The history of OpenFlow o What is OpenFlow? o Slicing OpenFlow networks o Software Defined Networks.
Advertisements

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:
Frenetic: A High-Level Language for OpenFlow Networks Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, David Walker.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
Jennifer Rexford Princeton University Future of SDN.
SDN and Openflow.
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Professor Yashar Ganjali Department of Computer Science University of Toronto
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
An Overview of Software-Defined Network
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
An Overview of Software-Defined Network Presenter: Xitao Wen.
Professor Yashar Ganjali Department of Computer Science University of Toronto
Software Defined Network (SDN) and Network Virtualization
Jennifer Rexford Princeton University MW 11:00am-12:20pm Programmable Data Planes COS 597E: Software Defined Networking.
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
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
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
Frenetic: A Programming Language for Software Defined Networks Jennifer Rexford Princeton University Joint work with Nate.
Software-Defined Networks Jennifer Rexford Princeton University.
Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar Stanford University In collaboration with Martin Casado and Scott.
Common Devices Used In Computer Networks
Aditya Akella (Based on slides from Aaron Gember and Nick McKeown)
Higher-Level Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Reasoning about Software Defined Networks Mooly Sagiv Tel Aviv University Thursday (Physics 105) Monday Schrieber.
Frenetic: Programming Software Defined Networks Jennifer Rexford Princeton University Joint with Nate Foster, David Walker,
Copyright 2013 Open Networking User Group. All Rights Reserved Confidential Not For Distribution Programming Abstractions for Software-Defined Networks.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
Workpackage 3 New security algorithm design ICS-FORTH Ipswich 19 th December 2007.
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,
Enabling Innovation Inside the Network 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
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
Separating Routing From Routers Jennifer Rexford Princeton University
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
Software–Defined Networking Meron Aymiro. What is Software-Defined Networking?  Software-Defined Networking (SDN) has the potential of to transcend the.
Data Center Networks and Software-defined Networking
Programming SDN 1 Problems with programming with POX.
Chapter 4 Network Layer: The Data Plane
SDN challenges Deployment challenges
University of Maryland College Park
6.829 Lecture 13: Software Defined Networking
Software Defined Networking (SDN)
Stanford University Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar In collaboration with Martin Casado and Scott.
Software Defined Networking
Programming the Networks of the Future
Chapter 5 Network Layer: The Control Plane
The Stanford Clean Slate Program
Software Defined Networking (SDN)
Software Defined Networking
Handout # 18: Software-Defined Networking
Enabling Innovation Inside the Network
Programming Languages for Programmable Networks
Programmable Networks
Software Defined Networking
Frenetic: Programming Software Defined Networks
Chapter 5 Network Layer: The Control Plane
Enabling Innovation Inside the Network
An Introduction to Software Defined Networking and OpenFlow
Control-Data Plane Separation
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Software Defined Networking Mike Freedman COS 461: Computer Networks

The Internet: A Remarkable Story Tremendous success – From research experiment to global infrastructure Brilliance of under-specifying – Network: best-effort packet delivery – Hosts: arbitrary applications Enables innovation in applications – Web, P2P, VoIP, social networks, virtual worlds But, change is easy only at the edge…  2

Inside the ‘Net: A Different Story… Closed equipment – Software bundled with hardware – Vendor-specific interfaces Over specified – Slow protocol standardization Few people can innovate – Equipment vendors write the code – Long delays to introduce new features Impacts performance, security, reliability, cost… 3

Networks are Hard to Manage Operating a network is expensive – More than half the cost of a network – Yet, operator error causes most outages Buggy software in the equipment – Routers with 20+ million lines of code – Cascading failures, vulnerabilities, etc. The network is “in the way” – Especially in data centers and the home 4

Creating Foundation for Networking A domain, not (yet?) a discipline – Alphabet soup of protocols – Header formats, bit twiddling – Preoccupation with artifacts From practice, to principles – Intellectual foundation for networking – Identify the key abstractions – … and support them efficiently To build networks worthy of society’s trust 5

Rethinking the “Division of Labor” 6

Traditional Computer Networks Data plane: Packet streaming Forward, filter, buffer, mark, rate-limit, and measure packets 7

Traditional Computer Networks Track topology changes, compute routes, install forwarding rules Control plane: Distributed algorithms 8

Traditional Computer Networks Collect measurements and configure the equipment Management plane: Human time scale 9

Death to the Control Plane! Simpler management – No need to “invert” control-plane operations Faster pace of innovation – Less dependence on vendors and standards Easier interoperability – Compatibility only in “wire” protocols Simpler, cheaper equipment – Minimal software 10

Software Defined Networking (SDN) API to the data plane (e.g., OpenFlow) Logically-centralized control Dumb & fast Smart & slow 11 Switches

OpenFlow Networks 12

Data-Plane: Simple Packet Handling Simple packet-handling rules – Pattern: match packet header bits – Actions: drop, forward, modify, send to controller – Priority: disambiguate overlapping patterns – Counters: #bytes and #packets 1.src=1.2.*.*, dest=3.4.5.*  drop 2.src = *.*.*.*, dest=3.4.*.*  forward(2) 3. src= , dest=*.*.*.*  send to controller 1.src=1.2.*.*, dest=3.4.5.*  drop 2.src = *.*.*.*, dest=3.4.*.*  forward(2) 3. src= , dest=*.*.*.*  send to controller 13

Unifies Different Kinds of Boxes Router – Match: longest destination IP prefix – Action: forward out a link Switch – Match: dest MAC address – Action: forward or flood Firewall – Match: IP addresses and TCP /UDP port numbers – Action: permit or deny NAT – Match: IP address and port – Action: rewrite addr and port 14

Controller: Programmability 15 Network OS Controller Application Events from switches Topology changes, Traffic statistics, Arriving packets Commands to switches (Un)install rules, Query statistics, Send packets

OpenFlow questions OpenFlow designed for (A)Inter-domain management (between) (B)Intra-domain management (within) OpenFlow API to switches open up the (A)RIB(B) FIB OpenFlow FIB match based on (A)Exact match (e.g., MAC addresses) (B)Longest prefix (e.g., IP addresses) (C)It’s complicated 16

Example OpenFlow Applications Dynamic access control Seamless mobility/migration Server load balancing Network virtualization Using multiple wireless access points Energy-efficient networking Adaptive traffic monitoring Denial-of-Service attack detection See 17

E.g.: Dynamic Access Control Inspect first packet of a connection Consult the access control policy Install rules to block or route traffic 18

E.g.: Seamless Mobility/Migration See host send traffic at new location Modify rules to reroute the traffic 19

E.g.: Server Load Balancing Pre-install load-balancing policy Split traffic based on source IP 20 src=0* src=1*

E.g.: Network Virtualization 21 Partition the space of packet headers Controller #1Controller #2Controller #3

Controller and the FIB Forwarding rules should be added (A) Proactively (B) Reactively (e.g., with controller getting first packet) (C) Depends on application 22

OpenFlow in the Wild Open Networking Foundation – Google, Facebook, Microsoft, Yahoo, Verizon, Deutsche Telekom, and many other companies Commercial OpenFlow switches – Intel, HP, NEC, Quanta, Dell, IBM, Juniper, … Network operating systems – NOX, Beacon, Floodlight, Nettle, ONIX, POX, Frenetic Network deployments – Eight campuses, and two research backbone networks – Commercial deployments (e.g., Google backbone) 23

A Helpful Analogy From Nick McKeown’s talk “Making SDN Work” at the Open Networking Summit, April

Vertically integrated Closed, proprietary Slow innovation Small industry Specialized Operating System Specialized Operating System Specialized Hardware Specialized Hardware App Specialized Applications Specialized Applications Horizontal Open interfaces Rapid innovation Huge industry Microprocessor Open Interface Linux Mac OS Mac OS Windows (OS) Windows (OS) or Open Interface Mainframes 25

Vertically integrated Closed, proprietary Slow innovation Horizontal Open interfaces Rapid innovation Control Plane Control Plane Control Plane Control Plane Control Plane Control Plane or Open Interface Specialized Control Plane Specialized Control Plane Specialized Hardware Specialized Hardware Specialized Features Specialized Features Merchant Switching Chips Merchant Switching Chips Open Interface Routers/Switches 26 App

Challenges 27

Heterogeneous Switches Number of packet-handling rules Range of matches and actions Multi-stage pipeline of packet processing Offload some control-plane functionality (?) 28 access control MAC look-up IP look-up

Controller Delay and Overhead Controller is much slower the the switch Processing packets leads to delay and overhead Need to keep most packets in the “fast path” 29 packets

Testing and Debugging OpenFlow makes programming possible – Network-wide view at controller – Direct control over data plane Plenty of room for bugs – Still a complex, distributed system Need for testing techniques – Controller applications – Controller and switches – Rules installed in the switches 30

Programming Abstractions Controller APIs are low-level – Thin veneer on the underlying hardware Need better languages – Composition of modules – Managing concurrency – Querying network state – Network-wide abstractions Ongoing at Princeton – 31 Controller Switches

Distributed Controller 32 Network OS Controller Application Network OS Controller Application For scalability and reliability Partition and replicate state Ongoing at Princeton: “Ravana”

Conclusion Rethinking networking – Open interfaces to the data plane – Separation of control and data – Leveraging techniques from distributed systems Significant momentum – In both research and industry Next time – Closing lecture 33