1 Project 3 and Software-Defined Networking (SDN) EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer.

Slides:



Advertisements
Similar presentations
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
Advertisements

Internetworking II: MPLS, Security, and Traffic Engineering
Today1 Software Defined Networks  A quick overview  Based primarily on the presentations of Prof. Scott Shenker of UC Berkeley “The Future of Networking,
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
1 Software Defined Networks: History, Hype, and Hope Scott Shenker with Martín Casado, Teemu Koponen, Nick McKeown (and many others….)
1 Network Management and Software-Defined Networking (SDN) EE122 Fall 2012 Scott Shenker Materials with thanks to.
Author : Martín Casado, Teemu Koponen, Scott Shenker, Amin Tootoonchian Publisher : Presenter : Pei-Hua Huang Date : 2013/10/02 Fabric: A Retrospective.
CSCI-1680 Software-Defined Networking Rodrigo Fonseca Most content from lecture notes by Scott Shenker.
SDN and Openflow.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
1 GENI: Global Environment for Network Innovations Jennifer Rexford On behalf of Allison Mankin (NSF)
Protocols and the TCP/IP Suite
CS533 - Concepts of Operating Systems
Software Defined Networking COMS , Fall 2014 Instructor: Li Erran Li SDNFall2014/
Class 3: SDN Stack Theophilus Benson. Outline Background – Routing in ISP – Cloud Computing SDN application stack revisited Evolution of SDN – The end.
Network Management and Software-Defined Networking (SDN)
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Formal checkings in networks James Hongyi Zeng with Peyman Kazemian, George Varghese, Nick McKeown.
Dr. Ken Hoganson, © August 2014 Programming in R STAT8030 Programming in R COURSE NOTES 1: Hoganson Programming Languages.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
NetworkProtocols. Objectives Identify characteristics of TCP/IP, IPX/SPX, NetBIOS, and AppleTalk Understand position of network protocols in OSI Model.
Software-Defined Networks Jennifer Rexford Princeton University.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
SDN : What We’ve Learned Martìn Casado I’ve. Outline SDN : a History SDN : a Definition SDN : What I’ve Learned.
CSCI-1680 Software-Defined Networking Rodrigo Fonseca With content from Scott Shenker, Nick McKeown.
CS 453 Computer Networks Lecture 18 Introduction to Layer 3 Network Layer.
Chapter 1 Communication Networks and Services Network Architecture and Services.
Software-Defined Networking (SDN) CS 168, Fall 2014 Scott Shenker (understudy to Sylvia Ratnasamy)
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
A survey of SDN: Past, Present and Future of Programmable Networks Speaker :Yu-Fu Huang Advisor :Dr. Kai-Wei Ke Date:2014/Sep./30 1.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
1 | © 2015 Infinera Open SDN in Metro P-OTS Networks Sten Nordell CTO Metro Business Group
Improving Network Management with Software Defined Network Group 5 : z Xuling Wu z Haipeng Jiang z Sichen Wu z Aparna Sanil.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
SOFTWARE DEFINED NETWORKING/OPENFLOW: A PATH TO PROGRAMMABLE NETWORKS April 23, 2012 © Brocade Communications Systems, Inc.
1 Chapter 4. Protocols and the TCP/IP Suite Wen-Shyang Hwang KUAS EE.
P4 Amore! ( Or, How I Learned to Stop Worrying and Love P4) Jennifer Rexford Princeton University.
CSci8211: SDN Controller Design 1 Overview of SDN Controller Design  SDN Re-cap  SDN Controller Design: Case Studies  NOX Next Week:  ONIX  ONOS 
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
3.6 Software-Defined Networks and OpenFlow
Tunneling Continued/ End-to-End Principle CS 4251: Computer Networking II Nick Feamster Spring 2008.
Network Layer Lecture Network Layer Design Issues.
Fabric: A Retrospective on Evolving SDN Presented by: Tarek Elgamal.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
SDN basics and OpenFlow. Review some related concepts SDN overview OpenFlow.
SDN challenges Deployment challenges
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Software Defined Networks
NOX: Towards an Operating System for Networks
Overview of SDN Controller Design
6.829 Lecture 13: Software Defined Networking
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Software Defined Networking (SDN)
Protocols and the TCP/IP Suite
CS 31006: Computer Networks – The Routers
Software Defined Networking (SDN)
DDoS Attack Detection under SDN Context
Cloud-Enabling Technology
Protocols and the TCP/IP Suite
Software Defined Networking
Presentation transcript:

1 Project 3 and Software-Defined Networking (SDN) EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley

