利用者主導型仮想プライベート・ サブネットワークに関する研究 慶應義塾大学政策・メディア研究科修士二年 サイバーインフォマティクス(CI) 青柳禎矩 主査 徳田英幸,副査 高汐一紀,戸辺義人 概要 ﻪ利用者主導型VPN構築機構のShepherdの提案 ﻩノード単位のアクセス制御が可能 ﻩ既存ネットワーク構成,設定などを変更する必要がない ﻩ導入回数はプライベートネットワーク毎に一度のみ :Shepherd アウトライン ﻪ ﻪ ﻪ ﻪ ﻪ 利用者主導型VPNの必要性 Shepherdの提案および関連研究との比較 Shepherdの設計・実装 評価 今後とまとめ 本研究の背景と目的 プライベートネットワーク ﻪIP通信可能なノードの増加 ﻩノード:個人利用する端末 ﻪ組織でのプライベートネットワーク構築 :プライベート ネットワーク 仮想プライベートネットワーク (VPN: Virtual Private Network) ﻪ遠隔地に存在する同一組織のプライベートネット ワークの結合 ﻩノード間の透過的な通信の実現 ﻩネットワーク管理者による構築 VPN Public Network 接続形態によるVPNの分類 CE CE private network A private network CE CE private network B (a) Virtual Leased Line CE CE private network A private network B private network C (b) Virtual Private Routed Networks/ Virtual Private LAN Segment node a node c mobile node node b node d public network private network A private network B (c) Virtual Private Dial Networks (d) Virtual Private SubNetworks 本研究の着目点 ﻪ利用者主導型のVPNに着目 ﻩ従来の多くのVPNは管理者主導型 ﻯ利用者は無意識にVPNを利用していた ﻩ利用シナリオ ﻯ利用者が他のプライベートネットワークのノードと通信したい時 ﻯプライベートネットワークは同一組織とは限らない ﻩ機能要件 ﻯノード単位のアクセス制御が可能であること ﻯ利用者のみで容易にVPN構築機構を導入・利用可能であること 映像が見たい 映像が見たい 本研究の目的 ﻪ利用者主導型VPNの機能要件 ﻩノード単位のアクセス制御が可能であること ﻯVPNの接続形態の一種であるVPSNによって実現可能 ﻩ利用者のみで容易にVPN構築機構を導入可能であること ﻯ既存のVPSN構築機構には存在しない 利用者のみで容易に導入可能なVPSN構築機構を提案し, 設計・実装すること 本研究による貢献 プライベートネットワーク専用の アプリケーション使用(DLNAなど) 映像鑑賞 グループ専用の アプリケーション実装 新しいユビキタス アプリケーション 映像鑑賞 ﻪ下記を実現可能 ﻩプライベートネットワーク専用アプリケーションの利用 ﻩグループ専用アプリケーションの通信基盤 Shepherdの提案 および関連研究との比較 Shepherdの提案 ﻪ利用者のみで容易に導入可能なVPSN構築機構 ﻩ既存ネットワーク構成,設定などを変更する必要がない ﻩ導入回数はプライベートネットワーク毎に一度のみ :Shepherd 関連研究 ﻪノードが送信したEthernetフレームの集約 手法の観点から分類 ﻩBridge Model ﻩRouting Model ﻩFlat Model 関連研究 (1/3) ﻪBridge Model ブリッジノード が必要 ネットワーク構成の 変更が必要 :VPSN構築機構 既存の実装 ・P2P-CUG (NEC) など 問題点 ・ネットワーク構成変更が必要 ・ネットワークの知識が必要 関連研究 (2/3) ﻪRouting Model ルーティングテーブル の書き換え必要 :VPSN構築機構 既存の実装 ・SoftEther (ソフトイーサ) など 問題点 ・ルータの設定変更が必要 ・ネットワークの知識が必要 関連研究 (3/3) ﻪFlat Model :VPSN構築機構 既存の実装 ノードのソフトウェア 改変が必要 ・i3 ・hamachi ・ELA など 問題点 ・導入の手間が多い ・ノードによっては導入困難 全てのノードに インストールの必要 Shepherd ﻪShepherdのトラフィック集約手法 ﻩProxy ARP を利用する ﻩシェパード(羊飼い)のようにトラフィックを特定 ノードに呼び寄せることができる 送信先 送信元 ns ARP要求 ss nd ARP代理応答 sd 本来応答 すべきノード 比較 ﻪシェパードは導入が容易である Bridge Routing Flat Shepherd ネットワークの 物理的変更 必要 不要 不要 不要 ネットワークの 論理的変更 不要 必要 不要 不要 機構導入回数 少ない 少ない 多い 少ない 導入後の設定 必要 必要 必要 必要 Shepherdの設計と実装 Shepherd の機能要件 ﻪノード単位のアクセス制御 ﻪ既存プライベートネットワークの物理的変 更の不要 ﻪ既存プライベートネットワークの論理的変 更の不要 ﻪ少ない機構導入回数 ﻪ接続先の容易な発見 ﻪIP アドレス衝突の回避 機能要件の実現手法 (1/4) ﻪノード単位のアクセス制御 ⇒ ﻩフォールドの概念を導入 fold 1 fold 2 The Internet sa Private Network A na nb sb Private Network B 機能要件の実現手法 (2/4) ﻪ既存プライベートネットワークの物理的変更の不要 ﻪ既存プライベートネットワークの論理的変更の不要 ﻪ少ない機構導入回数 ⇒ ﻩProxy ARP によって実現 送信先 送信元 ns ARP要求 ss nd ARP代理応答 sd 本来応答 すべきノード 機能要件の実現手法 (3/4) ﻪ接続先の容易な発見 ﻩプライベートネットワークによってはIPアドレスが不定 ﻯ利用者が接続毎に手動で教えてもらうのは利便性に欠ける ⇒ ﻩXMPP (eXtensible Messaging and Presence Protocol) の利用 ﻯインスタントメッセンジャのオープンプロトコル ﻯXMPPサーバによるアカウントの発行,認証 ﻳアカウント毎の Jabber ID 割り当て ﻯすでに多くの実装が存在 ﻳGoogle Talk など 機能要件の実現手法 (4/4) ﻪIPアドレス衝突の回避 ﻩ新しいアドレス空間の形成 (10.0.0.0/8 など) ﻯ既存アドレス空間と衝突する可能性がある ﻩ既存アドレス空間の拡張 ﻯIPアドレスを多く消費するが,衝突の可能性はない 実際のIPアドレス: 192.168.0.1 送信先IPアドレス: 192.168.0.3 192.168.0.2 192.168.0.4 192.168.0.1 192.168.0.3 192.168.0.2 192.168.0.4 全体構成と制約条件 ﻪプライベートネットワーク ﻩインターネットとの接続を持つEthernet , IPv4のネットワーク ﻩShepherdを導入した1台のシェパードノード ﻩDHCPサーバの存在 ﻪXMPPサーバ ﻩシェパードノードのアカウントが存在すること ﻩ他のアカウントを追加していること(フレンドシェパードノード) XMPP サーバ Shepherd シェパードノード ns ss シェパードノード nd sd (ssのフレンドシェパードノー ド) モジュール構成 Internal Message User Interface Module Shepherd ID, password Managing Fold Module Account Module Authenticate Refresh Shepherd Nodes List Refer Nodes List Refresh Tending Module Define Fold Fold List Refresh Shepherd Traffic Edit Folds Refer Proxy Module ARP, DHCP Node’s traffic Network To Shepherd Managing Server To Nodes To Nodes, Friend Shepherd Nodes To Friend Shepherd Nodes 実装 ﻪShepherd ﻩ実装対象OS ﻯWindows XP ﻩ実装言語 ﻯC++ (Visual Studio .NET) ﻳヘッダを合わせて約6000行 ﻩ使用ライブラリ ﻯWinPcap: 低レイヤのネットワーク処理 ﻯLibjingle: XMPP通信 スクリーンショット 初期設定 フレンドシェパード ノード一覧 フォールド一覧 メッセージ Shepherdの利用手順 (1/5) ﻪXMPPサーバへのログイン ﻩフレンドシェパードノードの発見 XMPP サーバ フレンドシェパードノードが 表示される 発見 ns ss nd sd Shepherdの利用手順 (2/5) ﻪフォールドの作成 ﻩ把握したノードの指定 ﻩフレンドシェパードノードの指定 ﻩフォールド名の指定 ns ブロードキャストフレーム (ARP要求等) ss フォールドが 表示される ns ss nd sd Shepherdの利用手順 (3/5) ﻪ送信先IPアドレスの決定 ﻩリレーエージェントDHCP要求を出す ﻩndのIPアドレスが決定される ﻩ画面に表示されるIPアドレスに送信 ns 192.168.2.190 DHCP要求 ss 192.168.2.198 (192.168.2.197) nd 10.0.0.1 DHCP応答受信 sd 10.0.0.2 Shepherdの利用手順 (4/5) ﻪトラフィックの誘導 ﻩns が 192.168.2.197 宛に送信するためARP要求する ﻩシェパードノードssがARPに応答する (Proxy ARP) →nsが192.168.2.197 宛IPパケットをssに送信するよう になる ARP要求 where 192.168.2.197 ns 192.168.2.190 (192.168.2.197) ss 192.168.2.198 ARP応答 nd 10.0.0.1 sd 10.0.0.2 Shepherdの利用手順 (5/5) ﻪ実際のトラフィック転送 ﻩnsが192.168.2.197宛に送信→ssへ ﻩssはカプセリングしてsdに転送 ﻩsdは宛先を10.0.0.1に書き換え等してndへ転送 IP Packet To:192.168.2.197 ns 192.168.2.190 ss 192.168.2.198 (192.168.2.197) nd 10.0.0.1 sd 10.0.0.2 Shepherdの評価 評価手法 ﻪ定性的評価 ﻩ機能の観点による関連研究との比較 ﻪ定量的評価 ﻩ遅延・スループットの計測による Shepherdの性能評価 定性的評価 - 評価項目 ﻪ利用者主導型VPNの機能要件 ﻩ ﻩ ﻩ ﻩ ﻩ ﻩ ノード単位のアクセス制御 既存プライベートネットワークの物理的変更の不要 既存プライベートネットワークの論理的変更の不要 少ない機構導入回数 接続先の容易な発見 IP アドレス衝突の回避 定性的評価 - 評価対象 ﻪノード単位のアクセス制御可能な機構に限定 定性的評価 - 評価結果 既存PNの物理的 変更不要 既存PNの論理的 変更不要 少ない 機構導入回数 接続先の 容易な発見 IPアドレス 衝突の回避 Shepherd ○ ○ ○ ○ ○ p2pcug × ○ ○ ○ × ELA ○ ○ × × ○ i3 ○ ○ × × ○ hamachi ○ ○ × ○ ○ SoftEther (Bridge Model) × ○ ○ × × SoftEther (Router Model) ○ × ○ × × SoftEther (Flat Model) ○ ○ × × × SSH ○ ○ × × × SOCKS ○ ○ × × × 定量的評価 ﻪ計測項目 : Shepherd ﻩ遅延 ﻯnode 1 - node 4間のRTT ﻯpingを用いて計測 router ﻩスループット ﻯnode 1 -> node 4 に対する UDPスループット ﻯnetperfを用いて計測 node 1 node 2 private network A 192.168.1.0/24 node 3 node 4 private network B 192.168.2.0/24 計測環境 定量的評価 (1/2) 遅延 ﻪ ﻩ ﻩ 16 14 ﻪ ﻪ 12 RTT (msec) RTT増加(中央値で約 2.84 msec の増加) ばらつき(q1は2.72 msec, q3は4.05 msec) 結果⇒許容範囲内である ﻩ ﻩ 10 Shepherdによる処理増加 ホップ数の増加 インターネットでは定常的に発生しうる値 実装改良・ハードウェア性能向上により改善 8 6 4 1 2 0 Shepherd No Shepherd 2 Shepherdの処理時間の分析 (1) ﻪPentium Counter を用いて計測 ﻩShepherdに評価用実装を加えたため,若干性能が減少する ﻪノードからシェパードノードへのEthernetフレーム転送時 ﻩEthernetフレームの修正に用いるデータのキャッシュなどによって 改善の余地あり 処理時間 割合 転送先フレンドシェ 0.026 msec パードノードの検索 0.04 Ethernetフレームの 修正 0.454 msec 0.74 フレンドシェパード ノードへの転送 0.303 msec 0.22 計 0.563 msec 1 router 1 node 1 node 2 node 3 node 4 Shepherdの処理時間の分析 (2) ﻪシェパードノードからノードへのEthernetフレーム 転送時 ﻩ検索処理は処理削減による改善の余地あり ﻩノードへの転送は,WinPcapに頼らない手法 (Raw Socketなど) を検討する必要あり 処理時間 割合 送信元・送信先 ノードの検索 0.316 msec 0.32 Ethernetフレームの 修正 0.250 msec 0.25 ノードへの転送 0.435 msec 0.43 計 1.126 msec 1 router 2 node 1 node 2 node 3 node 4 定量的評価 (2/2) スループット ﻪスループットは 35.53 Mbps (中央値) 100 90 ﻩShepherdによる処理の限界 Throughput (Mbps) 80 ﻪ結果⇒許容範囲である 70 ﻩインターネットの方がボトル ネックになる 60 50 40 30 20 10 0 Shepherd No Shepherd スループット減少の過程の検証 70000 60000 id of ip header 50000 40000 Shepherd Ethereal 30000 20000 10000 0 0 2 4 6 8 10 12 time (sec) ﻪIPヘッダのIDに着目 ﻪ考察 ﻩ最初:バッファ内の受信したEthernetフレーム全てを送信しようとする ﻩ途中から:Shepherdは処理が追いつかずバッファが溢れ,受信した Ethernetフレームを間引いて送信する 今後とまとめ 今後の課題 ﻪセキュリティ ﻩ既存プロトコルなどを用いた下記項目の実装 ﻯ通信の暗号化 ﻯ改ざん検出 ﻯ成りすまし検出 ﻪオーバヘッド軽減 ﻩ実装改良による遅延の軽減,スループットの向上 ﻪ利用制限 ﻩ必要に応じて,管理者による制限 まとめ ﻪ動的ノードグルーピングの必要性 ﻪ利用者主導型VPSN構築機構 Shepherd の提案 ﻩノード単位のアクセス制御が可能なVPN ﻩ利用者のみで導入可能 ﻩ導入はプライベートネットワーク毎に一回のみ 参照文献 ﻪ ﻪ ﻪ ﻪ "異種セグメント端末による分散型仮想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 ﻩサーバを複数設置して冗長性を持たせること が可能 Motivation ﻪ異なるネットワークに属するIPデバイス同士を容 易につなげたい ﻩユビキタスコンピューティングの発展によって,IPデバ イスおよびこのような需要は増えるはず Internet ﻪ4.2.2 ノードのグローバルな把握 ﻩ各PCはBuddy List を保持 ﻩ各IPデバイスごとにアクセス制限ができる ○○家のDVDレコーダからの接続 NAS: ○許可 ●禁止 プラズマ: ●許可 ○禁止 Related Works ﻪアプローチの種類 ﻩApplication Layer ﻩTransport Layer Related Work ﻪ拠点間接続VPN ﻩ端末は何もインストールしなくてもOK ﻩ端末とゲートウェイの間にIPsecサーバを設置 ﻯIPsecサーバは端末からの「全て」のトラフィックを監視 ﻯ特定宛先のパケットだけトンネリング処理 ﻩSoftEther, P2P-CUG なども基本的に同一 ゲートウェイ IPsecサーバ ﻪ問題点 ﻩ性能的な問題 ﻯ高負荷 ﻳ ﻳ 全てのトラフィックを監視す るので重い トンネリング通信以外の通 信も影響をうける ﻯボトルネック ﻳ ﻳ サーバが遅いと,全通信が 遅くなる 気軽にサーバを追加でき ない ﻬネットワーク構成を 変更する必要がある ﻯ冗長性の欠如 ﻳ 壊れたら全く通信できない ﻩ使用上の問題 ﻯ細かいアクセス制限が出 来ない ﻳDVDレコーダには通信 してよいが,NASはダメ とか ﻯ普通にDHCPでIPアドレス が割り当てられると,その デバイスにどのアドレス がついたか分かりにくい ﻪ2.3 ノードグルーピングのアプローチ ﻩApplication Layer ﻯpucc ﻩTransport Layer ﻯSOCKS ﻩNetwork Layer ﻯSoftEther, ﻩData Link Layer ﻯSoftEther, P2P-CUG, 通信相手による通信の分類 ﻪパブリックなサーバに対する通信 ﻪプライベートなノード同士の通信 google 番組表取得 動画鑑賞 ファイル共有 Shepherdのモジュール図 User Interface ノード 追加要請 ノード 追加? ノード 追加 Nodes managing module MAC アドレス Node managing module 宛先存在 確認 宛先 存在応答 宛先 要求 宛先 応答 内部メッセージ Inducing module DHCP 要求 ARP 要求 Capsulating module ARP 応答 トラフィック 受信 トラフィック 送信 トラフィック router private network A 192.168.1.0/24 private network B 192.168.2.0/24
© Copyright 2024 ExpyDoc