SDN and Streamlining the Plumbing. Nick McKeown Stanford University

Similar documents
Software Defined Networks (SDN)

From Electronic Design Automation to NDA: Treating Networks like Chips or Programs

Software Defined Networking

How SDN will shape networking

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

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

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

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

Software Defined Networking and the design of OpenFlow switches

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

Software Defined Networks

OpenFlow Overview. Daniel Turull

CSCI-1680 So ware-defined Networking

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

SDN. What's Software Defined Networking? Angelo Capossele

An Introduction to Software-Defined Networking (SDN) Zhang Fu

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

Open Flow Controller and Switch Datasheet

Software Defined Networks

Principle and Implementation of. Protocol Oblivious Forwarding

The Future of Networking, and the Past of Protocols

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

SDN. WHITE PAPER Intel Ethernet Switch FM6000 Series - Software Defined Networking. Recep Ozdag Intel Corporation

COMPSCI 314: SDN: Software Defined Networking

Definition of a White Box. Benefits of White Boxes

Getting to know OpenFlow. Nick Rutherford Mariano Vallés

Funded in part by: NSF, Cisco, DoCoMo, DT, Ericsson, Google, Huawei, NEC, Xilinx

OpenFlow & Software Defined Networking

What is SDN? And Why Should I Care? Jim Metzler Vice President Ashton Metzler & Associates

Bringing OpenFlow s Power to Real Networks

CS244 Lecture 5 Architecture and Principles

The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology

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

SDN/Virtualization and Cloud Computing

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

PCI Express Overview. And, by the way, they need to do it in less time.

Applications of Software-Defined Networking (SDN) in Power System Communication Infrastructure: Benefits and Challenges

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

Network Management: - SNMP - Software Defined networking

THE REVOLUTION TOWARDS SOFTWARE- DEFINED NETWORKING

Network Virtualization and Software-defined Networking. Chris Wright and Thomas Graf Red Hat June 14, 2013

Project 3 and Software-Defined Networking (SDN)

Scaling the S in SDN at Azure. Albert Greenberg Distinguished Engineer & Director of Engineering Microsoft Azure Networking

Network Security: Network Flooding. Seungwon Shin GSIS, KAIST

A Presentation at DGI 2014 Government Cloud Computing and Data Center Conference & Expo, Washington, DC. September 18, 2014.

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

Model-Driven OpenFlow Interoperability

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

OpenFlow Technology Investigation Vendors Review on OpenFlow implementation

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

YI-CHIH HSU & JEI-WEI ESTINET TECHNOLOGIES

BROADCOM SDN SOLUTIONS OF-DPA (OPENFLOW DATA PLANE ABSTRACTION) SOFTWARE

Cisco Networking Academy CCNP Multilayer Switching

Architectures and Platforms

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

OpenFlow: Enabling Innovation in Campus Networks

OpenFlow: History and Overview. Demo of routers

Router and Routing Basics

Sage ERP Accpac Online

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, Page 1

Understanding OpenFlow

Formal Specification and Programming for SDN

Cisco Discovery 3: Introducing Routing and Switching in the Enterprise hours teaching time

Software Defined Networks

The Hybrid- Open ( HOpen ) router architecture. Brian Field / Comcast

New Virtual Application Networks Innovations Advance Software-defined Network Leadership

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

SDN and FTTH Software defined networking for fiber networks

Foundation for High-Performance, Open and Flexible Software and Services in the Carrier Network. Sandeep Shah Director, Systems Architecture EZchip

Virtualization, SDN and NFV

Network Programming Languages. Robert Soulé University of Lugano

Agenda. sflow intro. sflow architecture. sflow config example. Summary

The SDN Revolution: Empowering the People. Dan Pitt, Executive Director Open Networking Foundation

OPENFLOW, SDN, OPEN SOURCE AND BARE METAL SWITCHES. Guido Appenzeller (Not representing Anyone)

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

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

Software Defined Networking & Openflow

Network Services in the SDN Data Center

How To Understand The Power Of The Internet

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

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

