SDN ? だったらハードウェアに依存しない新しいネットワークの話もしましょうよ!

【サブタイトル】SDN on SDN もしくは オーバーレイ on SDN

こちらの SDN Japan レポートを読みました。

https://cloud.watch.impress.co.jp/docs/event/20130924_616524.html

あくまでも私から見ての話ですが、良い記事ですね。

SDN に関してとても正しい議論がなされていたのだろうなと感じました。

いくつか考えてみましょう。

*****

いまのネットワークはほんの数社の大手ベンダーのもとにあり、ネットワーク管理者もベンダーに依存している

ベンダーに依存していても、利用者にとって適切なものであれば正常の形だと思うので、これ自体が課題とは言い難いです。
ただ。。。

コンピュータと違ってネットワークは理想どおりにいかない

この原因が、数社の大手ベンダーやネットワークエンジニアの固定化にあるのであれば、それは改善が必要でしょう。

大手ベンダは既存の大きな箱にSDNを追加するので、垂直構造は変わらず、なにもシンプルにならないため、コストは削減されない

もしこうなってしまうと、最悪のシナリオですね。
これまでの雑誌や Web の記事を見ている限りでは、それを助長しているようにも思えて、あまり気持ちのよいものではありませんでした。
ただ、それじゃダメだという雰囲気のことが書いてあるこの記事を見てホッとしました。

「なぜSDNの採用が進まないか」と問題を提起

SDN が進んでいるという話をする企業もいれば、この記事に書いてある通り SDN が進まない理由について議論する場もあるというのは、どういうことでしょう。
私の感覚だと進んでいません。。。が、グローバルなクラウドでは当たり前に使われています。
その違いは、下のほうに書きます。

スイッチのチップはBroadcomなどに収束して、スイッチのハードウェアはコモディティ化している。そうした部分はベンダーに任せて、その上の使い方をSDNで考えるべき

既存のネットワークベンダーさんによる(ネットワーク機器を含む)進化はガンガン進めていただければよいと思います。
ただ、その上での、使い方に応じた SDN があればよいと、私も思います。
たとえば、現在のネットワークの課題が、サーバーの仮想化に紐づくものであれば、サーバーの仮想化に合わせたシンプルな SDN を実行すればよいだけです。

****

さて、私はサーバーの仮想化の進化の過程の中で SDN やネットワークの仮想化に触れることになったので、

・ ネットワーク機器(ハードウェア) を入れ替えないといけない SDN

・ ネットワーク機器の構成変更をしなければ動かない(可能性のある) ネットワークの仮想化

・ ネットワーク機器同士のオーケストレーション

には寝る時間を削ってまで勉強するほど注目をしていません。

もちろん、新しいネットワークの話は面白いですし、ネットワークがなければ今のITは動かないに等しいので、大事なのはわかっています。

でも、今の私は直接影響を受けないんです。

もっと正しい表現をすると、マイクロソフトは、ネットワーク機器(ハードウェア)に関する設定や設計の影響を直接受けないように、オーバーレイ(Overlay)型のネットワークの仮想化(NVGRE)を作ったんです。

マイクロソフトも、クラウドを運営するうえでサーバー仮想化をベースにした新しいネットワークサービスを提供したかったわけですが、マイクロソフトの場合は、基盤担当とサービス担当が分かれていますから、サービス側としては、既存のネットワーク機器と設定を変えずに動くようにしたかったのは言うまでもありません。

(細かな話ですが) NVGREの場合、ARPのパケットが物理に出ないので物理ネットワークやスイッチに極端な負荷をかけることもありませんし、カプセル化されたパケットは分割されてネットワークに流れます(物理にデータが出る前に処理が行われる)ので、ジャンボフレームやマルチキャストなどの設定を物理ネットワーク機器に施しておく必要もありません。

※ 分割しちゃうと遅くなるじゃないかという意見もあるみたいですが、仮想化やクラウドのエンジニアさんならわかるとおり、サーバーの仮想化を動かす中で、「パケット分割がなければボトルネックがなくなるのに・・・」 という状況はそうそう思い浮かばないので、現存する様々なネットワーク機器を受け入れるための措置は正しいと思っています。

※ NVGRE はフロー制御が出来ないという勘違いをされている方もいるようですが、それも間違いです。

であれば、まずは既存のあらゆるネットワーク上で動作しつつ、仮想マシン用の分離されたネットワークを自由に作ったり、そこに仮想マシンを配置したりできればよいと思っても不思議ではありません。

記事の議論の中に出てきた、

スイッチのチップはBroadcomなどに収束して、スイッチのハードウェアはコモディティ化している。そうした部分はベンダーに任せて、その上の使い方をSDNで考えるべき

というポイントをサーバー仮想化に合わせて実践したのが、現在のマイクロソフトの SDN です。

****

ということで、どういう表現が良いのかなあと思ってましたが、

SDN on SDN もしくは オーバーレイネットワーク on SDN

みたいな感じかなと思ってます。

だって、「SDN on SDN」 の右側の SDN はハードウェアを含むネットワークベンダーさんの領域で、上で動かすもののための SDN を考えている私のようなサービスやソフトウェア側のベンダーは、左側のSDNを使ってやりたいことがあるわけですから・・・

上記記事のような議論が出てくる状況が続く限り、この2つを一緒にすることに無理があると判断してしまったほうが早いでしょう。

ということで、このブログの意味が分かる方には、Windows Server 2012 R2 に実装されているネットワークの仮想化と、System Center 2012 R2で実現するサーバー仮想化のための SDN に触れてみてほしいです。Windows Server 2012 R2 は NVGRE Gateway を提供するので、マイクロソフトのネットワークの仮想化や SDN はすぐに試せる状況になっています。

すでに Facebook ではお知らせしましたが、NVGRE の環境構築の資料(英語)も公開されましたし、

https://gallery.technet.microsoft.com/Hybrid-Cloud-with-NVGRE-aa6e1e9a

日本で NVGRE を語らせたら右に出る者がいない後藤さんのブログや、過去のセミナー資料もとても参考になります。

https://www.dob1.info/

「今わかっている NVGRE のすべて見せます。~デモ付き~」セッション資料

実は月曜日、この辺のお話をすることになっています。。。

そろそろグローバルなクラウドベンダーが考える SDN を披露する時が来たようです!

日本マイクロソフト 高添