Project 3 and Software-Defined Networking (SDN)



Similar documents
The Future of Networking, and the Past of Protocols

Software Defined Networking

CSCI-1680 So ware-defined Networking

Software Defined Networking (SDN)

SIMPLE NETWORKING QUESTIONS?

Software Defined Networks (SDN)

Open Source Network: Software-Defined Networking (SDN) and OpenFlow

Outline. Institute of Computer and Communication Network Engineering. Institute of Computer and Communication Network Engineering

SOFTWARE DEFINED NETWORKS REALITY CHECK. DENOG5, Darmstadt, 14/11/2013 Carsten Michel

How To Understand The Power Of A Network In A Microsoft Computer System (For A Micronetworking)

CS6204 Advanced Topics in Networking

Software Defined Networks

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

STRUCTURE AND DESIGN OF SOFTWARE-DEFINED NETWORKS TEEMU KOPONEN NICIRA, VMWARE

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

The Internet: A Remarkable Story. Inside the Net: A Different Story. Networks are Hard to Manage. Software Defined Networking Concepts

OpenFlow and Onix. OpenFlow: Enabling Innovation in Campus Networks. The Problem. We also want. How to run experiments in campus networks?

Software Defined Networking What is it, how does it work, and what is it good for?

A Case for Overlays in DCN Virtualization Katherine Barabash, Rami Cohen, David Hadas, Vinit Jain, Renato Recio and Benny Rochwerger IBM

Software Defined Networking Basics

Software-Defined Networking for the Data Center. Dr. Peer Hasselmeyer NEC Laboratories Europe

Software Defined Networks

How SDN will shape networking

The Many Faces of SDN: An Industry Perspective

Driving SDN Adoption in Service Provider Networks

From Clean Slate to SDN

Conference. Smart Future Networks THE NEXT EVOLUTION OF THE INTERNET FROM INTERNET OF THINGS TO INTERNET OF EVERYTHING

How To Understand The Power Of The Internet

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

Outline. Why Neutron? What is Neutron? API Abstractions Plugin Architecture

Extending the Internet of Things to IPv6 with Software Defined Networking

Software Defined Networks

OpenFlow: Enabling Innovation in Campus Networks

OpenFlow & Software Defined Networking

ONOS [Open Source SDN Network Operating System for Service Provider networks]

Software Defined Networking Subtitle: Network Virtualization Terry Slattery Chesapeake NetCraftsmen Principal Consultant CCIE #1026.

Open Source Tools & Platforms

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

Information- Centric Networks. Section # 13.2: Alternatives Instructor: George Xylomenos Department: Informatics

From Active & Programmable Networks to.. OpenFlow & Software Defined Networks. Prof. C. Tschudin, M. Sifalakis, T. Meyer, M. Monti, S.

Virtualization, SDN and NFV

Software Defined Networking and the design of OpenFlow switches

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

Definition of a White Box. Benefits of White Boxes

SDN AND SECURITY: Why Take Over the Hosts When You Can Take Over the Network

HP OpenFlow and SDN Technical Overview

Controlling the Internet in the era of Software Defined and Virtualized Networks. Fernando Paganini Universidad ORT Uruguay

SDN. What's Software Defined Networking? Angelo Capossele

Group-Based Policy for OpenStack

Software Defined Networking & Openflow

Limitations of Current Networking Architecture OpenFlow Architecture

Oracle SDN Performance Acceleration with Software-Defined Networking

Testing Software Defined Network (SDN) For Data Center and Cloud VERYX TECHNOLOGIES

ON.Lab Launches Revolutionary SDN Open Source Network Operating System ONOS on behalf of its Community of Service Providers and Innovator Partners

Facility Usage Scenarios

SINGLE-TOUCH ORCHESTRATION FOR PROVISIONING, END-TO-END VISIBILITY AND MORE CONTROL IN THE DATA CENTER

Using SDN-OpenFlow for High-level Services

Network Virtualization History. Network Virtualization History. Extending networking into the virtualization layer. Problem: Isolation

Why Software Defined Networking (SDN)? Boyan Sotirov

Network Virtualization

Introduction to Network Virtualization in IaaS Cloud. Akane Matsuo, Midokura Japan K.K. LinuxCon Japan 2013 May 31 st, 2013

Network Virtualization: Delivering on the Promises of SDN. Bruce Davie, Principal Engineer

基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器

Towards Software Defined Cellular Networks

OpenFlow: History and Overview. Demo of routers

Software Defined Networking and Network Virtualization

SOFTWARE DEFINED NETWORKING

Quick Overview of SDN/NFV Research at Berkeley

THE GEOMORPHIC VIEW OF NETWORKING: A NETWORK MODEL AND ITS USES

OpenFlow Overview. Daniel Turull

CloudEngine 1800V Virtual Switch

Software Defined Networking and Network Virtualization

How To Write A Network Plan In Openflow V1.3.3 (For A Test)

How the emergence of OpenFlow and SDN will change the networking landscape

Definition. A Historical Example

Software Defined Network (SDN)

Flow processing and the rise of the middle.

BROCADE NETWORKING: EXPLORING SOFTWARE-DEFINED NETWORK. Gustavo Barros Systems Engineer Brocade Brasil

White Paper. SDN 101: An Introduction to Software Defined Networking. citrix.com

How the Emergence of OpenFlow and SDN will Change the Networking Landscape

DCB for Network Virtualization Overlays. Rakesh Sharma, IBM Austin IEEE 802 Plenary, Nov 2013, Dallas, TX

Huawei Agile Network FAQ What is an agile network? What is the relationship between an agile network and SDN?... 2

WHITE PAPER. Network Virtualization: A Data Plane Perspective

SDN, a New Definition of Next-Generation Campus Network

Transform Your Business and Protect Your Cisco Nexus Investment While Adopting Cisco Application Centric Infrastructure

Software Defined Networking What is it, how does it work, and what is it good for?

IO Visor: Programmable and Flexible Data Plane for Datacenter s I/O

Software-Defined Networking Architecture Framework for Multi-Tenant Enterprise Cloud Environments

HAWAII TECH TALK SDN. Paul Deakin Field Systems Engineer

The Road to SDN: Software-Based Networking and Security from Brocade

VMware vcloud Networking and Security Overview

LTE - Can SDN paradigm be applied?

New Virtual Application Networks Innovations Advance Software-defined Network Leadership

Software Defined Networking: Advanced Software Engineering to Computer Networks

Spotlight On Backbone Technologies

Transcription:

Project 3 and Software-Defined Networking (SDN) EE122 Fall 2011 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley 1

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

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

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

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 11

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 12

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 13

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

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

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 16

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 17

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 18

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? 19

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. 20

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 21

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 22

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! 23

My Entire Talk in One Sentence 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? 24

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 25

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

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. 27

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 28

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

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

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 31

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

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 33

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 <header;action> entries - Essentially gives NOS remote access to forwarding table - Instantiated in OpenvSwitch 34

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

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 36

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 37