Use Cases for the NPS the Revolutionary C-Programmable 7-Layer Network Processor. Sandeep Shah Director, Systems Architecture EZchip

OpenFlow. Ihsan Ayyub Qazi. Slides use info from Nick Mckeown

How To Understand and Configure Your Network for IntraVUE

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Open Network Linux. A Path to an Open Source Network OS. Rob Sherwood Big Switch Networks CTO

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

"Charting the Course...

Network Virtualization

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

Objectives. Router as a Computer. Router components and their functions. Router components and their functions

Cisco Networking Professional-6Months Project Based Training

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

Introduction to Embedded Systems. Software Update Problem

How Solace Message Routers Reduce the Cost of IT Infrastructure

Cisco Certified Network Associate Exam. Operation of IP Data Networks. LAN Switching Technologies. IP addressing (IPv4 / IPv6)

Transcription:

SDN and Streamlining the Plumbing Nick McKeown Stanford University

What is SDN? (when we clear away all the hype)

A network in which the control plane is physically separate from the forwarding plane. and A single control plane controls several forwarding devices. (That s it)

Software Defined Network (SDN) f ( Map) f ( Map) f ( Map) Control Program Control Program Global Network Map Control Plane Control Program Abstract Forwarding Model (e.g. OpenFlow) Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Why now? Aligning of planets - Availability of good merchant switch chips. - Big data centers. - Frustration with the stranglehold of large network equipment vendors

Outline 1. Well-defined control abstraction 2. Well-defined forwarding abstraction 3. Verifiable forwarding behavior

Well-defined control abstraction Control plane can run on modern servers Can adopt software engineering best-practices Easier to add new control programs or customize locally Solve distributed systems problem once, rather than for every protocol

OSPF Dijkstra 5% OSPF Dijkstra Global Network Map Network Map 95% Network OS OS Specialized Hardware Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Outline 1. Well-defined control abstraction 2. Well-defined forwarding abstraction 3. Verifiable forwarding behavior

Well-defined forwarding abstraction Vendor-agnostic interface to forwarding plane (e.g. OpenFlow)

Match-Action Forwarding Abstraction Action Primitives Plumbing primitives 1. Forward to ports 4 & 5 2. Push header Y after bit 12 3. Pop header bits 8-12 4. Decrement bits 13-18 5. Drop packet 6. H H Match Action F Action(F) G H Action(G) Action(H)

Multiple Table Match-Action H n H 1 H Match Action Match Action F 1 Action(F) F n Action(F) G 1 Action(G) G n Action(G) H 1 Action(H) H n Action(H)

Data Parser Combine Header L2 Table Action: set L2D L3 Table Action: set L2D, dec TTL ACL Table Action: permit/deny Today: Fixed function switches L2: 128k x 48 Exact match L3: 16k x 32 Longest prefix match ACL: 4k Ternary match Queues In L2 Stage L3 Stage ACL Stage Data Header Out Stage 1 Stage 2 Stage 3 Data 14

Programmer wants To decide how packets are processed: Which headers to recognize/add/remove How headers are matched and modified The sequence of actions and dependencies Build actions from primitives: Forwarding, Congestion control primitives; queueing primitives Fixed function switches at odds with this model. 15

Current switch chips Don t let you Trade one memory size for another Add a new table Add a new header field Add a new action 16

Today: Designing a router Try to squeeze router design into chip System Software How do I use it? (API) What can the chip do? (Datasheet) Switch API Packet Forwarding Engine Bottom up Design

Programmatic control is top down Control Program firewall.c Control Program if( TCP_port == SMTP) droppacket(); Control Plane Control Program Match Action Packet A Forwarding Action(A) B Action(B) Match Action Match Action A Action(A) Packet Forwarding G Action(G) Match Action F Packet Forwarding G Action(F) Action(G) H Action(H) C Action(C) Match Action A Action(A) Packet Forwarding G Action(G) X Action(X) Packet Forwarding Y Action(Y) Z Action(Z) H Action(H) D Action(D) 18

