38
LAN 内通信システムをインターネット上で利用可能にする TUN アプリの提案と実装 稲垣 智 1 尾久 史弥 2 鈴木 秀和 1 内藤 克浩 3 渡邊 晃 1 1 名城大学理工学部 2 名城大学大学院理工学研究科 3 愛知工業大学情報科学部 1 はじめに LAN 内での通信を前提とすると柔軟なアプリケー ション開発を行うことができる. しかしインターネッ ト上での通信を考慮すると NAT 越え問題や移動透過 性等の様々な問題を考慮する必要が生じる. これらの 問題を解決し, インターネットをあたかも大きな LAN として扱うことができると有用である. DSMIPv6[1] NTMobile Network Traversal with Mobilty[2] はこ のような目的のために開発された技術である. しかし DSMIPv6 はグローバルアドレスを大量に消費し, カーネ ルの改造が必要という課題がある. また, NTMobile は既 存アプリケーションをそのまま利用できないという課題 を抱えている. そこで本稿では様々な OS に標準実装されている TUN/TAP インタフェースを用いて, LAN 内通信シス テムをインターネット上でそのまま利用可能にし, かつ カーネルやアプリケーションの改造を必要としないシス テムの実現方法を提案する. 2 DSMIPv6 NTMobile 2.1 DSMIPv6 DSMIPv6 は不変的なアドレスとして HoAHome Address)を端末に割り当て, 移動先ネットワークで取 得する CoACare of Address)によってカプセル化し て通信を行う. 上位アプリケーションは HoA を用いて 通信するため, NAT 越えや移動に係る CoA の変化をア プリケーションから隠蔽することができる. しかし HA Home Agent)をグローバル空間に設置する必要がある ことから, モバイル端末ごとにグローバルアドレスが必 要になる. また, DSMIPv6 はカーネル空間に実装するこ とが前提であることから, スマートフォンでの利用はで きない. Proposal and Implementation of TUN Application that Makes LAN Communication System Available on the Internet Satoru Inagaki 1 , Fumiya Ogyu 2 , Hidekazu Suzuki 1 , Katsuhiro Naito 3 and Akira Watanabe 1 1 Faculty of Science and Technology, Meijo University 2 Graduate School of Science and Technology, Meijo University 3 Faculty of Information Science, Aichi Institute of Technology User Space Kernel Space TUN Interface (Vertual IP) Real Interface (Real IP) Data Data Vertual IP Real IP Vertual IP Data Real IP Vertual IP Data User App. TUN App. NTMfw Network 1 提案方式におけるパケットカプセル化の様子 2.2 NTMobile NTMobile NAT 越え, IPv4/IPv6 間通信, 移動透過 性を同時に実現する技術であり, 本提案のベースとなる 技術である. NTMobile は端末の不変的なアドレスとし て仮想アドレスを用いる. 仮想アドレスは端末の立ち上 げ時に DC Direction Coordinator)により割り当てられ . NTMobile は仮想アドレスにより生成された通信パ ケットをすべて実アドレスでカプセル化するという特徴 がある. また DC がエンド端末に最適な通信経路を指示 , どのような通信環境においても双方向の通信接続性 を保証する. NTMobile はこれらの機能を NTMobile framework イブラリ(NTMfw[3] と呼ばれるアプリケーション ライブラリとして提供している. アプリケーションに NTMfw を組み込むことにより NTMobile の機能を利用 できる. しかし, 一般通信とソケットインタフェースが 異なるため, 既存のアプリケーションをそのまま使用す ることができないという課題が存在している. 3 提案方式 提案方式では, NTMfw の機能を TUN アプリケーショ ンとして実現し, 既存のアプリケーションをそのまま使 えるようにする. TUN/TAP インタフェースは, トンネ ル通信を実現するためのもので, 一般のアプリケーショ ン(ユーザアプリ)により生成されたパケットをネット ワークに送信する直前にフックし, ユーザ空間のアプリ ケーションへ渡す仕組みである. TUN アプリではフッ クしたパケットに対し, NTMfw を用いて NTMobile パケットを生成することで, ユーザアプリに一切手を加 えることなく NTMobile 機能を実現する. 1 に提案方

LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

LAN内通信システムをインターネット上で利用可能にするTUNアプリの提案と実装

稲垣智 †1 尾久史弥 †2 鈴木秀和 †1 内藤克浩 †3 渡邊晃 †1

†1名城大学理工学部 †2名城大学大学院理工学研究科 †3愛知工業大学情報科学部

1 はじめにLAN 内での通信を前提とすると柔軟なアプリケーション開発を行うことができる. しかしインターネット上での通信を考慮すると NAT 越え問題や移動透過性等の様々な問題を考慮する必要が生じる. これらの問題を解決し, インターネットをあたかも大きな LANとして扱うことができると有用である. DSMIPv6[1]や NTMobile(Network Traversal with Mobilty)[2]はこのような目的のために開発された技術である. しかしDSMIPv6はグローバルアドレスを大量に消費し,カーネルの改造が必要という課題がある. また, NTMobileは既存アプリケーションをそのまま利用できないという課題

を抱えている.そこで本稿では様々な OS に標準実装されている

TUN/TAP インタフェースを用いて, LAN 内通信システムをインターネット上でそのまま利用可能にし, かつカーネルやアプリケーションの改造を必要としないシス

テムの実現方法を提案する.

2 DSMIPv6と NTMobile2.1 DSMIPv6

DSMIPv6 は不変的なアドレスとして HoA(HomeAddress)を端末に割り当て, 移動先ネットワークで取得する CoA(Care of Address)によってカプセル化して通信を行う. 上位アプリケーションは HoA を用いて通信するため, NAT 越えや移動に係る CoA の変化をアプリケーションから隠蔽することができる. しかし HA(Home Agent)をグローバル空間に設置する必要があることから, モバイル端末ごとにグローバルアドレスが必要になる. また, DSMIPv6はカーネル空間に実装することが前提であることから, スマートフォンでの利用はできない.

Proposal and Implementation of TUN Application that Makes LANCommunication System Available on the InternetSatoru Inagaki†1, Fumiya Ogyu†2, Hidekazu Suzuki†1, KatsuhiroNaito†3 and Akira Watanabe†1

†1 Faculty of Science and Technology, Meijo University†2 Graduate School of Science and Technology, Meijo University†3 Faculty of Information Science, Aichi Institute of Technology

UserSpace

KernelSpaceTUN Interface

(Vertual IP)Real Interface

(Real IP)

Data

DataVertual IP

Real IP Vertual IP Data

Real IP Vertual IP Data

User App.TUN App.

NTMfw

Network

図 1 提案方式におけるパケットカプセル化の様子

2.2 NTMobileNTMobile は NAT 越え, IPv4/IPv6 間通信, 移動透過性を同時に実現する技術であり, 本提案のベースとなる技術である. NTMobile は端末の不変的なアドレスとして仮想アドレスを用いる. 仮想アドレスは端末の立ち上げ時に DC(Direction Coordinator)により割り当てられる. NTMobile は仮想アドレスにより生成された通信パケットをすべて実アドレスでカプセル化するという特徴

がある. また DCがエンド端末に最適な通信経路を指示し, どのような通信環境においても双方向の通信接続性を保証する.

NTMobileはこれらの機能を NTMobile frameworkライブラリ(NTMfw)[3] と呼ばれるアプリケーションライブラリとして提供している. アプリケーションにNTMfwを組み込むことにより NTMobileの機能を利用できる. しかし, 一般通信とソケットインタフェースが異なるため, 既存のアプリケーションをそのまま使用することができないという課題が存在している.

3 提案方式提案方式では, NTMfwの機能を TUNアプリケーションとして実現し, 既存のアプリケーションをそのまま使えるようにする. TUN/TAP インタフェースは, トンネル通信を実現するためのもので, 一般のアプリケーション(ユーザアプリ)により生成されたパケットをネット

ワークに送信する直前にフックし, ユーザ空間のアプリケーションへ渡す仕組みである. TUN アプリではフックしたパケットに対し, NTMfw を用いて NTMobile 用パケットを生成することで, ユーザアプリに一切手を加えることなく NTMobile機能を実現する. 図 1に提案方

Page 2: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

DC

一般端末(TUNアプリ実装)

NTM端末(通信相手端末)

Real InterfaceReal IP

TUN InterfaceVertual IP

DNS Response

Capsuled Message

App. Data

DNS Query解析

DNS Response生成(通信相手のVertual IP)

Real IPでカプセル化

デカプセル化

NTMobile Signaling

User App.TUN App.

NTMfw

App. Data(宛先:通信相手のVertual IP)

DNS Query(NTMobile FQDN)

Capsuled Message

図 2 提案方式における通信確立時の動作シーケンス

式におけるカプセル化の様子を示す. カプセル化処理はユーザ空間の TUNアプリとカーネルで分担して行うことができ,カーネルの改造も不要である.ユーザアプリ起動から NTMobile通信実現までの流れは以下の通りである. まず, TUNアプリが NTMobileの登録処理を実行し, DC から仮想 IP アドレスを取得する. このとき TUNアプリは TUNインタフェースを作成し,ここに取得した仮想 IPアドレスを割り当てる. また,DNSクエリが TUNインタフェースへ渡されるようルーティングテーブルの設定を変更する. これにより DNSクエリ, および仮想アドレス宛のパケットは全て TUNインタフェースを通じて TUNアプリへ渡されることになる.図 2に通信確立時の動作シーケンスを示す. ユーザアプリが通信相手の FQDNを指定することにより, DNSクエリが送信される. DNSクエリは TUNインタフェースを通じて TUNアプリへ渡される. DNSクエリを受信した TUN アプリは相手 FQDN の解析を行う. NTMobile固有の FQDNが指定されていた場合は, NTMfwによりNTMobileシグナリング処理を実行してトンネル経路を生成するとともに,通信相手の仮想 IPアドレスを取得する. 取得した通信相手の仮想 IPアドレスを DNS応答に記載し, TUNインタフェースを通じてユーザアプリに返信する. その後ユーザアプリは通信相手の仮想 IP アドレス宛にデータを送信する. これらのパケットはすべてTUN インタフェースを通じて TUN アプリが受け取る.受け取ったパケットに NTMfwがヘッダ付与や暗号化等の処理を行い, 実インタフェースを通じてカプセル化した後,通信相手に送信する. 通信相手から受信したパケットは上記と逆の手順により, TUNインタフェースを通じてユーザアプリへ渡される.

DNS クエリの宛先名が一般の通信端末であった場合は, クエリをそのままローソケット経由で物理ネットワークに中継する. 本方式によると, 複数の NTMobile

表 1 既存技術と提案方式の比較

項目 (1) 項目 (2)DSMIPv6 × ○

NTMfw ○ ×

提案方式 ○ ○

対応のアプリケーションと, 複数の一般通信用アプリケーションが同時に通信を行える.

4 実装・評価4.1 実装・動作検証

TUN アプリを LINUX 上で実装し動作検証を行った.検証方法は 2 台の提案方式による端末を VM にて準備し, NATを経由した通信を実行した. この状態で双方の端末上で LAN内通信システム対応のアプリケーションを動作させると, NATが混在する環境でも双方向の通信接続性を確立できることを確認した. また一般アプリとTUN アプリを利用したアプリが複数同時通信できることを確認した.4.2 評価

表 1に既存技術と提案方式の比較を示す. 評価項目は以下の通りとした.(1)カーネルの改造を必要としないか(2)既存アプリを使用できるか

DSMIPv6 ではカーネルの改造が必要であるが既存アプリケーションをそのまま利用できる. NTMfw はカーネルの改造が不要であるが, 既存のアプリケーションがそのまま使用できないという課題がある. 提案方式ではカーネルの改造を必要とすることなく, さらに既存のアプリケーションもそのまま利用することができる.

5 まとめ本稿では, TUN/TAP インタフェースを用いて LAN内通信システムをインターネット上で利用可能にする

TUN アプリの提案及び実装を行った. 提案方式によりカーネルの改造やアプリケーションの改造を必要とす

ることなく LAN内で実現した通信システムをインターネット上でそのまま利用することが可能になった. 今後は提案方式の性能評価を行う予定である.

参考文献

[1] Soliman, H.: Mobile IPv6 Support for Dual StackHosts and Routers, RFC 5555, IETF (2009).

[2] 上醉尾一真ほか:IPv4/IPv6混在環境で移動透過性を実現するNTMobileの実装と評価,情報学論,Vol.54,No.10,pp.2288-2299 (2013).

[3] 納堂博史ほか:実用化に向けた NTMobileフレームワークの実装と評価,信学技報,Vol.116, No.509,pp.281-288 (2017).

Page 3: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

稲垣 智† 尾久 史弥† 鈴木 秀和† 内藤 克浩‡ 渡邊 晃† †名城大学

‡愛知工業大学

Page 4: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

NAT越え問題

IPv4-IPv6間での 通信不可問題

移動透過性の課題

1

上記の問題を解決してネットワークをフラット化し, インターネットをあたかも大きなLANとして扱えると有用

Page 5: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

NAT越え問題

IPv4-IPv6間での 通信不可問題

移動透過性の課題

2

上記の問題を解決してネットワークをフラット化し, インターネットをあたかも大きなLANとして扱えると有用

Page 6: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

NAT越え問題

IPv4-IPv6間での 通信不可問題

移動透過性の課題

3

上記の問題を解決してネットワークをフラット化し, インターネットをあたかも大きなLANとして扱えると有用

Page 7: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

NAT越え問題

IPv4-IPv6間での 通信不可問題

移動透過性の課題

4

上記の問題を解決してネットワークをフラット化し, インターネットをあたかも大きなLANとして扱えると有用

Page 8: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

DSMIPv6(Dual Stack Mobile IP version 6)*1

NTMobile(Network Traversal with Mobility)*2

5 *1 RFC5555, 2009

*2 納堂ほか:信学技報, Vol.116, No.10, pp.2288-2299, 2017

Page 9: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

様々な課題

∘ 移動端末毎に IPv4グローバルアドレスが必要

∘ IPv4環境では必ずHA(Home Agent)を 経由した冗長経路となる

6

カーネル空間への実装が必要 普及が進まない

Page 10: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

仮想IPアドレスと呼ぶ変化しないアドレスを端末に割り当てる

アプリケーションは仮想IPアドレスに基づいた通信を行う →移動通信の実現

7

仮想IP データ 実IP

データ

仮想IP データカプセル化

アプリケーションによる パケット

NTMobileによりカプセル化された パケット

Page 11: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

DC(Direction Coordinator)が最適な通信経路を指示

∘ DNSの問い合わせをトリガとして通信経路構築

直接通信が不可能な場合はRS(Relay Server)が通信を中継 →NAT越え, 異なるバージョン間通信の実現

8

MN : 通信開始端末 CN : 通信相手端末

Page 12: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

DC(Direction Coordinator)が最適な通信経路を指示

∘ DNSの問い合わせをトリガとして通信経路構築

直接通信が不可能な場合はRS(Relay Server)が通信を中継 →NAT越え, 異なるバージョン間通信の実現

9

MN : 通信開始端末 CN : 通信相手端末

Page 13: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

DC(Direction Coordinator)が最適な通信経路を指示

∘ DNSの問い合わせをトリガとして通信経路構築

直接通信が不可能な場合はRS(Relay Server)が通信を中継 →NAT越え, 異なるバージョン間通信の実現

10

MN : 通信開始端末 CN : 通信相手端末

Page 14: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

NTMobileはこれらの機能をNTMfw(NTMobile Framework)と呼ぶアプリケーションライブラリとして提供 →カーネル空間への実装を必要としない

11

C言語標準ソケットAPI NTMソケットAPI

bind(~) sendto(~) recvfrom(~)

ntmfw_bind(~) ntmfw_sendto(~) ntmfw_recvfrom(~)

アプリケーションの実装を変更する必要があるため, 既存のアプリケーションをそのまま使用できない

しかし…

Page 15: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

DSMIPv6(Dual Stack Mobile IP version 6) ∘ カーネル空間への実装が必要となり, 普及が進まない

∘ その他にも技術的な課題が多い

NTMobile(Network Traversal with Mobility) ∘ アプリケーションの実装を変更する必要があり, 既存のアプリケーションをそのまま使用できない

12

カーネル空間への実装を必要とせず, 既存の アプリケーションをそのまま使用できるシステム

提案方式

Page 16: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

NTMfwの機能をTUNインタフェースを利用した TUNアプリケーションとして実現

TUNインタフェース

∘ 送信パケットを ユーザ空間の アプリへ渡す仕組み

13

User Space

Kernel Space

Real Interface

User App.TUN App.

TUN Interface

NTMfw

Page 17: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

TUNインタフェースに 仮想IPアドレスを割り当て

DNSクエリが TUNインタフェースを 経由するよう ルーティングの設定

14

User Space

Kernel Space

Real InterfaceReal IP

User App.TUN App.

TUN InterfaceVirtual IP

NTMfw

:DNSクエリ:仮想IPアドレス宛てパケット:実IPアドレス宛てパケット Network

Page 18: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

15

DC

MN(TUNアプリ実装)

NTM端末:CN

Real InterfaceReal IP

TUN InterfaceVirtual IP

DNS Response

Capsuled Message

App. Data

DNS Query解析

DNS Response生成(CNのVirtual IP)

Real IPでカプセル化

デカプセル化

NTMobile Signaling

User App.TUN App.

NTMfw

App. Data (宛先:CNのVirtual IP)

DNS Query(FQDNCN)

Capsuled Message

Page 19: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

16

DC

MN(TUNアプリ実装)

NTM端末:CN

Real InterfaceReal IP

TUN InterfaceVirtual IP

DNS Response

Capsuled Message

App. Data

DNS Query解析

DNS Response生成(CNのVirtual IP)

Real IPでカプセル化

デカプセル化

NTMobile Signaling

User App.TUN App.

NTMfw

App. Data (宛先:CNのVirtual IP)

DNS Query(FQDNCN)

Capsuled Message 通信経路構築処理

Page 20: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

17

DC

MN(TUNアプリ実装)

NTM端末:CN

Real InterfaceReal IP

TUN InterfaceVirtual IP

DNS Response

Capsuled Message

App. Data

DNS Query解析

DNS Response生成(CNのVirtual IP)

Real IPでカプセル化

デカプセル化

NTMobile Signaling

User App.TUN App.

NTMfw

App. Data (宛先:CNのVirtual IP)

DNS Query(FQDNCN)

Capsuled Message

データ送受信

Page 21: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

提案方式の一部をLinux上に実装

∘ DNSクエリのルーティングは静的に設定

動作検証

∘ NAT越え, 移動通信ができることを確認

∘ 次スライドにて実演

18

Page 22: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

19 Global IPv4 Network

NAT

Private IPv4 Network

CNMNDC

MN

CN

映像表示

Page 23: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

測定環境

∘ Linux実機を2台用意(MN, CN)し, 提案方式を実装

∘ 仮想マシン上にDCを構築

20

VM

CN DC

Switching hub

MN

Network MN, CNの仕様

OS Ubuntu 14.04 32bit

CPU Intel Core i5-2520M 2.50GHz

Memory 1944360 kB

Page 24: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

スループットの測定

∘ MNからCNへ向けて1400バイトのUDPパケットを送信

∘ 10秒間の測定を10回ずつ行い, 平均を算出

21

通常の通信 TUNアプリ 経由での通信

95.27Mbps 4.73Mbps VM

CN DC

Switching hub

MN

Network

スループットの低下

Page 25: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

パケット送信側における処理時間の測定

22

TUNインタフェース 経由時間

0.15ms

TUNアプリ 処理時間

0.07ms

NTMfw

処理時間 8.35ms

• 1400バイトの UDPパケットにて測定

• 10回の平均値 MN

CN

Real InterfaceReal IP

TUN InterfaceVirtual IP

User App.TUN App.

NTMfw

App. Data

Capsuled Message

TUN App. Processing

NTMfwProcessing

}TUNインタフェース経由時間

