• 検索結果がありません。

OS に依存しない NTMobile 通信ライブラリの提案

N/A
N/A
Protected

Academic year: 2021

シェア "OS に依存しない NTMobile 通信ライブラリの提案"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

OS に依存しない NTMobile 通信ライブラリの提案

岡本 昂輝

†∗

, 鈴木 秀和

, 内藤 克浩

, 渡邊 晃

(

名城大学,

愛知工業大学 )

Proposal of NTMobile Communication Library which does not depend on OSes

Koki Okamoto†∗, Hidekazu Suzuki, Katsuhiro Naito, Akira Watanabe(Meijo University,Aichi Institute of Technology )

1

はじめに

インターネットが急速に普及し

,

社会のインフラとなっている

.

しかし

,

現在の

IP

ネットワークには

,

様々な制約があり自由に 通信ができない

.

これらの制約を解決するために我々は

,NTMo- bile(Network Traversal with Mobility)

を提案している

.NTMobile

,

通信相手を名前で指定すると必ず通信経路を確立することが でき

,

また移動透過性の実現が可能である

.NTMobile

,Linux

Android

で実装と検証がされている

.

しかし

,

これまで

OS

の違い や利用用途ごとにライブラリを修正してきたため

,NTM

ライブラ リが複数存在している

.

そこで本研究では

,NTM

ライブラリから

OS

依存の部分を抜き出し

,

あらゆる

OS

での利用を可能にする方 式を提案する

.

2 NTMobile

の概要

NTMobile[1]

,

イ ン タ ー ネ ッ ト 上 に 通 信 経 路 を 指 示 す る

DC(Direction Coordinator)

とエンドツーエンドの直接通信が行え ない場合にパケットの中継を行う

RS(Relay Server)

を設置する

.

ユーザは

NTMobile

用アプリケーションをエンド端末に搭載す

るだけで

NTMobile

の利用が可能となる

.NTMobile

では

,

ネット ワークを切り替えることが可能な移動透過性の実現

,

およびエン ドツーエンド通信のセキュリティの保証が可能である

.NTMobile

,NTM

端末に対して位置に依存しない仮想

IP

アドレスを割り 当て

,

アプリケーションは仮想

IP

アドレスに基づいた通信を行 う

.

この仮想

IP

アドレスに基づくパケットは

,

端末の実

IP

アドレ スでカプセル化され通信相手に送信される

.

こ れ ま で

NTMobile

,

カ ー ネ ル 改 造 方 式

,

ラ イ ブ ラ リ 方 式

,TUN/TAP

方式の

3

つの方式で実現してきた

.

しかし

,

カー ネル改造方式ではカーネルの変更に管理者権限が必要であり

,

普 及が難しい

.

ライブラリ方式では

,

アプリの新規開発が必要であ るという課題がある

.TUN/TAP

方式では

,

このような課題がな く

,

上記

2

つの方式に比べ有用である

.Linux

および

Android

で は

,TUN/TAP

方式を採用し動作検証がされている

.

しかし

,Linux

Android

は統合されておらず異なる

NTM

ライブラリを使用し

ている

.

これは

,OS

に依存する処理を明確に分離できていなかっ たことが原因である

.

3

提案方式

TUN/TAP

方式の

NTM

ライブラリを統合し

,Linux, Android, iOS, Windows

で共通に利用できる

NTM

ライブラリを提案する

.

そのため

,NTMobile

としての機能のみを

NTM

ライブラリに入

, OS

固有の機能を外に抜き出す

.

提案する

NTM

ライブラリの 構成を

Fig. 1

に示す

.VNIC(Virtual Network Interface Card)

,OS

が提供する仮想の通信インタフェースであり

,PNIC(Physical NIC)

,

物理インターフェースである

.NTM

アプリケーションは

OS

上に一般アプリケーションと同じようにインストールされる

.NT-

Mobile

を利用する一般アプリケーションは

,VNIC

宛にパケット

を送信することにより

,IP

パケットが生成される

.VNIC

の機能に より

IP

パケットが

NTM

アプリに渡され

,NTM

アプリケーショ

⼀般アプリ

解析/中継パケット 初期設定 アドレス 変化検出

パケット通信 処理

シグナリング

処理 移動処理 初期処理

VNIC PNIC OS

NTMライブラリ

呼び出し データの受け渡し

NTMアプリケーション

ARP

Fig. 1 NTMライブラリの構成

ンの処理を経て

PNIC

から送信される

.

NTM

ライブラリは

,DC

への登録を行う初期処理

,DNS

クエリ をトリガとしてトンネル経路を生成するシグナリング処理

,

一般 通信パケットを

NTMobile

パケットに変換する通信パケットか らなる

.

初期設定は

,VNIC

を定義し

NTM

ライブラリの初期処理 を起動する

.VNIC

の設定方法は

OS

によって異なるため

NTM

ラ イブラリの外に出す

.

パケット解析

/

中継は

,IP

アドレスの変化を 検出してシグナリング処理を起動するか通信パケット処理に渡す かを判定する

.OS

に依存する

VNIC

NTM

ライブラリとの中継 役として

NTM

ライブラリの外に出す

.

アドレス変化検出は

,

通信 中に

IP

アドレスの変化を検出してシグナリング処理を起動し

,

通 信を継続する

.

アドレス変化の検出方法は

,OS

により方法が異な るため

NTM

ライブラリの外に出す

.ARP

モジュールは

,Windows

特有の処理である

.Windows

では