Think like a programmer This is how I want to network to behave Control Program Control Program I will take care of it Control Plane Tell switch how to process packets Compiler Top Down Design Configure switch Populate tables Switch Packet Forwarding Engine

What will chips look like in this new environment?

Software or hardware? CPU: software forwarding at 50Gb/s NPU: microcode forwarding at 200Gb/s ASIC: hardware forwarding at 2Tb/s 21

DATA Recombine HEADER Action Action RISC-like RMT architecture Stage 1 Stage 32 In Match Table Match Table Output Queues Out

We designed an RMT Chip with Texas Instruments 64 x 10GE OpenFlow-optimized ASIC 1Gpackets/second Industry-standard 28nm design process Parse existing + custom packet headers 32 stages of Match + Action

Question How much extra area and power compared to a traditional, fixed function switch chip?

Match Tables TCAM Physical Stage 1 Logical Table 1 Physical Stage 2 Logical Table 2 Physical Stage 32 Logical Table 3 4 5 HASH 6 7 Logical Table 8

DATA Recombine HEADER Action Action Stage 1 Stage 32 In Match Table Match Table Output Queues Out

Header In Field Field Header Out Action Processor Match result VLIW Instructions

DATA Recombine HEADER Action Action Stage 1 Stage 32 In Match Table Match Table Output Queues Out

Area Comparison with Fixed Function Switches Section Area % of chip Extra Cost I/O, buffer, queue, CPU, etc 37% 0.0% Match memory & logic 54.3% 8.0% VLIW action engine 7.4% 5.5% Parser + deparser 1.3% 0.7% Total extra area cost 14.2%

Area increase: the cost of flexibility Serial I/O CPU Queues Parser +0.7% Action Engine +5.5% Total: +14.2% +8% Match Memory and Logic 30

Target Switch Top down control of switches Control Program Control Program Control Program Control Program Control PlaneControl Plane Switch Config Forwarding Rules Target Independent Target Dependent Switch Capabilities Configuration Compiler Optimizer Table map Rule Translator Switch Config Configure Populate Forwarding Rules Switch Configuration Agent Switch Datapath Agent Packet Forwarding Engine (hw or sw)

Outline 1. Well-defined control abstraction 2. Well-defined forwarding abstraction 3. Verifiable forwarding behavior

Verifiable forwarding behavior The forwarding tables capture the entire forwarding behavior. Control plane writes the forwarding state. Therefore, we can verify its correctness.

Software Defined Network (SDN) firewall.c Control Program if( TCP_port == SMTP) Control droppacket(); Program Global Network Map Network OS Control Program Match Action Packet A Forwarding Action(A) B Action(B) Match Action Match Action A Action(A) Packet Forwarding G Action(G) Match Action F Packet Forwarding G Action(F) Action(G) H Action(H) C Action(C) Match Action A Action(A) Packet Forwarding G Action(G) X Action(X) Packet Forwarding Y Action(Y) Z Action(Z) H Action(H) D Action(D)

Software Defined Network (SDN) firewall.c Control Program if( TCP_port == SMTP) Control droppacket(); Program Global Network Map Network OS Control Program Match Action Packet A Forwarding Action(A) B Action(B) Match Action Match Action A Action(A) Packet Forwarding G Action(G) Match Action F Packet Forwarding G Action(F) Action(G) H Action(H) C Action(C) Match Action A Action(A) Packet Forwarding G Action(G) X Action(X) Packet Forwarding Y Action(Y) Z Action(Z) H Action(H) D Action(D)

Making Software Work Functional Description (Code) Specification Testbench $10B tool business supports a $300B S/W industry Static Code Analysis Run-time Checker Invariant Checker Interactive Debugger Model Checking 100s of Books >100,000 Papers 10s of Classes

Static checking of design against original intent Making Chips Work Specification Functional Description (RTL) Functional Verification Logical Synthesis Static Timing Place & Route Design Rule Checking (DRC) Layout vs Schematic (LVS) Layout Parasitic Extraction (LPE) Testbench & Vectors Static checking across boundaries Manufacture & Validate $10B tool business supports a $250B chip industry 100s of Books >10,000 Papers 10s of Classes

