49
IP ネットワークをフラット化する通信アダプターの提案と実装 尾久史弥 1 鈴木秀和 1 内藤克浩 2 渡邊晃 1 1 名城大学大学院理工学研究科 2 愛知工業大学情報科学部 1 はじめに IP インフラは隅々まで普及し,ほとんどのシステムが IP ネットワークを前提として構築されている.しかし, IP ネットワークには,NAT 越え問題,IPv4/IPv6 非互換 性,移動透過性,セキュリティなどに係る様々な課題が ある.これらの課題を除去し,実ネットワークの制約に 左右されないフラットなネットワークを構築できると有 用である. フラットなネットワークを構築するための技術とし て, DSMIPv6(Dual Stack IPv6), HIP(Host Identity Proto- col)NTMobile(Network Traversal with Mobility)[1] ある.DSMIPv6 HIP は,それぞれ固有の課題を抱え るとともに,カーネル空間に実装するのが前提であるた め,スマートフォンのような端末への適用が困難である. NTMobile は,上記のような課題は無く,スマートフォ ンにも適用できるため,システムを構築する上で有用な 技術である.しかし,組み込み機器やアプリケーション サーバーのようにプログラムの改造が一切できない通 信装置が存在する.そこで,これらの通信装置に対して も,NTMobile の利用を可能とするアダプターの提案と 実装を行った. 2 既存技術の概要と課題 2.1 DSMIPv6 DSMIPv6 は,MobileIPv6 IPv4/IPv6 混在環境に 拡張した技術である.HA(Home Agent) IPv4/IPv6 デュアルスタックネットワーク上に設置し,移動端末 MN(Mobile Node) との間でトンネルを構築することに より,あらゆる通信環境での通信接続性と移動透過性を 実現することができる.しかし,移動端末がグローバル IPv4 アドレスを消費するという課題があり,グローバ IPv4 アドレスが枯渇した今日においては,現実的な 方式ではない.また,カーネルにて本機能をサポートす るのが前提であり,スマートフォンでは利用できない. Proposal and Implementation of Communication Adapter that makes IP Network Flat Fumiya Ogyu 1 , Hidekazu Suzuki 2 , Katsuhiro Naito 2 and Akira Watanabe 1 Graduate School of Science, Meijo University 2 Faculty of Information Science, Aichi Institute of Technology 2.2 HIP HIP は,ネットワーク層とトランスポート層の間に,新 たに HIP 層を定義し,端末識別子として HI(Host Identi- fir) を用いるのが特徴で,既存の NAT 越え技術やセキュ リティ技術を組み合わせて,通信接続性と移動透過性を 実現する.しかし,NAT が存在する環境では移動透過 性の実現のためのオーバーヘッドが大きい.また,カー ネルを改造する必要があるため,スマートフォンでは適 用できない. 3 NTMobile NTMobile は,システム内で重複しない仮想 IP アド レス (VIPVirtual IP Address) を導入し,全ての通信 を実 IP アドレス (RIP : Real IP Address) でカプセル 化する.NTMobile を利用するには,NTMobile frame- work(NTMfw)[2] と呼ぶライブラリを利用してアプリ ケーションを開発する (以下,NTMapp と呼ぶ)NTMobile は,NTMapp をインストールした NTM 末と, NTM 端末の VIP や位置情報等を管理し, UDP ンネルの構築指示を出す DC(Direction coordinator) で構 成される.通信開始時の名前解決をトリガとし,DC NTM 端末の間でシグナリングを実行して最適なトンネ ル経路を構築する.以後の全ての通信は,VIP に基づい たパケットを RIP のパケットでカプセル化することに より通信を行う. NTMobile は,DSMIPv6 HIP が抱えるような課題 がなく,スマートフォンでも実現できる.ただし,組み 込み機器やアプリケーションサーバーなどは,プログラ ムの改造ができないため,NTMobile を利用できない課 題がある. 4 提案システム 4.1 アダプタの構成 本稿は,プログラムの改造が一切できない通信装置と ネットワークの間に直列に設置することにより, NTMo- bile 通信を可能とする NTMA(NTMobile Adaptor) を提 案する.NTMA は,イニシエータ側 (NTMA ini ),レス ポンダ側 (NTMA res ) のどちら側でも利用できる. NTMA NIC 2 枚用意し,一方を一般端末 GN(General Node) に,他方を IP ネットワークに接続 する.以後イニシエータ側の GN GN1,レスポンダ 側の GN GN2 とする.

IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

IPネットワークをフラット化する通信アダプターの提案と実装尾久史弥 †1 鈴木秀和 †1 内藤克浩 †2 渡邊晃 †1

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

1 はじめにIPインフラは隅々まで普及し,ほとんどのシステムが

IPネットワークを前提として構築されている.しかし,IPネットワークには,NAT越え問題,IPv4/IPv6非互換性,移動透過性,セキュリティなどに係る様々な課題が

ある.これらの課題を除去し,実ネットワークの制約に

左右されないフラットなネットワークを構築できると有

用である.

フラットなネットワークを構築するための技術とし

て,DSMIPv6(Dual Stack IPv6), HIP(Host Identity Proto-col),NTMobile(Network Traversal with Mobility)[1] がある.DSMIPv6と HIPは,それぞれ固有の課題を抱えるとともに,カーネル空間に実装するのが前提であるた

め,スマートフォンのような端末への適用が困難である.

NTMobileは,上記のような課題は無く,スマートフォンにも適用できるため,システムを構築する上で有用な

技術である.しかし,組み込み機器やアプリケーション

サーバーのようにプログラムの改造が一切できない通

信装置が存在する.そこで,これらの通信装置に対して

も,NTMobileの利用を可能とするアダプターの提案と実装を行った.

2 既存技術の概要と課題2.1 DSMIPv6

DSMIPv6 は,MobileIPv6 を IPv4/IPv6 混在環境に拡張した技術である.HA(Home Agent) を IPv4/IPv6デュアルスタックネットワーク上に設置し,移動端末

MN(Mobile Node) との間でトンネルを構築することにより,あらゆる通信環境での通信接続性と移動透過性を

実現することができる.しかし,移動端末がグローバル

IPv4 アドレスを消費するという課題があり,グローバル IPv4 アドレスが枯渇した今日においては,現実的な方式ではない.また,カーネルにて本機能をサポートす

るのが前提であり,スマートフォンでは利用できない.

Proposal and Implementation of Communication Adapter thatmakes IP Network FlatFumiya Ogyu†1, Hidekazu Suzuki†2, Katsuhiro Naito†2 and AkiraWatanabe†1 Graduate School of Science, Meijo University†2 Faculty of Information Science, Aichi Institute of Technology

2.2 HIPHIPは,ネットワーク層とトランスポート層の間に,新たに HIP層を定義し,端末識別子として HI(Host Identi-fir)を用いるのが特徴で,既存の NAT越え技術やセキュリティ技術を組み合わせて,通信接続性と移動透過性を

実現する.しかし,NAT が存在する環境では移動透過性の実現のためのオーバーヘッドが大きい.また,カー

ネルを改造する必要があるため,スマートフォンでは適

用できない.

3 NTMobileNTMobile は,システム内で重複しない仮想 IP アドレス (VIP:Virtual IP Address) を導入し,全ての通信を実 IP アドレス (RIP : Real IP Address) でカプセル化する.NTMobile を利用するには,NTMobile frame-work(NTMfw)[2] と呼ぶライブラリを利用してアプリケーションを開発する (以下,NTMappと呼ぶ).

NTMobileは,NTMappをインストールした NTM端末と,NTM端末の VIPや位置情報等を管理し,UDPトンネルの構築指示を出す DC(Direction coordinator)で構成される.通信開始時の名前解決をトリガとし,DCとNTM端末の間でシグナリングを実行して最適なトンネル経路を構築する.以後の全ての通信は,VIPに基づいたパケットを RIP のパケットでカプセル化することにより通信を行う.

