Formal Modeling of an Openflow Switch using Alloy Natali Ruchansky and Davide Proserpio.

Slides:



Advertisements
Similar presentations
An OpenFlow Extension for the OMNeT++ INET Framework
Advertisements

Openflow App Testing Chao SHI, Stephen Duraski. Motivation Network is still a complex stuff ! o Distributed mechanism o Complex protocol o Large state.
Models and techniques for verification of Software Defined Networks
Frenetic: A High-Level Language for OpenFlow Networks Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, David Walker.
CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
RIP V1 W.lilakiatsakun.
Ryu Book Chapter 1 Speaker: Chang, Cheng-Yu Date: 25/Nov./
OpenFlow Switch Specification-v part1 Speaker: Hsuan-Ling Weng Date: 2014/12/02.
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Ver AB Terms Host: The computer to be tested Gateway: The router connected to that part of the network PDU: Protocol Data Unit Perform Network Fault.
VeriCon: Towards Verifying Controller Programs in SDNs (PLDI 2014) Thomas Ball, Nikolaj Bjorner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly.
SDN and Openflow.
Scalable Network Virtualization in Software-Defined Networks
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
NATIONAL & KAPODISTRIAN UNIVERSITY OF ATHENS INTERDEPARTMENTAL GRADUATE PROGRAM IN MANAGEMENT AND ECONOMICS OF TELECOMMUNICATION NETWORKS Master Thesis.
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.
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
An Overview of Software-Defined Network Presenter: Xitao Wen.
OmniRAN SoA and Gap Analysis Date: [ ] Authors: NameAffiliationPhone Antonio de la Juan Carlos
NetSim ZigBee Simulation Code Walkthrough in 10 steps
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
VeriFlow: Verifying Network-Wide Invariants in Real Time
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
IP Forwarding.
MODULE I NETWORKING CONCEPTS.
OpenFlow:Enabling Innovation in Campus Network
Version How to Use Packet Tracer MarinaMD.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Filtering Traffic Using Access Control Lists Introducing Routing and Switching.
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
Installing a Network Printer. Network printers work much like any other printer except the data flow is through a network. This means the printer must.
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, D. Walker SIGCOMM CCR, 2014 Presented.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Filtering Traffic Using Access Control Lists Introducing Routing and Switching.
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Introduction to Mininet, Open vSwitch, and POX
Chapter 2. This presentation covers the following: – Command Line – Forms – Menus – Natural Language.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
SPEAKER: MUHAMMAD REZA ZULMAN DATE: NOVEMBER 17, 2014 OPENFLOW SPECIFICATION.
1 IPSec: An Overview Dr. Rocky K. C. Chang 4 February, 2002.
Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal.
OpenFlow: Enabling Innovation in Campus Networks Yongli Chen.
Header Space Analysis: Static Checking for Networks Broadband Network Technology Integrated M.S. and Ph.D. Eun-Do Kim Network Standards Research Section.
Programming Assignment 2 Zilong Ye. Traditional router Control plane and data plane embed in a blackbox designed by the vendor high-seed switching fabric.
SDN basics and OpenFlow. Review some related concepts SDN overview OpenFlow.
SDN and Security Security as a service in the cloud
SDN challenges Deployment challenges
Gijeong Kim ,Junho Kim ,Sungwon Lee Kyunghee University
SDN Network Updates Minimum updates within a single switch
Programming Assignment
ARP and RARP Objectives Chapter 7 Upon completion you will be able to:
Network Data Plane Part 2
Chapter 6: Network Layer
Chapter 5 Network Layer: The Control Plane
Northbound API Dan Shmidt | January 2017
Indigo Doyoung Lee Dept. of CSE, POSTECH
Abstractions for Model Checking SDN Controllers
Dynamic Packet-filtering in High-speed Networks Using NetFPGAs
ClosedFlow: OpenFlow-like Control over Proprietary Devices
Implementing an OpenFlow Switch on the NetFPGA platform
Programmable Networks
Lecture 10, Computer Networks (198:552)
OpenSec:Policy-Based Security Using Software-Defined Networking
Chapter 5 Network Layer: The Control Plane
Intrusion Detection Systems
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Formal Modeling of an Openflow Switch using Alloy Natali Ruchansky and Davide Proserpio

Outline  Background  Openflow  Alloy  Our model  Inside the switch  Functionalities  Properties (some of them)  Extensions and future work 2

SDN and Openflow  Software Defined Network (SDN)  decoupling between data and control plane access  Openflow  a standard interface for controlling computer network switches  Simplify networks administration  Very useful for research 3

Openflow scenario (Switch) 4

Alloy  Language and tool for relational models  Mixture of first order logic and relational algebra  Applications  Find security holes  Verify specifications (e.g. switching networks)  … 5

Our switch model  We model a Snapshot  Not a working system!  Possible events at any specific instance  We provide a context network  Network  Controller  End Hosts  Switches  Packets  Simplest network: 2 hosts, a switch and a controller Extend Nodes 6

What the (simplified) model looks like 7

Inside the Switch  Tables  Pipeline line implementation  Exists first/last table, no loops  Entries (flows)  Match fields  Compare to packet headers  Instructions  indicate what to do with packets  Counters  Keep track of statistics  Ports  Connect nodes  Every port has an owner 8

Functionalities  Packet handling  Checking for a match and act accordingly  Table modification  Add and delete  Messaging  Openflow  Controller-to-switch, asynchronous, symmetric  Data 9

Example: Add and Delete  Flow table modification messages  Add  If overlap flag & overlap: drop  No overlap flag: insert (replace if identical) entry  Delete  Strict (delete identical entries) ..and not strict version (delete all overlapped entries) 10 //Add entry to a table pred add[t,t':Table,e:Entry]{(t'.entries=t.entries+e)} pred delete[t,t':Table,e:Entry] {e in strictEntry =>t'.entries=t.entries-e else t'.entries=t.entries-findOverlap[e,t]}

Properties implemented (some) 1. NoForwardingLoop  This is ensured by checking that a packet entering a switch has not previously entered the switch. 2. NoBlackHoles  No packet mysteriously disappears from the system. 3. EchoAwareness  In our model, the Switch can be in two states – either it has received an echo reply, or it is awaiting one. 4. NoForgottenPackets  Any packet the Switch receives is eventually processed 5. CorrectInstall  Upon receipt of a new flow rule, the installation is correct. 11

NoForwardingLoop  We check for every packet if it has already been received/sent by any port of the switch pred noForwardingLoop[s:Switch, p:Packet] {no port:s.ports | port in (p.seen)} 12

EchoAwareness  the Switch can be in two states – either it has received an echo reply, or it is awaiting one. //send echo pred Switch.echoTest[] {this.s2c_sendPacket[s2cPacket,s2cPacket,EchoT3] && this.connectionStatus=waiting} //change status pred Switch.Echo[type: Type,]{type=EchoT1 => this.s2c_sendPacket[s2cPacket,s2cPacket,HelloT] && type=EchoT2 =>this.connectionStatus=acked} 13

More properties  FIFOprocessing  the model does not have a queue – we chose to set any queueing aside and have Packets processed on a first-come first-serve basis.  InstantOFRespones  When a Switch receives an Openflow message from the Controller, it answers right away  NoForgottenPackets  Any packet the Switch receives is eventually processed 14

Extensions  Notion of “time” (Done)  Implemented using module Ordering  Group tables and group types  Test specific applications/protocols 15

Thanks! 16