インターネットの普及によって、インターネット接続端末数は爆発的に増加し、その結果既存のIPv4 のアドレスでは、すべての端末に IP アドレスを設定できないという、アドレス枯渇問題が現実となりつつある。この問題を解決する次世代の IPv6 について、現在標準化が活発になされている。IPv6 は、IPv4 のアドレス枯渇問題を解決するだけでなく、IPv4 では存在しない新しい機能についても多く提案および標準化が行われている。しかしながら、これらの機能を実現するためには、数多くの解決すべき技術課題が存在する。本研究テーマでは、IPv6 ネットワークを実現するために必要とされるこれらの技術課題について取り組み、解決法を示すことを目標としている。
本研究では特に、IPv6 の新しい機能のひとつであるエニーキャストルーティングを対象とした。エニーキャストアドレスとは、複数の端末に対して同一のアドレスを割り当てる技術であり、クライアント側は複数存在する同一アドレスのサーバから、適切なサーバに対して通信することが可能となる。しかし、現在エニーキャストアドレスの機能はほとんど利用されていないのが実状である。この原因として、エニーキャスト通信に必要となる多くの機能がいまだ定義されていないこと、エニーキャストに適したアプリケーションが明確でないこと、また、実運用に必要な技術が整備されていないことなどがあげられる。本研究では、これらの問題を統合的に扱い、エニーキャストをより使いやすく、また広く普及するために必要なものが何か、という問題についてその解決法を示すことを目標としている。以下に今年度取り組んだ課題についてそれぞれ説明する。
先にも述べたとおり、エニーキャストの利用は非常に制限されており、有効な利用方法は見つかっていない。その理由の一つとして、エニーキャスト自体の定義の曖昧さが利用者の混乱を引き起こしていることがあげられる。本研究では、まず今後の議論のためにエニーキャスト通信で用いる用語を定義した、新たなドラフトを作成した。次に、定義した用語を用いてエニーキャストの利用方法をいくつか例を挙げ説明し、さらに、エニーキャストを利用するために必要となる機能の定義を行った。
エニーキャストアドレスを用いた通信では、同一エニーキャストアドレスに対するパケットは必ずしも同一ホストに到達するとは限らない。したがって、エニーキャストアドレスを直接 TCP などのプロトコルで利用することはできない。このような場合、通信開始前にあらかじめエニーキャストアドレスをユニキャストアドレスに変換(エニーキャストアドレス解決)すれば、同一ホストへの到達性が確保され、TCP 接続を行うことができる。本研究では、エニーキャストアドレス解決の手順を定義し、エニーキャストアドレスを用いた通信においても、実際の通信時にはユニキャストアドレスを用いることで、TCP 通信を実現する機構を提案した。さらに、このメカニズムをSOCKS などで用いられる動的ライブラリの手法を用いて実装し、すべてのアプリケーションがソースコードの修正をすることなくシームレスにエニーキャスト・ユニキャスト通信が行える環境を実現した。
エニーキャスト通信を使えば、複数のサーバの中から最適なサーバと自動的に通信可能となる。しかし、この最適なサーバ選択を実現するには、新たなルーティングプロトコルのサポートが必要となるため、現状では利用できない。本研究では、ネットワーク上の任意の場所にエニーキャストサーバが存在する場合に必要となる、ルーティングプロトコルの設計を行った。その特徴としては、(1) エニーキャストネットワークへの段階的な移行、(2) 到達性の確保(少なくとも一つのホストに必ず到達する)、(3) スケーラビリティの確保、(4) より少ない修正、があげられる。本研究では、特にエニーキャスト通信とマルチキャスト通信との類似性を元に、既存のインターネットへの適用性を考慮した新たなエニーキャストルーティングプロトコルを提案した。特にルーティングプロトコルの設計においては将来の標準化も視野に入れ、その方式の違いから異なる3種類のプロトコルの設計、並びに実装を行った。いずれのプロトコルも実験環境において適切なサーバ選択がなされることが示された。今後は、運用段階を考慮に入れた検証を行い、どのプロトコルが適しているかを実験的に明らかにしていく予定である。
本研究では、既存の技術を用いたエニーキャスト通信の導入ストーリーをケーススタディとして列挙している。エニーキャスト通信が広く普及していない要因として、「エニーキャスト通信がどの範囲で実用できるかが不明」「エニーキャスト独自のアプリケーションが不明確」であると考える。しかし、これらの問題点はいずれか一方のみを考えれば解決する問題ではない。本ドラフトは、これら2つの問題点を解決するためのたたき台とするために、現在の技術だけで実現可能なエニーキャスト通信のストーリーを列挙した。このドラフトはあくまでも技術的な実現可能性を元に通信モデルの列挙に徹しており、アプリケーションに関する話題は考えられる利用例を並べているだけにすぎない。今後、本ドラフトを用いてアプリケーション側から着目した場合の問題点、課題を明らかにしていくことを目指す。