HTML5 Webook
103/116

プロセスとして実装する。つまり、アプリケーション独自のトランスポート機能やモビリティ(ハンドオーバー)機能などをプラグインとして実装し、cefnetd本体に組み込むことが可能となっている(図6参照)。外部デーモンプロセスとの連携も容易であり、例えば、処理負荷が大きいCSによるキャッシュ機能は、外部デーモンプロセスであるcsmgrdと連携して稼働する。csmgrdもcefnetd同様、キャッシュアルゴリズムをプラグインとして開発可能である。Least-Recently Used(LRU)やLeast-Frequently Used(LFU)、CUSH [14]などのキャッシュ置換アルゴリズムはCeforeの標準パッケージに含まれており、誰でも利用可能である。ほかにも、cefnetdはCICNと同じCCNx-1.0メッセージフォーマットを用いるため、相互に通信可能であるが、NFDとも通信できるようにパケットフォーマットを変換するNDNプラグインがCefore標準パッケージに含まれている。Ceforeにはいくつかの便利なネットワークツールも含まれる。例えば、コンテンツ名に基づいてデータのアップロードやダウンロードが可能なツールとしてcefputfileとcefgetfileが提供されている。また、cefnetd本体が持つFIBやキャッシュ状態を調べるcefstatusや、キャッシュノードへの疎通性を確認するcefpingなどのツール、コンテンツ取得の通信遅延や取得経路などのネットワーク全体の情報を観測可能なユーティリティであるcefinfo(IRTFではccninfoとして提案)[15][16]などが提供されている。さらに、アプリケーション開発を容易にするために、Pythonでの開発を可能とするcefpycoパッケージも公開している。CCN通信の研究には参照実装が重要であるとともに、その実装を用いたプロトコルやアプリケーションの実験・検証を行うための評価環境も必要となる。新しいネットワークアーキテクチャをインターネットへ適用した場合の効果・影響などを検証する最も代表的な評価環境として、広域テストベッドが挙げられる。CCN実装などの検証を行うテストベッドとしては、NDN testbed [10]やCUTEi [17]などが開発され利用されている。テストベッドでの実験検証は、最も現実に近い形での評価が得られるといったメリットがあるが、構築・設定のコストが高い、ノード数やトポロジの柔軟性に乏しい、多様な要因から挙動が不安定になりやすい、実験結果の再現性を保証するのが難しいなどの問題がある。テストベッドのような実ネットワークを用いた検証環境のほかに、シミュレータやエミュレータを使用する方法がある。シミュレータは数学的なモデルによって実際のネットワークの振る舞いを計算する手法であり、再現性が高く、大規模なネットワーク検証にも用いられる。NDNではndnSIM [10]というシミュレータが開発されている。しかし再現性が高い一方、シミュレータは通信モデルの設計において現実的な挙動を捨象しており、特にモバイル環境における無線通信検証などは、その評価結果に関し、現実性が低くなるなどの欠点がある。エミュレータは仮想化技術によって単一の計算機上にノードを生成する手法であり、大規模なネットワーク構築が容易でありながら、実機検証と同等の現実性を持つ。各仮想ノードは論理的に分断されており、それぞれが固有のプロセスグループ、計算資源、そしてネットワーク空間を有する。仮想ノードを稼働させる計算機の資源に余裕がある限り、任意の数の仮想ノードを作成できるため、大規模なネットワークを柔軟に構築可能である。CCNエミュレータとしてはMini-CCNx [18]、Mini-NDN [10]、vICN [11]が開発されており、それぞれCCNx、NDN、CICNの各ソフトウェ図6 Ceforeソフトウェアコンポーネントのイメージ図及び機能拡張①通信機能だけにして軽量化②ストリーミング用トランスポート機能を追加③ネットワーク内キャッシュなど高度な機能を追加cefnetdトランスポート機能キャッシュ機能モバイル通信機能Cefore基本構成ルーター, サーバーMac, Linux, Androidセンサー, Raspberry Pi996-2 情報指向型ネットワーク技術

元のページ  ../index.html#103

このブックを見る