Open vSwitch

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

このプロジェクトのソースコードは、 Apache License 2.0ライセンスに基づいて配布されている。

## 概要

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) 

## 脚注

## 外部リンク

*    
* 、2013年12月15日
* , 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 (雑誌)|Wired]]* , 2012年4月17日, by Steven Levy 
* Performance Characteristics of Virtual Switching, IEEE, 2014, by Paul Emmerich, Daniel Raumer, Florian Wohlfart, Georg Carle