写真●開発した「FLAREスイッチ」について講演する東京大学大学院情報学環の中尾彰宏准教授
写真●開発した「FLAREスイッチ」について講演する東京大学大学院情報学環の中尾彰宏准教授
[画像のクリックで拡大表示]

 「DPN(Deeply Programmable Network)はSDN(Software Defined Network)の進化形で今後ますます重要になる。現在は学術レベルだが、動きが非常に速い分野なので数年後には実用化されているかもしれない」。東京大学大学院情報学環の中尾彰宏准教授はITpro EXPO 2012内で開催中のOpenFlow/SDNミニシアター基調講演に登壇し、「Deep Programmabilityを実現するネットワーク仮想化技術」という題で講演した(写真)。

 中尾准教授はメーカーと協力して、SDN以上にプログラム性の高いDPNのコンセプトを実装した「FLAREスイッチ」と呼ぶ独自のスイッチを開発した(関連記事1関連記事2)。キャッシュやトランスコーディングなど自由なパケット処理ができたり、IP以外のプロトコルを扱えたり、独自のAPIを定義できたりする。そして、それらはプログラムによって制御できる。

 中尾准教授は「ネットワーク仮想化をやりたい、そのうえで(ポリシーによって経路制御する)コントロールプレーンも(データ転送などの)データプレーンも完全にプログラムできる夢のスイッチを作れないかとチャレンジした」とFLAREスイッチを開発した狙いを語った。

 FLAREスイッチはミニ1Uサイズのスイッチで、メニーコアプロセッサとx86プロセッサを搭載している。データプレーンはメニーコアプロセッサが担当し、コントロールプレーンはx86プロセッサが担当する。10Gビット/秒を4ポート搭載し、20Gビット/秒の転送能力を持つ。2013年2月には10Gビット/秒が2ポート、1Gビット/秒が8ポートの製品も開発する予定だ。

筐体内に最大15個の異なるスイッチロジックを搭載

 FLAREスイッチの特徴が「Sliver」(スリバー)と呼ぶ概念である。仮想的なスイッチで1筐体内に最大15個を設定できる。各Sliverごとにコントロールプレーンとデータプレーンを搭載し、それらはプログラム可能となっている。「Linuxプログラミングができる人ならばすぐに開発できるようにしている」(中尾准教授)という。

 各Sliverは異なるプロトコルのスイッチとして動作させられる。通常のイーサネットスイッチとして、あるいは、OpenFlowスイッチとして、仕様から外れてMACアドレスを拡張した独自プロトコル対応のスイッチとしても、使うことができる。

 Sliverに対するパケットの振り分け機能として、FLAREスイッチは「パケットスライサー」と呼ぶ機能を搭載する。パケットに付加したIDに基づき、そのパケットがどのスライスで処理されるかを決める。中尾准教授は「スイッチロジックを瞬時に切り替えできるということだ」という。

 さらにSliverの集合を「スライス」と定義する。いわゆるネットワーク仮想化である。複数のFLAREスイッチで構成されたネットワークにおいて、プロトコルやポリシー、パケット処理方法などの仕様が異なる論理的なネットワークが重層に存在する格好だ。

 柔軟性の高さはパフォーマンスとトレードオフになりがちだが、FLAREスイッチはメニーコアプロセッサの採用で高いパフォーマンスを実現できているという。「イーサネットの場合は3コアで10Gビット/秒のフルの性能を出せる。OpenFlowは少し落ちるが、5コアで6Gビット/秒出る」(中尾准教授)。