NTMobile Android,,,, (, ) Studies of NTMobile Implementation in Android. Soma Akahori, Hiroshi Nodo, Hidekazu Suzuki, Katsuhiro Naito, Akira Watanabe ( Meijo University, Aichi Institute of Technology) 1 Android ios OS,.,,., NTMobile(Network Traversal with Mobility)[1]. Android ios.,ntmobile Android,NTMobile. 2 NTMobile NTMobile,DC(Direction Coordinator).NTMobile ( NTM ), DC IP. IP.DC NTM,, NTM UDP.NTM, IP.,. NTMobile Linux. Android,NTMobile. NTMobile,. UDP. TCP,. 3 NTMobile,C, NTMobile. TCP/IP,Linux UDP.UDP 4330,.,4330,. NTMobile Fig.1. TCP/IP,TCP/IP, lwip(light weight IP)[2]. libntm,dc NTM 各種アプリケーション C ソケット 仮想 TCP/IP Fig. 1 NTMobile 用 Java アプリケーション Java JNA ソケット Java ラッパー NTMobile ソケット トンネルテーブル NTM シグナリング C ソケット UDP ポート番号 4330 Linux(UDP/IP) Module of NTMobile Framework NTMobile フレームワーク Hand Over libntm. NTM, IP DC,UDP.. Handover IP,. IP,.,IP,Handover IP.NTMobile,IP NTM DC. NTMobile, C 1 1,. Java JNA(Java Native Access) Java NTMobile.NTMbile,Java Java C. 4 NTMobile., Android.,. [1] IPv4/IPv6 NTMobile. Vol.54, No.10, pp.2288 2299,Oct 2013. [2] lwip - A Lightweight TCP/IP stack - Summary <http://savannah.nongnu.org/projects/lwip/> (accessed 2016-6-27)
赤堀蒼磨, 納堂博史, 鈴木秀和, 内藤克浩, 渡邊晃 名城大学理工学部 愛知工業大学情報科学部
モバイル端末が急速に普及 (Android,iOS 端末等 ) 移動端末で手軽にインターネット接続が可能 WI-FI,LTE,3G などの接続先が変化 IP アドレスの変化 通信切断 グローバルアドレスからプライベートアドレスに対して通信開始が不可 (NAT 越え問題 ) 通信接続性 移動透過性の必要性 1
(Network Traversal with Mobility) 移動透過性と通信接続性を実現 DC(Direction Coodinator) 仮想 IP アドレスの配布 通信セッションの確立 全通信を実 IP アドレスで UDP カプセル化 ( 移動透過性 ) DC が通信端末間のトンネル構築を指示 ( 通信接続性 ) NTMobile パケットの構成 実 IP アドレス変化時 ( 移動検出時 ) 仮想 IP アドレスは不変 通信の継続が可能 NTM 端末 A DC NAT Private Network A NTM 端末 B Global Network NAT Private Network B 2
(Network Traversal with Mobility) 移動透過性と通信接続性を実現 DC(Direction Coodinator) 仮想 IP アドレスの配布 通信セッションの確立 全通信を実 IP アドレスで UDP カプセル化 ( 移動透過性 ) DC が通信端末間のトンネル構築を指示 ( 通信接続性 ) 実 IP アドレス変化時 ( 移動検出時 ) 仮想 IP アドレスは不変 通信の継続が可能 NTMobile パケットの構成 DC NAT Private Network A NTM 端末 B Global Network NAT Private Network B NTM 端末 A 3
(Network Traversal with Mobility) 移動透過性と通信接続性を実現 DC(Direction Coodinator) 仮想 IP アドレスの配布 通信セッションの確立 全通信を実 IP アドレスで UDP カプセル化 ( 移動透過性 ) DC が通信端末間のトンネル構築を指示 ( 通信接続性 ) 実 IP アドレス変化時 ( 移動検出時 ) 仮想 IP アドレスは不変 通信の継続が可能 NTMobile パケットの構成 DC NAT Private Network A NTM 端末 B Global Network NAT Private Network B NTM 端末 A 4
カーネル版 NTMobile フレームワーク版 NTMobile APP APP NTM デーモン APP NTMobile 通信ライブラリカプセル化 APP NTMobile 通信ライブラリカプセル化 カーネル層 カーネル層 送受信モジュール NTM カーネルモジュール 送受信モジュール 通信ライブラリアップデートソフトウェア対応可能 OS カーネル版 Linuxカーネル 必要あり 変更必要なし Linux Android( 一部 ) フレームワーク版 アプリケーション層 必要なし 変更必要あり Linux,Android ios 5
カーネル版 NTMobile フレームワーク版 NTMobile APP APP NTM デーモン APP NTMobile 通信ライブラリカプセル化 APP NTMobile 通信ライブラリカプセル化 カーネル層 カーネル層 送受信モジュール NTM カーネルモジュール 送受信モジュール 通信ライブラリアップデートソフトウェア対応可能 OS カーネル版 Linuxカーネル 必要あり 変更必要なし Linux Android( 一部 ) フレームワーク版 アプリケーション層 必要なし 変更必要あり Linux,Android ios 6
NTMobile Java Application Java Rapper NTMobile Framework NTMobile Socket lwip NTM Signaling Hand Over C Socket Linux(UDP/IP) 7
上位アプリケーションに対して NTMobile 機能を提供するライブラリ NTMobile Java Application Java Rapper NTMobile Framework NTMobile Socket lwip NTM Signaling Hand Over C Socket Linux(UDP/IP) 8
NTMobile Java Application Java Rapper NTMobile Framework NTMobile Socket lwip NTM Signaling Hand Over Linux 上で UDP カプセル化を行う C Socket Linux(UDP/IP) 9
NTMobile Java Application Java Rapper NTMobile Socket Cソケットと同じインタフェース 機能のソケット NTMobile Framework lwip NTM Signaling Hand Over C Socket Linux(UDP/IP) 10
NTMobile Java Application Java Rapper NTMobileソケットに対応したJavaソケット (JNAを利用 ) NTMobile Framework NTMobile Socket lwip NTM Signaling Hand Over C Socket Linux(UDP/IP) 11
NTMobile Java Application Java Rapper NTMobile Framework NTMobile Socket TCP/IP に対応 lwip NTM Signaling Hand Over C Socket Linux(UDP/IP) 12
アプリケーションで TCP/IP を実現するオープンソースソフトウェア 主に組み込み系システムで使用 本システムではカプセル内部の TCP/IP の機能に利用 作成者 : Adam Dunkels lwip wiki : http://savannah.nongnu.org/projects/lwip/ 13
NTMobile Java Application Java Rapper NTMobile Framework NTMobile Socket 移動検出 lwip NTM Signaling Hand Over C Socket Linux(UDP/IP) 14
一秒に一回の呼び出し アドレス変化を検出した場合 DC へ 端末情報の上書き ( レジストレーション ) と NTMobile 端末間のトンネルの再構築依頼 15
NTMobile Java Application Java Rapper NTMobile Framework NTMobile Socket トンネル構築 lwip NTM Signaling Hand Over C Socket Linux(UDP/IP) 16
フレームワークの実装 各モジュールの機能 Java ラッパー ハンドオーバ処理 Android 端末への実装 今後の予定 フレームワークの試験 性能評価 17