An Introduction to Open vswitch



Similar documents
How To Make A Network Cable Reliable And Secure

APPLICATION NOTE 210 PROVIDER BACKBONE BRIDGE WITH TRAFFIC ENGINEERING: A CARRIER ETHERNET TECHNOLOGY OVERVIEW

Ethernet, VLAN, Ethernet Carrier Grade

Underneath OpenStack Quantum: Software Defined Networking with Open vswitch

Shortest Path Bridging IEEE 802.1aq Overview

Resiliency in Ethernet Based Transport Networks

Rohde & Schwarz R&S SITLine ETH VLAN Encryption Device Functionality & Performance Tests

VLAN and QinQ Technology White Paper

Understanding PBB-TE for Carrier Ethernet

Joint ITU-T/IEEE Workshop on Carrier-class Ethernet

Linux Virtual Server Tutorial

OpenStack: OVS Deep Dive

How Linux kernel enables MidoNet s overlay networks for virtualized environments. LinuxTag Berlin, May 2014

Backbone Provider Bridging Networks A Highly Scalable VLAN (Multicast) Architecture

Linux KVM Virtual Traffic Monitoring

Provider Backbone Bridging Traffic Engineering of Carrier Ethernet Services

Protecting and controlling Virtual LANs by Linux router-firewall

VLANs. Application Note

enetworks TM IP Quality of Service B.1 Overview of IP Prioritization


SCLP: Segment-oriented Connection-less Protocol for High-Performance Software Tunneling in Datacenter Networks

Network Virtualization and Software-defined Networking. Chris Wright and Thomas Graf Red Hat June 14, 2013

VLAN for DekTec Network Adapters

Software Defined Networking Supported by IEEE 802.1Q

VXLAN: Scaling Data Center Capacity. White Paper

What is VLAN Routing?

OVERLAYING VIRTUALIZED LAYER 2 NETWORKS OVER LAYER 3 NETWORKS

Network virtualization

RESILIENT NETWORK DESIGN

ISTANBUL. 1.1 MPLS overview. Alcatel Certified Business Network Specialist Part 2

VXLAN, Enhancements, and Network Integration

The Network Hypervisor

Extending Networking to Fit the Cloud

DCB for Network Virtualization Overlays. Rakesh Sharma, IBM Austin IEEE 802 Plenary, Nov 2013, Dallas, TX

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

Expert Reference Series of White Papers. vcloud Director 5.1 Networking Concepts

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

CMA5000 SPECIFICATIONS Gigabit Ethernet Module

Network Security TCP/IP Refresher

Software Defined Networking using VXLAN

CERN Cloud Infrastructure. Cloud Networking

20. Switched Local Area Networks

IP address format: Dotted decimal notation:

Active-Active Servers and Connection Synchronisation for LVS

WHITE PAPER. Network Virtualization: A Data Plane Perspective

Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

Datacenter Network Virtualization in Multi-Tenant Environments

24-Port 10/100Mbps + 4-Port Gigabit L2 Managed Switch TL-SL5428E

MPLS VPN Services. PW, VPLS and BGP MPLS/IP VPNs

Network Virtualization Technologies and their Effect on Performance

VMware Network Virtualization Design Guide. January 2013

Overlay networking with OpenStack Neutron in Public Cloud environment. Trex Workshop 2015

Cloud Networking: Framework and VPN Applicability. draft-bitar-datacenter-vpn-applicability-01.txt

ICS 351: Today's plan. IP addresses Network Address Translation Dynamic Host Configuration Protocol Small Office / Home Office configuration

SDN, OpenFlow and the ONF

Multi-Provider Ethernet Service Delivery

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

VLAN und MPLS, Firewall und NAT,

vsphere Networking vsphere 6.0 ESXi 6.0 vcenter Server 6.0 EN

Network Virtualization

Provider Backbone Bridging Networks A Highly Scalable VLAN (Multicast) Architecture

Dynamic Host Configuration Protocol (DHCP) 02 NAT and DHCP Tópicos Avançados de Redes

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

VXLAN Bridging & Routing

基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器

EVOLVING ENTERPRISE NETWORKS WITH SPB-M APPLICATION NOTE

Avaya VENA Fabric Connect

IP Addressing A Simplified Tutorial

vsphere Networking vsphere 5.5 ESXi 5.5 vcenter Server 5.5 EN

Roman Hochuli - nexellent ag / Mathias Seiler - MiroNet AG

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

CLOUD NETWORKING FOR ENTERPRISE CAMPUS APPLICATION NOTE

Using Network Virtualization to Scale Data Centers

IP videoconferencing solution with ProCurve switches and Tandberg terminals