NTMfw処理時間

TUNアプリ処理時間

Page 26: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

パケット受信側における処理時間の測定

23

NTMfw

処理時間 8.58ms

TUNアプリ 処理時間

0.07ms

TUNインタフェース経由時間

0.10ms

• 1400バイトの UDPパケットにて測定

• 10回の平均値 CN

MN

Real InterfaceReal IP

TUN InterfaceVirtual IP

User App.TUN App.

NTMfw

App. Data

Capsuled Message

TUN App. Processing

NTMfwProcessing

}TUNインタフェース経由時間

NTMfw処理時間

TUNアプリ処理時間

Page 27: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

提案方式を使用した場合のスループットは4.73Mbps

∘ 一般的な動画データや画像データ等のやり取りは快適に行える*

∘ 大きなデータのやり取りでなければ利用可能

送信側, 受信側ともNTMfwの処理にもっとも時間を要した

∘ NTMfwの暗号化・復号処理に時間を要している

∘ 暗号化技術は現在のネットワークに必要不可欠

∘ 今後は既存の暗号化プロトコルと性能比較を行う

24 * https://mvno-smartphone.com/category6/entry101.html

http://mnp-sim.com/89

Page 28: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

ネットワークの問題を解決するTUNアプリケーションの提案

∘ カーネル空間への実装を必要とせず, 既存アプリケーションもそのまま使用可能

