現在 IP ルータでは,パケット転送のためのアドレス検索やアクセス制御ルールのマッチングのため,TCAM(Ternary CAM)が幅広く使用されている.インターネットの広域的な普及により,今後TCAMへの需要はますます高まると予想されるが,一方で TCAM が本質的に持つ消費電力やコスト,および容量などの制約により,TCAM 容量を今後も増加させていくことは容易ではない.特に,ルータの消費電力が今後社会問題となりつつある現状において,消費電力が大きい TCAM チップについても省電力化が強く求められている.本研究では,これらの TCAM が持つ本質的な問題を抜本的に改善する,新しいカスタムチップの研究開発を目標とし,ネットワークルータの用途に特化することでさらなる低コスト・低消費電力を実現するために,どのような機能を TCAM に付加すべきかについて検討を行っている.
アクセス制御リスト(ACL)をより効率的に保持するための TCAM の構成要素について考える.ACL がTCAM 容量を大量に消費する要因の一つとしてポート番号の範囲指定がある.TCAMを用いたポート番号の範囲指定は容易ではなく,通常2のべき乗による複数のエントリを組み合わせて実現する(これをプレフィックス展開という).本研究ではプレフィックス展開によるTCAM 消費量の増大を抑制するため,範囲指定回路(RMD; Range Matching Device)を既存のTCAM に組み込んだ改良型TCAM チップを提案する.TCAM 内にRMD を実装することで,外部からは既存のTCAM と同様の利用法を維持しつつ任意の範囲指定を容易にサポートすることが可能となり,トータルとしてハードウェアコストを軽減できることを示した.さらに,RMD の容量が不足した場合においても,範囲指定がより柔軟に行えるようにするため,TCAM にNOT およびAND の演算機能を付加したものについても検討し,通常のOR 演算のみの組み合わせよりもより効率的にACL を管理できることが可能であることを示した.
現在のインターネットアーキテクチャは,設計時代には想定されなかった様々な問題に対処するため,多種の機能が複数のレイヤで混在するなど,複雑化および非効率性が指摘されている.また,これまで固定であることが前提であったIPアドレスについても,移動可能な端末が急速に普及するに従い,端末の識別子としてIPアドレスを用いることが不適切になりつつある(ID/Locator 分離問題).このような背景から,現在世界レベルで次世代のネットワークアーキテクチャを白紙状態から検討する,クリーンスレートネットワークアーキテクチャに関する研究がなされている.
本研究では,このようなクリーンスレートネットワークアーキテクチャにおいて重要な機能の一つである「意味のある名前(情報)」をアドレスとしたレイヤ3による資源発見メカニズムに関する検討を行っている.
本研究ではその第一段階として,ドメイン名(FQDN)にもとづくルーティングアーキテクチャについて検討を行った.具体的には,ドメイン名をアドレスとしたレイヤ3ルーティング実現のためのルーティングトポロジ構築,ハードウェア資源割り当て,およびドメイン名の分散格納手法に関してそれぞれ提案し,現在登録されている全 FQDN をルータに格納するために必要となるハードウェア資源量,およびルータ数に関する定量評価を行った.その結果,約6.6億個のFQDNを分散格納するのに必要なルータ数は現時点で入手可能はハードウェア資源(TCAM)をしても,1000台オーダ程度で可能であることを示した.ただし,FQDNによるルーティングを行うための論理トポロジー上のルータは,実際に配置されている物理トポロジーのルータとの適切なマッピングが行わなければ,論理トポロジーと物理トポロジーの間に不整合が生じることになる.また,検索効率を向上させるためには,位置情報だけでなく FQDN のアクセス頻度を考慮したルーティングテーブルの再構成が行われることが望ましい.以上の点を考慮し,本研究では名前のアクセス頻度を考慮した論理・物理トポロジマッピング,およびそれを実現するためのルーティングテーブルの再構成のアルゴリズムを提案した.提案方式を用いることで,アクセス頻度や物理情報を考慮しない場合と比較して FQDN の検索効率の向上が確認できた.
IPv6の導入に伴い,インターネット上の全ての通信ノードにグローバルアドレスが設定でき,IPv4では実現できなかった,真にグローバル通信が可能となる時代を迎えようとしている.そのような通信環境において,セキュリティーに配慮できる新たな通信形態や通信アーキテクチャが求められており,その要求に応えるべく我々は “Unified Multiplex 通信アーキテクチャ”という呼ぶ新たな機構を提案してきた.Unified Multiplex アーキテクチャでは,通信サービスを実現する方法を見直し,既存の方法と大きく異なる,動的に生成し,対象のサービスが存在する間のみ有効で,サービスが終了すれば使い捨てる,そのサービス専用のアドレスSSA(Specific Service Address)などを用いる方法を提唱している.ここでは,IPv6の持つ総当り探索が不可能な広大なアドレス空間の特長に最大限に利用し,サービスごとにそのサービス専用となるアドレスを動的に生成して利用し,サービス終了と共に破棄する方法を用いている.この方法はシンプルな方法でありながら効果が高く,プライバシー保護を含むセキュリティーに配慮できる機構として設計している.
アドレスがノードの識別子からサービスの識別子へと概念を変えることで,その制御通知プロトコルである ICMP (Internet Control Message Protocol) もその役割を見直すべきである.すなわち,従来はノードに対する様々な通知を行うために用いられていた ICMP だが,その対象がサービスへと変化することで,サービスの稼働期間中のみ応答する,応答すべき相手を特定ノードに制限するなど,サービスと密接に連動した通知を行うことが求められる.本研究では,サービス専用アドレスという従来の IP アドレスのあり方を根本的に変革した通信アーキテクチャにおいて,ICMP が果たすべき機能と役割を抜本的に見直し,サービス専用アドレスにふさわしい ICMP の機能を明らかにした.さらに,サービス専用アドレスのもつ多様性に柔軟に対応可能な ICMP 通知機構の実現手法について示した.
さらに,Unified Multiplex が既存の通信アーキテクチャに影響を与える可能性がある項目として,ノードのNeighbor Cache 削除問題がある.IPv6 ネットワークでは,通信相手のデータリンクアドレスとネットワークアドレスの関連を Neighbor Cache で行っている.Neighbor Cache の情報は初回通信時に生成され,以降の通信はキャッシュされた情報を用いる.しかし,現在の Neighbor Discovery では Neighbor Cache の生成については規定されているものの,キャッシュの管理,とくに削除および更新については実装依存とされている.これは,現在あるいはUnified Multiplex通信アーキテクチャのようにノードの IP アドレスが頻繁かつ動的に変化する場合,キャッシュ情報の不整合を引き起こすことになるだけでなく,不要なエントリが多く残存することによるガベージコレクションの発生を増加させることとなる.そこで本研究では,明示的かつ速やかに Neighbor Cache を削除・更新するための手法を提案した.本提案では,既存の機器に修正を加えることなく削除可能な手法と,Neighbor Discovery メッセージの拡張により確実な削除を実現する手法の2つを提案した.さらに両手法を組み合わせることで,実装の異なる様々な機器の Neighbor Cache を削除・更新可能であることを示した.