NTMobile ( ) Proposal of Chat Application of End To End Communication using NTMobile Hayata Nakamura, Hidekazu Suzuki, Katsuhiro Naito, Akira Watanabe ( Meijo University, Aichi Institute of Technology) 1 イニシエータ NAT キャラクタデータの入力 DC NTM Signaling UDP 入力 NAT レスポンダ UDP 応答 NTMobile(Network Traversal with Mobility) [1] NTMobile ファイル転送の指示 TCPコネクションファイル転送 TCPコネクション切断 2 IRC(Internet Relay Chat) Notication * 1 NAT(Network Address Translation) 3 NTMobile NTMobile NTMobile (NTM ) NTM DC(Direction Coordinator) NTM DC IP IP NTM ( ) DC NTM ( ) IP UDP IP IP NAT NAT IP * 1 Google GCM Apple APNS Fig. 1 End To End Chat Sequence NAT NTMobile 4 NTMobile <4 1 > FQDN NTMobile <4 2 > Fig 1 NTM Signaling NTM Signaling UDP TCP TCP TCP 5 NTMobile [1] NTMobile Vol.54 No.1 pp.367379 2013.
中村隼大 鈴木秀和 内藤克浩 渡邊晃 名城大学理工学部愛知工業大学情報科学部
ネットワーク技術が急速に発展 チャットが重要なコミュニケーションツール クライアントサーバシステムによる実現 Internet クライアント A サーバクライアント B チャットを業務で使用するのが有用 サーバから情報漏洩する懸念 エンドツーエンド通信によるチャットの実現 1
クライアントサーバシステム クライアントは 経路を確保 Internet IRC:Internet Relay Chat NAT:Network Address Translation IRC サーバ Keep Alive Global Network NAT NAT クライアント A クライアント B クライアント C 2 Private Network Private Network
クライアントサーバシステム クライアントは 経路を確保 Internet IRC:Internet Relay Chat NAT:Network Address Translation インターネットを経由 Global Network NAT IRC サーバ NAT メッセージ送信 メッセージ受信 3 クライアント A クライアント B Private Network クライアント C Private Network
イニシエータ CS NAT レスポンダ Hello サーバにデータを送信 POST Keep Alive Notification メッセージの受信を通知 POST 応答 メッセージを取得 GET GET 応答 POST POST 応答 Hello Notification 4 POST POST 応答 CS:Chat Server
イニシエータ CS NAT レスポンダ Hello サーバにデータを送信 POST Keep Alive Notification メッセージの受信を通知 POST 応答 メッセージを取得 GET GET 応答 メッセージ取得の確認応答を送信 POST POST 応答 Hello Notification POST 5 POST 応答 CS:Chat Server
イニシエータ CS NAT レスポンダ Hello サーバにデータを送信 POST Keep Alive Notification メッセージの受信を通知 POST 応答 メッセージを取得 GET GET 応答 メッセージ取得の確認応答を送信 既読通知を送信 POST POST 応答 Hello Notification POST 6 POST 応答 CS:Chat Server
サーバから情報漏洩する懸念 管理者が情報を取得 業務での利用は難しい サーバの管理負荷 サーバの障害 二重化等に対する管理負荷が大きい トラフィックが大きい シーケンスが複雑 メッセージ送信毎 すべての処理を実行 チャットをエンドツーエンドで実現 NTMobile 上でチャットを実現 7
エンドツーエンドの通信を行える ネットワーク環境 ( プライベート, グローバル ) を意識せず通信 アプリは NAT の存在を意識しない Private Network Global Network 8 DC:Direction Coordinator
アプリケーション間は仮想 IP アドレスで通信 ネットワーク環境が変わっても変化しない IP アドレス 実際の通信は実 IP アドレスでトンネル通信 実 IP アドレスで仮想 IP アドレスをカプセル化 イニシエータは通信開始時に DC からの指示に従ってレスポンダとの間にトンネルを構築実 IP アドレス 仮想 IP アドレス エンドツーエンド通信が可能 9
NTM Signaling イニシエータ DC NAT レスポンダ Keep Alive 経路指示要求 通信経路の指示 トンネル構築要求 トンネル構築応答 UDP トンネル 10
NTM Signaling イニシエータ DC NAT レスポンダ Keep Alive 経路指示要求 通信経路の指示 トンネル構築要求 トンネル構築応答 UDP トンネル 11
NTM Signaling イニシエータ DC NAT レスポンダ Keep Alive 経路指示要求 通信経路の指示 トンネル構築要求 トンネル構築応答 UDP トンネル 12
NTM Signaling 一回のみ処理を行う イニシエータ DC NAT レスポンダ Keep Alive 経路指示要求 通信経路の指示 トンネル構築要求 トンネル構築応答 UDP トンネル 13
キャラクタデータ イニシエータ DC NAT レスポンダ キャラクタデータの入力 データ送信 UDP 応答 14
ファイル転送 イニシエータ DC NAT レスポンダ ファイル転送の指示 TCPコネクション 簡単にチャットを実現 シンプルなシーケンス ファイル転送 TCP コネクション切断 15
従来方式 (CS 経由 ) セキュリティ ( 管理者が情報を取得 ) 提案方式 ( 情報漏洩の心配がない ) サーバ管理 トラフィック ( サーバの障害 二重化等の管理 ) ( シーケンスが複雑 毎回全ての処理を実行 ) (CS 不要 DC) ( シグナリング処理は初回のみ ) 16
NTMobile を用いたエンドツーエンド通信によるチャット通信方式 トンネルを構築 経由してキャラクタデータやファイル転送を直接実行 提案方式の有用性を確認 サーバの管理が不要 サーバから情報漏洩の心配がない トラフィックの軽減 今後の予定 提案手法の実装 性能評価 相手端末が起動していない場合, 大規模なチャットを行う場合の処理について検討 17
相手端末が起動していない場合 従来の方式で通信 複数人での大規模なチャットを行う場合 Internet 数珠繋ぎチャット エンドエンド通信 NAT 19 NTM 端末
イニシエータ レスポンダが共に NAT 配下に存在する場合の通信の中継 エンドツーエンドで通信を行える CS と異なり RS は 経由するのみ Internet RS DC NAT NAT 20 イニシエータ Private Network レスポンダ Private Network