Where is the Debugger for my Software-Defined Network? [ndb]

Slides:



Advertisements
Similar presentations
June 2007NSF Find Forensics and Attribution in Ethane Martin Casado Stanford University With: Michael Freedman, Justin Pettit, Jianying Luo, Natasha Gude,
Advertisements

An OpenFlow Extension for the OMNeT++ INET Framework
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
A SOFT Way for OpenFlow Interoperability Testing Marco Canini TU Berlin / T-Labs [CoNEXT’12]
A SOFT Way for OpenFlow Interoperability Testing Maciej Kuźniar, Peter Perešini, Marco Canini†, Daniele Venzano, Dejan Kostić‡ EPFL †TU Berlin/T-Labs ‡IMDEA.
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Leveraging SDN Layering to Systematically Troubleshoot Networks Brandon Heller ★ Colin Scott  Nick McKeown ⌘ Scott Shenker  Andreas Wundsam § Hongyi.
Can the Production Network Be the Testbed? Rob Sherwood Deutsche Telekom Inc. R&D Lab Glen Gibb, KK Yap, Guido Appenzeller, Martin Cassado, Nick McKeown,
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks Nikhil Handigol With Brandon Heller, Vimal Jeyakumar, David Mazières,
USING PACKET HISTORIES TO TROUBLESHOOT NETWORKS Presented by: Yi Gao Emnets Seminar
Alan Shieh Cornell University Srikanth Kandula Microsoft Research Emin Gün Sirer Cornell University Sidecar: Building Programmable Datacenter Networks.
Troubleshooting SDNs Peyman Kazemian. Why SDN Troubleshooting SDN decouples software (control plane) from hardware (data plane). Opens doors for innovation.
SDN and Openflow.
Scalable Network Virtualization in Software-Defined Networks
Virtualization and OpenFlow Nick McKeown Nick McKeown VISA Workshop, Sigcomm 2009 Supported by NSF, Stanford Clean.
Internet Control Message Protocol (ICMP)
Can the Production Network Be the Testbed? Rob Sherwood Deutsche Telekom Inc. R&D Lab Glen Gibb, KK Yap, Guido Appenzeller, Martin Cassado, Nick McKeown,
An Overview of Software-Defined Network
Software Defined Networking By: Widhi Yahya. Introduction.
OpenFlow Switch Limitations. Background: Current Applications Traffic Engineering application (performance) – Fine grained rules and short time scales.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Software Defined Networking
Formal checkings in networks James Hongyi Zeng with Peyman Kazemian, George Varghese, Nick McKeown.
Software Defined Networking COMS , Fall 2013 Instructor: Li Erran Li SDNFall2013/
How SDNs will tame networks Nick McKeown Stanford University.
How SDN will shape networking
Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, Jonathan Turner, SIGCOM CCR, 2008 Presented.
Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education.
Information-Centric Networks10b-1 Week 13 / Paper 1 OpenFlow: enabling innovation in campus networks –Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru.
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
Internet Control Message Protocol (ICMP). Objective l IP and ICMP l Why need ICMP? l ICMP Message Format l ICMP fields l Examples: »Ping »Traceroute.
Frenetic: A Programming Language for Software Defined Networks Jennifer Rexford Princeton University Joint work with Nate.
Software-Defined Networks Jennifer Rexford Princeton University.
Specialized Packet Forwarding Hardware Feature Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System.
Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar Stanford University In collaboration with Martin Casado and Scott.
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
CS : Software Defined Networks 3rd Lecture 28/3/2013
Chapter 6 – Connectivity Devices
OpenFlow:Enabling Innovation in Campus Network
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
A record and replay mechanism using programmable network interface cards Laurent Lefèvre INRIA / LIP (UMR CNRS, INRIA, ENS, UCB)
Pyretic Programming.
Information-Centric Networks Section # 13.2: Alternatives Instructor: George Xylomenos Department: Informatics.
Motivation: Finding the root cause of a symptom
Automated Network Repair with Meta Provenance
Introduction to Mininet, Open vSwitch, and POX
OpenFlow & NOX (& how the SDN era started) CCR 2008 Whitepapers Nick McKeown & Natasha Gude et al. Presented by: M. Asim Jamshed Some slides have been.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
POSITION PAPER Reactive Logic in Software-Defined Networking: Accounting for the Limitations of the Switches Roberto Bifulco, Maurizio Dusi
Jennifer Rexford Princeton University MW 11:00am-12:20pm Testing and Debugging COS 597E: Software Defined Networking.
Header Space Analysis: Static Checking for Networks Broadband Network Technology Integrated M.S. and Ph.D. Eun-Do Kim Network Standards Research Section.
Logically Centralized? State Distribution Trade-offs in Software Defined Networks.
Programming Assignment 2 Zilong Ye. Traditional router Control plane and data plane embed in a blackbox designed by the vendor high-seed switching fabric.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
Debuggers. Errors in Computer Code Errors in computer programs are commonly known as bugs. Three types of errors in computer programs –Syntax errors –Runtime.
Verifying & Testing SDN Data & Control Planes: Header Space Analysis.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
SDN challenges Deployment challenges
Instructor Materials Chapter 8: Network Troubleshooting
Praveen Tammana† Rachit Agarwal‡ Myungjin Lee†
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Stanford University Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar In collaboration with Martin Casado and Scott.
The Stanford Clean Slate Program
Toward Taming Policy Enforcement for SDN_______ in the RIGHT way_
Implementing an OpenFlow Switch on the NetFPGA platform
Elmo Muhammad Shahbaz Lalith Suresh, Jennifer Rexford, Nick Feamster,
Control-Data Plane Separation
Presentation transcript:

