はじめに
Open vSwitch とはなんぞや? からできることを調べます。
理解のために、公式ドキュメントを日本語に翻訳した記事です。
Open vSwitch
Open vSwitchは、オープンソースのApache 2.0ライセンスでライセンスされた、製品品質のマルチレイヤー仮想スイッチです。
標準的な管理インターフェイスとプロトコル(NetFlow、sFlow、IPFIX、RSPAN、CLI、LACP、802.1agなど)をサポートしながら、プログラムによる拡張で大規模なネットワークの自動化を可能にするように設計されています。
さらに、VMwareのvNetwork分散vswitchやCiscoのNexus 1000Vのように、複数の物理サーバーへの分散をサポートするように設計されています。
Open vSwitch でできること
Open vSwitchは以下の機能をサポートしている。
- NetFlow、sFlow(R)、IPFIX、SPAN、RSPAN、GREトンネルミラーによるVM間通信の可視化
- LACP (IEEE 802.1AX-2008)
- 標準802.1Q VLANモデルとトランキング
- マルチキャスト・スヌーピング
- IETF 自動アタッチ SPBM および初歩的な必須 LLDP サポート
- BFDおよび802.1agリンク監視
- STP (IEEE 802.1D-1998)およびRSTP (IEEE 802.1D-2004)
- きめ細かなQoS制御
- HFSC qdiscのサポート
- VMインターフェイスごとのトラフィックポリシング
- ソース-MACロードバランシング、アクティブバックアップ、L4ハッシングによるNICボンディング
- OpenFlowプロトコルのサポート(仮想化のための多くの拡張を含む)
- IPv6サポート
- 複数のトンネリングプロトコル(GRE、VXLAN、STT、Geneve、IPsec対応)
- CおよびPythonバインディングによるリモート・コンフィギュレーション・プロトコル
- カーネルおよびユーザースペースのフォワーディングエンジンオプション
- フローキャッシングエンジンを備えたマルチテーブル転送パイプライン
- 新しいソフトウェアやハードウェア・プラットフォームへの移植を容易にするフォワーディング・レイヤーの抽象化
Open vSwitcとは?
概要
Open vSwitchは、オープンソースApache 2ライセンスの下でライセンスされている多層ソフトウェアスイッチです。
私たちの目標は、標準的な管理インターフェースをサポートし、転送機能をプログラム的な拡張と制御に開放する、生産品質のスイッチプラットフォームを実装することです。
Open vSwitchは、VM環境で仮想スイッチとして機能するのに適しています。
仮想ネットワーキング層に標準の制御および可視性インターフェースを公開するだけでなく、複数の物理サーバー間での分散をサポートするように設計されています。
Open vSwitchは、KVMやVirtualBoxを含む複数のLinuxベースの仮想化技術をサポートしています。
コードの大部分はプラットフォームに依存しないCで書かれており、他の環境に容易に移植できます。
Open vSwitchの現在のリリースは、以下の機能をサポートしています:
- 標準802.1Q VLANモデル、トランクおよびアクセスポート
- 上流スイッチにLACPの有無にかかわらないNICボンディング
- NetFlow、sFlow(R)、ミラーリングによる可視性の向上
- QoS(Quality of Service)設定、およびポリシング
- Geneve、GRE、VXLAN、STT、ERSPAN、GTP-U、SRv6、Bareudp、LISPトンネリング
- 802.1agコネクティビティフォルト管理
- OpenFlow 1.0および多数の拡張機能
- CおよびPythonバインディングを備えたトランザクショナル構成データベース
- Linuxカーネルモジュールを使用した高性能転送
Open vSwitchは、カーネルモジュールの助けを借りずに、完全にユーザースペースで動作することもできます。
このユーザースペース実装は、カーネルベースのスイッチよりも移植が容易であるべきです。
ユーザースペースのOVSは、LinuxまたはDPDKデバイスにアクセスできます。
注:ユーザースペースデータパスと非DPDKデバイスを備えたOpen vSwitchは実験的とされ、パフォーマンスのコストが伴います。
何があるのか?
このディストリビューションの主なコンポーネントは以下の通りです:
- ovs-vswitchd、フローベースのスイッチングを行うデーモンと、それに付随するLinuxカーネルモジュール
- ovsdb-server、ovs-vswitchdがその設定を取得するために問い合わせる軽量データベースサーバー
- ovs-dpctl、スイッチのカーネルモジュールを設定するためのツール
- Red Hat Enterprise Linux用のRPMやUbuntu/Debian用のdebパッケージをビルドするためのスクリプトと仕様
- ovs-vsctl、ovs-vswitchdの設定を照会および更新するためのユーティリティ
- ovs-appctl、実行中のOpen vSwitchデーモンにコマンドを送信するユーティリティ
Open vSwitchはいくつかのツールも提供しています:
- ovs-ofctl、OpenFlowスイッチおよびコントローラーを照会および制御するためのユーティリティ
- ovs-pki、OpenFlowスイッチの公開鍵インフラを作成および管理するためのユーティリティ
- ovs-testcontroller、テスト用に便利なシンプルなOpenFlowコントローラー(ただし、本番用ではありません)
- OpenFlowメッセージを解析することを可能にするtcpdumpへのパッチ
さいごに
次は触りたい
関連リンク
Open vSwitch
Open vSwitch - Getting Started
Wikipedia - Open vSwitch