Open vSwitch

Open vSwitch(OVS)は、分散仮想マルチレイヤスイッチのオープンソース実装である。 Open vSwitch の主な目的は、 ハードウェア仮想化環境にスイッチングスタックを提供すると同時に、 コンピューターネットワークで使用される複数のプロトコルと標準をサポートすることである。 
このプロジェクトのソースコードは、 Apache License 2.0ライセンスに基づいて配布されている。

**概要**
ファイル:Distributed_Open_vSwitch_instance.svg|右|サムネイル| クロスサーバ仮想ネットワークスイッチとして展開され、複数の物理サーバに透過的に分散されたOpen vSwitch 
Open vSwitch は、 仮想多層ネットワークスイッチのソフトウェア実装であり、プログラムによる拡張を通じて効果的なネットワーク自動化を可能にするように設計されており、標準の管理インタフェースや、NetFlow、sFlow、SPAN、RSPAN、CLI、LACP、802.1ag 等のプロトコルをサポートしている。さらに、Open vSwitch は、VMware vNetwork 分散vswitch またはCisco Nexus 1000Vと同様に、基盤となるサーバアーキテクチャを抽象化する方法でクロスサーバスイッチを作成できるようにすることで、複数の物理サーバ間で透過的な分散をサポートするように設計されている。 
Open vSwitch は、仮想マシン(VM)ハイパーバイザ内で実行されるソフトウェアベースのネットワークスイッチおよび専用スイッチングハードウェアの制御スタックとして動作できる。そのため、複数の仮想化プラットフォーム、スイッチングチップセット、およびネットワークハードウェアアクセラレータに移植された。バージョン6.0以降のCitrix XenServer仮想化プラットフォームと、XAPI 管理ツールスタックを介したXen クラウドプラットフォームのデフォルトのネットワークスイッチである。また、Xen、Linux KVM、Proxmox VE、VirtualBoxハイパーバイザをサポートし、Hyper-Vへのポートも利用できる。また、OpenStack、openQRM、OpenNebulaとoVirt 等の様々な統合されたクラウドコンピューティングを含むソフトウェアプラットフォームおよび仮想化管理システムを持つ。 
Open vSwitch のLinuxカーネル実装は、2012年3月18日にリリースされたカーネルバージョン3.3のカーネルメインラインにマージされた。Debian、Fedora、openSUSE、Ubuntuの公式Linuxディストリビューションで利用可能である。2014年1月、FreeBSDとNetBSDの実装も利用でき、NetBSDの実装は完全なユーザ空間で動作する。 
Open vSwitch のソースコードの大部分は、プラットフォームに依存しないC言語で記述されているため、さまざまな環境への移植が容易である。ソースコードは、Apache License 2.0の下でライセンスされている。 

**機能**
、Open vSwitch によって提供される機能を次に示す:- NetFlow、sFlow、 IPフロー情報エクスポート(IPFIX)、スイッチドポートアナライザ(SPAN)、リモートスイッチドポートアナライザ(RSPAN)、およびGeneric Routing Encapsulation(GRE)を使用してトンネルされたポートミラーを介した、仮想マシン間の公開された通信 - リンクアグリゲーションによるリンクアグリゲーション管理プロトコル(LACP、IEEE 802.1AX-2008） - ネットワークパーティショニング用の標準の802.1Q仮想LAN(VLAN)モデルによるトランキングをサポート - インターネットグループ管理プロトコル(IGMP)のバージョン1、2、3を使用したマルチキャストスヌーピングのサポート - Shortest Path Bridging Media Access Control(SPBM)のサポート、およびLink Layer Discovery Protocol(LLDP)関連の基本サポート - Bidirectional Forwarding Detection(BFD)および802.1agリンクモニタリングのサポート - スパニングツリープロトコル(STP、IEEE 802.1D-1998)および高速スパニングツリープロトコル(RSTP、IEEE 802.1D-2004)のサポート - さまざまなアプリケーション、ユーザ、またはデータトラフィックフローに対するきめ細かなQoS制御 - 階層的フェアサービスカーブ (HFSC)キューイング規則(qdisc)のサポート - 仮想マシン(VM)インタフェースレベルでのトラフィックポリシング - ネットワークインターフェイスコントローラ(NIC)ボンディング、MACソースアドレス、アクティブバックアップ、およびレイヤー4ハッシュによるサーバロードバランシング - さまざまな仮想化関連の拡張機能を含む、OpenFlowプロトコルのサポート - 完全なIPv6サポート - Generic Routing Encapsulation(GRE)、Virtual Extensible LAN(VXLAN)、ステートレストランスポートトンネリング(STT)、Geneve 等の複数のトンネリングプロトコルのサポート、およびインターネットプロトコルセキュリティ(IPsec)レイヤの追加サポート- C言語およびPythonプログラミング言語用の既存のバインディングを備えたリモート構成プロトコル - カーネル空間またはユーザ空間にパケット転送エンジンを実装し、カーネル空間を離れることなく転送されたパケットの大部分を処理し、マルチスレッドカーネル空間とユーザ空間コンポーネントを使用することにより、柔軟性を向上させ、パフォーマンスを向上させる - フローキャッシュエンジンを備えたマルチテーブル転送パイプライン - 転送レイヤーの抽象化により、Open vSwitch を新しいソフトウェアおよびハードウェアプラットフォームに簡単に移植できる 

**参考**
 分散オーバーレイ仮想イーサネット(DOVE) - LANスイッチング - ネットワーク機能仮想化(NFV) - オーバーレイトランスポート仮想化(OTV) - ソフトウェア定義ネットワーク(SDN) 

**脚注**

**外部リンク**
 Introduction to Open vSwitch、2013年12月15日- Open vSwitch: Deep Dive The Virtual Switch for OpenStack, 2013年11月8日-  OVN, Bringing Native Virtual Networking to OVS, 2015年1月13日, by Justin Pettit, Ben Pfaff, Chris Wright, and Madhu Venugopal -  Open Virtual Network (OVN) Proposed Architecture, 2015年1月13日、by Ben Pfaff -  6WIND Announces Open vSwitch Acceleration for Red Hat Enterprise Linux OpenStack Platform, 2014年4月16日 -  Going With the Flow：Google's Secret Switch to the Next Wave of Networking ,Wired , 2012年4月17日, by Steven Levy -  Performance Characteristics of Virtual Switching, IEEE, 2014, by Paul Emmerich, Daniel Raumer, Florian Wohlfart, Georg Carle