Where is the Debugger for my Software-Defined Network? [ndb] Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazières, Nick McKeown Stanford University

Bug story: incomplete handover Switch X WiFi AP Y WiFi AP Z B

Debugging SDNs Bugs can be anywhere in the SDN stack Hardware, control plane logic, race conditions Switch state might change rapidly Bugs might show up rarely

How can we exploit the SDN architecture to systematically track down the root cause of bugs?

ndb: Network Debugger Produce a Packet Backtrace Goal Capture and reconstruct the sequence of events leading to the errant behavior Allow users to define a Network Breakpoint A (header, switch) filter to identify the errant behavior Produce a Packet Backtrace Path taken by the packet State of the flow table at each switch

Debugging software programs Function A(): i = …; j = …; u = B(i, j) Breakpoint “line 25, w = abort()” Backtrace File “A”, line 10, Function A() File “B”, line 43, Function B() File “C”, line 21, Function C() Function B(x, y): k = …; v = C(x, k) Function C(x, y): … w = abort()

Debugging networks Breakpoint Backtrace A B “ICMP packets A->B, arriving at X, but not Z” Backtrace Switch X: { inport: p0, outports: [p1] mods: [...] matched flow: 23 [...] matched table version: 3 } Switch Y: { inport p1, outports: [p3] mods: ... ... Y X A B Switch X WiFi AP Y WiFi AP Z

Using ndb to debug common issues Reachability Symptom: A is not able to talk to B Breakpoint: “Packet A->B, not reaching B” Isolation Symptom: A is talking to B, but it shouldn’t Breakpoint: “Packet A->B, reaching B” Race conditions Symptom: Flow entries not reaching on time Breakpoint: “Packet-in at switch S, port P”

So, how does ndb work?

Flow Table State Recorder Control Plane Match ACT Flow Table State Recorder Match ACT B S A Breakpoint Switch = S IP src = A, IP dst = B TCP Port = 22 Postcard Collector

Flow Table State Recorder Control Plane <Match, Action> … Flow Table State Recorder <Match, Action> … B <Match, Action> … <Match, Action> … A Postcard Collector

Flow Table State Recorder Control Plane Flow Table State Recorder <Flow Table State, Version> <Datapath ID, Packet ID, Version> Postcard Collector

Who benefits Network developers Network operators Programmers debugging control programs Network operators Find policy errors Send error report to switch vendor Send error report to control program vendor

Performance and scalability Control channel Negligible overhead No postcards Extra flow-mods Postcards in the datapath Single collector server for the entire Stanford backbone Selective postcard generation to reduce overhead Parallelize postcard collection

Status First working prototype of ndb Code undergoing heavy churn Works without change to switches or controller Code undergoing heavy churn Will be made available once stable

Summary ndb: Network Breakpoint + Packet Backtrace Systematically track down root cause of bugs Practical and deployable today