森泰吉郎記念研究振興基金
博士課程 研究助成金 研究成果報告書

仮想ネットワークを用いたプロトコル開発支援ライブラリの構築
今泉英明
政策・メディア研究科博士課程3年
hiddy@sfc.wide.ad.jp



1. 研究概要

本研究では、仮想ネットワークに対してプロトコル仕様や実装を行うことで拡張性や移植性を得る手法を提案し、実装・評価を行う.リンク・ステート型経路制 御技術やブロードキャスト技術、マルチキャスト技術などのグラフ抽象化を基礎にする技術は,本質的に特定のネットワーク技術に依存しない.現状では,これ らの技術は特定のネットワーク技術で定義される識別子や通信方式を直接利用するために,他のネットワーク技術への移植性やヘテロジニアスなネットワーク環 境への適応性を低下させている.本研究では、仮想ネットワークを構成するために,同一メディア・アクセス制御方式を提供する仮想データリンクANCIFと エミュレートする手法を提案し、ライブラリを実装・仮想化によるオーバヘッドを評価する.


2. 研究成果

本研究をまとめ、以下の2点にまとめた。


3. 研究内容

3.1 はじめに

コンピュータ・ネットワークにおいて,ネットワークを 物理的あるいは論理的なグラフ情報として扱うことは非常に重要である. リンク・ステート型経路制御技術や ブロードキャスト技術は,ネットワーク全体のあるいは一部のグラフ情報から木構造を 構成することで実現される.

一般的にこれらの技術では,ネットワークを有向グラフ情報あるいは 無向グラフ情報G = (V, E)にモデル化し,様々なアルゴリズムを適用する. Vはネットワーク上のノードvの集合であり,Eはリンクeの集合を表す. これらの技術は,グラフ情報に対する操作を基礎とするため, 理論的にはグラフ情報に抽象化できる全てのネットワークに適用できる.

しかし,これらの技術が特定のネットワーク技術に対し開発される場合, 一般的には他のネットワーク技術への拡張性や移植性については考慮されない. 多くの場合,グラフ情報を構成するノードとリンクを表す識別子 に,特定のネットワーク技術で定義される識別子を用いたり, グラフ情報を検出するために特定のネットワーク技術の通信方式を 利用する.したがって新しい種類のネットワーク技術が登場した場合は, 同様の技術を新たに仕様を定め実装を行う必要がある.

一般的に,特定のネットワーク技術を対象としたプロトコルを異なる ネットワーク技術のために新たに仕様を定義した場合, もともとの仕様と必ず重複する部分が出る. 特にOSPF,LVA,ALPといった リンク・ステート型経路制御技術のように複雑な仕様を必要とするものは, 実装が安定するまで時間が掛かり,再開発するコストが非常に高い. 一度他のネットワーク技術用に開発したものをできるだけ再利用できれば, 再開発に掛かるコストは大幅に下る.

一方でBBP,TBRPFなどの ブロードキャスト技術は,経路制御技術とは異なり, 特定のネットワーク技術に限定される必要は無い. したがって,本質的にはIP,IPv6,ATMなどの技術が混在した ヘテロジニアスなネットワークでも動作できる. しかし現状では,このような技術をヘテロジニアスなネットワークで 動作させるための支援技術は存在しないため,対象とするネットワーク技術ごとに 対応する必要がある.

本研究では,これらの技術に関して, (1)仕様と実装の再利用性向上 (2)ヘテロジニアス・ネットワーク技術開発支援 を目的とし, 実際のネットワークに非依存に定義される識別子を利用し, 下位層において容易にエミュレート可能な仮想データリンク ANCIF(Adjacent Node Communication InterFace)を用いて, 実際のネットワークの詳細を隠蔽する手法を提案する. また,このネットワーク上でのプロトコル開発について 議論する.

3.2 仮想データリンクとプロトコル開発

仮想データリンクANCIFは,上位層に対して仮想データリンクを操作するための メディア・アクセス制御方式のみを定義し,提供する.定義される項目は, (1)識別子 (2)フレーミング (3)メディア・アクセス制御プロトコル である. 下位層となる実際の通信インターフェースは ANCIFで定義されたメディア・アクセス制御方式を 積極的にエミュレートする.したがって定義された方式をエミュレート 可能であれば,通信インターフェースはEthernetやATMなどの実際のデータリンク 技術のみに留まらず, IPやIPv6のトンネルなどを仮想的なデータリンクとして扱い, 適用することもできる. 全体図を以下に示す。

ANCIFを用いるアプリケーションは、以下の実際のデータリンク(PCIF, Practical Communication InterFace)の詳細を知ること無く操作を行うことができる。

ANCIFは,Ethernetに似た非常にシンプルなデータリンク技術 であり,隣接ノードとの信頼性の無いデータグラム型通信を提供する. ANCIFの大きな特徴として,(1)ノード識別子 (2)各仮想アダプタに識別子(I/F識別子)の二つの識別子が挙げられる. 各ノードにはグローバルに一意な識別子が, 各アダプタにはノード内でユニークな識別子が振られる. したがってANCIFの各アダプタは,この二つの識別子を用いてグローバルに識別される. また,Ethernetでのマルチキャストと同様の機能を提供するため, マルチキャスト・ノード識別子が定義されている.

3.3 実装

多くのプラットホームで実装を行った。 実装の状況は、以下の通りである。

Ethernet、IPトンネル、IPv6トンネル、UDPトンネルは全てのプラットホームで サポートを行った。BSDでは、Native ATMソケットを利用し、RFC1483に準拠した フレームを利用した。Ethernetのサポートは、BSD系OSではBerkley Packet Filter(BPF)を、 LinuxではAF_Packetファミリ・ソケット、SolarisではDLPI、Windows XPではwinpcapを それぞれ利用してサポートを行った。

ANCIFライブラリは共有ライブラリとして実装を行った。したがって、ANCIFを適用した アプリケーションは、ANCIFライブラリに新しいPCIFが新たにサポートされた場合、 起動しなおすだけで新しいPCIFを利用することができる。

3.4 評価

ANCIFを利用するにあたって生じるオーバーヘッドを測定した。 ICMPのトラフィックとANCP(ANCIF上のプロトコル)のトラフィックの RTT(ラウンドトリップタイム)を100000回測定し、 の平均と標準偏差を測定した。結果を以下に示す。

最大の差は、パケットサイズが最大の32728バイトの時で、約0.16msであり 約2.6%のオーバーヘッドがあった。

3.5 まとめ

本研究では,ネットワークをグラフ情報として捉え,操作を行う 技術を対象に,実際のネットワーク上でエミュレート可能な仮想ネットワーク に対して,プロトコル仕様や実装を行うことで拡張性と移植性の高める 手法を提案し,議論を行った. 一般的に現状では, これらの技術を実現する際に特定ネットワーク技術に特化して開発するために, 拡張性や移植性を低下させる.本研究では,特定ネットワーク技術への 依存性を高める要素として,(1)利用するノード識別子(2)隣接ノード間の 通信方式を挙げ,仮想ネットワークを利用することで解決した. また,実際に仮想ネットワークを構成するエミュレート可能な仮想データリンク ANCIFを定義し,設計・実装を行った.本実装に対して,仮想化による プロトコル・オーバヘッドを測定したところ,RTTに最大で約0.16 msec程度 あり特に大きな性能低下を引き起こす程では無かった.