22nd GENI Engineering Conference (GEC 22) という会議でデモをするためにワシントン DC に出張した. 通常はこのブログで学会発表そのものについては書いていないが,今回はとくに 発表内容である IPON というあたらしいプロトコルについて書くことにする.
GENI はインターネットにかわる新世代のネットワークの実験場 (テストベッド) をつくろうというプロジェクトであり,まもなく終了しようとしている. その成果として,米国のさまざまな大学で提供されたコンピュータなどをつないで,ひろくつかえるネットワーク環境が構築されている. GEC 22 はそういう GENI が年 3 回ひらいている会議であり,日本で国家プロジェクトをやっている我々 (東大,NTT,各社) が共同で GEC 22 におけるデモをおこなった. 私はそのなかで IPON というあたらしいプロトコルの実験 (すこしおおげさにいえばインターネットの再構築をめざす実験) をおこなって発表した. (IPON は先日のネットワーク仮想化研究会でも発表しているので,IPON のリンクはその情報につながっている.)
現在ひろく使用されているプロトコル・スタック IP/Ethernet の問題点はアドレスが重複している (MAC アドレスと IP アドレスがともにパケットにふくまれている) ためにパケット・サイズが 増加し,アドレスを対応づける ARP というやっかいなプロトコルが必要になっていることだ. そうなっている理由は,パケット転送先をきめるのに LAN では MAC アドレスが使用され,WAN では IP アドレスが使用されることだ. LAN でも転送先の決定に IP アドレスを使用するようにすれば,アドレスを IP アドレスだけにすることができる.
このアドレス統一を実現するため,このデモでは IP アドレスによる LAN スイッチングを実装している. つまり,これまでスイッチングには MAC アドレスをつかってきたが,そのかわりに IP アドレスをつかえば MAC アドレスはいらなくなるということだ. プロジェクトの実験環境において生成した仮想ネットワーク上で IP アドレスを学習するスイッチをソフトウェア実装し,それに端末用の VM (シミュレートされた PC) を接続して通信実験をおこなった. Flooding, switching という 2 つのモードを実験したビデオを加工してみせている.
IPON はさらに IP の TTL フィールドを利用することによって冗長なネットワーク (ループのあるネットワーク) でもパケット転送できるようにしている (IP と同様に障害対応ができるようにしている. IPON は以前に提案したプロトコル IPEC と機能的にはひとしい.) このデモではさらに 3 角形のスイッチング・ネットワークのうち 1 台の スイッチをプラグイン・アーキテクチャによって実現している. 今回はソフトウェア・プラグインを使用したが,このプラグイン・アーキテクチャを使用すれば,ネットワーク・プロセッサ等によって IPON を実装することも可能である.
デモをみせた相手からいろいろな質問をうけたが,反応は好意的だった. 最近は既存のプロトコルにかわるべきプロトコル (clean slate のプロトコル) に関する注目度が低下しているが,GENI 関係者にはいまでも興味をもつひとが多いのだと かんがえられる. MAC アドレスをなくすことには否定的な反応があるのではないかとかんがえていたが, アドレスを統一することはほぼ一様に肯定的にうけとめられた.
アドレス統一のために実装には Ethernet の promiscuous mode を使用し,フリー・フォーマットにするために VNode 実装および IPON の実装にくふうが必要だったが,その点に関する質問も 数件うけた.
IP/Ethernet を廃止することは現実的にはきわめて困難だとかんがえられるが, 歴史的な事情で (必然性なしに) きめられたこのプロトコル・スタックの問題点を指摘し,その 単純化をはかる努力は今後も必要だとかんがえられる.
注意: このブログの内容は個人的な意見を反映したものであり,会社や共同研究者によるものではありません.