NTMobile は,DSMIPv6 や HIP が抱えるような課題がなく,スマートフォンでも実現できる.ただし,組み

込み機器やアプリケーションサーバーなどは,プログラ

ムの改造ができないため,NTMobileを利用できない課題がある.

4 提案システム4.1 アダプタの構成

本稿は,プログラムの改造が一切できない通信装置と

ネットワークの間に直列に設置することにより,NTMo-bile 通信を可能とする NTMA(NTMobile Adaptor) を提案する.NTMA は,イニシエータ側 (NTMAini),レスポンダ側 (NTMAres)のどちら側でも利用できる.

NTMA は NIC を 2 枚用意し,一方を一般端末GN(General Node) に,他方を IP ネットワークに接続する.以後イニシエータ側の GN を GN1,レスポンダ側の GNを GN2とする.

Page 2: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

4.2 動作シーケンス

図 1 に提案システムの動作シーケンスと通信パケットのアドレス遷移を示す.通信開始前に,NTMAini と

NTMAres は,DC から VIP の割り当てを受け,GN1と GN2 には,適切な IP アドレスを設定しておく.また,図 1では,説明の簡略化のために NATの存在及びNTNMobileシグナリングの詳細を省略している.通信開始時にGN1は,NTMAresの FQDNをターゲットとする DNS クエリを送信する.NTMAini は,DNSクエリを受信後,NTMobileシグナリングを実行し,DCの指示の基で NTMAini と NTMAres 間でトンネル構築

をする.トンネル構築後に NTMAini は,NTMAres の

VIPres を DNSレスポンスに載せて GN1に返す.GN1は,NTMAres の VIPres を通信相手と認識してパケット

を送信する.NTMAini は,送信元 RIPGN1 を VIPini に

変換する.さらに,NTMAini とNTMAres の RIPでカプセル化して NTMAres へ送信する.NTMAres はパケッ

トを受信後して,デカプセル化する.その後,VIPres を

RIPGN2 に変換して,GN2へパケットを中継する.GN2からの応答は,上記と逆の手順で中継する.

5 実装図 2に NTMAのモジュール構成図を示す.NIC0は,ネットワーク側の端末との通信に使用し,NTMfwにより NTMobileのパケットを扱う.NIC1は GNとの通信に使用し,RAWソケットによりパケットを IPヘッダから受信して,データとして扱う.

NTMfw は,NTMobile シグナリングを GN に代わって実行する.また,通信パケットに対しては,NTMobile通信を識別する NTMヘッダの生成/除去を行い,Linuxカーネルにて,実 IP パケットのカプセル/デカプセル化処理を行う.NTMappは,NTMfwに対して初期化処理 (Init)を指示する.GNからの DNSクエリに対して,NTMfw にシグナリングを指示し,その結果を DNS レスポンスとして GNに送信する.さらに通信パケットに対して,RAW ソケットと NTM ソケットを経由した中継処理をする.

6 評価6.1 動作検証

NTMAini を Raspberry Pi 上で実現し,NTMAres を

LINUX PC 上に実装した.NTMAini と NTMAres をそ

れぞれ NAT 配下に設置し,GN1 と GN2 に接続した.両 GNは,一般の UDP/TCP通信を行うアプリケーションを使用して動作検証を行い,NAT が介在するネットワークにおいても自由に通信を行えることを確認した.

6.2 性能評価

性能評価は,動作検証と同一条件で,Raspberry Piに実装した NTMAを用いてパケットの中継時間を測定し

DNSクエリ

DNSレスポンス

パケット送信

NTMobileシグナリング

GN1

RIPGN1

General Application

NTMAini RIPini

VIPini

NTMA Application

SRC : RIPGN1, DST :VIPres

IPヘッダオリジナル

