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



Similar documents
Introduction to Network Virtualization in IaaS Cloud. Akane Matsuo, Midokura Japan K.K. LinuxCon Japan 2013 May 31 st, 2013

Network Virtualization Technologies and their Effect on Performance

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

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

Using SouthBound APIs to build an SDN Solution. Dan Mihai Dumitriu Midokura Feb 5 th, 2014

Network Virtualization

How To Orchestrate The Clouddusing Network With Andn

Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking

Programmable Networking with Open vswitch

Linux KVM Virtual Traffic Monitoring

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

Underneath OpenStack Quantum: Software Defined Networking with Open vswitch

Extending Networking to Fit the Cloud

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

SDN software switch Lagopus and NFV enabled software node

IPOP-TinCan: User-defined IP-over-P2P Virtual Private Networks

SDN CONTROLLER. Emil Gągała. PLNOG, , Kraków

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

SOFTWARE DEFINED NETWORKING: INDUSTRY INVOLVEMENT

Telecom - The technology behind

ODP Application proof point: OpenFastPath. ODP mini-summit

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

OVERLAYING VIRTUALIZED LAYER 2 NETWORKS OVER LAYER 3 NETWORKS

Data Center Use Cases and Trends

SOFTWARE DEFINED NETWORKING

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

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

State of the Art Cloud Infrastructure

SDN v praxi overlay sítí pro OpenStack Daniel Prchal daniel.prchal@hpe.com

Real-Time KVM for the Masses Unrestricted Siemens AG All rights reserved

RIDE THE SDN AND CLOUD WAVE WITH CONTRAIL

High-performance vnic framework for hypervisor-based NFV with userspace vswitch Yoshihiro Nakajima, Hitoshi Masutani, Hirokazu Takahashi NTT Labs.

RCL: Design and Open Specification

Intel DPDK Boosts Server Appliance Performance White Paper

High Performance OpenStack Cloud. Eli Karpilovski Cloud Advisory Council Chairman

Virtual Firewalls. Ivan Pepelnjak NIL Data Communications

Core and Pod Data Center Design

Analysis of Network Segmentation Techniques in Cloud Data Centers

How To Build An Openstack Cloud System

Virtualization, SDN and NFV

Flexible Building Blocks for Software Defined Network Function Virtualization (Tenant-Programmable Virtual Networks)

Simplifying Big Data Deployments in Cloud Environments with Mellanox Interconnects and QualiSystems Orchestration Solutions

Cisco Prime Network Services Controller. Sonali Kalje Sr. Product Manager Cloud and Virtualization, Cisco Systems

CERN Cloud Infrastructure. Cloud Networking

Simplify Your Data Center Network to Improve Performance and Decrease Costs

The Impact of Virtualization on Cloud Networking Arista Networks Whitepaper

VXLAN: Scaling Data Center Capacity. White Paper

White Paper. SDN 101: An Introduction to Software Defined Networking. citrix.com

Multitenancy Options in Brocade VCS Fabrics

DPDK Summit 2014 DPDK in a Virtual World

Network Virtualization Tools in Linux PRESENTED BY: QUAMAR NIYAZ & AHMAD JAVAID

How To Build A Software Defined Data Center

Networking in the Era of Virtualization

Building an Open, Adaptive & Responsive Data Center using OpenDaylight

Technology and Trends in Network Virtualization

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

Research trends in abstraction of networks and orchestration of network services

The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology

Network Virtualization

Sales Slide Midokura Enterprise MidoNet V1. July 2015 Fujitsu Limited

STRATEGIC WHITE PAPER. The next step in server virtualization: How containers are changing the cloud and application landscape

Pluribus Netvisor Solution Brief

HAWAII TECH TALK SDN. Paul Deakin Field Systems Engineer

Network performance in virtual infrastructures

Software-Defined Networking Architecture Framework for Multi-Tenant Enterprise Cloud Environments

Quantum Hyper- V plugin

Roman Hochuli - nexellent ag / Mathias Seiler - MiroNet AG

What is SDN? And Why Should I Care? Jim Metzler Vice President Ashton Metzler & Associates

OpenStack, OpenDaylight, and OPNFV. Chris Wright Chief Technologist Red Hat Feb 3, CHRIS WRIGHT OpenStack, SDN and NFV

Broadcom Ethernet Network Controller Enhanced Virtualization Functionality

VMDC 3.0 Design Overview

Open Source Network: Software-Defined Networking (SDN) and OpenFlow

Achieving a High-Performance Virtual Network Infrastructure with PLUMgrid IO Visor & Mellanox ConnectX -3 Pro

WHITE PAPER. Network Virtualization: A Data Plane Perspective

Transform Your Business and Protect Your Cisco Nexus Investment While Adopting Cisco Application Centric Infrastructure

Softening the Network: Virtualization s Final Frontier

Software Defined Network (SDN)

Enabling Technologies for Distributed and Cloud Computing

VMware. NSX Network Virtualization Design Guide

