VeriFlow: Verifying Network-Wide Invariants in Real Time

Slides:



Advertisements
Similar presentations
Ethernet Switch Features Important to EtherNet/IP
Advertisements

IEEE INFOCOM 2004 MultiNet: Connecting to Multiple IEEE Networks Using a Single Wireless Card.
Heng Pan , Hongtao Guan, Junjie Liu (ICT, CAS)
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
SIMPLE-fying Middlebox Policy Enforcement Using SDN
SDN Applications Jennifer Rexford Princeton University.
Models and techniques for verification of Software Defined Networks
CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Header Space Analysis: Static Checking For Networks Peyman Kazemian, Nick McKeown (Stanford University) and George Varghese (UCSD and Yahoo Labs). Presented.
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
VeriCon: Towards Verifying Controller Programs in SDNs (PLDI 2014) Thomas Ball, Nikolaj Bjorner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly.
Troubleshooting SDNs Peyman Kazemian. Why SDN Troubleshooting SDN decouples software (control plane) from hardware (data plane). Opens doors for innovation.
SDN and Openflow.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
Traffic Engineering With Traditional IP Routing Protocols
Network Monitoring for Internet Traffic Engineering Jennifer Rexford AT&T Labs – Research Florham Park, NJ 07932
An Overview of Software-Defined Network
Data Plane Verification. Background: What are network policies Alice can talk to Bob Skype traffic must go through a VoIP transcoder All traffic must.
1 25\10\2010 Unit-V Connecting LANs Unit – 5 Connecting DevicesConnecting Devices Backbone NetworksBackbone Networks Virtual LANsVirtual LANs.
Copyright © 2012, QoS-aware Network Operating System for Software Defined Networking with Generalized OpenFlows Kwangtae Jeong, Jinwook Kim.
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
Connecting LANs, Backbone Networks, and Virtual LANs
SIMPLE-fying Middlebox Policy Enforcement Using SDN Zafar Ayyub Qazi Cheng-Chun Tu Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
Formal checkings in networks James Hongyi Zeng with Peyman Kazemian, George Varghese, Nick McKeown.
Semester 1 Module 8 Ethernet Switching Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
Towards a Logic for Wide- Area Internet Routing Nick Feamster Hari Balakrishnan.
Sidewinder A Predictive Data Forwarding Protocol for Mobile Wireless Sensor Networks Matt Keally 1, Gang Zhou 1, Guoliang Xing 2 1 College of William and.
Software-Defined Networks Jennifer Rexford Princeton University.
TCP/SYN Attack – use ACL to allow traffic from TCP connections that were established from the internal network and block packets from an external network.
Formal Modeling of an Openflow Switch using Alloy Natali Ruchansky and Davide Proserpio.
Denial of Service (DoS) Attacks in Green Mobile Ad–hoc Networks Ashok M.Kanthe*, Dina Simunic**and Marijan Djurek*** MIPRO 2012, May 21-25,2012, Opatija,
Higher-Level Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Router and Routing Basics
Windows 7 Firewall.
Programmable Networks: Active Networks + SDN. How to Introduce new services Overlays: user can introduce what-ever – Ignores physical network  perf overhead.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
Performance Validation of Mobile IP Wireless Networks Presented by Syed Shahzad Ali Advisor Dr. Ravi Pendse.
ISACA – Charlotte Chapter June 3, 2014 Mark Krawczyk, CISA, CISSP, CCNA.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
FirewallPK Security tool for centralized Access Control List Management th RoEduNet International Conference - Networking in Education and Research.
An Efficient Gigabit Ethernet Switch Model for Large-Scale Simulation Dong (Kevin) Jin.
An Efficient Gigabit Ethernet Switch Model for Large-Scale Simulation Dong (Kevin) Jin.
Introduction to Mininet, Open vSwitch, and POX
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
NetEgg: Scenario-based Programming for SDN Policies Yifei Yuan, Dong Lin, Rajeev Alur, Boon Thau Loo University of Pennsylvania 1.
Header Space Analysis: Static Checking for Networks Broadband Network Technology Integrated M.S. and Ph.D. Eun-Do Kim Network Standards Research Section.
Authors: Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, David Walker Presenter: Byungkwon Choi Abstractions for Network Update INA.
PATH DIVERSITY WITH FORWARD ERROR CORRECTION SYSTEM FOR PACKET SWITCHED NETWORKS Thinh Nguyen and Avideh Zakhor IEEE INFOCOM 2003.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
SDN challenges Deployment challenges
SDN Network Updates Minimum updates within a single switch
The DPIaaS Controller Prototype
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Chapter 5: Inter-VLAN Routing
ONOS Drake Release September 2015.
Abstractions for Model Checking SDN Controllers
CS 31006: Computer Networks – The Routers
Software Defined Networking (SDN)
DDoS Attack Detection under SDN Context
Programmable Networks
Lecture 10, Computer Networks (198:552)
With slides from Ahmed Khurshid
Presentation transcript:

VeriFlow: Verifying Network-Wide Invariants in Real Time Ahmed Khurshid, Wenxuan Zhou, Matthew Caesar, P. Brighten Godfrey University of Illinois Presented by Ofri Ziv November 2013

Outline Motivation Design Evaluation Example Conclusion

