LAN 1. LAN,. NAT,., LAN. NTMobile Network Traversal with Mobilty [1]. NTMobile. OS TUN/TAP, LAN. 2. NTMobile NTMobile NAT, IPv4/IPv6,,. NTMobile. DC Direction Coordinator. NTMobile. DC,. NTMobile NTMfw. NTMfw, NTMobile.,,. 3., NTMfw TUN/TAP TUN,. TUN/TAP,,. VPN,, NTMobile. TUN NTMfw NTMobile, NTMobile. TUN NTMobile, IP. TUN TUN, IP., DNS TUN. DNS, TUN TUN. TUN 140441100 一般端末 (TUN アプリ実装 ) User App. TUN Interface Vertual IP DNS Query (NTMobile FQDN) TUN App. NTMfw DNS Query 解析 DNS Response 生成 ( 通信相手の Vertual IP) DNS Response App. Data ( 宛先 : 通信相手のVertual IP) Real IP でカプセル化 デカプセル化 App. Data Real Interface Real IP Capsuled Message NTMobile Signaling DC Capsuled Message 1: NTM 端末 ( 通信相手端末 ) 1. FQDN DNS. DNS TUN TUN. DNS TUN FQDN. NTMobile FQDN, NTMfw NTMobile, IP. IP DNS, TUN. IP., TUN TUN. TUN NTMfw,,., TUN. 4. TUN Linux. 2 VM, NAT. LAN, NAT. 5., TUN/TAP LAN TUN. Linux,. [1], Vol.54, No.10, pp.2288-2299 (2013).
渡邊研究室 140441100 稲垣智
NAT 越え問題 IPv4-IPv6 間での通信不可問題 移動透過性の課題 上記の問題を解決してネットワークをフラット化し, インターネットをあたかも大きな LAN として扱えると有用 1
NAT 越え問題 IPv4-IPv6 間での通信不可問題 移動透過性の課題 上記の問題を解決してネットワークをフラット化し, インターネットをあたかも大きな LAN として扱えると有用 2
NAT 越え問題 IPv4-IPv6 間での通信不可問題 移動透過性の課題 上記の問題を解決してネットワークをフラット化し, インターネットをあたかも大きな LAN として扱えると有用 3
NAT 越え問題 IPv4-IPv6 間での通信不可問題 移動透過性の課題 上記の問題を解決してネットワークをフラット化し, インターネットをあたかも大きな LAN として扱えると有用 4
DSMIPv6(Dual Stack Mobile IP version 6)*1 NTMobile(Network Traversal with Mobility)*2 *1 RFC5555, 2009 *2 納堂ほか : 信学技報, Vol.116, No.10, pp.2288-2299, 2017 5
様々な課題 移動端末毎に IPv4 グローバルアドレスが必要 IPv4 環境では必ず HA(Home Agent) を経由した冗長経路となる カーネル空間への実装が必要普及が進まない 6
仮想 IP アドレスと呼ぶ変化しないアドレスを端末に割り当てる アプリケーションは仮想 IP アドレスに基づいた通信を行う 移動通信の実現 アプリケーションによるパケット カプセル化 仮想 IP データ実 IP NTMobile によりカプセル化されたパケット 仮想 IP データ データ 7
DC(Direction Coordinator) が最適な通信経路を指示 DNS の問い合わせをトリガとして通信経路構築 直接通信が不可能な場合は RS(Relay Server) が通信を中継 NAT 越え, 異なるバージョン間通信の実現 MN : 通信開始端末 CN : 通信相手端末 8
DC(Direction Coordinator) が最適な通信経路を指示 DNS の問い合わせをトリガとして通信経路構築 直接通信が不可能な場合は RS(Relay Server) が通信を中継 NAT 越え, 異なるバージョン間通信の実現 MN : 通信開始端末 CN : 通信相手端末 9
DC(Direction Coordinator) が最適な通信経路を指示 DNS の問い合わせをトリガとして通信経路構築 直接通信が不可能な場合は RS(Relay Server) が通信を中継 NAT 越え, 異なるバージョン間通信の実現 MN : 通信開始端末 CN : 通信相手端末 10
NTMobile はこれらの機能を NTMfw(NTMobile Framework) と呼ぶアプリケーションライブラリとして提供 カーネル空間への実装を必要としない C 言語標準ソケット API bind() sendto() recvfrom() NTM ソケット API ntmfw_bind() ntmfw_sendto() ntmfw_recvfrom() しかし アプリケーションの実装を変更する必要があるため, 既存のアプリケーションをそのまま使用できない 11
DSMIPv6(Dual Stack Mobile IP version 6) カーネル空間への実装が必要となり, 普及が進まない その他にも技術的な課題が多い NTMobile(Network Traversal with Mobility) アプリケーションの実装を変更する必要があり, 既存のアプリケーションをそのまま使用できない 提案方式 カーネル空間への実装を必要とせず, 既存のアプリケーションをそのまま使用できるシステム 12
NTMfw の機能を TUN インタフェースを利用した TUN アプリケーションとして実現 User Space TUN インタフェース 送信パケットをユーザ空間のアプリへ渡す仕組み Kernel Space User App. TUN App. NTMfw TUN Interface Real Interface 13
TUN インタフェースに仮想 IP アドレスを割り当て User Space User App. TUN App. NTMfw DNS クエリが TUN インタフェースを経由するようルーティングの設定 Kernel Space TUN Interface Virtual IP Real Interface Real IP :DNS クエリ : 仮想 IP アドレス宛てパケット : 実 IP アドレス宛てパケット Network 14
MN(TUN アプリ実装 ) User App. DNS Query (FQDNCN) TUN Interface Virtual IP DNS Response App. Data ( 宛先 :CNのVirtual IP) TUN App. NTMfw DNS Query 解析 DNS Response 生成 (CN の Virtual IP) Real IP でカプセル化 Real Interface Real IP Capsuled Message NTMobile Signaling DC NTM 端末 :CN Capsuled Message デカプセル化 App. Data 15
MN(TUN アプリ実装 ) User App. DNS Query (FQDNCN) TUN Interface Virtual IP DNS Response App. Data ( 宛先 :CNのVirtual IP) TUN App. NTMfw DNS Query 解析 DNS Response 生成 (CN の Virtual IP) Real IP でカプセル化 Real Interface Real IP Capsuled Message NTMobile Signaling DC Capsuled Message NTM 端末 :CN 通信経路構築処理 デカプセル化 App. Data 16
MN(TUN アプリ実装 ) User App. DNS Query (FQDNCN) TUN Interface Virtual IP DNS Response App. Data ( 宛先 :CNのVirtual IP) TUN App. NTMfw DNS Query 解析 DNS Response 生成 (CN の Virtual IP) Real IP でカプセル化 Real Interface Real IP Capsuled Message NTMobile Signaling DC Capsuled Message NTM 端末 :CN データ送受信 デカプセル化 App. Data 17
提案方式の一部を Linux 上に実装 DNS クエリのルーティングは静的に設定 一般アプリケーションが送信するパケットを NTMobile 通信に変換できることを確認 測定環境 Linux 実機を 2 台用意 (MN, CN) し, 提案方式を実装 仮想マシン上に DC を構築 Switching hub Network OS MN, CNの仕様 Ubuntu 14.04 32bit VM CPU Intel Core i5-2520m 2.50GHz Memory 1944360 kb MN CN DC 18
スループットの測定 MN から CN へ向けて 1400 バイトの UDP パケットを送信 10 秒間の測定を 10 回ずつ行い, 平均を算出 Switching hub 通常の通信 TUN アプリ経由での通信 Network 95.27Mbps 4.73Mbps VM スループットの低下 MN CN DC 19
パケット送信側における処理時間の測定 47 バイトの UDP パケットにて測定 10 回の平均値 MN User App. TUN Interface Virtual IP TUN App. NTMfw Real Interface Real IP CN TUN インタフェース経由時間 TUN アプリ処理時間 NTMfw 処理時間 152.8µs 69.2µs 320.3µs App. Data TUN App. Processing NTMfw Processing } TUNインタフェース経由時間 } } TUN アプリ処理時間 NTMfw 処理時間 Capsuled Message 20
パケット受信側における処理時間の測定 47 バイトの UDP パケットにて測定 10 回の平均値 CN MN Real Interface Real IP TUN App. NTMfw TUN Interface Virtual IP User App. Capsuled Message NTMfw 処理時間 TUN アプリ処理時間 TUN インタフェース経由時間 439.7µs 71.4µs 119.7µs NTMfw Processing TUN App. Processing } } App. Data NTMfw 処理時間 TUN アプリ処理時間 } TUNインタフェース経由時間 21
提案方式を使用した場合のスループットは 4.73Mbps 一般的な動画データや画像データ等のやり取りは快適に行える * 大きなデータのやり取りでなければ利用可能 送信側, 受信側とも NTMfw の処理にもっとも時間を要した NTMfw の暗号化 復号処理に時間を要している 暗号化技術は現在のネットワークに必要不可欠 今後は既存の暗号化プロトコルと性能比較を行う * https://mvno-smartphone.com/category6/entry101.html http://mnp-sim.com/89 22
ネットワークの問題を解決する TUN アプリケーションの提案 カーネル空間への実装を必要とせず, 既存アプリケーションもそのまま使用可能 提案方式を実装し, スループットを測定 用途によっては利用可能 NTMobile における暗号化 復号処理に時間を要している 今後の方針 DNS クエリのルーティング設定方法の検討 既存の暗号化プロトコルとのスループットの比較 23
24
25
DNS クエリをそのまま DNS サーバに送信 MN(TUN アプリ実装 ) User App. TUN Interface Vertual IP TUN App. NTMfw Real Interface Real IP DNS サーバ 一版端末 :CN DNS Query (FQDNCN) DNS Query 解析 DNS Query DNS Response DNS Response App. Data 26
DNS サーバ宛てのパケットを全てルーティング 27
仮想 IPv4 アドレスは実ネットワークで使用されていないアドレス帯域 [198.18.0.0/15] を使用 利用可能な IPv4 アドレスは約 13 万個 28
TUN インタフェース IP パケットをフック TAP インタフェース イーサネットフレームをフック 29