- Source: Open vSwitch
Open vSwitch (OVS) is an open-source implementation of a distributed virtual multilayer switch. The main purpose of Open vSwitch is to provide a switching stack for hardware virtualization environments, while supporting multiple protocols and standards used in computer networks.
The project's source code is distributed under the terms of Apache License 2.0.
Overview
Open vSwitch is a software implementation of a virtual multilayer network switch, designed to enable effective network automation through programmatic extensions, while supporting standard management interfaces and protocols such as NetFlow, sFlow, SPAN, RSPAN, CLI, LACP and 802.1ag. In addition, Open vSwitch is designed to support transparent distribution across multiple physical servers by enabling creation of cross-server switches in a way that abstracts out the underlying server architecture, similar to the VMware vNetwork distributed vswitch or Cisco Nexus 1000V.
Open vSwitch can operate both as a software-based network switch running within a virtual machine (VM) hypervisor, and as the control stack for dedicated switching hardware; as a result, it has been ported to multiple virtualization platforms, switching chipsets, and networking hardware accelerators. Open vSwitch is the default network switch in the XenServer virtualization platform since its version 6.0, and in the Xen Cloud Platform via its XAPI management toolstack. It also supports Xen, Linux KVM, Proxmox VE and VirtualBox hypervisors, while a port to Hyper-V is also available. Open vSwitch has also been integrated into various cloud computing software platforms and virtualization management systems, including OpenStack, openQRM, OpenNebula and oVirt.
The Linux kernel implementation of Open vSwitch was merged into the kernel mainline in kernel version 3.3, which was released on March 18, 2012; official Linux packages are available for Debian, Fedora, openSUSE and Ubuntu. As of January 2014, FreeBSD and NetBSD implementations are also available, with the NetBSD's implementation operating completely in userspace.
The majority of the Open vSwitch source code is written in platform-independent C language, which provides easy portability to various environments. The source code is licensed under the Apache License 2.0.
Features
As of September 2015, features provided by Open vSwitch include the following:
Exposed communication between virtual machines, via NetFlow, sFlow, IP Flow Information Export (IPFIX), Switched Port Analyzer (SPAN), Remote Switched Port Analyzer (RSPAN), and port mirrors tunneled using Generic Routing Encapsulation (GRE)
Link aggregation through the Link Aggregation Control Protocol (LACP, IEEE 802.1AX-2008)
Standard 802.1Q virtual LAN (VLAN) model for network partitioning, with support for trunking
Support for multicast snooping using versions 1, 2 and 3 of the Internet Group Management Protocol (IGMP)
Support for the Shortest Path Bridging Media Access Control (SPBM) and associated basic support for the Link Layer Discovery Protocol (LLDP)
Support for the Bidirectional Forwarding Detection (BFD) and 802.1ag link monitoring
Support for the Spanning Tree Protocol (STP, IEEE 802.1D-1998) and Rapid Spanning Tree Protocol (RSTP, IEEE 802.1D-2004)
Fine-grained quality of service (QoS) control for different applications, users, or data flows
Support for the hierarchical fair-service curve (HFSC) queuing discipline (qdisc)
Traffic policing at the level of virtual machine interface
Network interface controller (NIC) bonding, with load balancing by source MAC addresses, active backups, and layer 4 hashing
Support for the OpenFlow protocol, including various virtualization-related extensions
Complete IPv6 (Internet Protocol version 6) support
Support for multiple tunneling protocols, including GRE, Virtual Extensible LAN (VXLAN), Stateless Transport Tunneling (STT) and Geneve, with additional support for layering over Internet Protocol Security (IPsec)
Remote configuration protocol, with existing bindings for the C and Python programming languages
Implementation of the packet forwarding engine in kernel space or userspace, allowing additional flexibility as well as providing performance improvements by processing the majority of forwarded packets without leaving the kernel space and by using multithreaded kernel space and userspace components
Multi-table forwarding pipeline with a flow-caching engine
Forwarding layer abstraction, making it easier to port Open vSwitch to new software and hardware platforms
See also
Distributed Overlay Virtual Ethernet (DOVE)
LAN switching
Network functions virtualization (NFV)
Overlay transport virtualization (OTV)
Software-defined networking (SDN)
References
External links
Official website and source code on GitHub
Introduction to Open vSwitch on YouTube, December 15, 2013
Open vSwitch: Deep Dive The Virtual Switch for OpenStack on YouTube, November 8, 2013
OVN, Bringing Native Virtual Networking to OVS, January 13, 2015, by Justin Pettit, Ben Pfaff, Chris Wright and Madhu Venugopal
Open Virtual Network (OVN) Proposed Architecture, January 13, 2015, by Ben Pfaff
6WIND Announces Open vSwitch Acceleration for Red Hat Enterprise Linux OpenStack Platform, PRWeb, April 16, 2014
Going With the Flow: Google's Secret Switch to the Next Wave of Networking, Wired, April 17, 2012, by Steven Levy
Performance Characteristics of Virtual Switching, IEEE, 2014, by Paul Emmerich, Daniel Raumer, Florian Wohlfart and Georg Carle
Kata Kunci Pencarian:
- Open vSwitch
- Virtual Extensible LAN
- XCP-ng
- Network function virtualization
- Generic Network Virtualization Encapsulation
- Nicira
- List of SDN controller software
- OVN
- TUN/TAP
- Pica8