IPヘッダRIP : Real IP Adress VIP : Virtual IP Adress

SRC : RIPini, DST : RIPres

SRC : VIPini, DST : VIPres

NTMAresRIPres

VIPres

NTMA Application

GN2

RIPGN2

General Application

DC

SRC : RIPres, DST : RIPini

SRC : VIPres, DST : VIPini

SRC : RIPGN2, DST : VIPini

SRC : VIPini, DST : RIPGN2

SRC : VIPres, DST : RIPGN1

FQDNres

パケット送信

パケット送信

パケット送信

図 1 NTMAの通信シーケンスとパケットのアドレス遷移

Relay to GN Init

NTMfw

UDP SocketRAW Socket

NTMobile Socket

NIC1 NIC0

DNS Query/Response Packet UDP/TCP Packet Data flow

UserSpace

KernelSpace

NTMapp

Packet Manipulation Modual

図 2 NTMAのモジュール構成

表 1 NTMAのパケット中継時間

区分 時間 (us)GNから IPネットワーク 505IPネットワークから GN 697

た.表 1に NTMAがパケットの中継に要した時間を示す.GNから IPネットワーク,及び IPネットワークから GNへパケットを中継するのに要する時間は,それぞれ 505マイクロ秒,697マイクロ秒であった.この時間には,NTMobile による暗号化/復号化処理も含まれる.この結果により,アダプタが介在することによる伝送遅

延は,実用上問題ないことが分かった.

7 まとめ本稿では,プログラムの改造が一切できない通信装置

に対して,NTMobileによるフラットなネットワーク上で通信を行うことができる NTMAを提案した.実装及び性能評価の結果,NTMAによる伝送遅延は少なく,実用上問題ないことを確認した.

参考文献

[1]上醉尾一真ほか:情報処理学会論文誌,Vol54,No10,pp.2288–2299(2013).[2] 納堂博史ほか:実用化に向けた NTMobile フレームワークの実装と評価,信学技報,Vol.116, No.509, pp.281-288 (2017).

Page 3: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

尾久 史弥(1) 鈴木 秀和(1) 内藤 克浩(2) 渡邊 晃(1)

(1)名城大学 理工学研究科, (2)愛知工業大学 情報科学部

Page 4: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

1

IPインフラが普及し,多くのシステムがIP通信を利用

IPネットワークの現状

Page 5: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

2

IPインフラが普及し,多くのシステムがIP通信を利用

NAT越え問題 IPv4/IPv6の非互換性 移動透過性 セキュリティ

IPネットワークの現状

IPネットワークの課題

Page 6: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

3

IPインフラが普及し,多くのシステムがIP通信を利用

NAT越え問題 IPv4/IPv6の非互換性 移動透過性 セキュリティ

通信プロトコルレベルで課題を解決できると有用

NTMobile (Network Traversal with Mobility)

DSMIPv6 (Dual Stack Mobile IPv6)

HIP (Host Idetity Protocol)

IPネットワークの現状

IPネットワークの課題

解決策

技術例

H. Soliman: Mobile IPv6 Support for Dual Stack Hosts and Routers, RFC5555, IETF (2009).

R. Moskowitz, et al.: Host Identity Protocol Version 2 (HIPv2), RFC7401, Updated by RFC8002, IETF (2015).

(3)納堂博史, ほか: NTMobileの実用化に向けた統合的枠組の検討, 情報処理学会研究報告, Vol.2015-MBL-77, No.20, pp.1–8(2015).

(1)

(2)

(3)

(1)

(2)

Page 7: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

4

カーネル空間に改造が必要

※既存技術との併用可能

Mobile IPv4の課題を引き継ぐ

通信開始時に経路探索のオーバーヘッドが大きい

DSMIPv6Mobile IPv4とMobileIPv6を統合した技術

IPv4/IPv6混在環境において移動透過性を提供する

移動端末にIPv4グローバルを割り当てる必要がある

HIPエンドポイント間でのセキュリティプロトコル

