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 , 2012年4月17日, by Steven Levy 
 Performance Characteristics of Virtual Switching, IEEE, 2014, by Paul Emmerich, Daniel Raumer, Florian Wohlfart, Georg Carle

フリーソフトウェア
プログラミング言語別ソフトウェア
C言語
Linux