ページの先頭です
2012年3月15日
サーバの仮想化、ストレージの仮想化に続いて、ネットワークの仮想化という言葉がちらほらと聞こえてくるようになりました。「ネットワークの仮想化=VLANと違うの?」と言われることも多いですが、ネットワークの仮想化という表現は理解しづらく、最近ではSDN(Software Defined Network)と言う表現が一般的になってきています。
今回は世の中で話題のSDNと、SDNを実現する技術要素であるOpenFlowと仮想スイッチについてご紹介します。
ユーザが望むネットワーク環境を構築する際、既存のデータセンター内ネットワークでは、以下のような過程を経て行きます。
IIJ GIOのバックエンドでは、物理スイッチと仮想マシンのVLAN制御のみである程度柔軟な構成が取れます。しかし、ルータ、スイッチ、ファイアウォール、ロードバランサ、VLANなどを自由にかつスピーディーに組み替えたいという要望には応えにくく、構成が制限されるのが現状です。そこで、プロビジョニングツールを使うことで、ユーザが望むネットワーク構成を動的に設定したい、つまり「物理機器に縛られずに、ソフトウェアでネットワークを定義したい。」という、この言葉こそが、「SDN = Software Defined Network」と呼ばれる所以となりました。
それでは、SDNを実現するための技術はあるのでしょうか?ここでは、その疑問を解決するOpenFlowについて解説します。
SDNを実現する仕組みとして、OpenFlowが取り上げられることが多くなってきました。OpenFlowは、コントロールプレーンとデータプレーンが分離した仕組みになっており、スイッチを管理するためにOpenFlowコントローラを利用し、コントロールプレーンを用いてスイッチを制御します。OpenFlowはプログラマブルなので、スイッチとしての用途以外にFirewallやロードバランサの機能を搭載できます。OpenFlowコントローラとOpenFlow対応スイッチは、柔軟なネットワーク構成を動的に定義するためのプロビジョニングツールとその部品として利用できます。OpenFlowに対応した物理スイッチは、まだ高価な製品が多いですが、数年後には安価なOpenFlow物理スイッチが登場するでしょう。
サーバの仮想化と同様にスイッチの仮想化も行われており、仮想スイッチと呼ばれるプロダクトが存在します。仮想スイッチは、Hypervisor上に実装されるブリッジを機能拡張したもので、仮想マシンからは物理スイッチと同等に見え、物理スイッチと同等の管理を行えます。
これまでのデータセンター内ネットワーク構成は、物理スイッチの設定に依存する場合が多く、設定変更は関連するすべての物理スイッチに対して再設定をするか、VLANをうまく繋ぎ換える手法が一般的でした。設定には、手動でのCLI入力や、SNMP、NetConf、プログラムによるCLI入力の自動化や、設定ファイルの転送などが必要です。ネットワーク機器を増やす場合には、同時にいくつもの機器に対して動的に設定を投入することもあるため、規模の拡大に伴う設定変更コストと障害リスクは目に見えて大きくなります。
こうしたスイッチ管理の問題は、仮想スイッチを利用した場合でも同じで、仮想化により管理対象が増えるため、一般的にはコストやリスクが上昇することが予想されます。では、管理問題を解決するよい方法はないのでしょうか?その1つとして、仮想スイッチもOpenFlowで制御を行うという方法があります。仮想スイッチはOpenFlowコントローラから見れば、管理対象の1つのスイッチであることには変わらないので、構成の組み替えをOpenFlowコントローラから動的に行えるのです。
「研究開発用データセンターにおけるサーバ基盤管理」でご紹介したように、研究開発用データセンターには、OpenStackの環境が構築されています。OpenStackのネットワーク基盤を管理する機能である「Quantum」には、仮想スイッチであるOpen vSwitchが利用されており、QuantumをOpenFlowでコントロールするオープンソースのプラグインがいくつか作成されています。こうしたオープンソースプロダクトを利用するか、プラグインを自作するかした上で、研究開発用データセンター上のOpenStack環境をSDNの視点から評価したいと思います。
今回ご紹介したSDNは、日本では「クラウド」と同等のバズワードのように叫ばれていますが、「クラウド」という言葉と同様に、導入すれば何でも解決するという訳ではないのです。何ができて何ができないのか、どのようなケースに合うのか、どのような利点や欠点があるのか、IaaS/PaaSやその他のサービスとどうしたらうまく連携できるのか、という課題が多い技術であり、検証を行った上で効果的な適用方法を模索して行く必要があります。
このように、SDNはまだ評価段階です。IIJでは引き続き、「作って、試して、壊しても大丈夫」という思想のもと、研究開発用データセンターを利用して性能評価のライフサイクルをまわし、実サービスへの投入を視野に入れた実験に取り組みたいと思います。
執筆者プロフィール
阿部 博(あべ ひろし)
IIJ サービス本部 プラットフォームサービス部 プラットフォーム開発課
2003年IIJ入社。セキュリティサービスの開発業務を経て、分散処理システム等クラウドに関わるテクノロジーを調査。2009年より、IIJ GIOの基盤システムの開発に関わる。
関連リンク
ページの終わりです