Why Software Defined Networking (SDN)? Boyan Sotirov

Utility Computing and Cloud Networking. Delivering Networking as a Service

SDN/OpenFlow. Dean Pemberton Andy Linton

Implementing and Troubleshooting the Cisco Cloud Infrastructure **Part of CCNP Cloud Certification Track**

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

Qualifying SDN/OpenFlow Enabled Networks

BROCADE NETWORKING: EXPLORING SOFTWARE-DEFINED NETWORK. Gustavo Barros Systems Engineer Brocade Brasil

VON/K: A Fast Virtual Overlay Network Embedded in KVM Hypervisor for High Performance Computing

An Introduction to Open vswitch

CS244 Lecture 5 Architecture and Principles

Evolution of Software Defined Networking within Cisco s VMDC

What is SDN all about?

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Open Source Networking for Cloud Data Centers

Using Network Virtualization to Scale Data Centers

Enabling Technologies for Distributed Computing

Software Defined Cloud Networking

Transcription:

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

About Me: Pino de Candia At Midokura since late 2010: Joined as a Software Engineer Managed the Network Agent team starting in 2012 VP of Engineering since April 2013 Prior to Midokura spent 5 years at Amazon: Helped build Dynamo, a NoSQL data store Managed an internal software team focused on caching technologies 2

Talk Agenda Network Virtualization Definition and Requirements How MidoNet implements Network Virtualization Advantages of the Network Overlay approach How Linux Kernel makes this possible 3

Requirements Requirements for NV uplink Provider Virtual Router (L3) Tenant/Project A Tenant/Project B Tenant A Virtual Router Tenant B Virtual Router Network A1 Network A2 Network B1 TenantB office Virtual L2 Switch A1 Virtual L2 Switch A2 Virtual L2 Switch B1 Tenant B VPN Router VM1 VM3 VM5 VM2 VM4 VM6 Office Network 4 4

Requirements Requirements for NV uplink Isolated tenant networks (virtual data center) Provider Virtual Router (L3) Tenant/Project A Tenant/Project B Tenant A Virtual Router Tenant B Virtual Router Network A1 Network A2 Network B1 TenantB office Virtual L2 Switch A1 Virtual L2 Switch A2 Virtual L2 Switch B1 Tenant B VPN Router VM1 VM3 VM5 VM2 VM4 VM6 Office Network 5 5

Requirements Requirements for NV uplink Provider Virtual Router (L3) L3 Isolation (similar to VPC and VRF) Tenant/Project A Tenant/Project B Tenant A Virtual Router Tenant B Virtual Router Network A1 Network A2 Network B1 TenantB office Virtual L2 Switch A1 Virtual L2 Switch A2 Virtual L2 Switch B1 Tenant B VPN Router VM1 VM3 VM5 VM2 VM4 VM6 Office Network 6 6

Requirements Requirements for NV uplink Provider Virtual Router (L3) Redundant, optimized, and fault tolerant paths to to/ from external networks (e.g. via ebgp) Tenant/Project A Fault-tolerant devices and links Tenant/Project B Tenant A Virtual Router Tenant B Virtual Router Network A1 Network A2 Network B1 TenantB office Virtual L2 Switch A1 Virtual L2 Switch A2 Virtual L2 Switch B1 Tenant B VPN Router VM1 VM3 VM5 VM2 VM4 VM6 Office Network 7 7

Requirements for NV uplink Fault tolerant devices and links Provider Virtual Router (L3) Tenant/Project A Fault-tolerant devices and links Tenant/Project B Tenant A Virtual Router Tenant B Virtual Router Network A1 Network A2 Network B1 TenantB office Virtual L2 Switch A1 Virtual L2 Switch A2 Virtual L2 Switch B1 Tenant B VPN Router VM1 VM3 VM5 VM2 VM4 VM6 Office Network 8 8

How MidoNet implements network virtualization using overlays 9

Logical Topology Overlay Networks

MidoNet Architecture Cloud Orchestration Network State Database Configura:on Analy:cs Horizontally Scalable Highly Available Virtual Server Virtual Server VM VM VM IP Fabric VM VM VM MidoNet Agent MidoNet Agent Agent/Switch, KVM GRE/VXLAN tunnel TCP traffic NB APIs BGP Gateway (Cluster) MidoNet Agent 11

Virtual Networking at the Edge On-demand state propagation Distributed State Host A Host B VM1 MidoNet Agent VM2 MidoNet Agent Linux Kernel + OVS KMOD HW Linux Kernel + OVS KMOD HW

Virtual Networking at the Edge VM sends first packet; table miss; NetLink upcall to MidoNet Distributed State Host A Host B VM1 MidoNet Agent VM2 MidoNet Agent Linux Kernel + OVS KMOD HW Linux Kernel + OVS KMOD HW

Virtual Networking at the Edge MidoNet agent locally processes packet (virtual layer simulation); installs local flow (drop/mod/fwd) Distributed State Host A Host B VM1 MidoNet Agent VM2 MidoNet Agent Linux Kernel + OVS KMOD HW Linux Kernel + OVS KMOD HW