Motivation Networks are complex SDN increases software complexity Ensure network’s correctness and security SDN increases software complexity Multiple applications program the physical network simultaneously Check network-wide invariants as network evolves Prevent bugs as they arise It is very hard to test all its components and protocols to find misconfiguration Bugs will continue to exist May result in conflicting rules that alter the intended behavior of one or more applications Provide immediate warning Block dangerous changes

Bugs Effect Allow unauthorized packets to enter a secured zone in a network Make services and the infrastructure prone to attacks Make critical services unavailable Affect network performance

Configuration Verification (Offline) Control-plane Data-plane state Network behavior Configuration Verification (Offline) Problems: Prediction is difficult Various configuration languages Dynamic distributed protocols Miss control-plane implementation bugs Input Predict

VeriFlow approach: Data-plane Verification Configuration Control-plane Data-plane state Network behavior VeriFlow approach: Data-plane Verification Advantages: Less prediction Closer to actual network behavior Unified analysis for multiple control-plane protocols Catch control-plane implementation bugs Input Predict

Challenges Obtaining real time view of the network Verification speed Interpose between controller and network elements Utilize the centralized data-plane view available in an SDN (Software-Defined Network) Verification speed Monitor all flows - Achieve extremely low latency during checks, so that network performance won’t be affected

The Tool: VeriFlow Checks network-wide invariants in real time using data-plane state Absence of routing loops, black holes, access control violations, etc. Functions by Monitoring dynamic changes in the network Constructing a model of the network behavior Using custom algorithms to automatically derive whether the network contains errors

VeriFlow Overview Report: network invariant violation Controller VeriFlow Generate Equivalence Classes Generate Forwarding Graphs Run Queries Paint the update from the controller Good rules are sent to the network elements Rules violating network invariants are diagnosed (invariant violated, affected set of packets) “Good Rule” “Bad Rule” Report: network invariant violation Affected set of packets

Limit the search space Generate Equivalence Classes Generate Forwarding Graphs Run Queries Equivalence class: Packets experiencing the same forwarding actions throughout the network Fw Rules: Eq. classes: 1 2 3 4 Find only equivalence classes affected by the update using a trie-based data-structure Trie data-structure holds the entire network’s forwarding rules. The leaves of the trie store the actual rules (pairs of (device, rule)), which are represented by the path that leads to them. For each new rule we traverse the trie until we get a set of overlapping rules. 0.0.0.0/1 64.0.0.0/3

Computing Equivalence Classes A = (Match =0.1, Action, device) B = (Match =0.*, Action, device) Eq. Classes – {0.0}, {0.1} A B * 1 * * * 1 1 1

Represent Forwarding Rules Generate Equivalence Classes Generate Forwarding Graphs Run Queries Forwarding graphs: Nodes representing network devices Edges representing forwarding rules All the information to answer queries Eq. Class 1 Eq. Class 2

Check Invariants Queries: Black holes Routing loops VLANs Isolation Generate Equivalence Classes Generate Forwarding Graphs Run Queries Queries: Black holes Routing loops VLANs Isolation Access control policies Response: Good Rules  Send flow to network element Bad Rules  Report: invariant violated, affected set of packets

Evaluation #1 – Microbenchmarking VeriFlow run time Goal: Observe VeriFlow’s different phases contribution to the overall run time Simulated an IP network 172 routers Replayed BGP traces 5 million RIB entries 90K BGP updates

Evaluation #2 – Effect on TCP connection setup latency Experiment #2 – Impact of VeriFlow on TCP connection setup latency Mininet OpenFlow network 10 switches arranged in chain-like topology A host connected to every switch NOX controller running “learning switch” app TCP connections between random pairs of hosts Overhead imposed by the proxy Overhead imposed by the verification Most of the overhead caused by veriFlow is the proxy (only 7% out of 69% is the verification)

Future Work Handling packet transformations Deciding when to check (transactions) Handling queries other than reachability Dealing with multiple controllers Generating additional equivalence classes and their corresponding forwarding graphs, to address the changes in packet header due to the transformations. VeriFlow may report a violation while processing set of rules one-by-one. For example: Ensure certain flows don’t use the same link, limit the number of flows on a link. VeriFlow assumes it has a complete view of the network. In multi-controller scenario this task is challenging.

Demo application hosts = {<ip: (device, port)>} switches = {(sw1, sw2): port} def packet_in(pkt, in_port, device): if (GARP == pkt.proto): if (hosts.has_key(pkt.src_ip)): (d,i) = hosts[pkt.src_ip] delete_flow(match=pkt.src_ip, d) hosts[pkt.src_ip] = (device, in_port) install_flow(match=pkt.src_ip, out=in_port, device) else if (hosts.has_key(pkt.dst_ip)): (d,i) = hosts[pkt.dst_ip] install_flow(match=pkt.dst_ip, out=switches[(device,d)], device) send_packet(pkt, switches[(device,d)], device)

Conclusion VeriFlow achieves real-time verification: A layer between SDN controller & network elements Find faulty flows issued by SDN applications Verify network-wide invariants as each flow is inserted Can prevent a flow from reaching the network - Rigorous checking of network-wide invariants within hundreds of microseconds as each flow is inserted.