関西大学システム理工学部
我々は日常的にインターネットを使用しています.そのインターネットの登場から約半世紀が経過しますが,その利用目的は当時と現在で大きく異なります.開発当初は大学などの特定の研究機関の間で通信すること,つまり,場所と場所を繋ぐために使用されていました.これに対し現在はWWW (World Wide Web) の発展や個人端末の高性能化・大衆化により,Web閲覧やビデオ再生,SNS (Social Networking Service) といった新たな利用形態が発生し,場所と場所ではなく,「データ」と「人」,「人」と「人」を繋ぐ目的で使用されています.今後はIoT (Intrenet of Things) などによって今までには発生しなかったデータがインターネット上を流通することとなり,「人」と「人」だけではなく,「モノ」と「モノ」までもが通信する時代がやって来ます.この状況に対し,インターネットを将来の利用形態に合ったネットワークに創り変えようという動きがあります.それがコンテンツオリエンテッドネットワーク (CON: Content Oriented Network) です.従来ではネットワークの外側に存在したコンテンツ発見,及びコンテンツ流通のシステムをネットワーク自体が具備し,コンテンツ流通の効率化を図るものとしてCONが定義されます.当研究室では,このネットワークを対象とし,以下に示す様々な研究を行っています.
より詳細な研究内容については,以下をご覧ください.
CONを実現する代表的なアーキテクチャとしてCCN/NDN (Content Centric-Networking/Named-Data Networkingが研究されています.IPネットワークではユーザがコンテンツを取得する場合,コンテンツ取得先であるサーバのIPアドレスを指定して通信を行います.そのため,IPアドレスが異なる別のユーザがこのパケットを利用することは不可能です.しかし,CCN/NDNではコンテンツ名を指定して通信するため,同じコンテンツを要求するユーザ間でデータを再利用することが出来ます.
CCN/NDNにおけるルータは,FIB (Forwarding Information Base), PIT (Pending Interest Table), CS (Content Store) という三つの構成要素を持ちます.FIBはコンテンツ名をインデックスに持つルーチングテーブルであり,ユーザが送信したコンテンツ要求はFIBを参照することでサーバ方向へと転送されます.PITはコンテンツ要求の到着方向が記載されているテーブルで,ユーザへのコンテンツ転送はこのPITを参照することで実現されます.CSはコンテンツをキャッシュするためのストレージであり,ルータはコンテンツ転送時にそのコンテンツをキャッシュします.
このように,CCN/NDNでは,サーバだけでなく経路中に存在するルータ内のキャッシュからコンテンツを取得することが出来ます.その結果,サーバよりも近い位置からコンテンツを取得できるため,コンテンツ取得時間が短くなります.また,サーバに到着するコンテンツ要求の数が減少するので,サーバ付近のトラヒック負荷軽減が可能です.
&一般的なIPネットワークでは,人気なコンテンツを配信しているサーバには,ユーザからのコンテンツ要求が集中するため,そのサーバや付近のネットワークのトラヒック負荷が高くなります.しかし,CCNではサーバだけでなくネットワーク内のルータのキャッシュからのコンテンツ取得が可能です.ゆえに,キャッシュの効率的な利用によりサーバの負荷を軽減できます.加えて,ユーザはサーバよりも近い位置にあるルータからコンテンツを取得することで,コンテンツの取得時間やネットワーク内で発生するトラヒック量が減少します.しかし,ネットワーク全体のキャッシュ容量は有限であるため,キャッシュを効率的に利用することが重要な課題となります.
キャッシュの効率的な運用を図る研究は数多く存在します.ユーザからサーバに至るまでの経路上に存在するキャッシュを効率よく利用するためには,どのようなコンテンツをネットワーク内にキャッシュさせるかを制御する方法 (Caching Policy) があります.また,コンテンツ要求はサーバまで最短経路で転送されることが一般的ですが,これでは最短経路上に存在するキャッシュのみしか利用できず,ネットワーク全体のキャッシュを有効利用できていません.そこで,最短経路外のキャッシュを積極的に利用するために,コンテンツ要求の転送方法 (Forwarding Policy) を変更する方法もあります.このように,キャッシュの運用には様々な方法が組み合わされています.当研究室では,これらの組合せを考慮したキャッシュ運用に関する研究を行っています.
コンテンツオリエンテッドネットワークでは,ユーザはどこからコンテンツを取得するかという事に関心が無いという概念に基づき,同一のコンテンツを提供する複数のコンテンツサーバからダウンロードが可能です.その場合,ルータにおけるルーチングテーブルは同一コンテンツに対して複数の転送先インタフェースを保持します.我々は,コンテンツ要求パケットが送信されてから応答パケットが受信されるまでのRTTをルータにおいて計測し,そのRTTに基づいて確率的に転送先インタフェースを選択する方式を提案しています.この方式により,計測RTTに基づいてインタフェースを適応的に切り替えることで,サーバの負荷分散やネットワーク輻輳の緩和が可能になります.その結果,ユーザがコンテンツ取得にかかる遅延を減少することが可能となります.
IPネットワークにおいて,輻輳制御はサーバによって実行されます.一般的に,サーバはユーザからの受信確認応答 (ACK: ACKknowledgement) や往復遅延 (RTT: Round-Trip Time) を用いて,ネットワーク内で発生した輻輳を検知し,送信レートを制御します.これに対して,CCNではACKやRTTを用いて輻輳を検知することが出来ません.その理由は,CCNが 1)ユーザ主体のコンテンツ名に基づく通信,2) ユーザが複数のコンテンツ保持者からコンテンツを取得,という二つの特徴を持つためです.
コンテンツ名ベースの通信では,IPアドレスのような場所を表す情報が無いため,ユーザはどこからデータが転送されてきたのか把握できません.ゆえに,ユーザはACKを返信することが出来ません.また,コンテンツ名ベースで通信することによりユーザは複数の経路からコンテンツを取得することが可能であるため,経路ごとにRTTが異なります.これにより,IPにおいて輻輳検知のために使用される正確なRTTの見積りが困難となります.このようにCCNではIPの輻輳制御技術をそのまま適用できないため,新たな輻輳制御方式が必要です.
本来,ネットワーク内で発生する輻輳は発生箇所に強い相関をもつ事象です.しかしながら,CCNの特徴からユーザがロケーション情報を把握することはCCNのアークテクチャに適していません.また,ユーザはコンテンツをどの経路(単一経路・複数経路)から取得しているかを把握できません.加えて,ユーザの輻輳ウィンドウは一つのコンテンツに対し一つです.そのため,輻輳検知ごとに輻輳ウィンドウを半減させると,過度に輻輳ウィンドウが減少します.そこで我々は,輻輳の発生場所であるルータが輻輳を検知し,ユーザに対して輻輳の発生とその度合いを通知する手法を提案しています.さらにこの手法では,ルータは分岐地点において要求パケットを確率的に振り分けます.この振り分け確率は各経路の輻輳発生の頻度と密に関係しており,輻輳が発生する度に適宜調整されます.これにより,ユーザはコンテンツの転送経路や輻輳の場所などを全く意識することなく,輻輳に対応することが出来ます.