Programmable Networking with Open vswitch

Broadcom Smart-NV Technology for Cloud-Scale Network Virtualization. Sujal Das Product Marketing Director Network Switching

VXLAN Overlay Networks: Enabling Network Scalability for a Cloud Infrastructure

Quantum Hyper- V plugin

LECTURE 4 NETWORK INFRASTRUCTURE

24 Port Gigabit Ethernet Web Smart Switch. Users Manual

UPPER LAYER SWITCHING

Software Defined Networking (SDN) OpenFlow and OpenStack. Vivek Dasgupta Principal Software Maintenance Engineer Red Hat

TP-LINK L2 Managed Switch

QoS Switching. Two Related Areas to Cover (1) Switched IP Forwarding (2) 802.1Q (Virtual LANs) and 802.1p (GARP/Priorities)

Multi-Tenant Isolation and Network Virtualization in. Cloud Data Centers

Exploring Layer 2 Network Security in Virtualized Environments. Ronny L. Bull & Jeanna N. Matthews

TP-LINK 24-Port Gigabit L2 Managed Switch with 4 SFP Slots

Understanding VLAN Translation/Rewrites using Switches and Routers

Data Center Overlay Technologies

network infrastructure: getting started with VoIP

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

How To Mirror On An Ipfix On An Rspan Vlan On A Pc Or Mac Or Ipfix (Networking) On A Network On A Pnet (Netnet) On An Uniden (Netlan

Transcription:

An Introduction to Open vswitch Netfilter Workshop, Seville, Spain Simon Horman <simon@horms.net> Horms Solutions Ltd., Tokyo October 2010

Open vswitch Server Open vswitch Datapath Open vswitch Controller Flexibility for Networking in Virtualised Environments Flexible Controller in User-Space Fast Datapath in Kernel

Open vswitch Availability Available from openvswitch.org Development code is available in git Announce, discussion and development mailing lists User-space (controller and tools) is under the Apache license Kernel (datapath) is under the GPLv2 Shared headers are dual-licensed

Open vswitch Concepts A switch contains ports A port may have one or more interfaces Bonding allows more than once interface per port Packets are forward by flow

Packets are Managed as Flows A flow may be identified by any combination of Input port VLAN ID (802.1Q) Ethernet Source MAC address Ethernet Destination MAC address IP Source MAC address IP Destination MAC address TCP/UDP/... Source Port TCP/UDP/... Destination Port

Packets are Managed as Flows 1 The first packet of a flow is sent to the controller 2 The controller programs the datapath s actions for a flow Usually one, but may be a list Actions include: Forward to a port or ports, mirror Encapsulate and forward to controller Drop 3 And returns the packet to the datapath 4 Subsequent packets are handled directly by the datapath Server 1 Open vswitch Datapath Open vswitch Controller 2 4 3

Network Scalability Problems in Virtualised Environments Migration VLANs QoS Management

Migration KVM and Xen provide Live Migration With bridging, IP address migration must occur with in the same L2 network Open vswitch avoids this problem using GRE tunnels

VLANs Per-Customer VLANs are desirable for security reasons But there is a limit of 4094 VLANs

More VLANs Two, apparently competing, approaches 1 IETF / Cisco RFC5517 Private VLANs 2 IEEE 802.1ad Provider Bridges (Q-in-Q) 802.1ah Provider Backbone Brides (MAC-in-MAC)

RFC5517 Private VLANs Uses existing 802.1Q framing Simple to implement (in software/firmware) Makes use of pairs of VIDs Requires all switches to support of Private VLANs otherwise switch tables may not merge Provides L2 broadcast isolation Forwarding may occur at L3 Requires the router to perform proxy ARP Currently not supported by Open vswitch

RFC5517 Private VLANs Three VLAN classifications Promiscuous May communicate with endpoints on any port e.g.: Gateway, Management Host Community May only communicate with endpoints on promiscuous ports or ports belonging to the same comunity e.g.: Different hosts belonging to the same customer Isolated May only communicate with endpoints on promiscuous ports e.g.: Hosts that only require access to the gateway

Private VLANs Domain View P C 1 C 2 I Promiscous domain (P) May communicate with endpoints in the same domain and sub-domains Two community sub-domains (C 1, C 2 ) May communicate with endpoints in the same domain and parent-domain Isolated sub-domain (I) May communicate with endpoints in the parent domain May not communicate with endpoints in the same domain

802.1ad Provider Bridges (Q-in-Q) Current standard is 802.1ad-2005, Approved December 2005 Builds on 802.1Q New Framing C-VID (inner) Renamed 802.1Q VID There may be more than one C-VID (inner-inner,...) S-VID (outer) Different ether-type to C-VID May be translated Currently not supported by Linux Kernel / Open vswitch

802.1ad Framing Provider Bridges DA SA S-VID C-VID VID Destination MAC address Source MAC addresss Service VLAN ID Customer VLAN ID VLAN ID DA SA Payload 802.1 DA SA VID Payload 802.1Q DA SA S-VID C-VID Payload 802.1ad

802.1ah Provider Backbone Bridges (MAC-in-MAC) Current standard is 802.1ah-2008, Approved August 2008 Builds on 802.1ad New Framing MAC encapsulation provides full Client VLAN isolation Inner MAC is unknown outside of its scope I-SID: Up to 2 24 16million backbone services I-VID semantics are the same as the S-VLAN Only edge switches need to be Provider Backbone Bridge aware Core switches need only be Provider Bridge (802.1ad) aware Currently not supported by Linux Kernel / Open vswitch

802.1ah Framing Provider Backbone Bridges B-DA B-SA B-VID I-SID DA SA S-VID C-VID VID Backbone Destination MAC address Backbone Source MAC address Backbone VLAN ID Service ID Destination MAC address Source MAC addresss Service VLAN ID Customer VLAN ID VLAN ID DA SA Payload DA SA VID DA SA S-VID C-VID Payload 802.1 Payload 802.1Q 802.1ad B-DA B-SA B-VID I-SID DA SA S-VID C-VID Payload 802.1ah

QoS Open vswitch QoS capabilities 1 Interface rate limiting 2 Port QoS policy

QoS: Interface rate limiting A rate and burst can be assigned to an Interface Conceptually similar to Xen s netback credit scheduler # ovs-vsctl set Interface tap0 ingress_policing_rate=100000 # ovs-vsctl set Interface tap0 ingress_policing_burst=10000 Simple Appears to work as expected

QoS: No interface rate limiting example UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_ # netperf -4 -t UDP_STREAM -H 172.17.50.253 -- -m 8972 to +172.17.50.253 (172.17.50.253) port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec 120832 8972 10.01 146797 0 1052.60 109568 10.01 146620 1051.33 tap networking used jumbo frames required to reach line speed ( 210Mbits/s with 1500 byte frames) virtio should do better?

QoS: Interface rate limiting example UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_ # netperf -4 -t UDP_STREAM -H 172.17.50.253 to 172.17.50.253 (172.17.50.253) port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec 120832 8972 10.01 149735 0 1073.66 109568 10.01 14684 105.29 Difference in sent and received packets indicates a flow control problem. virtio should do better?

QoS: Port QoS policy A port may be assigned one ore more QoS policy Each QoS policy consists of a class and a qdisc Classes and qdisc use the Linux kernel s tc implementation Only HTB classes are supported at this time Each class has a single qdisc associated with it The class of a flow is chosen by the controller The QoS policy (i.e. class) of a flow is chosen by the controller

QoS: Port QoS policy example Programming the Datapath 1:# ovs-vsctl set port eth1 qos=@newqos \ 2: -- --id=@newqos create qos type=linux-htb \ 3: other-config:max-rate=200000000 queues=0=@q0,1=@q1 \ 4: -- --id=@q0 create queue \ 5: other-config:min-rate=100000000 \ 6: other-config:max-rate=100000000 \ 7: -- --id=@q1 create queue \ 8: other-config:min-rate=50000000 \ 9: other-config:max-rate=50000000

QoS: Port QoS policy example Hard-coding the controller # ovs-ofctl add-flow br0 "in_port=2 ip nw_dst=172.17.50.253 \ idle_timeout=0 actions=enqueue:1:0" # ovs-ofctl add-flow br0 "in_port=3 ip nw_dst=172.17.50.253 \ idle_timeout=0 actions=enqueue:1:1" Only suitable for testing

QoS: Port QoS policy example Guest 0: # netperf -4 -t TCP_STREAM -H 172.17.50.253 -l 30 -- -m 8972 TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.17.50.253 (172.17.50.253) port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 8972 30.01 99.12 Guest 1: # netperf -4 -t TCP_STREAM -H 172.17.50.253 -l 30 -- -m 8972... 87380 16384 8972 30.14 49.56

QoS: Port QoS policy controller improvements Add a default queue to the Port table Add enqueue to the FLOOD and NORMAL ports or use NOX (a different controller)

Conclusion Open vswitch is aimed at addressing short-comings in using bridging in virtualised environments It is a young project and there is much scope to contribute Extended VLAN support Private VLANs 802.1ad 802.1ah Improved QoS Add a default queue to the Port table Add enqueue to the FLOOD and NORMAL ports or use NOX (a different controller) High-Level Management