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



Similar documents
SDN and Streamlining the Plumbing. Nick McKeown Stanford University

How SDN will shape networking

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

SDN. What's Software Defined Networking? Angelo Capossele

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

Software Defined Networking

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

Software Defined Networks (SDN)

CSCI-1680 So ware-defined Networking

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

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

Limitations of Current Networking Architecture OpenFlow Architecture

Identifying functional and Performance related issues in a network based on Auto Test Packet generation

Formal Specification and Programming for SDN

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

Cisco Change Management: Best Practices White Paper

Hypothesis Testing for Network Security

How To Understand The Power Of The Internet

An Assertion Language for Debugging SDN Applications

Software Defined Networking A quantum leap for Devops?

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

Software Defined Networks

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

How To Learn Cisco Cisco Ios And Cisco Vlan

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

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

Ethernet-based Software Defined Network (SDN) Cloud Computing Research Center for Mobile Applications (CCMA), ITRI 雲 端 運 算 行 動 應 用 研 究 中 心

A Systematic Approach for Testing and Debugging the Networks with ATPG

"Charting the Course...

OpenFlow: Enabling Innovation in Campus Networks

Time-based Updates in OpenFlow: A Proposed Extension to the OpenFlow Protocol

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

Real Time Network Policy Checking using Header Space Analysis

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

Securing Local Area Network with OpenFlow

Why Software Defined Networking (SDN)? Boyan Sotirov

