シェパード - 慶應義塾大学 徳田研究室

利用者主導型動的ノードグルーピング機構
に関する研究
慶應義塾大学政策・メディア研究科修士二年
サイバーインフォマティクス(CI) 青柳禎矩
主査 徳田英幸,副査 高汐一紀,戸辺義人
概要
‫ ﻪ‬利用者主導型・導入容易な動的ノードグ
ルーピング機構「シェパード」の提案
アウトライン
‫ﻪ‬
‫ﻪ‬
‫ﻪ‬
‫ﻪ‬
本研究の背景と目的
シェパードの提案および関連研究との比較
シェパードの設計と実装
今後とまとめ
本研究の背景と目的
ノードグループ
‫ ﻪ‬IPを用いて通信できるプライベートなノードの増加
‫ ﻪ‬あらゆる組織でのLAN (Local Area Network)構築
‫→ ﻩ‬LANは固定的な「ノードグループ」
:ノードグループ
通信相手による通信の分類
‫ ﻪ‬パブリックなサーバに対する通信
‫ ﻪ‬プライベートなノード同士の通信
google
番組表取得
動画鑑賞
ファイル共有
本研究の目的
‫「 ﻪ‬異なるLANに属する」プライベートなノード同士の通信に着目
‫ ﻩ‬通常であればファイアウォール,NAT等を意識する必要がある
‫ ﻩ‬物理的なLANを意識しなくて良い=透過的な通信を,利用者によって容
易に実現できないか?
‫ ﻩ‬ユビキタスコンピューティングの発展により、ノード群の左右の繋がりがま
すます重要になる
映像が見たい
映像が見たい
横断的なノードグループのメリット
ノードグループ環境専用の
アプリケーション使用
映像鑑賞
グループ専用の
アプリケーション実装
新しいユビキタス
アプリケーション
映像鑑賞
‫ ﻪ‬下記を同時に実現できる
‫ ﻩ‬従来アプリケーションの再利用
‫ ﻩ‬今後のアプリケーションの通信基盤
既存技術による解決策:VPN
‫ ﻪ‬横断的ノードグループ形成の単位がLAN
‫ ﻩ‬ノード単位の細かいアクセス制御ができない
‫ ﻩ‬通常,接続先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) など
問題点
・ネットワーク管理者主導型
・ネットワークの知識が必要
関連研究 (2)
‫ ﻪ‬Routing Model
ルーティングテーブル
の書き換え必要
:動的ノードグルーピング機構
(既存の実装)
・SoftEther (ソフトイーサ) など
トンネリング用の
サーバが必要
問題点
・ネットワーク管理者主導型
・ネットワークの知識が必要
関連研究 (3)
‫ ﻪ‬Flat Model
:動的ノードグルーピング機構
既存の実装
ノードのソフトウェア
改変が必要
・i3
・OCALA
・ELA など
問題点
全てのノードに
インストールの必要
・導入の手間が多い
・ノードによっては導入困難
シェパード
‫ ﻪ‬シェパードのトラフィック集約手法
‫ ﻩ‬Proxy ARP を利用する
‫ ﻩ‬シェパード(羊飼い)のようにトラフィックを特定
ノードに呼び寄せることができる
送信先
送信元
ns
ARP要求
ss
nd
ARP代理応答
sd
本来応答
すべきノード
比較
‫ ﻪ‬シェパードは導入前のコストが少ない
Bridge
Routing
Flat
Shepherd
ネットワークの
物理的変更
必要
不要
不要
不要
ネットワークの
論理的変更
不要
必要
不要
不要
機構導入回数
少ない
少ない
多い
少ない
導入後の設定
必要
必要
必要
必要
シェパードの設計と実装
全体構成
‫ ﻪ‬LANのネットワーク環境
‫ ﻩ‬一般的な 802.11 , IPv4による物理ネットワーク
‫ ﻩ‬インターネットとの接続
‫ ﻩ‬シェパードをインストールした「シェパードノード」の存在
‫ ﻯ‬各シェパードにはユニークなID
‫ ﻪ‬シェパード管理サーバ
‫ ﻩ‬シェパードの存在の把握
シェパード管理 サーバ
シェパード
シェパードノード
ns
ss
シェパードノード
nd
sd
シェパードの動作手順 (1)
‫ ﻪ‬LAN内ノードの把握
‫ ﻩ‬ノードのLANへの接続
‫ ﻩ‬シェパードノードがノードを認知
新しいノードを検出しました
追加しますか?
ノード名:
はい
ns
接続,DHCP要求等
ss
いいえ
シェパードの動作手順 (2)
‫ ﻪ‬外部LANのシェパードノードの発見
‫ ﻩ‬各シェパードはユニークなIDを持つ
‫ ﻩ‬シェパード管理サーバを通じて発見する
シェパード管理 サーバ
発見
ns
ss
nd
sd
シェパードの動作手順 (3)
‫ ﻪ‬他ノードとの通信時に用いるIPアドレスの決定
‫ ﻩ‬シェパードは自分のMACアドレスを変更してDHCP要求を出す
‫ ﻩ‬DHCP応答をプロミスキャスモードで受信する
‫ ﻩ‬応答に含まれているIPアドレスを用いる
‫→ ﻪ‬nsからndは同一ネットワークのIPアドレスとして見える
‫ ﻩ‬ns通信時はssを参照する
ns
10.0.0.1
DHCP要求
(10.0.0.3)
ss
nd
10.0.0.2
sd
192.168.0.1 192.168.0.2
DHCP応答受信
シェパードの動作手順 (4)
‫ ﻪ‬トラフィックの誘導
‫ ﻩ‬ノードが上記のIPアドレス宛にトラフィックを転送する
ため,ARP要求する
‫ ﻩ‬シェパードがそのARPに応答する (Proxy ARP)
→nsがシェパードノードにトラフィックを送信するよう
になる
ARP要求
where 10.0.0.3
ns
10.0.0.1
(10.0.0.3)
ss
nd
10.0.0.2
sd
192.168.0.1 192.168.0.2
ARP応答
シェパードの動作手順 (5)
‫ ﻪ‬実際のトラフィック転送
‫ ﻩ‬送信元ノードがトラフィックを送信→シェパードに到達
‫ ﻩ‬トラフィックをカプセリングして,他のシェパードに転送
‫ ﻩ‬受信したそのインデューサはカプセリングをはずし,ト
ラフィックを転送→送信先ノードがトラフィックを受信
IP Packet
To:10.0.0.3
ns
10.0.0.1
ss
10.0.0.2
(10.0.0.3)
nd
sd
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
MAC
アドレス
Node managing
module
宛先存在
確認
宛先
存在応答
宛先
要求
宛先
応答
内部メッセージ
Inducing module
DHCP
要求
ARP
要求
Capsulating module
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
‫ ﻩ‬サーバを複数設置して冗長性を持たせること
が可能
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,