概要

課題

概要

課題

共通の課題

Page 8: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

宛 先:RIPdst送信元:RIPsrc

5

宛 先:VIPdstDATA

送信元:VIPsrc

NTMobileパケットフォーマット

仮想IPパケット実IPパケット仮想IPネットワーク

アプリケーションレイヤで利用可能

特徴

DSMIPv6やHIPなどが抱える課題が存在しない

Page 9: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

NTMobile framework(NTMfw)と呼ばれる通信ライブラリを利用

アプリケーション開発者は,NTMソケットAPIを利用する

6

ntmfw_getaddrinfo(...);

ntmfw_socket(...);

ntmfw_sendto(...);

ntmfw_recvfrom(...);

NTMobileアプリケーション

Page 10: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

7

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

直接通信できない場合の通信中継装置

NTM端末 DC (Direction Coordinator) RS (Relay Server)

IPv6 Network

IPv4 Network

Dual Stack Network

NTMfw を実装した端末 仮想IPアドレスの配布,通信経路の指示をする

Page 11: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

8

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

NTMfw を実装した端末 仮想IPアドレスの配布,通信経路の指示をする

直接通信できない場合の通信中継装置

NTM端末 DC (Direction Coordinator) RS (Relay Server)

IPv6 Network

IPv4 Network

Dual Stack Network

Page 12: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

9

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

直接通信できない場合の通信中継装置

NTM端末 DC (Direction Coordinator) RS (Relay Server)

IPv6 Network

IPv4 Network

Dual Stack Network

仮想IPアドレスの配布,通信経路の指示をする

NTMfw を実装した端末

Page 13: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

10

直接通信できない場合の通信中継装置

NTM端末 DC (Direction Coordinator) RS (Relay Server)

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

IPv6 Network

IPv4 Network

Dual Stack Network

仮想IPアドレスの配布,通信経路の指示をする

NTMfw を実装した端末

Page 14: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

11

Virtual IP Network(Overlay Network)

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

IPv6 Network

IPv4 Network

Dual Stack Network

IPネットワーク上に仮想IPネットワークを構築

Page 15: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

12

Virtual IP Network(Overlay Network)

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

IPv6 Network

IPv4 Network

Dual Stack Network

NTM端末に仮想IPアドレスとFQDNを割り当てる

FQDN : FQDNA

仮想IP :VIPA

FQDN : FQDNB

仮想IP :VIPB

FQDN : FQDNC

仮想IP :VIPC

Page 16: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

13

Virtual IP Network(Overlay Network)

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

IPv6 Network

IPv4 Network

Dual Stack Network

仮想IPネットワークにNTM端末をマッピング

NTM端末 A

NTM端末 B

NTM端末 C

Page 17: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

14

Virtual IP Network(Overlay Network)

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

IPv6 Network

IPv4 Network

Dual Stack Network

NTMobileプロトコルにより両エンド端末間でエンドツーエンド通信

NTM端末 A

NTM端末 B

NTM端末 C

Page 18: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

15

Virtual IP Network(Overlay Network)

NTM端末 A

NTM端末 B

NATIPv4 Network

NTM端末 C

NAT

RSDC

IPv6 Network

IPv4 Network

Dual Stack Network

Hand Over

NTM端末 A

移動端末を仮想IPネットワークに再度マッピングすることで通信を継続

NTM端末 A

NTM端末 B

NTM端末 C

Page 19: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

16

組み込み型機器 プログラムの書き換えが不可能

アプリケーションサーバー アプリケーションの改造が許可されない

既存の機器がNTMobile通信を使いたい

アプリケーションの改造が許可されない通信装置の存在

Page 20: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

17

組み込み型機器 プログラムの書き換えが不可能

アプリケーションサーバー アプリケーションの改造が許可されない

既存の機器がNTMobile通信を使いたい

NTMobileを利用できない通信装置(GN : General Node)でもサーポートを可能にできると有用