Introducing Project 3 Scott: Background on Software-Defined Networking (40 minutes) Yahel: Project Overview (10 minutes) Murphy: Software Architecture (10 minutes) TD and Kyriakos: Demo and Details (15 minutes) 2

Preliminaries Wanted to let you program a real device –Marvell donated 250 of these “plug computers”, which we are sharing with NUST (Pakistan) Be gentle with us, we’ll be gentle with you… –You break it early, we’ll fix it early If you are interested in doing something neat with your box, send me a proposal and we’ll let you continue to play with the box after end of semester. Do not lose your device…we need it back. 3

My Portion of Presentation SDN is a new approach to networking –Not about “architecture”: IP, TCP, etc. –But about design of network control (routing, TE,…) Full Disclosure: SDN invented by Nicira Networks –Based on earlier work at Stanford, UCB, Princeton, CMU But this is not a sales pitch for Nicira –Nicira sells products that happen to use SDN internally –It does not sell SDN, nor market itself as an SDN company 4

Status of SDN Open Networking Foundation is standards body –SDN endorsed by 49 companies –Almost everyone who matters….. A few products on market, many more coming –Some large companies using SDN internally SDN has won the war of words, the real battle over customer adoption is just beginning…. 5

How is Project 3 Related to SDN? Project 3 uses SDN technology –But SDN will be invisible to you (as it should be!) You will write program to control single switch –Easy (in principle)! Similar program could control entire network –Impossible without SDN…and whole goal of SDN I will provide motivation and context for SDN –Absolutely no design details 6

Rules of Engagement Because short on time, I will not ask questions If you don’t understand what I’m saying, stop me. To pursue points more deeply, do so after class –Goal here is not depth, but general intuition about SDN 7

Two Key Definitions Data Plane: processing and delivery of packets –Based on state in routers and endpoints –E.g., IP, TCP, Ethernet, etc. –Fast timescales (per-packet) Control Plane: establishing the state in routers –Determines how and where packets are forwarded –Routing, traffic engineering, firewall state, … –Slow time-scales (per control event) 8

9 The Future of Networking, and the Past of Protocols Scott Shenker with Martín Casado, Teemu Koponen, Nick McKeown (and many others….)

10 Key to Internet Success: Layers Applications …built on… Reliable (or unreliable) transport Best-effort global packet delivery Best-effort local packet delivery Physical transfer of bits

11 Why Is Layering So Important? Decomposed delivery into fundamental components Independent but compatible innovation at each layer A practical success of unprecedented proportions… …but an academic failure

12 Built an Artifact, Not a Discipline Other fields in “systems”: OS, DB, DS, etc. -Teach basic principles -Are easily managed -Continue to evolve Networking: -Teach big bag of protocols -Notoriously difficult to manage -Evolves very slowly

13 Why Does Networking Lag Behind? Networks used to be simple: Ethernet, IP, TCP…. New control requirements led to great complexity -Isolation  VLANs, ACLs -Traffic engineering  MPLS, ECMP, Weights -Packet processing  Firewalls, NATs, middleboxes -Payload analysis  Deep packet inspection (DPI) -….. Mechanisms designed and deployed independently -Complicated “control plane” design, primitive functionality -Stark contrast to the elegantly modular “data plane”

14 Infrastructure Still Works! Only because of “our” ability to master complexity This ability to master complexity is both a blessing… -…and a curse!

15 A Simple Story About Complexity ~1985: Don Norman visits Xerox PARC -Talks about user interfaces and stick shifts

16 What Was His Point? The ability to master complexity is not the same as the ability to extract simplicity When first getting systems to work…. -Focus on mastering complexity When making system easy to use and understand -Focus on extracting simplicity You will never succeed in extracting simplicity -If don’t recognize it is different from mastering complexity

17 What Is My Point? Networking still focused on mastering complexity -Little emphasis on extracting simplicity from control plane -No recognition that there’s a difference…. Extracting simplicity builds intellectual foundations -Necessary for creating a discipline…. -That’s why networking lags behind

18 A Better Example: Programming Machine languages: no abstractions -Mastering complexity was crucial Higher-level languages: OS and other abstractions -File system, virtual memory, abstract data types,... Modern languages: even more abstractions -Object orientation, garbage collection,… Abstractions key to extracting simplicity

19 “The Power of Abstraction” “ Modularity based on abstraction is the way things get done” − Barbara Liskov Abstractions  Interfaces  Modularity What abstractions do we have in networking?