,Linux

TUN

に相当するサー ビスがないため

,TAP

に相当するサービスを利用する必要があ る

.TAP

,ARP

の処理が必要であるため

,VNIC

から

ARP request

が来た場合は

,ARP reply

を返答する必要がある

.NTM

ライブラリ は性能と移植性を考慮し

,C

で記述する

.NTM

アプリケーションの 記述言語は

,Linux

C,Android

Java,iOS

SWIFT,Windows

C

とする

.Java

から

NTM

ライブラリを呼ぶ際にはラッパーが 必要となる

.SWIFT

,C

と互換性があるため

,

ラッパーは不要で ある

.

以上の機能分担により

,NTM

ライブラリを統合できる

.

4

まとめ

本稿では

,NTM

ライブラリを共通化し

,

あらゆる

OS

に適用で きる方式を提案した

.

今後は

,Windows

への移植方法を中心に検 討を進める

.

文 献

[1] 納堂.他:エンドツーエンド通信をアプリケーションレベルで可能にす る通信ライブラリの実現と評価,情報処理学会論文誌Vol.9, No.1, pp.1-11, Jan.2019.

(2)

岡本 昂輝 †, 鈴木 秀和 †, 内藤 克浩 ‡, 渡邊 晃 †

† 名城大学 理工学部

‡ 愛知工業大学 情報科学部

(3)

 インターネットが普及し様々な制約が発生している

◦ IPアドレス枯渇問題

 NAT 越え問題

 IPv4 アドレスと IPv6 アドレスの非互換性

◦ 移動透過性

インターネット

(IPv4 グローバルアドレス )

携帯網

ホーム ネットワーク 携帯網 企業網

企業網

NTMobile

(4)

 NTM 端末

◦ NTMobileを実装した端末

 DC(Direction Coordinator)

◦ NTM 端末の仮想 IP アドレスの管理

◦ 経路指示を行う

 RS(Relay Server)

◦ IPv4-IPv6間の通信の 補助

IPv4 プライベート ネットワーク

IPv4

ネットワーク IPv6 ネットワーク

DC

NAT

仮想 IP ネットワーク

実ネットワーク RS

IPv4 プライベート ネットワーク

NAT

NTMobile の技術

(5)

 Linux 及び Android で動作検証済み

◦ 各々の用途にあわせて開発してきたため, 統合しきれていない

 他の OS に容易に実装することが困難

◦ Windows及びiOSへの導入が望まれている

NTM ライブラリの統合

(6)

 立ち上げ処理

◦ MNはプライベートネットワーク

◦ DCはグローバルネットワーク

 Keep Alive

◦ NAT テーブルの維持

◦ 20 秒ごとに送信

MN DC

Registration Request

Registration Response

Keep Alive

Keep Alive

NAT

(7)

 接続要求

◦ CNのFQDNを指定

 シグナリング

◦ MNとCNに経路を指示

 トンネル通信

◦ エンドツーエンドの暗号通信

 移動時の処理

MN DC CN

接続要求

トンネル通信 シグナリング

VIP RIP

MN’

Registration Request Registration Response

シグナリング

(8)

TCP/UDP

新規 / 既存 アプリケーション

TCP/IP

Linux

VNIC PNIC

データ

NTMアプリケーション DNS処理,中継処理

シグナ リング

パケッ ト操作

NTMライブラリ

IP データ

LAN

TCP/UDP データ IP

VIPH MAC

TCP/UDP データ IP

VIPH MAC

IP UDP

(9)

 NTMobile を各 OS 固有の部分と共通の部分に分ける

◦ OSに依存する処理を明確にする

◦ NTMobileとしての機能をNTMライブラリに入れる

◦ Windows特有の処理を検討

(10)

一般 アプリ

ARP

初期設定 アドレス

変化検出

通信 パケット

処理

初期処理 NTM アプリケーション

OS パケット

解析/中継

VNIC PNIC

シグナリング 処理

NTM ライブラリ

(11)

 ARP の処理

上位アプリ NTM アプリ CN ARP request

ARP reply L2 パケット

L2 パケット

TCP/UDP IP Ether

データ

(12)

 OS に依存しない NTMobile 通信ライブラリを検討

◦ OSに依存する部分

◦ NTMobileとしての機能

 今後の方針

◦ Windowsへの移植を中心に検討

◦ ライブラリ型との統合を検討

参照

関連したドキュメント

3.4 受信ノード不在時の影響 SL

本稿では、DNS、端末、NAT が協調してポート変換を行 う NATF を提案する。NATF の概要を図 3 に示す.図中の記

図 2 に提案方式におけるコネクション確立手順を示 す.NTMR は IN に代わって NTMobile の機能を提供 する.NTMR はネットワーク接続時に NTMR

3.3.2 NTM 端末同士の通信におけるトンネル構築処理 図 5 に MN から CN に対して通信を開始する際のトン ネル構築シーケンスを示す.図 5 は, MN

図 1 に提案方式のシーケンスを示す. NTMR は IN に代 わって NTMobile の機能を提供する. NTMR はネットワー ク接続時に NTMR を管理する DC NTMR

電話の呼び出しと通話のパケットは,ここで構 築されたトンネルを通して行う.呼び出し処理は,通常の

IPv4 ネットワークでは IP アドレスの枯渇を回避するた

これらの課題を解決するため, NAT に改造を加えることなく NAT 越え問題の解決と移動 透過性を同時に実現する NTMobile ( Network Traversal with Mobility