研究目的

NTMobile Adaptor(NTMA)の提案

アプリケーションの改造が許可されない通信装置の存在

Page 21: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

18

Virtual IP Network(Overlay Network)

GN1

GN2

NATIPv4 Network

NTM端末

NAT

RSDC

IPv6 Network

IPv4 Network

Dual Stack Network

NTMAとGNを直接つなげることでGNを仮想IPネットワークにマッピング

GN1GN2

NTM端末 C

NTMA

NTMA

Page 22: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

19

NTMobileの仮想IPパケット生成処理に着目

仮想IPヘッダ生成フェーズをNTMfwの機能から分離して一般端末で代行

1.

2.

Page 23: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

20

仮想IPヘッダ生成フェーズをNTMfwの機能から分離して一般端末で代行

1.

2.

NTMobileの仮想IPパケット生成処理に着目

Page 24: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

NTMobileアプリケーション

• NTMソケットAPIで記述されたアプリケーション

NTMソケットAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMfw

NTMobile Application

仮想IPスタック

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

データ

NTM 仮想IP MAC

Page 25: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

22

NTMソケットAPI

• BSDソケットAPI互換のソケットAPI

• アプリケーションデータを仮想IPスタックへ渡す

NTMソケットAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMfw

NTMobile Application

仮想IPスタック

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

データ

NTM 仮想IP MAC

Page 26: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

23

仮想IPスタック

• アプリケーションデータから仮想TCP/IPパケットを生成

NTMソケットAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMfw

NTMobile Application

仮想IPスタック

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

データ

NTM 仮想IP MAC

Page 27: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

24

パケット操作モジュール

• NTMヘッダの付与

• MAC付与/検証等

NTMソケットAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMfw

NTMobile Application

仮想IPスタック

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

データ

NTM 仮想IP MAC

Page 28: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

25

BSDソケットAPI

• C言語のソケットAPI

• データパケットの送受信(カプセル化/デカプセル化)

NTMソケットAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMfw

NTMobile Application

仮想IPスタック

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

データ

NTM 仮想IP MAC

Page 29: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

26

仮想IPスタック

• アプリケーションデータから仮想TCP/IPパケットを生成

NTMソケットAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMfw

NTMobile Application

仮想IPスタック

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

データ

NTM 仮想IP MAC

Page 30: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

27

仮想IPヘッダ生成フェーズをNTMfwの機能から分離して一般端末で代行

1.

2.

NTMobileの仮想IPパケット生成処理に着目

Page 31: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

IPスタック

28

NTMfwの変更点

NTMソケットAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMfw

仮想IPスタック

• NTMfwから仮想IPスタックの処理をスキップ

GN

IP TCP

NIC

NTMobile Adaptor

RAWソケット

• 仮想IPスタックの処理をGNで代行

Page 32: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

29

RAWソケット

• 生のパケットをダイレクトに送受信

NTMソケットAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMfw

NTMobile Adaptor

仮想IPスタック

RAWソケット

• 自インターフェース宛以外のパケットも送受信できるように設定

IP TCP

NIC

IPスタック

GN

Page 33: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

30

NTMAアプリケーション

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMobile Adaptor

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

NTM 仮想IP MAC

NTMソケットAPI

仮想IPスタック

NTMfw

• NTM端末との通信は,仮想IPスタックをスキップするNTMソケットAPIで送受信

• GNとの通信は,RAWソケットで送受信

Page 34: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

31

NTMfwソケットAPI

• 仮想IPスタックの処理をスキップするNTMfwのAPI

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMobile Adaptor

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

NTM 仮想IP MAC

NTMソケットAPI

仮想IPスタック

• パケット操作モジュールへ処理を渡す

NTMfw

Page 35: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

32

パケット操作モジュール

• NTMfwと同様の処理

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMobile Adaptor

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

NTM 仮想IP MAC

NTMソケットAPI

仮想IPスタック

NTMfw