Virtual Networking at the Edge Distributed State Packet tunneled to peer host; decap; kflow table miss; Netlink notifies peer MidoNet agent Host A Host B VM1 MidoNet Agent VM2 MidoNet Agent Linux Kernel + OVS KMOD HW Linux Kernel + OVS KMOD HW

Virtual Networking at the Edge Distributed State MN agent maps tunkey to kernel datapath port#; installs fwd flow rule Host A Host B VM1 MidoNet Agent VM2 MidoNet Agent Linux Kernel + OVS KMOD HW Linux Kernel + OVS KMOD HW

Virtual Networking at the Edge Subsequent packets matched by flow rules at both ingress and egress hosts Distributed State Host A Host B VM1 MidoNet Agent VM2 MidoNet Agent Linux Kernel + OVS KMOD HW Linux Kernel + OVS KMOD HW

Advantages of the Network Overlay approach 18

Network processing at the edge Decoupled from the physical network 19

Edge Processing avoids traffic trombones Image from: http://blogs.ixiacom.com 20

Virtual network changes don t require changing the physical network 21

Summary of Overlay Advantages Update physical network without re-orchestrating apps. Virtual network software evolves at software time scales. The physical network gets simpler (standard, cheap, easy) Leaf-and-spine L3+ECMP is a good design for dc physical networks Services in software, at the edge, fault-tolerant The overlay is easier to debug or troubleshoot Less state in the core eases hardware requirements. Rapid creation and modification of virtual networks. 22

What Kernel features support Network Virtualization? 23

Related kernel features Flow-programmable datapath (Open vswitch kmod upstream) Tunneling options (GRE, VXLAN, STT?) Rich set of software network interfaces Network Namespaces Guest/host paravirtual network drivers + QEMU Kernel by-pass support 24

Flow-programmable datapath - OVS Open vswitch datapath and don t forget Netlink channel Perform arbitrary network computation once and cache the result in the kernel. Previously limited to microflows (microflows), now have megaflow support for wildcard matching in the kernel. MidoNet simulates a packet passing through many devices and compute the outcome once, then install that as a flow in the datapath. We can still gather per-flow metrics and then map them back to per-device-per-packet metrics. 25

Tunneling Op:ons GRE VXLAN Previously also CAPWAP VXLAN allows entropy in the UDP source port, which can be leverage for ECMP path selection. Works well with the spine-andleaf fabric. Presumes using the kernel s network stack, but network cards starting to support VXLAN offload. Still, may need to bypass the kernel altogether. 26

Virtual Network Interfaces - Tap A software (simulated) link layer (Ethernet) network device. Provides a character-device that a user-space process can open to exchange wholly constructed L2 packets with the kernel. VM 27

SoKware Interfaces Veth Pairs Two software Ethernet devices connected back to back. Can be used to interconnect 2 Network Namespaces. Netns1 Netns2 28

SoKware Interfaces vlan Create network interfaces that use untagged frames from an interface that uses VLAN tagged frames. eth0.100 eth0.100 BR1 VLAN 100 VM1 VM2 eth0.200 eth0.300 BR2 VLAN 200 VM3 29

SoKware Interfaces macvlan Give multiple MAC addresses to a single Ethernet interface and view each as a separate virtual Ethernet interface. mac1@eth0 mac1@eth0 mac2@eth0 mac3@eth0 30

SoKware Interfaces macvtap Hybrid macvlan and tap. mac1@eth0 Allow multiple VMs direct access to a NIC. Can still give the host access to the NIC by using macvlan. mac1@eth0 mac2@eth0 VM1 mac3@eth0 VM2 31

Network Namespaces Quagga/bgpd in Netns Compute Host OVS datapath BGP Peer 32

Network Namespaces Mock VM1 Netns Mock VM2 Netns MidoNet1 Netns Linux Host NSDB1 Netns Mock VM3 Netns Linux Bridge NSDB2 Netns Mock VM4 Netns Mock VM5 Netns MidoNet2 Netns NSDB3 Netns Network configuration cluster 33

Networking Drivers Earliest approach: unmodified Guest OS, in-kernel device emulation. Then: Virtio drivers in the Guest allowed faster packet transfer by reducing system calls. QEMU is a user-space process that emulates resources (used by KVM, Xen and others) and implements the Virtio backend. Then: Kernel s vhost-net driver allows by-passing QEMU. The bottleneck shifts to the interrupt processing. Need kernel by-pass. 34

Intel DPDK (also SnabbSwitch & others) Data Plane Development Kit www.dpdk.org By-pass the kernel interrupt-driven networking is slow Run-to-completion processing of packets Pin network-processing threads to VMs Use non-locking, cache-aligned, shared memory data structures Better with guest network drivers but still Virtio. 35

Network Virtualization Overlays Today 36

Thank you and Q&A Pino de Candia pino@midokura.com 37