Open vSwitch
![]() | |
開発元 | OvS Technical Steering Committee 及び Linux Foundation |
---|---|
初版 | 2009年7月29日 (15年前) (2009-07-29)[1] |
最新版 | 3.2.1, 3.1.3, 3.0.5 and 2.17.8[2] / 2023年10月17日 (10か月前) (2023-10-17) |
リポジトリ |
![]() |
プログラミング 言語 | C言語,Python |
対応OS | Linux, Hyper-V, FreeBSD, NetBSD |
規格 | IEEE 802.1AX-2008, IEEE 802.1D-1998, IEEE 802.1D-2004 他多数 |
サポート状況 | 開発中 |
種別 | 仮想レイヤ3スイッチ |
ライセンス | Apache License 2.0 |
公式サイト | openvswitch |
テンプレートを表示 |
Open vSwitch(OVS)は、分散仮想マルチレイヤスイッチのオープンソース実装である。 Open vSwitch の主な目的は、 ハードウェア仮想化環境にスイッチングスタックを提供すると同時に、 コンピューターネットワークで使用される複数のプロトコルと標準をサポートすることである[3]。
このプロジェクトのソースコードは、 Apache License 2.0ライセンスに基づいて配布されている。
概要
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Distributed_Open_vSwitch_instance.svg/220px-Distributed_Open_vSwitch_instance.svg.png)
Open vSwitch は、 仮想多層ネットワークスイッチのソフトウェア実装であり、プログラムによる拡張を通じて効果的なネットワーク自動化を可能にするように設計されており、標準の管理インタフェースや、NetFlow、sFlow、SPAN、RSPAN、CLI、LACP、802.1ag 等のプロトコルをサポートしている。さらに、Open vSwitch は、VMware vNetwork 分散vswitch またはCisco Nexus 1000Vと同様に、基盤となるサーバアーキテクチャを抽象化する方法でクロスサーバスイッチを作成できるようにすることで、複数の物理サーバ間で透過的な分散をサポートするように設計されている[4][5][6]。
Open vSwitch は、仮想マシン(VM)ハイパーバイザ内で実行されるソフトウェアベースのネットワークスイッチおよび専用スイッチングハードウェアの制御スタックとして動作できる。そのため、複数の仮想化プラットフォーム、スイッチングチップセット、およびネットワークハードウェアアクセラレータに移植された[7]。バージョン6.0以降のCitrix XenServer仮想化プラットフォーム[8]と、XAPI 管理ツールスタックを介したXen クラウドプラットフォームのデフォルトのネットワークスイッチである[9]。また、Xen、Linux KVM、Proxmox VE、VirtualBoxハイパーバイザをサポートし、Hyper-Vへのポートも利用できる[10]。また、OpenStack、openQRM、OpenNebulaとoVirt 等の様々な統合されたクラウドコンピューティングを含むソフトウェアプラットフォームおよび仮想化管理システムを持つ[4][5]。
Open vSwitch のLinuxカーネル実装は、2012年3月18日にリリースされたカーネルバージョン3.3のカーネルメインラインにマージされた[11][12]。Debian、Fedora、openSUSE、Ubuntuの公式Linuxディストリビューションで利用可能である[4]。2014年1月、FreeBSDとNetBSDの実装も利用でき、NetBSDの実装は完全なユーザ空間で動作する[13][14][15]。
Open vSwitch のソースコードの大部分は、プラットフォームに依存しないC言語で記述されているため、さまざまな環境への移植が容易である。ソースコードは、Apache License 2.0の下でライセンスされている[4]。
機能
2015年9月 (2015-09)現在[update]、Open vSwitch によって提供される機能を次に示す[16][17]:
- 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プログラミング言語用の既存のバインディングを備えたリモート構成プロトコル
- カーネル空間またはユーザ空間にパケット転送エンジンを実装し、カーネル空間を離れることなく転送されたパケットの大部分を処理し、マルチスレッドカーネル空間とユーザ空間コンポーネントを使用することにより、柔軟性を向上させ、パフォーマンスを向上させる[18][19]
- フローキャッシュエンジンを備えたマルチテーブル転送パイプライン
- 転送レイヤーの抽象化により、Open vSwitch を新しいソフトウェアおよびハードウェアプラットフォームに簡単に移植できる
参考
- 分散オーバーレイ仮想イーサネット(DOVE)
- LANスイッチング
- ネットワーク機能仮想化(NFV)
- オーバーレイトランスポート仮想化(OTV)
- ソフトウェア定義ネットワーク(SDN)
脚注
- ^ “A complete list of Open vSwitch releases”. openvswitch.org. 2017年11月9日時点のオリジナルよりアーカイブ。4月2日2014年閲覧。
- ^ Ilya Maximets (2023年10月17日). “[ovs-announce Open vSwitch 3.2.1, 3.1.3, 3.0.5 and 2.17.8 are available.]”. openvswitch.org. 2023年11月12日閲覧。
- ^ a b M. Tim Jones (10月27日2010年). “Virtual networking in Linux”. IBM. 4月9日2014年閲覧。
- ^ a b c d “Open vSwitch: An Open Virtual Switch”. openvswitch.org. 11月24日2013年閲覧。
- ^ a b Thomas Graf (4月24日2013年). “Underneath OpenStack Quantum: Software Defined Networking with Open vSwitch” (PDF). Red Hat. 4月9日2014年閲覧。
- ^ Ralf Spenneberg. “Virtual switching with Open vSwitch”. admin-magazine.com. 4月2日2014年閲覧。
- ^ “Tilera Launches Open Virtual Switch Solution (OVS) to Accelerate NFV and SDN”. Marketwired (2月24日2014年). 6月22日2015年閲覧。
- ^ “XenServer 6.0 Release Notes”. Citrix Systems (3月8日2012年). 1月22日2015年閲覧。
- ^ “XAPI: Open source software to build private and public clouds”. xenproject.org (2013年). 1月22日2015年閲覧。
- ^ Alessandro Pilotti (5月22日2014年). “Open vSwitch on Hyper-V”. cloudbase.it. 6月22日2015年閲覧。
- ^ “Linux kernel 3.3, Section 1.3. Open vSwitch”. kernelnewbies.org (3月18日2012年). 4月2日2014年閲覧。
- ^ Jonathan Corbet (11月30日2011年). “Routing Open vSwitch into the mainline”. LWN.net. 4月2日2014年閲覧。
- ^ “FreshPorts – net/openvswitch”. freshports.org (12月30日2013年). 4月2日2014年閲覧。
- ^ Gaetano Catalli (11月7日2011年). “Open vSwitch: performance improvement and porting to FreeBSD” (PDF). ucl.ac.be. 6月22日2015年閲覧。
- ^ “openvswitch/ovs: ovs/INSTALL.NetBSD at master”. github.com (1月11日2014年). 2014年4月9日時点のオリジナルよりアーカイブ。4月9日2014年閲覧。
- ^ “Open vSwitch: Features”. openvswitch.org. 9月17日2015年閲覧。
- ^ Jesse Gross (September 2013). “Programmable Networking with Open vSwitch” (PDF). linuxfoundation.org. LinuxCon. 11月24日2013年閲覧。
- ^ Justin Pettit (11月13日2014年). “Accelerating Open vSwitch to 'Ludicrous Speed'”. networkheresy.com. 5月26日2015年閲覧。
- ^ Jesse Gross (8月21日2014年). “The Evolution of Open vSwitch” (PDF). events.linuxfoundation.org. LinuxCon. pp. 6, 13–17. 5月28日2015年閲覧。
外部リンク
- 公式ウェブサイトsource code - GitHub
- to Open vSwitch 映像 - YouTube、2013年12月15日
- vSwitch: Deep Dive The Virtual Switch for OpenStack 映像 - YouTube, 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