labs.beatcraft.com

OpenFlow とは?

OpenFlow とは、ネットワークをその構成要素から分離し抽象化して再構成する
SDN (Software Defined Network)を実現する技術の一つです。
ネットワークを抽象化することでネットワーク全体がプログラムの対象となり、
集中管理、構成の自動変更、最適化といったことをプログラミンで行うことが可能になります。

OpenFlowOpenFlowスイッチとOpenFlowコントローラーから構成されます。
OpenFlowスイッチはフローテーブルに従ってパケットを転送し、
フローテーブルにないパケットが来た場合はOpenFlowコントローラーに処理方法を問い合わせます。
OpenFlowコントローラーは経路計算をしたり、パケットの扱いのルールをフローテーブルの書き込むことで
OpenFlowスイッチに動作の指示をしたりしてネットワークを管理します。
OpenFlowコントローラーからの指示によってOpenFlowスイッチは
スイッチにもルーターにもロードバランサーにもなります。

OpenFlowの標準化

このスイッチとコントローラー間の通信仕様はOpenFlowプロトコルとして標準化されています。
OpenFlow 1.1 まではスタンフォード大学の研究チームを中心にしたOpenFlowスイッチングコンソーシアムによって策定され
http://www.openflow.org/wp/documents/
で公開されていましたが、
現在は Open Networking Foundation という組織で仕様が策定されています。
2013年3月末現在 1.3.1 まで仕様が出ています。
https://www.opennetworking.org/standards/openflow-switch

OpenFlow は同じ version のプロトコルに対応したスイッチとコントローラーの間でしか
通信を行うことはできません。

OpenFlow対応スイッチの製品の多くは1.0や1.1までの対応だったのですが、
最近になって急速に 1.3.1 への対応が進んできています。

Version ごとの特徴は以下のようになっています。

スイッチとコントローラー

OpenFlowスイッチにはソフトウェアによる実装と機器ベンダーによる装置としての実装があります。
OpenFlowコントローラーはスイッチを制御するコントローラーのルールをどの言語で書けるかによって
それぞれ以下のような実装があります。

OpenFlow Switch

OpenFlow Controller

OpenFlow を試してみる。

OpenFlow はどんなものなのか、上に挙げたスイッチとコントローラーの組み合わせを実際に動作させて試してみます。

mininet


BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   新規 一覧 単語検索 最終更新   最終更新のRSS