実験に利用されるトポロジは、当然、その目的により使い分けられる。ネット ワークソフトウェア開発の最終段階では、対象となる実環境を正確に模倣するこ
とが重要となる。しかし、開発の初期段階では、必要最低限の機能を実現できる トポロジで十分であることはすでに述べた。本節では、基本的なトポロジとより 現実的なトポロジの決定支援について述べる。
10.2.1 単純なトポロジ
最低限の系での動作試験や性能試験では、対象の技術が動作するノードもしく は、対象とするリンクをシングルボトルネックとするトポロジが利用されること が多い。シングルボトルネックとなるトポロジとして、ダンベル(図 10.3)とス
ター(図 10.4)がある。リンク自体が観測対象であったり、リンクに流れるトラ
フィックに対して何らかの制御を行う技術の検証には、ダンベル型トポロジが利用 できる。また、ノード自体もしくは、ノード上で動作するアプリケーションソフ トウェアの検証を行うためには、スター型トポロジが利用される。
何らかの情報を複数のノードに伝搬していく様子などをの手順検証のためには、
デイジーチェーン型トポロジ(図 10.5)が、また、階層構造を持った技術の検証 にはツリー型トポロジ(図 10.6)が利用できる。
最低限の系での動作試験では、これらのトポロジを用いて、対象技術が動作す る最低限のノード構成で実験を行う。性能試験では、これらのトポロジを用い、対 象技術自体もしくは、対象技術が制御する要素に対して負荷を増加させるための 要素を追加して実験を行うのが一般的である。
10.2.2 より現実的なトポロジ
対象の実環境への影響を調べる段階では、どのような要素が対象技術に影響を およぼすのか、また、逆におよぼされるのかを確認するため、対象環境の再現性 が重要になる。しかし、技術の導入対象のトポロジは非常に幅広いものとなり一 般化は難しい。しかし、実環境のトポロジをある程度抽象化することで、利用す ることは可能である。
実際の実環境のトポロジを調べ、その環境を作り出す手法がある。インターネッ ト上でISPなどの接続情報を調査するための技術は数多く発表されている[47][48]。
図 10.3: ダンベル型トポロジ
中央のリンクがシングルボトルネックとなる。このリンクに負荷をか けての実験や、このリンクの両側のノードで対象技術を動作させる場 合などに利用できる。
図 10.4: スター型トポロジ
中央のノードがシングルボトルネックとなる。このノードのハード ウェアもしくはその上で動作するソフトウェアへ負荷をかけての試験 などに利用できる。
図 10.5: デイジーチェイン型トポロジ
片端のノードから逆端のノードへ、何台かのノードを経由して通信を 行う技術の実験に利用できる。
図 10.6: ツリー型トポロジ
階層構造を持つ技術の動作検証などの検証に利用できる。
数百といったASで構成されるトポロジが利用できる。このような情報として、
Cooperative Association for Internet Data Analysis (CAIDA)[49]が採取、分析 している情報[50]や、Rocketfuel[51]を利用して採取したISPの接続情報[52]など を利用できる。また、対象とする実環境のトポロジを確認できる場合は、その情 報にもとづいた実験トポロジを構築できる。一方、モデル化・抽象化・成長モデ ルにより一般的なトポロジを構築する手法[20][53][54][55]なども研究されている。
文献[19]では、成長モデルによるトポロジ生成の一例として、DNSのような複数 の同じ機能を持つサーバが存在する際に、クライアントがサーバを選択するアル ゴリズムの提案を行った。このアルゴリズムの動作検証のため、現実的な実験用 トポロジをスケールフリーモデルを応用したトポロジの成長ルールを提案し、こ れにしたがってトポロジを構築した。以下に提案した成長ルールを示す。
• 1台目のノードを設置する。
• 2台目以降のノードは生成時に既存のノードを1台選択し、そのノードに接 続する。新たなノードが接続されるノードは、ノードが持つリンク数に比例 した確率で選ばれる。リンクを多く持つノードはより高い確率でさらに多く のリンクを得る。
•
クを最も多く持つノードにのみ接続される。選択したノードにすでにサーバ が接続されていた場合は、次にリンクが多いノードに接続する。
• あるサーバを利用しているクライアント数が20を超えると、そのサーバが 接続されていたノードとサーバを2つに分割し、ノードに接続されていたリ ンクは2つのサーバに接続しなおされる。
• ノードを100台設置するごとに、その時点でのリンク数に比例した確率で2 台のノードを選択し、その2台を接続するリンクを生成することでループを 作る。選択された2台がすでに接続されていた場合は、改めて選択しなおす。
以上のルールで500台のノードを設置してトポロジを生成した。最終的には、
ノードの分割などによりノード数510、サーバ数60のトポロジが構築された。こ れにより構築されたトポロジはすでに紹介したとおりである(図 4.5)。このよう に、既存のトポロジ成長モデルや実環境自体のトポロジの性質と、実験の目的や 対象とする実験トポロジと対応づけることで、実験に利用できるトポロジを決定 できる。