Open vSwitch
Open vSwitch is a production-quality open source implementation of a multilayer virtual switch, licensed under the Apache license.
Overview
Open vSwitch is designed to enable effective network automation through programmatic extensions, while still supporting standard management interfaces and protocols, including NetFlow, sFlow, SPAN, RSPAN, CLI, LACP and 802.1ag. In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch, or Cisco's Nexus 1000V.[1]
Open vSwitch can operate both as a soft switch running within the virtual machines (VMs) hypervisors, and as the control stack for switching silicon. It has been ported to multiple virtualization platforms and switching chipsets. It is the default switch in XenServer 6.0, the Xen Cloud Platform, and also supports Xen, Linux KVM, Proxmox VE and VirtualBox. It has also been integrated into many virtual management systems, including OpenStack, openQRM, OpenNebula and oVirt. Implementation exists in the Linux kernel, with official packages available for Ubuntu, Debian and Fedora. As of November 2013, support for FreeBSD is in development.[1]
Majority of the source code is written in platform-independent C language, and is easily ported to other environments.[1]
Features
Open vSwitch supports the following features:[2]
- exposed communication between virtual machines, via NetFlow, sFlow, IPFIX, SPAN, RSPAN, and mirrors tunneled via Generic Routing Encapsulation (GRE)
- support for link aggregation through Link Aggregation Control Protocol (LACP, IEEE 802.1AX-2008)
- standard 802.1Q Virtual LAN (VLAN) model with trunking
- support for Bidirectional Forwarding Detection (BFD) and 802.1ag link monitoring
- support for Spanning Tree Protocol (STP, IEEE 802.1D-1998)
- fine-grained quality of service (QoS) control
- support for 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 OpenFlow protocol (including many extensions for virtualization)
- support for IPv6
- multiple tunneling protocols (GRE, Virtual Extensible LAN (VXLAN), Internet Protocol Security (IPsec), GRE and VXLAN over IPsec)
- remote configuration protocol, with C and Python bindings
- kernel space and user space forwarding engine options
- multi-table forwarding pipeline with a flow-caching engine
- forwarding layer abstraction, making porting to new software and hardware platforms easier
See also
- Distributed Overlay Virtual Ethernet (DOVE)
- Generic Routing Encapsulation (GRE)
- Overlay transport virtualization (OTV)
- Software-defined networking
- Virtual Extensible LAN (VXLAN)
- Virtual LAN (VLAN)
References
- ^ a b c "Open vSwitch: An Open Virtual Switch". openvswitch.org. Retrieved 2013-11-24.
- ^ "Open vSwitch: Features". openvswitch.org. Retrieved 2013-11-24.