Open vSwitch
   HOME

TheInfoList



OR:

Open vSwitch, sometimes abbreviated as OVS, is an open-source implementation of a distributed virtual
multilayer switch A multilayer switch (MLS) is a computer networking device that switches on OSI layer 2 like an ordinary network switch and provides extra functions on higher OSI layers. The MLS was invented by engineers at Digital Equipment Corporation. Switc ...
. The main purpose of Open vSwitch is to provide a switching stack for
hardware virtualization Hardware virtualization is the virtualization of computers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run various operating systems. Virtualization hides the physica ...
environments, while supporting multiple protocols and standards used in
computer network A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are ...
s. 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 A network switch (also called switching hub, bridging hub, and, by the IEEE, MAC bridge) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device. A netw ...
, designed to enable effective network automation through programmatic extensions, while supporting standard management interfaces and protocols such as
NetFlow NetFlow is a feature that was introduced on Cisco routers around 1996 that provides the ability to collect IP network traffic as it enters or exits an interface. By analyzing the data provided by NetFlow, a network administrator can determine thin ...
, sFlow,
SPAN Span may refer to: Science, technology and engineering * Span (unit), the width of a human hand * Span (engineering), a section between two intermediate supports * Wingspan, the distance between the wingtips of a bird or aircraft * Sorbitan ester ...
,
RSPAN Port mirroring is used on a network switch to send a copy of network packets seen on one switch port (or an entire VLAN) to a network monitoring connection on another switch port. This is commonly used for network appliances that require monit ...
, 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 VMware, Inc. is an American cloud computing and virtualization technology company with headquarters in Palo Alto, California. VMware was the first commercially successful company to virtualize the x86 architecture. VMware's desktop software ru ...
vNetwork distributed vswitch or
Cisco Cisco Systems, Inc., commonly known as Cisco, is an American-based multinational digital communications technology conglomerate corporation headquartered in San Jose, California. Cisco develops, manufactures, and sells networking hardware, ...
Nexus 1000V. Open vSwitch can operate both as a software-based network switch running within a
virtual machine In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized h ...
(VM)
hypervisor A hypervisor (also known as a virtual machine monitor, VMM, or virtualizer) is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called ...
, and as the control stack for dedicated switching hardware; as a result, it has been
ported In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally desi ...
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 Xen (pronounced ) is a type-1 hypervisor, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. It was originally developed by the University of Cambridge Computer Laboratory an ...
via its XAPI management toolstack. It also supports Xen,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
KVM, Proxmox VE and
VirtualBox Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and Innotek VirtualBox) is a type-2 hypervisor for x86 virtualization developed by Oracle Corporation. VirtualBox was originally created by Innotek GmbH, which was acquired by S ...
hypervisors, while a port to
Hyper-V Microsoft Hyper-V, codenamed Viridian, and briefly known before its release as Windows Server Virtualization, is a native hypervisor; it can create virtual machines on x86-64 systems running Windows. Starting with Windows 8, Hyper-V superseded W ...
is also available. Open vSwitch has also been integrated into various
cloud computing Cloud computing is the on-demand availability of computer system resources, especially data storage ( cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over mu ...
software platforms and virtualization management systems, including
OpenStack OpenStack is a free, open standard cloud computing platform. It is mostly deployed as infrastructure-as-a-service (IaaS) in both public and private clouds where virtual servers and other resources are made available to users. The software pl ...
,
openQRM openQRM is a free and open-source cloud computing management platform for managing heterogeneous data centre infrastructures. Provides a complete Automated Workflow Engine for all Bare-Metal and VM deployment, as well as for all IT subsystems, e ...
,
OpenNebula OpenNebula is a cloud computing platform for managing heterogeneous distributed data center infrastructures. The OpenNebula platform manages a data center's virtual infrastructure to build private, public and hybrid implementations of Infrastru ...
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 openSUSE () is a free and open source RPM-based Linux distribution developed by the openSUSE project. The initial release of the community project was a beta version of SUSE Linux 10.0. Additionally the project creates a variety of tools, s ...
and
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All ...
. , FreeBSD and NetBSD implementations are also available, with the NetBSD's implementation operating completely in
userspace A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour. Kernel ...
. The majority of the Open vSwitch source code is written in platform-independent
C language C (''pronounced like the letter c'') is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities o ...
, which provides easy portability to various environments. The source code is licensed under the Apache License 2.0.


Features

, features provided by Open vSwitch include the following: * Exposed communication between virtual machines, via NetFlow, sFlow,
IP Flow Information Export Internet Protocol Flow Information Export (IPFIX) is an IETF protocol, as well as the name of the IETF working group defining the protocol. It was created based on the need for a common, universal standard of export for Internet Protocol flow infor ...
(IPFIX), Switched Port Analyzer (SPAN), Remote Switched Port Analyzer (RSPAN), and port mirrors tunneled using
Generic Routing Encapsulation Generic Routing Encapsulation (GRE) is a tunneling protocol developed by Cisco Systems that can encapsulate a wide variety of network layer protocols inside virtual point-to-point links or point-to-multipoint links over an Internet Protocol netw ...
(GRE) *
Link aggregation In computer networking, link aggregation is the combining ( aggregating) of multiple network connections in parallel by any of several methods, in order to increase throughput beyond what a single connection could sustain, to provide redundan ...
through the Link Aggregation Control Protocol (LACP,
IEEE 802.1AX In computer networking, link aggregation is the combining ( aggregating) of multiple network connections in parallel by any of several methods, in order to increase throughput beyond what a single connection could sustain, to provide redundan ...
-2008) * Standard 802.1Q
virtual LAN A virtual local area network (VLAN) is any broadcast domain that is partitioned and isolated in a computer network at the data link layer (OSI layer 2).IEEE 802.1Q-2011, ''1.4 VLAN aims and benefits'' In this context, virtual, refers to a physi ...
(VLAN) model for network partitioning, with support for
trunking In telecommunications, trunking is a technology for providing network access to multiple clients simultaneously by sharing a set of circuits, carriers, channels, or frequencies, instead of providing individual circuits or channels for each cli ...
* Support for multicast snooping using versions 1, 2 and 3 of the
Internet Group Management Protocol The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direct ...
(IGMP) * Support for the Shortest Path Bridging Media Access Control (SPBM) and associated basic support for the
Link Layer Discovery Protocol The Link Layer Discovery Protocol (LLDP) is a vendor-neutral link layer protocol used by network devices for advertising their identity, capabilities, and neighbors on a local area network based on IEEE 802 technology, principally wired Ether ...
(LLDP) * Support for the
Bidirectional Forwarding Detection Bidirectional Forwarding Detection (BFD) is a network protocol that is used to detect faults between two router (computing), routers or network switch, switches connected by a Telecommunications link, link. It provides low-overhead detection of fa ...
(BFD) and 802.1ag link monitoring * Support for the
Spanning Tree Protocol The Spanning Tree Protocol (STP) is a network protocol that builds a loop-free logical topology for Ethernet networks. The basic function of STP is to prevent bridge loops and the broadcast radiation that results from them. Spanning tree also ...
(STP,
IEEE 802.1D IEEE 802.1D is the Ethernet MAC bridges standard which includes bridging, Spanning Tree Protocol and others. It is standardized by the IEEE 802.1 working group. It includes details specific to linking many of the other 802 projects including t ...
-1998) and
Rapid Spanning Tree Protocol The Spanning Tree Protocol (STP) is a network protocol that builds a loop-free logical topology for Ethernet networks. The basic function of STP is to prevent bridge loops and the broadcast radiation that results from them. Spanning tree also ...
(RSTP, IEEE 802.1D-2004) * Fine-grained
quality of service Quality of service (QoS) is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitat ...
(QoS) control for different applications, users, or data flows * Support for the hierarchical fair-service curve (HFSC)
queuing discipline A network scheduler, also called packet scheduler, queueing discipline (qdisc) or queueing algorithm, is an arbiter on a node in a packet switching communication network. It manages the sequence of network packets in the transmit and receive q ...
(qdisc) * Traffic policing at the level of virtual machine interface *
Network interface controller A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter or physical network interface, and by similar terms) is a computer hardware component that connects a computer to a computer network. Ear ...
(NIC) bonding, with load balancing by source MAC addresses, active backups, and layer 4
hashing Hash, hashes, hash mark, or hashing may refer to: Substances * Hash (food), a coarse mixture of ingredients * Hash, a nickname for hashish, a cannabis product Hash mark * Hash mark (sports), a marking on hockey rinks and gridiron football fiel ...
* Support for the OpenFlow protocol, including various virtualization-related extensions * Complete
IPv6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv ...
(Internet Protocol version 6) support * Support for multiple
tunneling protocol In computer networks, a tunneling protocol is a communication protocol which allows for the movement of data from one network to another. It involves allowing private network communications to be sent across a public network (such as the Internet ...
s, including GRE, Virtual Extensible LAN (VXLAN), Stateless Transport Tunneling (STT) and
Geneve Geneve may refer to: * Genève, French for Geneva , neighboring_municipalities= Carouge, Chêne-Bougeries, Cologny, Lancy, Grand-Saconnex, Pregny-Chambésy, Vernier, Veyrier , website = https://www.geneve.ch/ Geneva ( ; french: Genève ...
, with additional support for layering over
Internet Protocol Security In computing, Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in v ...
(IPsec) * Remote configuration protocol, with existing bindings for the C and
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
programming languages * Implementation of the packet forwarding engine in kernel space or
userspace A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour. Kernel ...
, 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 A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as H ...
Open vSwitch to new software and hardware platforms


See also

*
Distributed Overlay Virtual Ethernet Distributed Overlay Virtual Ethernet (DOVE) is a tunneling and virtualization technology for computer networks, created and backed by IBM. DOVE allows creation of network virtualization layers for deploying, controlling, and managing multiple ...
(DOVE) *
LAN switching A network switch (also called switching hub, bridging hub, and, by the IEEE, MAC bridge) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device. A net ...
* Network functions virtualization (NFV) * Overlay transport virtualization (OTV) *
Software-defined networking Software-defined networking (SDN) technology is an approach to network management that enables dynamic, programmatically efficient network configuration in order to improve network performance and monitoring, making it more like cloud computing t ...
(SDN)


References


External links

* and * , December 15, 2013 * , November 8, 2013
OVN, Bringing Native Virtual Networking to OVS
January 13, 2015, by Justin Pettit, Ben Pfaff, Chris Wright and Madhu Venugopal

January 13, 2015, by Ben Pfaff

PRWeb Cision Ltd. is a public relations and earned media software company and services provider. The company is incorporated in the Cayman Islands and headquartered in Chicago, Illinois; with clients worldwide. The company went public via reverse merg ...
, April 16, 2014 * ttps://www.wired.com/2012/04/going-with-the-flow-google/ Going With the Flow: Google's Secret Switch to the Next Wave of Networking ''
Wired ''Wired'' (stylized as ''WIRED'') is a monthly American magazine, published in print and online editions, that focuses on how emerging technologies affect culture, the economy, and politics. Owned by Condé Nast, it is headquartered in San ...
'', April 17, 2012, by Steven Levy
Performance Characteristics of Virtual Switching
IEEE The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operat ...
, 2014, by Paul Emmerich, Daniel Raumer, Florian Wohlfart and Georg Carle {{Virtualization software Free software programmed in C Linux Foundation projects Local area networks Network architecture Software using the Apache license