提案方式を実装し, スループットを測定

∘ 用途によっては利用可能

∘ NTMobileにおける暗号化・復号処理に時間を要している

今後の方針

∘ DNSクエリのルーティング設定方法の検討

∘ 既存の暗号化プロトコルとのスループットの比較

25

Page 29: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

26

Page 30: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

27

Page 31: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

DNSクエリをそのままDNSサーバに送信

28

DNSサーバ

MN(TUNアプリ実装)

一版端末:CN

Real InterfaceReal IP

TUN InterfaceVertual IP

DNS Response

DNS Query解析

DNS Query

User App.TUN App.

NTMfw

DNS Query(FQDNCN)

DNS Response

App. Data

Page 32: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

29

NTMfw アダプタ型 TUN型

(提案方式) VPNService型

既存アプリの 使用

× ○ ○ ○

物理デバイスの有無

○ × ○ ○

複数アプリへの 適用

○ ○ ○ ×

管理者権限の必要性の有無

○ ○ × ○

多岐OSへの 適用

○ ○ ○ △

Page 33: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

DNSサーバ宛てのパケットを全てルーティング

30

Page 34: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

仮想IPv4アドレスは実ネットワークで使用されていないアドレス帯域[198.18.0.0/15]を使用

利用可能なIPv4アドレスは約13万個

