利用者主導型動的ノードグルーピング機構に関する研究 慶應義塾大学政策・メディア研究科修士二年 サイバーインフォマティクス(CI) 青柳禎矩 主査 徳田英幸,副査 高汐一紀,戸辺義人
概要 利用者主導型・導入容易な動的ノードグルーピング機構「シェパード」の提案
アウトライン 本研究の背景と目的 シェパードの提案および関連研究との比較 シェパードの設計と実装 今後とまとめ
本研究の背景と目的
ノードグループ IPを用いて通信できるプライベートなノードの増加 あらゆる組織でのLAN (Local Area Network)構築 :ノードグループ
通信相手による通信の分類 パブリックなサーバに対する通信 プライベートなノード同士の通信 google 番組表取得 動画鑑賞 ファイル共有
本研究の目的 「異なるLANに属する」プライベートなノード同士の通信に着目 映像が見たい 映像が見たい 通常であればファイアウォール,NAT等を意識する必要がある 物理的なLANを意識しなくて良い=透過的な通信を,利用者によって容易に実現できないか? ユビキタスコンピューティングの発展により、ノード群の左右の繋がりがますます重要になる 映像が見たい 映像が見たい
ノードグループ環境専用の アプリケーション使用 横断的なノードグループのメリット ノードグループ環境専用の アプリケーション使用 グループ専用の アプリケーション実装 新しいユビキタス アプリケーション 映像鑑賞 映像鑑賞 下記を同時に実現できる 従来アプリケーションの再利用 今後のアプリケーションの通信基盤
既存技術による解決策:VPN 横断的ノードグループ形成の単位がLAN ノード単位の細かいアクセス制御ができない Virtual Leased Line (LAN と LAN) Virtual Private Dial-up Network (LAN とノード)
既存技術による解決策: 動的ノードグルーピング 横断的ノードグループ形成の単位がノード ノード単位の細かいアクセス制御が可能 固定的 動的
シェパードの提案および関連研究との比較
シェパードの提案 機構名:シェパード 下記を両立する動的ノードグルーピング機構 :動的ノードグルーピング機構 既存ネットワーク構成,設定などを変更する必要がない →利用者主導型 LAN内のノード一つにシェパードを導入するだけ →ユーザが必要な導入回数が少ない
関連研究 ノードからのトラフィックをどのように機構に集約するか,に着目して分類 Bridge Model Routing Model Flat Model
関連研究 (1) Bridge Model 既存の実装 ・P2P-CUG (NEC) など 問題点 ・ネットワーク管理者主導型 :動的ノードグルーピング機構 既存の実装 ・P2P-CUG (NEC) など 問題点 ・ネットワーク管理者主導型 ・ネットワークの知識が必要 トンネリング用の サーバが必要 ネットワーク構成の変更が必要
関連研究 (2) Routing Model (既存の実装) ・SoftEther (ソフトイーサ) など 問題点 :動的ノードグルーピング機構 ルーティングテーブルの書き換え必要 (既存の実装) ・SoftEther (ソフトイーサ) など 問題点 ・ネットワーク管理者主導型 ・ネットワークの知識が必要 トンネリング用の サーバが必要
関連研究 (3) Flat Model 既存の実装 ・i3 ・OCALA ・ELA など 問題点 :動的ノードグルーピング機構 既存の実装 ・i3 ・OCALA ・ELA など 問題点 ・導入の手間が多い ・ノードによっては導入困難 ノードのソフトウェア改変が必要 全てのノードに インストールの必要
シェパード シェパードのトラフィック集約手法 Proxy ARP を利用する シェパード(羊飼い)のようにトラフィックを特定ノードに呼び寄せることができる 送信元 送信先 ns ss nd sd 本来応答 すべきノード ARP要求 ARP代理応答
比較 シェパードは導入前のコストが少ない Bridge Routing Flat Shepherd ネットワークの物理的変更 必要 不要 ネットワークの論理的変更 機構導入回数 少ない 多い 導入後の設定
シェパードの設計と実装
全体構成 シェパード ns ss nd sd LANのネットワーク環境 シェパード管理サーバ 一般的な 802.11 , IPv4による物理ネットワーク インターネットとの接続 シェパードをインストールした「シェパードノード」の存在 各シェパードにはユニークなID シェパード管理サーバ シェパードの存在の把握 シェパード管理 サーバ シェパード シェパードノード シェパードノード ns ss nd sd
シェパードの動作手順 (1) LAN内ノードの把握 ノードのLANへの接続 シェパードノードがノードを認知 ns ss 接続,DHCP要求等 新しいノードを検出しました 追加しますか? ノード名: はい いいえ ns ss 接続,DHCP要求等
シェパードの動作手順 (2) 外部LANのシェパードノードの発見 各シェパードはユニークなIDを持つ シェパード管理サーバを通じて発見する シェパード管理 サーバ 発見 ns ss nd sd
シェパードの動作手順 (3) ns ss nd sd 他ノードとの通信時に用いるIPアドレスの決定 シェパードは自分のMACアドレスを変更してDHCP要求を出す DHCP応答をプロミスキャスモードで受信する 応答に含まれているIPアドレスを用いる →nsからndは同一ネットワークのIPアドレスとして見える ns通信時はssを参照する (10.0.0.3) ns ss nd sd 10.0.0.1 10.0.0.2 192.168.0.1 192.168.0.2 DHCP要求 DHCP応答受信
シェパードの動作手順 (4) トラフィックの誘導 ノードが上記のIPアドレス宛にトラフィックを転送するため,ARP要求する シェパードがそのARPに応答する (Proxy ARP) →nsがシェパードノードにトラフィックを送信するようになる ARP要求 where 10.0.0.3 (10.0.0.3) ns ss nd sd 10.0.0.1 10.0.0.2 192.168.0.1 192.168.0.2 ARP応答
シェパードの動作手順 (5) 実際のトラフィック転送 送信元ノードがトラフィックを送信→シェパードに到達 トラフィックをカプセリングして,他のシェパードに転送 受信したそのインデューサはカプセリングをはずし,トラフィックを転送→送信先ノードがトラフィックを受信 IP Packet To:10.0.0.3 (10.0.0.3) ns ss nd sd 10.0.0.1 10.0.0.2 192.168.0.1 192.168.0.2
実装 シェパードノード シェパード管理サーバ 実装環境:Visual C++ .NET @ Windows XP 使用ライブラリ:WinPcap、Libjingle シェパード管理サーバ XMPPサーバを使用する XMPPはIMのオープンプロトコル 実装はいくつかオープンソースで公開されている サービス中のサーバも存在する (Google Talkなど)
シェパードノードのモジュール図 内部メッセージ トラフィック User Interface Nodes managing module ノード 追加? ノード 追加要請 ノード 追加 Nodes managing module Node managing module MAC アドレス 宛先存在 確認 宛先 存在応答 宛先 要求 宛先 応答 内部メッセージ トラフィック Inducing module Capsulating module DHCP 要求 ARP 要求 ARP 応答 トラフィック 受信 トラフィック 送信
今後とまとめ
進捗と今後の予定 現在 ネットワーク処理、GUIの実装途中 11月 実装完了 12月 評価完了 並行して論文を執筆する
評価方針 下記項目を関連研究と比較する 定性的評価 定量的評価 導入容易性 動的ノードグルーピング完了までに要する時間 スループット 遅延 ネットワークの物理的変更 ネットワークの論理的変更 導入回数 定量的評価 動的ノードグルーピング完了までに要する時間 スループット 遅延 その他
まとめ 動的ノードグルーピングの必要性 「シェパード」を提案 利用者主導型(=既存ネットワークへの変更不要) 容易な導入(=導入回数が少なくて良い)
参照文献 "異種セグメント端末による分散型仮想LAN構築機構の設計と実装" 青柳 禎矩, 滝沢 允, 斉藤 匡人, 間 博人, 徳田 英幸 青柳 禎矩, 滝沢 允, 斉藤 匡人, 間 博人, 徳田 英幸 情報処理学会全国大会 Vol.66 (3) 2004年3月 March. 2004 "ELA: 分散型VPNの設計と実装" 日本ソフトウェア学会インターネットテクノロジーワークショップ(WIT2004) "ELA: A Fully Distributed VPN System over Peer-to-Peer Network" Sadanori Aoyagi, Makoto Takizawa, Masato Saito, Hiroto Aida, Hideyuki Tokuda IEEE International Symposium on Applications and the Internet (SAINT 2005) 2005年1月 January. 2005 pp.89-92 "Shepherd: 利用者主導型動的ノードグルーピング機構" 青柳禎矩, 高橋ひとみ, 斉藤匡人, 間博人, 徳田英幸 日本ソフトウェア学会 SPA X
Contribution Lower load Scalability Redundancy 監視すべきパケットが減る サーバの性能が足りなくなってきたらサーバを追加するだけでよい Redundancy サーバを複数設置して冗長性を持たせることが可能
Motivation 異なるネットワークに属するIPデバイス同士を容易につなげたい Internet
4.2.2 ノードのグローバルな把握 各PCはBuddy List を保持 各IPデバイスごとにアクセス制限ができる 4.2.2 ノードのグローバルな把握 各PCはBuddy List を保持 各IPデバイスごとにアクセス制限ができる ○○家のDVDレコーダからの接続 NAS: ○許可 ●禁止 プラズマ: ●許可 ○禁止
Related Works アプローチの種類 Application Layer Transport Layer
Related Work 拠点間接続VPN ゲートウェイ IPsecサーバ 端末は何もインストールしなくてもOK 特定宛先のパケットだけトンネリング処理 SoftEther, P2P-CUG なども基本的に同一 ゲートウェイ IPsecサーバ
問題点 使用上の問題 性能的な問題 細かいアクセス制限が出来ない 高負荷 全てのトラフィックを監視するので重い トンネリング通信以外の通信も影響をうける ボトルネック サーバが遅いと,全通信が遅くなる 気軽にサーバを追加できない ネットワーク構成を変更する必要がある 冗長性の欠如 壊れたら全く通信できない 使用上の問題 細かいアクセス制限が出来ない DVDレコーダには通信してよいが,NASはダメとか 普通にDHCPでIPアドレスが割り当てられると,そのデバイスにどのアドレスがついたか分かりにくい
2.3 ノードグルーピングのアプローチ Application Layer Transport Layer Network Layer 2.3 ノードグルーピングのアプローチ Application Layer pucc Transport Layer SOCKS Network Layer SoftEther, Data Link Layer SoftEther, P2P-CUG,