いま盛んに議論されているSDNあるいは仮想ネットワークは、おおまかに言うと3種類のコンポーネントからなる。仮想ネットワークの構成要素であるスイッチと、その経路制御などを担う制御機構、そして仮想ネットワーク上にクラウドを構成するための「クラウドコントローラー」である。代表的なものに、オープンソースの仮想スイッチ「Open vSwitch」、経路制御機構の「OpenFlowコントローラー」、そしてクラウドコントローラーの「OpenStack」がある。

 OpenFlowは、ネットワーク仮想化の基盤として最も重要視されている技術。OpenStackは2010年7月に米国大手クラウド事業者のラックスペース(RackSpace)とNASA(米航空宇宙局)により開始されたIaaS相当の機能を提供するオープンソースのクラウド基盤開発プロジェクトで、ネットワーク機器ベンダーなども多数参加している注目の組織である。このOpenStackで開発されたクラウドコントローラーにOpenFlowを組み合わせることで、ユーザーからの指示で点在するスイッチを論理的につなぎ合わせ、仮想ネットワークを作り上げることができるようになる。

 これらは今、ネットワーク仮想化のけん引役とも言える。そこで本パートでは、OpenFlowとOpenStackについて解説する。

OpenFlowはルールとアクションで経路制御

 OpenFlowは、2007年にスタンフォード大学で学術用のネットワーク技術として開発が始まった。現在はOpen Networking Foundation(ONF)で標準化を進めている。

 基本的な発想では、集中制御を行うコントローラーが、OpenFlow仕様に準拠するスイッチに対してプログラムを配布し、各スイッチがそのプログラムに基づいて動作する(図3)。厳密には、コントローラーからスイッチ内のフローテーブルを書き換える。

図3●OpenFlowの仕組み
経路制御の仕組みとパケット転送の仕組みを分離させることで、ネットワークの論理的な構成/トポロジー、転送ルールをソフトウエアで一元的に制御できるようになる。
[画像のクリックで拡大表示]

 OpenFlowによる制御は、このフローテーブルで管理する「ルール」と「アクション」の組み合わせで指定する。ルールは処理対象とするパケットを特定するもので、TCPポート80番のパケットなど、レイヤー1(L1)からレイヤー4(L4)のヘッダー内容を条件として指定できる。

 アクションはルールに合致したパケットに対し行う動作を規定するもので、他ポートへの転送や、ヘッダー書き換え、破棄などを指定できる。これにより、特定のポート番号に到着したパケットは破棄するといった処理を記述できる。

 見方を変えると、コントローラーからスイッチに単純なプログラムを配布するだけで、スイッチを目的に応じて、ルーターやファイアウォール、ロードバランサーに変化させられる。フローの設定次第で、ユーザーごと、アプリケーションごとに独立した仮想ネットワークも実現できる。この柔軟性がOpenFlowが着目されている一つの理由と言える。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。