OpenFlowとは

OpenFlowは、ソフトウェア主導でネットワークを構成するアプローチであるSDN(Software Defined Networking)を実現する技術です。

従来、ネットワークデバイスには、経路管理を担うコントロールプレーンと、データ転送を担うデータプレーンという2つの主要な機能が統合されていました。OpenFlowの最大の特徴は、この2つの機能を分離することです。OpenFlowコントローラーがコントロールプレーン(通常はソフトウェアとして実装)を担い、OpenFlowスイッチがデータプレーン(通常はハードウェアとして提供されますが、Open vSwitchのようなソフトウェア実装も存在)を担います。

OpenFlowのもう1つの重要な特徴は、データ転送ルールを定義するフローテーブルを使用することです。フローテーブルでは、MACアドレス、IPアドレス、ポート番号、VLAN ID、MPLSラベルなどのパケット処理条件と、特定のポートへのパケット転送、特定のフィールドの変更、パケットの破棄といった対応するアクションを指定します。

フローテーブルを使用することで、OpenFlowは、通常はレイヤー2(L2)スイッチ、ルーター、またはレイヤー3(L3)スイッチが担う機能を実行できます。また、ファイアウォールやロードバランサーに類似した動作も実装できます。さらに、OpenFlowはフェイルオーバーメカニズムをサポートしており、スイッチに障害が発生した場合に代替経路へ自動的に再ルーティングできるほか、VLANに類似したネットワークセグメンテーションも可能です。複数のOpenFlowスイッチで構成されるネットワークは、OpenFlowコントローラーによって一元的に管理および制御されます。

OpenFlowは、ネットワークの構成や機能を定義・管理するための柔軟性とプログラマビリティに優れた手段を提供し、従来のハードウェアベースのネットワークインフラストラクチャに比べて大きな利点があります。