先週SantaClaraで開催されたOpen Networking Summitが大盛況だったこともあり,SDN (Software Defined Network), 即ちVirtualization, Programmability, Management (Orchestration)について再度考えている.(このBlogはその時々の思考を記述しておくために書いているが,自分の過去のエントリーは,恥ずかしいやら情けないやらで,あまり読み返す気がしない.しかし,状況が刻々と変わるとはいえ,ある程度意見に一貫性がなければ,技術者としての信頼性にもかかわる.そこで,数か月前の自分がこの件についてどう考えていたかを,仕方なく振り返った.前回の記事)
今の考えは,前回の記事から根本的に変わっていないけれど,集中管理か分散かの議論は,適用領域と捉え方を明確にしない限りは意味が無い(例えば自律分散システムの代表のようなルータであっても,Routing EngineがForwarding Engineの動作を決めている,という意味で,捉え方によっては集中システムである)し,そもそもちょっと斜に構えていて真の要望や意義を捉えきれていない,という意味で,やはり前回の投稿内容は少し情けないと言わざるを得ない.
今言えることは,まず,「ネットワークを再定義したい」という,市場の大きな波があることは確かである.これはとてもわくわくすることだ.一方,このことにより,ネットワークやシステム機器ヴェンダが無価値化する,という論調もある.これも,冷静に受け止める必要がある.実際,ある領域においては既に起こっていることだ.この擾乱期においては,これからのネットワークの在り方についての真の要望や意義を捉え,かつ,それを実現して行くことが重要と思う.
ところで,SDNで一つ疑問なのは,ネットワーク性能特性をアプリケーションソフトウェアがどの程度指定すべきか,という点である.
SDNのNetwork Programmabilityによって,ネットワークの自動化,オンデマンド化,最適化,シナリオ化が進むであろう.しかし,それは構成,トポロジー,エンカプスレーション,パス計算やパス決定,その他イヴェントと言った,ネットワークの一面を捉えたものに過ぎない.ネットワーク技術の進歩は,その性能特性の進歩である,と言えるにも関わらず,である.
帯域・伝送効率,スループット(pps)向上は勿論,各種コントロールプレーン,Leaky Bucket Modelに基づくpolicing, Queue Service Scheduler, Congestion Management, Load balancing, 冗長,異経路化,Fast Convergence, Fast Protectionなどなどの技術は,ひとえに性能特性,SLA特性を上げるために開発されてきた.だから,一言でA地点からB地点への接続性と言っても,そのネットワークがどのような設計コンセプトでどのように構成されているかによって,得られる性能特性が全く異なる.また,ネットワークの性能特性は相対的なものでなく,数値を特定しているものも多い.帯域やppsのみならず,50msec以内の迂回時間,99.99%の稼働率,など.SDNでは,このような性能特性を,アプリケーションが活用すべきなのか.活用できるのか.
基本的に,ソフトウェアは,自身の性能の記述ができない.その性能は専らそのソフトウェアが実行される環境に依存するためである.したがって,その性能特性は,外側からベンチマーク試験等で計測するしかない.自分の性能を記述できないのに,性能指標をプログラムに取り込むことには無理があるかもしれない.
実際,例えば現在のOpenstack Quantumでは,指定するのはNetwork IDとPort程度で,とりあえずConnectivity確保とIsolationができればよいという感じ.確かに,そのネットワークの性能特性を抽象化されたセットにして,それを"Network ID"に紐づける,というのが,現実的な運用方法なのかもしれない.
一方,折角のProgrammabilityなのに,この程度の結合度でよいのか,という気もする.この程度であれば,別にProgrammableである必要はないのでは.(勿論,Programmabilityの目的は別のところにあるのかもしれないけれど.)
そこで,ネットワークを「環境」として捉えるのではなく,「オブジェクト」として捉えるのはどうだろう.「オブジェクト」であれば,性能指標もプロパティとして与えることができる可能性があるのではないか.実は以前,ネットワークのコネクティヴィティ/トランスポートをオブジェクトとして捉える提案を,論文にしたことがある.2007年のことだ.勿論,論の運びが学術的でなく,論理的根拠も実際の裏付けもなく,不採録になったが,目の付けどころは悪くなかったかもしれない.練り直して再チャレンジしようかなぁ.
良いですね。オブジェクト化。
プロパティをどう定義していくかというとろこもありますが、サービサーの視点からは、ネットワークのデザインというところで、非常に興味が湧きますね。
投稿情報: いわっさん | 2012.04.30 00:25