20 Layers are Great Abstractions Layers only deal with the data plane We have no powerful control plane abstractions! How do we find those control plane abstractions? Two steps: define problem, and then decompose it.

21 The Network Control Problem Compute the configuration of each physical device -E.g., Forwarding tables, ACLs,… Operate without communication guarantees Operate within given network-level protocol Only people who love complexity would find this a reasonable request

22 Programming Analogy What if programmers had to: -Specify where each bit was stored -Explicitly deal with all internal communication errors -Within a programming language with limited expressability Programmers would redefine problem: -Define a higher level abstraction for memory -Build on reliable communication abstractions -Use a more general language Abstractions divide problem into tractable pieces -And make programmer’s task easier

23 From Requirements to Abstractions 1. Operate without communication guarantees Need an abstraction for distributed state 2. Compute the configuration of each physical device Need an abstraction that simplifies configuration 3. Operate within given network-level protocol Need an abstraction for general forwarding model Once these abstractions are in place, control mechanism has a much easier job!

24 SDN is defined precisely by these three abstractions -Distribution, forwarding, configuration SDN not just a random good idea… -Fundamental validity and general applicability SDN may help us finally create a discipline -Abstractions enable reasoning about system behavior -Provides environment where formalism can take hold…. OK, but what are these abstractions? My Entire Talk in One Sentence

25 1. Distributed State Abstraction Shield control mechanisms from state distribution -While allowing access to this state Natural abstraction: global network view -Annotated network graph provided through an API Implemented with “Network Operating System” Control mechanism is now program using API -No longer a distributed protocol, now just a graph algorithm -E.g. Use Dijkstra rather than Bellman-Ford

26 Control Program Software Defined Network (SDN) Network OS Global Network View Traditional Control Mechanisms Network of Switches and/or Routers Distributed algorithm running between neighbors e.g. routing, access control

27 Major Change in Paradigm No longer designing distributed control protocols -Design one distributed system (NOS) -Use for all control functions Now just defining a centralized control function Configuration = Function(view) If you understand this, raise your hand.

28 2. Specification Abstraction Control program should express desired behavior It should not be responsible for implementing that behavior on physical network infrastructure Natural abstraction: simplified model of network -Simple model with only enough detail to specify goals Requires a new shared control layer: -Map abstract configuration to physical configuration This is “network virtualization”

29 Simple Example: Access Control Global Network View Abstract Network Model How What

30 Network OS Global Network View Abstract Network Model Control Program Network Virtualization Software Defined Network: Take 2

31 What Does This Picture Mean? Write a simple program to configure a simple model -Configuration merely a way to specify what you want Examples -ACLs: who can talk to who -Isolation: who can hear my broadcasts -Routing: only specify routing to the degree you care Some flows over satellite, others over landline -TE: specify in terms of quality of service, not routes Virtualization layer “compiles” these requirements -Produces suitable configuration of actual network devices NOS then transmits these settings to physical boxes

32 Network OS Global Network View Abstract Network Model Control Program Network Virtualization Software Defined Network: Take 2 Specifies behavior Compiles to topology Transmits to switches

33 Two Examples Uses Scale-out router: -Abstract view is single router -Physical network is collection of interconnected switches -Allows routers to “scale out, not up” -Use standard routing protocols on top Multi-tenant networks: -Each tenant has control over their “private” network -Network virtualization layer compiles all of these individual control requests into a single physical configuration Hard to do without SDN, easy (in principle) with SDN

34 3. Forwarding Abstraction Switches have two “brains” -Management CPU (smart but slow) -Forwarding ASIC (fast but dumb) Need a forwarding abstraction for both -CPU abstraction can be almost anything ASIC abstraction is much more subtle: OpenFlow OpenFlow: -Control switch by inserting entries -Essentially gives NOS remote access to forwarding table -Instantiated in OpenvSwitch

35 Does SDN Work? Is it scalable?Yes Is it less responsive?No Does it create a single point of failure?No Is it inherently less secure?No Is it incrementally deployable?Yes

36 SDN: Clean Separation of Concerns Control prgm: specify behavior on abstract model -Driven by Operator Requirements Net Virt’n: map abstract model to global view -Driven by Specification Abstraction NOS: map global view to physical switches -API: driven by Distributed State Abstraction -Switch/fabric interface: driven by Forwarding Abstraction

37 We Have Achieved Modularity! Modularity enables independent innovation -Gives rise to a thriving ecosystem Innovation is the true value proposition of SDN -SDN doesn’t allow you to do the impossible -It just allows you to do the possible much more easily This is why SDN is the future of networking…