Introduction to Mininet, Open vSwitch, and POX

Slides:



Advertisements
Similar presentations
OpenFlow Global Configuration
Advertisements

The Problem Networks are at an Inflection Point
An OpenFlow Extension for the OMNeT++ INET Framework
P4 demo: a basic L2/L3 switch in 170 LOC
Bringing Together Linux-based Switches and Neutron
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
Ryu Book Chapter 1 Speaker: Chang, Cheng-Yu Date: 25/Nov./
Copyright 2014 Kenneth M. Chipps Ph.D. Software Defined Networking Lab Using Mininet and the POX Controller Last Update
OpenFlow Switch Specification-v part1 Speaker: Hsuan-Ling Weng Date: 2014/12/02.
Open vSwitch. What is Open vSwitch ?  Open vSwitch is an open source OpenFlow capable virtual switch that is typically used with hypervisor to interconnect.
Switching Topic 4 Inter-VLAN routing. Agenda Routing process Routing VLANs – Traditional model – Router-on-a-stick – Multilayer switches EtherChannel.
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
SDN and Openflow.
Networking Technologies for Cloud Computing USTC-INY5316 Instructor: Chi Zhang Fall 2014 Welcome to.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
An Overview of Software-Defined Network
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
An Overview of Software-Defined Network Presenter: Xitao Wen.
OmniRAN SoA and Gap Analysis Date: [ ] Authors: NameAffiliationPhone Antonio de la Juan Carlos
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
Brent Salisbury CCIE#11972 Network Architect University of Kentucky 9/22/ OpenStack & OpenFlow Demo.
Formal Modeling of an Openflow Switch using Alloy Natali Ruchansky and Davide Proserpio.
OpenFlow: Enabling Innovation in Campus Networks
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
Sponsored by the National Science Foundation Tutorial: An Introduction to OpenFlow using POX GENI Engineering Conference 20 June 2014.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
LOGO 未来移动互联网研究项目 Software Defined Networking 中科大移动云计算系统实验室 孟宁
Fast NetServ Data Path: OpenFlow integration Emanuele Maccherani Visitor PhD Student DIEI - University of Perugia, Italy IRT - Columbia University, USA.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Sponsored by the National Science Foundation 1 GEC16, March 21, 2013 Are you ready for the tutorial? 1.Did you do the pre-work? A.Are you able to login.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
Mininet and Openflow Labs. Install Mininet (do not do this in class) Download VirtualBox Download Xming for windows (X11) Download Mininet VM for linux-ubuntu.
1 VLANs Relates to Lab 6. Short module on basics of VLAN switching.
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
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.
3.6 Software-Defined Networks and OpenFlow
Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Programming Assignment 2 Zilong Ye. Traditional router Control plane and data plane embed in a blackbox designed by the vendor high-seed switching fabric.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Software OpenFlow Solutions using Open vSwitch
An open source user space fast path TCP/IP stack and more…
SDN basics and OpenFlow. Review some related concepts SDN overview OpenFlow.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Mininet and Openflow Labs
What I Learned From Mininet
Software defined networking: Experimental research on QoS
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
Programming Assignment
Programming Assignment
Network Data Plane Part 2
SDN Overview for UCAR IT meeting 19-March-2014
SDN basics and OpenFlow
Chapter 5 Network Layer: The Control Plane
Indigo Doyoung Lee Dept. of CSE, POSTECH
The Stanford Clean Slate Program
CCNA 3 v3 JEOPARDY Module 8 CCNA3 v3 Module 8 K. Martin.
Implementing an OpenFlow Switch on the NetFPGA platform
An Introduction to Software Defined Networking and OpenFlow
Chapter 5 Network Layer: The Control Plane
An Introduction to Software Defined Networking and OpenFlow
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Introduction to Mininet, Open vSwitch, and POX

Agenda Communication Protocol  OpenFlow SDN controller  POX Software switch  Open vSwitch Putting it all together  Mininet Demo

Traditional Network Devices L3 Router If dst-ip == X then ttl = ttl – 1 checksum = updateChecksum(packet) dst-mac = xx:xx:xx:xx:xx:xx send to output port P end Data Plane Control Plane Packet

Network Virtualization SDN Control Programs Control Programs Control Programs Network Virtualization Network OS OpenFlow FE FE FE Packet FE FE FE

Simple SDN Network L2 Forwarding Controller APIs POX, Floodlight, … Communication Protocol Software or Hardware Switch Ethernet,IP,ARP,TCP,HTTP,… Host1 Host2

Communication Protocol (OpenFlow)

OpenFlow (Main Components) Flow tables Matching Manipulation Counters Communication messages Controller to switch Asynchronous Symmetric Controller Pipeline Secure Channel Flow Table

