Towards Correct Network Virtualization. Soudeh Ghorbani Brighten Godfrey UIUC



Similar documents
Hypothesis Testing for Network Security

A Migration of Virtual Machine to Remote System

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

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

Formal Specification and Programming for SDN

Software Defined Networking Architecture

Understanding Latency in Software Defined Networks

Application Delivery Networking

Live Migration of an Entire Network (and its Hosts)

SDN. What's Software Defined Networking? Angelo Capossele

Securing Local Area Network with OpenFlow

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

Automated Formal Analysis of Internet Routing Systems

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

A collaborative model for routing in multi-domains OpenFlow networks

OpenBox: Enabling Innovation in Middlebox Applications

How To Orchestrate The Clouddusing Network With Andn

VXLAN: Scaling Data Center Capacity. White Paper

Datacenter Network Large Flow Detection and Scheduling from the Edge

Software Defined Networking Basics

PLUMgrid Open Networking Suite Service Insertion Architecture

SDN Programming Languages. Programming SDNs!

Netzwerkvirtualisierung? Aber mit Sicherheit!

Flow Monitoring With Cisco Routers

Data Center Load Balancing Kristian Hartikainen

Elasticity in virtual middleboxes using NFV/SDN

SIIT-DC: IPv4 Service Continuity for IPv6 Data Centres. Tore Anderson Redpill Linpro AS RIPE69, London, November 2014

High Availability HTTP/S. R.P. (Adi) Aditya Senior Network Architect

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

Application Note. Stateful Firewall, IPS or IDS Load- Balancing

OpenFlow and Onix. OpenFlow: Enabling Innovation in Campus Networks. The Problem. We also want. How to run experiments in campus networks?

Assignment 6: Internetworking Due October 17/18, 2012

OVERLAYING VIRTUALIZED LAYER 2 NETWORKS OVER LAYER 3 NETWORKS

STRUCTURE AND DESIGN OF SOFTWARE-DEFINED NETWORKS TEEMU KOPONEN NICIRA, VMWARE

FRESCO: Modular Composable Security Services for So;ware- Defined Networks

Data Analysis Load Balancer

FIREWALL AND NAT Lecture 7a

SINGLE-TOUCH ORCHESTRATION FOR PROVISIONING, END-TO-END VISIBILITY AND MORE CONTROL IN THE DATA CENTER

Analysis of Network Segmentation Techniques in Cloud Data Centers

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

LPM: Layered Policy Management for Software-Defined Networks

Firewalls P+S Linux Router & Firewall 2013

Measuring Control Plane Latency in SDN-enabled Switches

Business Values of Network and Security Virtualization

Outline. EE 122: Interdomain Routing Protocol (BGP) BGP Routing. Internet is more complicated... Ion Stoica TAs: Junda Liu, DK Moon, David Zats

Data Center Use Cases and Trends

Network Security: Network Flooding. Seungwon Shin GSIS, KAIST

Enabling Service Function Chaining through Routing Optimization in Software Defined Networks

TRILL Large Layer 2 Network Solution

Software Defined Networking Real World Use Cases (Test bed at Marist/IBM)

SDN Tutorial. Dean Pemberton NSRC

Cisco Intercloud Fabric for Business

CheckPoint Software Technologies LTD. How to Configure Firewall-1 With Connect Control

GregSowell.com. Mikrotik Security

CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks

Software Defined Networking - Real World Use Cases (Test bed at Marist/IBM)

On real-time delay monitoring in software-defined networks

OpenFlow: Enabling Innovation in Campus Networks

Project 3 and Software-Defined Networking (SDN)

Tutorial: OpenFlow in GENI

A Case for Overlays in DCN Virtualization Katherine Barabash, Rami Cohen, David Hadas, Vinit Jain, Renato Recio and Benny Rochwerger IBM

Network Security through Software Defined Networking: a Survey

Project 4: SDNs Due: 11:59 PM, Dec 11, 2014

Outline. Why Neutron? What is Neutron? API Abstractions Plugin Architecture

Extensible and Scalable Network Monitoring Using OpenSAFE

Building a small Data Centre

How To Build A Policy Aware Switching Layer For Data Center Data Center Servers

OpenFlow based Load Balancing for Fat-Tree Networks with Multipath Support

Comparisons of SDN OpenFlow Controllers over EstiNet: Ryu vs. NOX

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Implementation of Address Learning/Packet Forwarding, Firewall and Load Balancing in Floodlight Controller for SDN Network Management

Concepts and Mechanisms for Consistent Route Transitions in Software-defined Networks

SDN PARTNER INTEGRATION: SANDVINE

Multicasting on SDN. Prof. Sunyoung Han Konkuk University 23 July 2015

Software-Defined Networks: on the road to the softwarization of networking

How To Understand The Power Of The Internet

FLOWGUARD: Building Robust Firewalls for Software-Defined Networks