How To Switch A Layer 1 Matrix Switch On A Network On A Cloud (Network) On A Microsoft Network (Network On A Server) On An Openflow (Network-1) On The Network (Netscout) On Your Network (

Using IPM to Measure Network Performance

8. 網路流量管理 Network Traffic Management

Interconnecting Cisco Networking Devices, Part 2 **Part of CCNA Route/Switch**

How To Understand and Configure Your Network for IntraVUE

Testing Challenges for Modern Networks Built Using SDN and OpenFlow

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

On the effect of forwarding table size on SDN network utilization

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

Facility Usage Scenarios

Switching in an Enterprise Network

Introduction. The Inherent Unpredictability of IP Networks # $# #

SDN and Data Center Networks

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

COMPSCI 314: SDN: Software Defined Networking

OpenFlow Technology Investigation Vendors Review on OpenFlow implementation

Ethernet-based Software Defined Network (SDN)

MPLS-TP. Future Ready. Today. Introduction. Connection Oriented Transport

Enabling Layer 2 Pathlet Tracing through Context Encoding in Software-Defined Networking

OpenFlow/SDN for IaaS Providers

Software Defined Networking and the design of OpenFlow switches

Transformation of the enterprise WAN with dynamic-path networking

Cisco IOS Flexible NetFlow Technology

Open Flow Controller and Switch Datasheet

OAM Operations Administration and Maintenance

Restorable Logical Topology using Cross-Layer Optimization

Assignment One. ITN534 Network Management. Title: Report on an Integrated Network Management Product (Solar winds 2001 Engineer s Edition)

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

About Network Data Collector

SDN, OpenFlow and the ONF

Network Management: - SNMP - Software Defined networking

Software Defined Networking (SDN) - Open Flow

VXLAN: Scaling Data Center Capacity. White Paper

Certes Networks Layer 4 Encryption. Network Services Impact Test Results

Project 3 and Software-Defined Networking (SDN)

Paolo Costa

The State of OpenFlow: Advice for Those Considering SDN. Steve Wallace Executive Director, InCNTRE SDN Lab Indiana University

software networking Jithesh TJ, Santhosh Karipur QuEST Global

SOLARWINDS ENGINEER S TOOLSET FAST FIXES TO NETWORK ISSUES

New Virtual Application Networks Innovations Advance Software-defined Network Leadership

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

OpenFlow/SDN activities of NTT Communications

Axon: A Flexible Substrate for Source- routed Ethernet. Jeffrey Shafer Brent Stephens Michael Foss Sco6 Rixner Alan L. Cox

CS244 Lecture 5 Architecture and Principles

IP SLAs Overview. Finding Feature Information. Information About IP SLAs. IP SLAs Technology Overview

Network Virtualization

Software Defined Network (SDN)

Software Defined Networking & Openflow

Automated Formal Analysis of Internet Routing Systems

Zarząd (7 osób) F inanse (13 osób) M arketing (7 osób) S przedaż (16 osób) K adry (15 osób)

Panopticon: Incremental SDN Deployment in Enterprise Networks

Cisco IOS Flexible NetFlow Command Reference

Interconnecting Cisco Networking Devices, Part 2 Course ICND2 v2.0; 5 Days, Instructor-led

Software Defined Networking

Software Defined Networking (SDN)

Troubleshooting an Enterprise Network

SolarWinds Certified Professional. Exam Preparation Guide

INTERCONNECTING CISCO NETWORKING DEVICES PART 2 V2.0 (ICND 2)

PLUMgrid Toolbox: Tools to Install, Operate and Monitor Your Virtual Network Infrastructure

EVOLVING ENTERPRISE NETWORKS WITH SPB-M APPLICATION NOTE

OpenFlow: Load Balancing in enterprise networks using Floodlight Controller

Ten Things to Look for in an SDN Controller

The Future of Networking, and the Past of Protocols

Transcription:

From Electronic Design Automation to NDA: Treating Networks like Chips or Programs George Varghese With Collaborators at Berkeley, Cisco, MSR, Stanford

Networks today SQL 1001 10* P1 1* P2 Drop SQL,P2 P1 P2 Load balancing Access Control Lists (ACLs) Multiple Protocols: 6000 RFCs (MPLS, GRE...) Multiple Vendors: Broadcom, Arista, Cisco,... Manual Configurations: Additional arcane programs kept working by masters of complexity (Shenker) Crude tools: SNMP, NetFlow, TraceRoute,... 2

Simple questions hard to answer today o Which packets from A can reach B? o Is Group X provably isolated from Group Y? o Is the network causing poor performance or the server? o Why is my backbone utilization poor? o Is my load balancer distributing evenly? o Where are there mysterious packet losses? BOTTOM UP ANALYSIS OF EXISTING SYSTEMS 3

Motivation to do better Internal: o Errors often caused by configuration changes External: (2012 NANOG Network Operator Survey): o o 35% > 25 tickets per month, > 1 hour to resolve Welsh: vast majority of Google production failures due to bugs in configuration settings As we migrate to services ($100B public cloud market), network failure will be a debilitating cost. 4

Networks Tomorrow Online services latency, cost sensitive Merchant Silicon Build your own router Rise of Data centers Custom networks Software defined Networks (SDNs) custom design routing program P4 (next generation SDN) redefine hardware forwarding at runtime TOP DOWN DESIGN OF FUTURE NETWORKS TO OPTIMIZE GOAL 5

Digital Hardware Design as Inspiration? Specification Specification Functional Description (RTL) Functional Verification Logical Synthesis Static Timing Place & Route Design Rule Checking (DRC) Layout vs Schematic (LVS) Parasitic Extraction Testbench & Vectors Post Siilicon validation Policy Language, Semantics Verification (Reachabilty) Synthesis (e.g., Forwarding Rules) Performance verification? Network Topology Design Static checking (local checks) Wiring Checkers Interference estimation? Test Packet Generation Dynamic checkers/ debuggers Electronic Design Automation (McKeown SIGCOMM 2012) Network Design Automation (NDA)?

Outline Part 1: Tools for operators today o Static Analysis, Test Packet Generation o Analysis via Symbolic Execution Part 2: Tools, processes for designers & operators tomorrow. o Network Design Automation o Synthesis via Optimization 7

Many forwarding flavors/ 1 essence 10010 IP Router 10* P1 1* P2 PREFIX MATCH 01A1A2 MAC Bridge 01A1A2 P1... EXACT MATCH 5, 6 MPLS Switch 5 P1,Pop 5... INDEXED LOOKUP ESSENTIAL INSIGHT FOR OPENFLOW. USE SAME INSIGHT FOR UNDERSTANDING EXISTING PROTOCOLS 8

Idea: Treat Network as a Program Model header as point in high dimensional space and all networking boxes as transformers of header space Match 0xx1..x1 + 1 Packet Forwarding Action Send to port 3 Rewrite header 3 2 NETWORK BOX ABSTRACTED AS SET OF GUARDED COMMANDS.. NETWORK BECOMES A PROGRAM CAN USE PL METHODS 9

Header Space Framework Model all networking boxes as transformers of header space Transfer Function: 10

Computing Reachability (Kazemian et al, NSDI 12) All All Packets Packets that that A A can use can to possibly communicate send with B T -1 1 A T -1 1 Box 1 T 1 (X,A) All Packets that A can possibly send to box 2 through box 1 T -1 2 Box 2 T 2 (T 1 (X,A)) All Packets that A can possibly send to box 4 through box 1 T -1 4 Box 4 T 4 (T 1 (X,A)) Box 3 B T -1 3 T -1 3 T 3 (T 2 (T 1 (X,A)) U T 3 (T 4 (T 1 (X,A)) 11

Tool 3: Automatic Test Packet Generation (Zheng et al CoNext 12: ) As in hardware, automatically generate test packets to detect faults Different optimization from hardware testing: o o o Maximize link/queue coverage Performance (e.g., latency) not stuck-at faults Respect constraints on terminal ports Up to160x reduction over all-pairs - aspects in Microsoft Autopilot Bounded network graph allows simple set cover compared to program testing (KLEE) 12

Semantics (Plotkin et al) Symmetry Modularity New semantics that has: Symmetry Theorem: Can reduce fat tree to thin tree using a simulation and verify reachability cheaply in latter Modularity Theorem: reuse of parts of switching network 13

Tool 4: Batfish (Fogel et al, NSDI 05) So far all tools are for network data plane Need control plane tools for proactive analysis Check configuration sanity before applying to the network Check safety in the presence of certain routing changes Check back-ups are properly implemented Config files Environment Parser Control plane logic Logic solver Query solver Data plane state Provenance Query 14

Other Work Geometric Packet Classification. (SIGCOMM 1998) Static Reachability of IP Networks (INFOCOM 2005) Anteater. (SIGCOMM 2011) Veriflow. (HotSDN 2012) SAT Based Data Plane Verification (HotSDN 2012) Flowlog (HotSDN 2012) NetKat/Netcore 15

PART 2: NETWORK SYNTHESIS VIA OPTIMIZATION 16

Network Design Automation? Specification Policy Language, Semantics Verification Synthesis (e.g., Forwarding Rules) Performance verification? Network Design Test Packet Generation Early work Static checking (Local) Wiring Checkers Dynamic checkers/ debuggers HOW MIGHT WE GO BEYOND EARLY WORK? WHAT NEW AREAS CAN WE TOUCH? 17

Static Checkers: Booleans Quantities A B 3 G C Probability 1.0 0.9 D 1 2 Flow Bandwidth Given end-to-end flow rates, calculate link loads in face of failures (Juniwal et al, in progress) Given flow rate histograms, pack as many flows as possible & keep overflow probability within threshold 18

Probabilistic Knapsack (w. Bjorner, Gopalan, Karp, Kannan) Packing distributions Knapsack of size 3 Which items? Probability 1.0 0.9 Item A Item B 1.0 1.0 0.5 0.9 Item C 1 2 1 2 Correctness: Failure probability < T, e.g., T = 0.05 Performance: Find subset that minimizes expected waste Likely hard: even checking if one subset fails is exponential 1 2 19

Other Synthesis Problems Synthesizing Rules: Synthesize ACLs based on policy (Kang et al, Princeton) Synthesizing Virtual Networks: Rao et al (Purdue) & Xie at al (Princeton) Synthesizing Tables within a router: Table Synthesis P4 Routers (Jose et al, Stanford) Synthesizing Transports: Deadline driven alternatives to TCP (MSR Cambridge) 20

Interactive Debugging (AEV 15) Old Traceroute A C New Trace Bit + ID in data packets Timestamp, Router queue information collected later Existing network debuggers (MSR Sherlock, Stanford NDB, Berkeley Xtrace are Batch Debuggers What might equivalent be of setting a Watch point and then stepping into network? Example: Stepping Into by New Trace route message. Old TraceRoute not real-time. New hardware 21

Exploiting Domain Structure Technique Header Space Analysis (Symbolic Execution) Structure exploited Limited negation, no loops, small equivalence classes Net Plumber (Incremental Verification) ATPG (Test Generation) Exploiting Symmetry Network Graph, rule dependencies structure Network graph limits size of state space compared to KLEE Known symmetries because of design (vs on logical structures) 22

Conclusion Inflection Point: Rise of services, data centers, Software Defined Networks Ideas: Symbolic execution (analysis) & optimization (synthesis) Intellectual Opportunity: Rethink existing techniques exploiting domain structure Systems Opportunity Working chips with billions of gates Why not large operational networks next? 23

Collaborators MSR: Nikolaj Bjorner, Patrice Godefroid, Karthick Jayaram Nuno Lopes, Ratul Mahajan. Ming Zhang Stanford: Peyman Kazemian, Nick McKeown, James Zheng Berkeley: Garvit Juniwal, Sanjit Seshia Cisco: Mohammed Alizadeh, Tom Edsall