31

Page 35: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

TUNインタフェース

∘ IPパケットをフック

TAPインタフェース

∘ イーサネットフレームをフック

32

Page 36: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

MN

CN

Real InterfaceReal IP

TUN InterfaceVertual IP

User App.TUN App.

NTMfw

App. Data

Capsuled Message

TUN App. Processing

NTMfwProcessing

}TUNインタフェース経由時間

NTMfw処理時間

TUNアプリ処理時間

パケット送信側における処理時間の測定

33

TUNインタフェース 経由時間

152.8µs

TUNアプリ 処理時間

69.2µs

NTMfw

処理時間 320.3µs

• 47バイトの UDPパケットにて測定

• 10回の平均値

Page 37: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

CN

MN

Real InterfaceReal IP

TUN InterfaceVertual IP

User App.TUN App.

NTMfw

App. Data

Capsuled Message

TUN App. Processing

NTMfwProcessing

}TUNインタフェース経由時間

NTMfw処理時間

TUNアプリ処理時間

パケット受信側における処理時間の測定

34

NTMfw

処理時間 439.7µs

TUNアプリ 処理時間

71.4µs

TUNインタフェース経由時間

119.7µs

• 47バイトの UDPパケットにて測定

• 10回の平均値

Page 38: LAN 内通信システムをインターネット上で利用可能にする …...TUN アプリを利用したアプリが複数同時通信できるこ とを確認した. 4.2 評価

様々な課題

∘ 移動端末毎に IPv4グローバルアドレスが必要

∘ IPv4環境では必ずHA(Home Agent)を 経由した冗長経路となる

35

カーネル空間への実装が必要 普及が進まない