Open vSwitch

Last updated

Initial releaseJuly 29, 2009;14 years ago (2009-07-29) [1]
Stable release
3.2.1 [2]   OOjs UI icon edit-ltr-progressive.svg / 17 October 2023;6 days ago (17 October 2023)
Repository
Written in C
Operating system Linux, Hyper-V, FreeBSD and NetBSD
Type Virtual network switch
License Apache License 2.0
Website www.openvswitch.org

Open vSwitch, sometimes abbreviated as 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. [3]

Contents

The project's source code is distributed under the terms of Apache License 2.0.

Overview

Open vSwitch deployed as a cross-server virtual network switch, transparently distributed across multiple physical servers. Distributed Open vSwitch instance.svg
Open vSwitch deployed as a cross-server virtual network switch, transparently distributed across multiple physical servers.

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. [4] [5] [6]

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. [7] Open vSwitch is the default network switch in the XenServer virtualization platform since its version 6.0, [8] and in the Xen Cloud Platform via its XAPI management toolstack. [9] It also supports Xen, Linux KVM, Proxmox VE and VirtualBox hypervisors, while a port to Hyper-V is also available. [10] Open vSwitch has also been integrated into various cloud computing software platforms and virtualization management systems, including OpenStack, openQRM, OpenNebula and oVirt. [4] [5]

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; [11] [12] official Linux packages are available for Debian, Fedora, openSUSE and Ubuntu. [4] As of January 2014, FreeBSD and NetBSD implementations are also available, with the NetBSD's implementation operating completely in userspace. [13] [14] [15]

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. [4]

Features

As of September 2015, features provided by Open vSwitch include the following: [16] [17]

See also

Related Research Articles

A network operating system (NOS) is a specialized operating system for a network device such as a router, switch or firewall.

<span class="mw-page-title-main">Network interface controller</span> Hardware component that connects a computer to a network

A network interface controller is a computer hardware component that connects a computer to a computer network.

<span class="mw-page-title-main">DragonFly BSD</span> Free and open-source Unix-like operating system

DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on 16 July 2003.

<span class="mw-page-title-main">Virtual file system</span> Abstract layer on top of a more concrete file system

A virtual file system (VFS) or virtual filesystem switch is an abstract layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way. A VFS can, for example, be used to access local and network storage devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, classic Mac OS/macOS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing.

<span class="mw-page-title-main">Xen</span> Type-1 hypervisor

Xen is a free and open-source 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 and is now being developed by the Linux Foundation with support from Intel, Citrix, Arm Ltd, Huawei, AWS, Alibaba Cloud, AMD, Bitdefender and epam.

Netfilter is a framework provided by the Linux kernel that allows various networking-related operations to be implemented in the form of customized handlers. Netfilter offers various functions and operations for packet filtering, network address translation, and port translation, which provide the functionality required for directing packets through a network and prohibiting packets from reaching sensitive locations within a network.

Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a bridge to the actual kernel interfaces.

<span class="mw-page-title-main">Link aggregation</span> Using multiple network connections in parallel to increase capacity and reliability

In computer networking, link aggregation is the combining of multiple network connections in parallel by any of several methods. Link aggregation increases total throughput beyond what a single connection could sustain, and provides redundancy where all but one of the physical links may fail without losing connectivity. A link aggregation group (LAG) is the combined collection of physical ports.

<span class="mw-page-title-main">FreeBSD</span> Free and open-source Unix-like operating system

FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular open-source BSD operating system, accounting for more than three-quarters of all installed and permissively licensed BSD systems.

A Bluetooth stack is software that is an implementation of the Bluetooth protocol stack.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

Virtual Extensible LAN (VXLAN) is a network virtualization technology that attempts to address the scalability problems associated with large cloud computing deployments. It uses a VLAN-like encapsulation technique to encapsulate OSI layer 2 Ethernet frames within layer 4 UDP datagrams, using 4789 as the default IANA-assigned destination UDP port number. VXLAN endpoints, which terminate VXLAN tunnels and may be either virtual or physical switch ports, are known as VXLAN tunnel endpoints (VTEPs).

The Data Plane Development Kit (DPDK) is an open source software project managed by the Linux Foundation. It provides a set of data plane libraries and network interface controller polling-mode drivers for offloading TCP packet processing from the operating system kernel to processes running in user space. This offloading achieves higher computing efficiency and higher packet throughput than is possible using the interrupt-driven processing provided in the kernel.

DNOS or Dell Networking Operating System is a network operating system running on switches from Dell Networking. It is derived from either the PowerConnect OS or Force10 OS/FTOS and will be made available for the 10G and faster Dell Networking S-series switches, the Z-series 40G core switches and DNOS6 is available for the N-series switches.

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 independent and isolated network applications over a shared physical network infrastructure.

