ハードウェアありきのSDNから、仮想ネットワークを切り離して考えてみよう
物理ネットワークへの負荷を大幅に減らす「NVGRE」
詳細は2回目以降に触れるが、ネットワーク仮想化技術の1つNVGREでは、ネットワークの分離に24bit使えるため、単純計算で1,677万個以上の仮想ネットワークを作ることができ、4,094というVLANの制約を一気に解決できるようになる。また、ベンダ毎に実装の違いはあるものの、オーバーレイネットワークは既存のハードウェア機器の上で動くため、ネットワーク機器入れ替えの議論や、物理ネットワークの進化の議論とは別に、仮想マシンのための仮想ネットワークを構築できる。例えば、パブリックなクラウドの中には、このネットワークの仮想化技術を利用することでネットワークそのものをサービスとして利用者に提供しているところもある。
利用者は、自分が使いたいIPアドレス体系をそのままクラウド事業者が運営しているデータセンター上に構築できるため、BYODならぬBYOIP(Bring Your Own IP)が可能となるわけだ。まさに、サービスのための新しいネットワーク像が浮かび上がってくる。
さらに、カプセル化やパケットのフラグメンテーション、ブロードキャストパケットのハンドリングなどを、物理ネットワークにパケットが出ていく前にネットワーク仮想化の処理が実行されるため、うまく利用することで、物理ネットワークへの負荷を一気に減らせる可能性すら持っているのである。
仮想ネットワークの正常動作に欠かせないコントローラの存在
ただ、ここまではネットワークの仮想化の話でしかない。それでは、SDNについてはどのように考えればよいのだろうか。
ネットワークの仮想化を正しく動作させるためには、ネットワークの仮想化を処理するモジュール(コンポーネント)が必要である。各社実装方法も呼び方も様々だが、これまで物理ネットワーク機器が行っていた処理をソフトウェアで実現するために、ネットワーク仮想化モジュールはMACアドレステーブルや独自のルーティングテーブルを持つこととなる。そして、パケット処理はテーブルを参照して決めることになるため、このテーブル情報のコントロールがとても重要なのだ。
もうお分かりだろう。仮想化されたネットワークに対して専用のコントローラがいてもよいわけだ。コントローラによって仮想ネットワークの定義/設定がなされ、その情報がデータセンター内のネットワーク仮想化モジュールに伝達されることで、データセンター内の仮想化されたネットワークが正常に動作する。これも、広義にSoftware DefinedなNetworkであり、物理非依存なネットワークが構築可能であるという意味ではSDNらしいともいえる。
実は、情報のコントロール方法にも、コントローラを用意して集中的にコントロールするパターンと、コントローラを使わないコントローラレスの2種類の実装があるが、OpenFlow対応スイッチとOpenFlowコントローラの組み合わせがSDNをイメージしやすいように、本記事ではオーバーレイネットワークの仮想化にもコントローラが存在するというスタンスで話を進めることにする。
なお、オーバーレイを前提としたSDNは既にグローバルなクラウドベンダーで実用されている通り1つの現実解といえるのだが、ネットワークはソフトウェアだけで実現できるものではない。クラウドベンダーとしてハードウェアの進化をゆっくり待っていられないので、まずは物理非依存のネットワークサービスを開発し提供を開始しただけの話である。本記事ではあえて否定的に書くことになった物理ネットワークの進化についても、筆者自身が期待していることはお伝えしておく。
次回は
以上、まずは現状の把握からネットワークの仮想化、そしてオーバーレイネットワークにおけるSDNについて、ネットワークベンダの目線とは違う観点から解説をしてきた。次回以降は、ソフトウェアによる実装や挙動、設定画面などを例に、より具体的な解説に入っていこうと考えている。