Making Chips Work Formal specification languages Specification Functional Description (RTL) Testbench & Vectors Static checking of lowest level design Functional Verification Logical Synthesis Static Timing Place & Route Design Rule Checking (DRC) Layout vs Schematic (LVS) Layout Parasitic Extraction (LPE) Automatic Test Vector Generation (ATVG) Manufacture & Validate Dynamic troubleshooting to Identify root cause

Making Networks Work (Today) traceroute, ping, tcpdump, SNMP, Netflow. er, that s about it.

Networks are kept working by Masters of Complexity A handful of books Almost no papers No classes

Why it is hard in legacy networks

Even simple questions are hard 1. Can host A talk to host B? 2. What are all the packets from A that can reach B? 3. Are there any loops in the network? 4. Is Group X provably isolated from Group Y? 5. What happens if I remove a line in a config file? 42

More interesting questions 1. When I add a new forwarding rule, how can I dynamically check in real-time if it will violate my network policy? 2. How do I track down the source code that was the root cause of a data plane error? 3. If switch hardware is malfunctioning, how will I know? How will I identify the switch/rule?

These questions cannot be adequately answered in legacy protocol-centric networks. All of these questions will be addressed for SDNs.

Neither observe nor control Complex interaction Between multiple protocols on a switch/router. Between state on different switches/routers. Multiple uncoordinated writers of state. Network owner can t Observe all state. Control all state.

Formal specification languages Making Chips Work Functional Description (RTL) Functional Verification Specification 1. Multiple layers of abstraction Testbench & Vectors 2. Strong foundation (Boolean algebra) Static checking of lowest level design Logical Synthesis Static Timing Place & Route Design Rule Checking (DRC) Layout vs Schematic (LVS) Layout Parasitic Extraction (LPE) Automatic Test Vector Generation (ATVG) Manufacture & Validate Dynamic troubleshooting to Identify root cause

Making Chips Networks Work Frenetic, NetCore, Pyretic, Procera, [2012] Formal specification languages Anteater, HSA [2011] Static checking of lowest level design (several) [2012] Consistent Updates Policy Control Program Network OS Match F Action Action(F) Veriflow, NetPlumber [2012] Dynamic checking of lowest level design ATPG [2012], NetSONAR [2013] Automatic Test Pkt Generation (ATPG) WWW, ndb [2012] Dynamic troubleshooting to Identify root cause G H Action(G) Action(H) NETWORK

HSA: Modeling forwarding

Header Space Analysis [NSDI 12] Header L 01110011 1 Data Header 111..100000 Data

Header Space Analysis 1 Match + Action 2

The set of packets from A that can reach B

All packets from A that can reach B

Implications Reachability and loops Prove two groups are isolated Regardless of protocol or layer Analogy to Boolean algebra Follow-on 1. NetPlumber: Dynamic checking for Google s OpenFlow WAN 10,000 times per second 2. ATPG: Testing every forwarding rule 10-times per second

Why industry cares about SDN

Why industry cares Lower cost: Networking industry enjoys enormous margins at the customers expense. Switches will be simpler Software will be limited to only what is needed More control: Puts network operators in control of their networks for the first time. Programmatic control of the network Remove unneeded features Much faster innovation

Specialized Features Specialized Control Plane Specialized Hardware Hundreds of protocols 6,500 RFCs Tens of millions of lines of code. Closed, proprietary, outdated. Billions of gates. Power hungry and bloated.

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

AppAppAppAppAppAppAppAppAppAppApp Specialized Features Specialized Control Plane Control Plane or Open Interface Control Plane or Open Interface Control Plane Specialized Hardware Merchant Switching Chips Vertically integrated Closed, proprietary Slow innovation Horizontal Open interfaces Rapid innovation

Concluding Remarks SDN s clean abstractions means 1. We will see new programmable RMT-style switches. 2. Networks will be more reliable than ever before.

<end>