Pica8, Inc. is a computer networking company headquartered in Palo Alto, California, United States. Pica8 is a vendor of open-standards-based operating systems on white box network switches delivering software-defined networking (SDN) solutions for datacenter and cloud computing environments and traditional L2/L3 solutions for large enterprise customers. The company's products include a Linux-based L2/L3 and OpenFlow-supporting network operating system, PicOS, which is shipped as standalone software that can be loaded onto a range of 1/10/40/100 Gigabit Ethernet switches based on commoditized switches purchased from original design manufacturers (ODMs).

WireGuard is a communication protocol and free and open-source software that implements encrypted virtual private networks (VPNs), and was designed with the goals of ease of use, high speed performance, and low attack surface. It aims for better performance and more power than IPsec and OpenVPN, two common tunneling protocols. The WireGuard protocol passes traffic over UDP.

A virtual kernel architecture (vkernel) is an operating system virtualisation paradigm where kernel code can be compiled to run in the user space, for example, to ease debugging of various kernel-level components, in addition to general-purpose virtualisation and compartmentalisation of system resources. It is used by DragonFly BSD in its vkernel implementation since DragonFly 1.7, having been first revealed in September 2006, and first released in the stable branch with DragonFly 1.8 in January 2007. The long-term goal, in addition to easing kernel development, is to make it easier to support internet-connected computer clusters without compromising local security. Similar concepts exist in other operating systems as well; in Linux, a similar virtualisation concept is known as user-mode Linux; whereas in NetBSD since the summer of 2007, it has been the initial focus of the rump kernel infrastructure.

References

  1. "A complete list of Open vSwitch releases". openvswitch.org. Archived from the original on November 9, 2017. Retrieved April 2, 2014.
  2. "Release 3.2.1". October 17, 2023. Retrieved October 20, 2023.
  3. 1 2 M. Tim Jones (October 27, 2010). "Virtual networking in Linux". IBM . Retrieved April 9, 2014.
  4. 1 2 3 4 "Open vSwitch: An Open Virtual Switch". openvswitch.org. Retrieved November 24, 2013.
  5. 1 2 Thomas Graf (April 24, 2013). "Underneath OpenStack Quantum: Software Defined Networking with Open vSwitch" (PDF). Red Hat . Retrieved April 9, 2014.
  6. Ralf Spenneberg. "Virtual switching with Open vSwitch". admin-magazine.com. Retrieved April 2, 2014.
  7. "Tilera Launches Open Virtual Switch Solution (OVS) to Accelerate NFV and SDN". Marketwired. February 24, 2014. Retrieved June 22, 2015.
  8. "XenServer 6.0 Release Notes". Citrix Systems. March 8, 2012. Archived from the original on March 8, 2021. Retrieved January 22, 2015.
  9. "XAPI: Open source software to build private and public clouds". xenproject.org. 2013. Retrieved January 22, 2015.
  10. Alessandro Pilotti (May 22, 2014). "Open vSwitch on Hyper-V". cloudbase.it. Retrieved June 22, 2015.
  11. "Linux kernel 3.3, Section 1.3. Open vSwitch". kernelnewbies.org. March 18, 2012. Retrieved April 2, 2014.
  12. Jonathan Corbet (November 30, 2011). "Routing Open vSwitch into the mainline". LWN.net . Retrieved April 2, 2014.
  13. "FreshPorts – net/openvswitch". freshports.org. December 30, 2013. Retrieved April 2, 2014.
  14. Gaetano Catalli (November 7, 2011). "Open vSwitch: performance improvement and porting to FreeBSD" (PDF). ucl.ac.be. Archived from the original (PDF) on March 5, 2016. Retrieved June 22, 2015.
  15. "openvswitch/ovs: ovs/INSTALL.NetBSD at master". github.com. January 11, 2014. Archived from the original on April 9, 2014. Retrieved April 9, 2014.
  16. "Open vSwitch: Features". openvswitch.org. Retrieved September 17, 2015.
  17. Jesse Gross (September 2013). "Programmable Networking with Open vSwitch" (PDF). linuxfoundation.org. LinuxCon. Archived from the original (PDF) on March 6, 2016. Retrieved November 24, 2013.
  18. Justin Pettit; Ben Pfaff; Ethan Jackson (November 13, 2014). "Accelerating Open vSwitch to 'Ludicrous Speed'". networkheresy.com. Retrieved May 26, 2015.
  19. Jesse Gross (August 21, 2014). "The Evolution of Open vSwitch" (PDF). events.linuxfoundation.org. LinuxCon. pp. 6, 13–17. Retrieved May 28, 2015.