Header Space Analysis: Static Checking For Networks Peyman Kazemian, Nick McKeown (Stanford University) and George Varghese (UCSD and Yahoo Labs). Presented.

Slides:



Advertisements
Similar presentations
Wireless Communication : LAB 3
Advertisements

CST Computer Networks NAT CST 415 4/10/2017 CST Computer Networks.
Delivery and Forwarding of
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Implementing IP Addressing Services Accessing the WAN – Chapter 7.
,< 資 管 Lee 附錄 A0 IGMP vs Multicast Listener Discovery.
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Flow Space Virtualization on Shared Physical OpenFlow Networks Hiroaki Yamanaka, Shuji Ishii, Eiji Kawai (NICT), Masayoshi Shimamura, Katsuyoshi Iida (TITECH),
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,
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 5: Inter-VLAN Routing Routing & Switching.
H EADER S PACE A NALYSIS : S TATIC C HECKING F OR N ETWORKS Peyman Kazemian (Stanford University) George Varghese (UCSD, Yahoo Labs) Nick McKeown (Stanford.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
CSE331: Introduction to Networks and Security Lecture 7 Fall 2002.
Data Plane Verification. Background: What are network policies Alice can talk to Bob Skype traffic must go through a VoIP transcoder All traffic must.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.5 Routing algorithms m Link state m Distance.
Lecture Week 7 Implementing IP Addressing Services.
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
Formal checkings in networks James Hongyi Zeng with Peyman Kazemian, George Varghese, Nick McKeown.
Networking Feb. 6, 2008 by Larry Finger. Networking Hardware Glossary RJ45 – Official name for 8-pin connector Cat 5, 5E or 6 - Cable suitable for “high”-speed.
How SDN will shape networking
Chapter 4: Managing LAN Traffic
IEEE 802.1q - VLANs Nick Poorman.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Click to edit Master subtitle style Chapter 10: Routing Protocols Instructor:
Specialized Packet Forwarding Hardware Feature Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System.
VeriFlow: Verifying Network-Wide Invariants in Real Time
CS : Software Defined Networks 3rd Lecture 28/3/2013
Implementing IP Addressing Services Accessing the WAN – Chapter 7.
Router and Routing Basics
11 SECURING YOUR NETWORK PERIMETER Chapter 10. Chapter 10: SECURING YOUR NETWORK PERIMETER2 CHAPTER OBJECTIVES  Establish secure topologies.  Secure.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 19.
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
© Jörg Liebeherr, Organization Addresses TCP/IP Protocol stack Forwarding Internet.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Basic Routing Principles V1.2. Objectives Understand the function of router Know the basic conception in routing Know the working principle of router.
1 Data Link Layer Lecture 23 Imran Ahmed University of Management & Technology.
Access Control Lists (ACL). Access-List Overview 4 A Filter through which all traffic must pass 4 Used to Permit or Deny Access to Network 4 Provides.
WEEK 11 – TOPOLOGIES, TCP/IP, SHARING & SECURITY IT1001- Personal Computer Hardware System & Operations.
1 Interview Questions - What is the difference between TCP and UDP? - What is Nagle's Algorithm? - Describe the TCP handshaking process. - What is Slow.
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Winter 2008CS244a Handout 111 CS244a: An Introduction to Computer Networks Handout 11: Interconnecting LANs Nick McKeown Professor of Electrical Engineering.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
3. INTERNETWORKING (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 18 February
Header Space Analysis: Static Checking for Networks Broadband Network Technology Integrated M.S. and Ph.D. Eun-Do Kim Network Standards Research Section.
NT1210 Introduction to Networking
Network Layer Protocols COMP 3270 Computer Networks Computing Science Thompson Rivers University.
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
This courseware is copyrighted © 2016 gtslearning. No part of this courseware or any training material supplied by gtslearning International Limited to.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI network layer CCNA Exploration Semester 1 – Chapter 5.
Introduction to Networks
LESSON Networking Fundamentals Understand IPv4.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Chapter 3: Packet Switching (overview)
Introduction An introduction to the software and organization of the Internet Lab.
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Scaling the Network: The Internet Protocol
6.888 Lecture 16: Header Space Analysis
3. Internetworking (part 1)
Chapter 5: Inter-VLAN Routing
Introduction An introduction to the software and organization of the Internet Lab.
An introduction to the organization of the Internet Lab
Implementing an OpenFlow Switch on the NetFPGA platform
An introduction to the organization of the Internet Lab
Scaling the Network: The Internet Protocol
Lecture 10, Computer Networks (198:552)
Host and Small Network Relaying Howard C. Berkowitz
Virtual LAN (VLAN).
Review of Internet Protocols Network Layer
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Header Space Analysis: Static Checking For Networks Peyman Kazemian, Nick McKeown (Stanford University) and George Varghese (UCSD and Yahoo Labs). Presented by Eviatar Khen (Software Defined Networks Seminar)

Today  A typical network is a complex mix of protocols  Interact in complex way  Hard to understand, manage and predict the behavior VLAN NAT TCP IPv4 SPANNING TREE MPLS UDP IPv6 ARP

Today  Even simple question are hard to answer: “Can host A talk to host B?” “What are all the packet headers from A that can reach B?” “Can packets loop in my network?” “Is Slice X isolated totally from Slice Y”?

Earlier Work  Dynamic analysis: Veriflow (not mentioned in the paper)  Static analysis: existing tools are protocol dependent, tailored to IP networks

Paper’s Contribution  Header Space Analysis – A general foundation that gives us: A unified view of almost all types of boxes An interface for answering different question about the network

Roadmap  The Header Space framework  Use cases: how HSA could be used to detect network failures  Experiments Results

Header Space Framework Key observation: A packet is a point in a space of possible headers and a box is a transformer on that space

Header Space Framework  Step 1: Model a Packet Header  A Packet Header is a point in space,called the Header Space HeaderData L …1

Header Space Framework  Step 2: Model a switch  A switch is a transformer in the header space Packet Forwarding Port 1 Port 2 Port 3 0xx1…x1 Send to port 3 and Rewrite with 1xx011..x1 Match Action 1xx1…0x Send to port 2 and Rewrite with 1x01xx..x1 Transfer Function:

Header Space Framework  Example: Transfer Function of an IPv4 Router , Port 1 T(h,p) = (h,1)if dest_ip(h) = X , Port 2 (h,2)if dest_ip(h) = X , Port 3 (h,3)if dest_ip(h) = X.X (dec_ttl(h),1)if dest_ip(h) = X (dec_ttl(h),2)if dest_ip(h) = X (dec_ttl(h),3)if dest_ip(h) = X.X

Header Space Framework  Transfer Function Properties: Composable: S1 S3 S2

Header Space Framework  Transfer Function Properties: Invertible: Doman (input) Range (output)

Header Space Framework  Step 3: Develop an Algebra to work on these spaces  A subspace correspond to a Wildcard  We use this to define set operations on Wildcards: Intersection Complementation Difference

Use Cases of Header Space Framework

Use Cases  “Can host A talk to host B?” A B Switch 1 Switch 3 Switch 4 Switch 2

Complexity  Each input wildcard is matched to each rule at the switch and creates an output wildcard  So for R1 inputs and R2 rules the number of output wildcards can be O(R1R2)  In reality: Linear Fragmentation  Overall: O(dR^2) where d is the max diameter and R is the maximum number of rules

Use Cases  “Is there a Loop in the Network?”  Inject the whole header space from EACH port  Follow the packet until it either leaves the network or returns to the injected port Switch 1 Switch 3 Switch 4 Switch 2

Use Cases  “Is the loop infinite?”  Complexity O(dPR^2)

Use Cases  Slicing a network is a way to share network resources among multiple entities  Could be created using VLAN or FlowVisor  Definition:  A topology consisting of switches, ports and links  a collection of predicates on packets belonging to the slice, one on each ingress port in the slice topology.  “Are two Slices isolated?”

Use Cases Box 1 Box 3 Box 2 Box 4

Implementation  Header space Library (Hassel)  Written in Python  Header Space class  Encapsulates a union of wildcard expressions  Implements Set operations  Transfer Function class  Implements T and T-1  The Application allows: Reachability, Loop Detection and Slice Isolation checks.

Performance  Performance result for Stanford Backbone Network on a single machine: 2.66Ghz quad core, 4GB RAM

Summary  A General Foundation that gives us: A unified view of almost all type of boxes: Transfer Function An interface for answering different questions about the network T(h,p) and T-1(h,p) Set operations on Header Space  The Python-based implementation can scale to enterprise-size networks on a single laptop