International Journal of Emerging Technology in Computer Science & Electronics (IJETCSE) ISSN: Volume 8 Issue 1 APRIL 2014.

Towards an Elastic Distributed SDN Controller

FLOWGUARD: Building Robust Firewalls for Software-Defined Networks

How To Extend Security Policies To Public Clouds

Data Center Infrastructure of the future. Alexei Agueev, Systems Engineer

Global Headquarters: 5 Speen Street Framingham, MA USA P F

Stanford SDN-Based Private Cloud. Johan van Reijendam Stanford University

Optimizing Data Center Networks for Cloud Computing

Brocade One Data Center Cloud-Optimized Networks

Multiple Service Load-Balancing with OpenFlow

PART D NETWORK SERVICES

SDN/Virtualization and Cloud Computing

Introduction to Software Defined Networking (SDN) and how it will change the inside of your DataCentre

Transcription:

Towards Correct Network Virtualization Soudeh Ghorbani Brighten Godfrey UIUC HotSDN 2014

Virtualization VM VM VM Hypervisor x86

Virtualization Firewall Loadbalancer Router VM VM VM L2 bridge Hypervisor Network Virtualization x86 Physical Network

Virtualization Firewall Loadbalancer Router VM VM VM L2 bridge Hypervisor Network Virtualization x86 Diagram inspired by Teemu Koponen s NSDI 2014 talk on Network Virtualization in Multi-tenant Datacenters. Physical Network

Is the physical implementation a faithful reproduction of the virtual network?

Virtual firewall Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server.

Virtual firewall Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server.

Virtual firewall X Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server.

Virtual firewall Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server.

Virtual firewall Policy: permit an external server to talk to an internal client if and only if the client has sent a request to the server.

Firewall Switch Virtual firewall app Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller

Firewall Switch Virtual firewall app Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller

Firewall Switch Virtual firewall app Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller

(Part of the) Firewall Controller Firewall Switch Virtual firewall app Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller switch(msg.gettype()) { case PACKET_IN: if ( internal.contains(msg.srcmac()) ) { whitelisted[msg.dstmac()][msg.srcmaca()] = true; }else { if (whitelisted[msg.srcmac()][msg.dstmac()] ){ whitelist(sw, msg); }else{ blacklist(sw, msg); } }

(Part of the) Firewall Controller Firewall Switch Virtual firewall app Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller Packet-in from an internal client? Save state: dst server is allowed to send back. switch(msg.gettype()) { case PACKET_IN: if ( internal.contains(msg.srcmac()) ) { whitelisted[msg.dstmac()][msg.srcmaca()] = true; }else { if (whitelisted[msg.srcmac()][msg.dstmac()] ){ whitelist(sw, msg); }else{ blacklist(sw, msg); } }

(Part of the) Firewall Controller Firewall Switch Virtual firewall app Prio rity Flow Action 10 srcip=130.126.*.* Send to controller, fwd(1) 0 * Send to controller switch(msg.gettype()) { case PACKET_IN: if ( internal.contains(msg.srcmac()) ) { whitelisted[msg.dstmac()][msg.srcmaca()] = true; }else { if (whitelisted[msg.srcmac()][msg.dstmac()] ){ whitelist(sw, msg); }else{ blacklist(sw, msg); } } Packet-in from an external server? If the server is allowed to send, install rules to allow bidirectional traffic. Else, blacklist the external server.

Virtual firewall Firewall 1

Virtual firewall Firewall 2 1

Virtual firewall Firewall 2 1 3

Virtual firewall Firewall 2 1 3 4

Virtual firewall Firewall 2 1 5 3 4

Firewall + virtualization = bug Firewall

Firewall + virtualization = bug Flow src=130.126.*.* Action Firewall Send to controller, fwd(1) * Send to controller

Firewall + virtualization = bug Flow src=130.126.*.* Action Firewall Send to controller, fwd(1) * Send to controller Flow Action * Send to controller Flow src=130.126.*.* Action Send to controller, fwd(1)

Firewall + virtualization = bug Firewall

Firewall + virtualization = bug Firewall

Firewall + virtualization = bug Firewall X

Network virtualization: What could go wrong? Stateful firewall NAT Load-balancer Virtualization technique One-to-many mapping One-to-many mapping One-to-many mapping Incorrect-behavior Blacklisting the legitimate hosts Dropping requested packets Overloading some servers and leaving some underutilized Firewall & router Many-to-one mapping Blacklisting the legitimate hosts

Related work Incorrect behavior caused by moving, observed in: 1. LIME: Transparent, Live Migration of a Software-Defined Network, Soudeh Ghorbani, Cole Schlesinger, Matthew Monaco, Eric Keller, Matthew Caesar, Jennifer Rexford, David Walker, under submission. 2. OpenNF: Enabling Innovation in Network Function Control, Aaron Gember-Jacobson, Raajay Viswanathan, Chaithan Prakash, Robert Grandl, Junaid Khalid, Sourav Das, Aditya Akella, SIGCOMM 2014. These existing solutions are: Only a short-term fix while virtual network is being moved. Infeasible when incorrect behavior is permanent rather than transient.

Root-cause of the incorrect behavior

Firewall + virtualization = bug Firewall X

Firewall + virtualization = bug Firewall X

Firewall + virtualization = bug Firewall Root-cause: forwarding decision has some dependency on the history, the sequence of previous send and receive events. X

Who programs the network? The entities that can make or influence the forwarding decisions: Controller Switch: random forwarding like ECMP Data packet: indirectly through local state, e.g., idle-timers

Who programs the network? The entities that can make or influence the forwarding decisions: Controller Switch: random forwarding like ECMP Data packet: indirectly through local state, e.g., idle-timers

Can existing correctness definitions detect the incorrect behavior? Correctness conditions: 1. Per-packet/flow consistency: prevents loops, black-holes, Consensus Routing [NSDI 08], Consistent Updates [SIGCOMM 12] 2. Congestion freedom zupdates [SIGCOMM 13], SWAN [SIGCOMM 13], On Consistent Updates in Software-Defined Networks [HotNets 13]

Can existing correctness definitions detect the incorrect behavior? Correctness conditions: 1 None of these conditions were violated in our examples! 1. Per-packet/flow consistency: prevents loops, black-holes, Consensus Routing [NSDI 08], Consistent Updates [SIGCOMM 12] 2. Congestion freedom zupdates [SIGCOMM 13], SWAN [SIGCOMM 13], On Consistent Updates in Software-Defined Networks [HotNets 13]

Can existing correctness definitions detect the incorrect behavior? Correctness conditions: 1 None of these conditions were violated in our examples! 1. Per-packet/flow consistency: prevents loops, black-holes, 2 Correctness is what users want. Consensus Routing [NSDI 08], Consistent Leslie Lamport Updates [SIGCOMM 12] 2. Congestion freedom zupdates [SIGCOMM 13], SWAN [SIGCOMM 13], On Consistent Updates in Software-Defined Networks [HotNets 13]

Can existing correctness definitions detect the incorrect behavior? Correctness conditions: 1 None of these conditions were violated in our examples! 1. Per-packet/flow consistency: prevents loops, black-holes, Correctness is what users want. Consensus Routing [NSDI 08], Consistent Leslie Lamport Updates [SIGCOMM 12] Techniques designed to preserve those correctness conditions could break the otherwise correct behavior. zupdates [SIGCOMM 13], SWAN [SIGCOMM 13], On Consistent Updates in Software-Defined Networks [HotNets 13] 2 3 2. Congestion freedom

Can existing correctness definitions detect the incorrect behavior? Correctness conditions: 1 1. Per-packet/flow consistency: prevents loops, black-holes, 2 3 Correctness is what users want. Consensus Routing [NSDI 08], Consistent Leslie Lamport Updates [SIGCOMM 12] Techniques designed to preserve those correctness conditions could break the otherwise correct behavior. zupdates [SIGCOMM 13], SWAN [SIGCOMM 13], On Consistent Updates in Software-Defined Networks We need [HotNets 13] new definitions of correctness and new techniques to achieve those. 2. Congestion freedom 4 None of these conditions were violated in our examples!

A new correctness condition: End-to-end correctness

A new correctness condition: End-to-end correctness?

A new correctness condition: End-to-end correctness?

A new correctness condition: End-to-end correctness A mapping of a logical network L to a physical network P is said to be end-to-end correct iff Pr L [E] Pr P [E] where E is the partially ordered set of send and receive events.

A new correctness condition: End-to-end correctness A mapping of a logical network L to a physical network P is said to be end-to-end correct iff Pr L [E] Pr P [E] where E is the partially ordered set of send and receive events. Key features: distinguishes between events that happen always, sometimes, and never.

A new correctness condition: End-to-end correctness A mapping of a logical network L to a physical network P is said to be end-to-end correct iff Pr L [E] Pr P [E] where E is the partially ordered set of send and receive events. Key features: distinguishes between events that happen always, sometimes, and never. permissive of the differences in packet loss or timing that do not affect correctness.

A new correctness condition: End-to-end correctness A mapping of a logical network L to a physical network P is said to be end-to-end correct iff Pr L [E] Pr P [E] where E is the partially ordered set of send and receive events. Key features: distinguishes between events that happen always, sometimes, and never. permissive of the differences in packet loss or timing that do not affect correctness. permissive of the legitimate differences in orderings of events.

So far: 1 We identified the problem: incorrect application-level behavior under the existing virtualization techniques. We identified its rootcause: dependence on 2 the history. 3 We developed an analytical framework to reason about the problem. Research Vision: Developing a general algorithm. 4 Proving its correctness. 5 Developing a correct virtualization System. 6

Thanks! Questions?