Page 36: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

33

BSDソケットAPI

• NTMfwと同様の処理

トンネルテーブル

パケット操作モジュール

ネゴシエーションモジュール

BSDソケットAPI

NIC

NTMobile Adaptor

IP UDP NTM 仮想IP MAC

仮想IP 仮想TCP データ

NTM 仮想IP MAC

NTMソケットAPI

仮想IPスタック

NTMfw

Page 37: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

34

GN1

RIPGN1

NTMAres

RIPresDC

NTMAini

RIPini

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

Page 38: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

35

GN1

RIPGN1

NTMAres

RIPres

VIPres

DCNTMAini

RIPini

VIPini

FQDNres

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

FQDNres

Page 39: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

36

GN1

RIPGN1

NTMAres

RIPres

VIPres

DCNTMAini

RIPini

VIPini

FQDNres

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

FQDNres

Page 40: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

37

GN1

RIPGN1

NTMAres

RIPres

VIPres

DCNTMAini

RIPini

VIPini

FQDNres

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

FQDNres

Page 41: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

38

GN1

RIPGN1

NTMAres

RIPres

VIPres

DCNTMAini

RIPini

VIPini

FQDNres

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

FQDNres

Page 42: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

39

GN1

RIPGN1

NTMAres

RIPres

VIPres

DCNTMAini

RIPini

VIPini

FQDNres

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

FQDNres

Page 43: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

40

GN1

RIPGN1

NTMAres

RIPres

VIPres

DCNTMAini

RIPini

VIPini

FQDNres

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

FQDNres

Page 44: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

41

GN1

RIPGN1

NTMAres

RIPres

VIPres

DCNTMAini

RIPini

VIPini

FQDNres

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

FQDNres

Page 45: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

42

GN1

RIPGN1

NTMAres

RIPres

VIPres

DCNTMAini

RIPini

VIPini

FQDNres

GN1

RIPGN1

DNSクエリNTMobileシグナリング

DNSレスポンス

パケット送信NTMobile通信

パケット送信

SRC:RIPGN1,DST:VIPres

SRC:VIPini,DST:RIPGN2

SRC:RIPGN2,DST:VIPini

SRC:VIPres,DST:RIPGN1

パケット送信SRC:VIPini,DST:VIPres

SRC:RIPini,DST:RIPres

SRC:VIPres,DST:VIPini

SRC:RIPres,DST:RIPini

NTMobile通信

FQDNres

Page 46: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

43

NAT越え

移動透過性

DC RS

NTM端末NTMAGN

NAT NAT

NATNAT

GNNTMA

GN

NTMA

NTM端末

DC RS

Page 47: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

44

NTMAのパケット中継に要する時間

マイコン Raspberry Pi3

OS Raspbian

Memory 1 GB

CPU 1.2 Ghz

ネットワーク 1000BASE-T

評価諸元

1

2

1 2NTMA

中継時間

Wiresharkで 1 2 の時間取得

GN

NTMA

NAT

NTM端末

NAT

DC RS

Wireshark

SW Hub

ポートミラーリング

1

2

Page 48: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

45

GN NTMA NTM端末

505us

パケット処理時間 505us

応答パケット処理時間 697us

SW Hub処理時間 358usパケット送信

UDPトンネル通信

パケット処理時間

10回の平均値

UDPトンネル通信

パケット送信 応答パケット処理時間

697us

* NTMobileの暗号化などの処理時間も含む

パケット処理時間 147us

応答パケット処理時間 339us

SW Hubとの処理時間を比較しても非常に高速

Page 49: IP ネットワークをフラット化する通信アダプターの提案と実装...IPネットワークをフラット化する通信アダプターの提案と実装 尾久史弥y1

◆NTMobileアダプタの実現方式の検討➢一般端末にNTMAを設置

• 一般通信をNTMobile通信に変換

• 一般端末のプログラムに手を加えない

◆今後の方針➢NTMAの実装の完了

46