Flow Tables (Structure) A flow-table consists of a set of flow entries a table miss configuration Drop packet Send to controller Process using the next flow-table Match fields Counters Instructions

Flow Tables (Processing) Pipeline processing Per table processing Find highest-priority matching flow entry Apply instructions Modify packet & update match fields Update action set Update metadata Send match data and action set to next table

Flow Tables (Matching) Physical  Ingress port Metadata L2  MAC src/dst, EtherType, VLAN, MPLS L3  IP src/dst, IP proto, IP ToS, ARP code L4  TCP/UDP src/dst, ICMP

Flow Tables (Counters) Table counters e.g. Packet lookups/matches Flow counters e.g. packets/bytes received Port counters e.g. packets/bytes transmitted/received, drops

Flow Tables (Instructions) Apply actions Apply the specified list action(s) immediately without modifying the action set Clear actions Clear all actions in the action set immediately Write actions Merge the specified set action(s) to the action set Write metadata Write the specified bits to the metadata register Goto table Indicate the next-table in the pipeline

Flow Tables (Actions) Output Drop Push/Pop VLAN/MPLS tag Set-Field IN_PORT  send packet to ingress port CONTROLLER  encapsulate and send to controller FLOOD  send packet to ports except ingress port Drop Push/Pop VLAN/MPLS tag Set-Field IPv4 src/dst addresses MAC src/dst addresses TCP src/dst ports

Communication Messages (Controller to Switch) Features Switch replies with list of ports, ports speeds, supported tables and actions Modify state Add, delete, or modify flow tables Read state Controller queries table, flow, or port counters Packet out Used by controller to send packets out of a specified port on the switch Barrier Used to ensure message dependencies have been met

Communication Messages (Asynchronous) Packet in All packets that do not have a matching flow entry are encapsulated and sent to the controller Flow removed Sent to controller when flow expires due to idle or hard timeouts Port status Generated if a port is brought down

Communication Messages (Symmetric) Hello Sent during the handshake i.e. secure channel setup Echo Sent to verify liveness and measure channel latency

SDN Controller (POX)

POX SDN controller written in Python Many build-in modules Python APIs to enable user extensions

POX (Built-in Modules) Hub flood packets L2 forwarding MAC learning L3 forwarding IP learning Topology discovery Underlying topology discovery Spanning tree protocol Implementation of the standard STP …

POX (Python APIs) Publish-Subscribe system A module can raise events A module can register for events provides by other modules A module must have a launch function

POX (Python APIs) Firewall L2 forwarding openflow Event Management Raise PacketIn Event Handle PacketIN (priority=100) Handle PacketIN Packet Packet Register Register Event Management POX Core Switch Switch Packet

POX (Python APIs)

POX (Python APIs)

Software Switch (Open vSwitch)

Open vSwitch (In a Nutshell)

L2 Switching MAC learning VLANs Learning table per VLAN ID Packets can only be forwarded between ports with the same VLAN ID

Linux Bridge L2 switch Very fast Runs in kernel space Host 1 Host 2 VM1 VM2 VM3 VM1 VM2 User-space Kernel-space br1 br2 br1 br2 eth0 eth1 eth0 eth1 MAC PORT Mac1 Port1 … Network

Open vSwitch (Features) Enables Linux to become part of the SDN architecture Features L2-L4 matching VLANs with trunking Tunneling protocols such as GRE Remote configuration protocol Multi-table forwarding pipeline Monitoring via NetFlow, sFlow Spanning Tree Protocol Fine-grained QoS OpenFlow support Runs in either Standalone mode OpenFlow mode

Open vSwitch (Architecture) SDN Controller Remote ovs-dpctl ovs-ofctl ovs-appctl ovs-vsctl ovs-dbtool Management ovs-vswitchd ovsdb-server classifier flow tables ovsdb User-space Kernel-space fast datapath module Hash lookup flow table packet packet Physical NIC Physical NIC

Open vSwitch (Configuration) Add a bridge and connect to controller Host 1 VM1 SDN Controller tap0 br1 eth0 eth1 eth2

Open vSwitch (Configuration) Add a bridge and connect to controller

A Network in a Laptop (Mininet)

Mininet Mininet is a system for rapidly prototyping large networks on a single laptop Lightweight OS-level virtualization Isolated network namespace Constrained CPU usage on isolated namespace CLI and Python APIs Can Create custom topologies Run real programs Custom packet forwarding using OpenFlow

Mininet (Architecture)

Mininet (Implementation)

Mininet (Examples)

Demo OpenFlow channel setup wireshark capture POX l2_learning module walkthrough Open vSwitch configuration examples Mininet examples

References OpenFlow http://www.openflow.org Open vSwitch http://www.openvswitch.org POX https://openflow.stanford.edu/display/ONL/POX+Wiki Mininet http://mininet.org