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

NTMobile におけるアドレス変化検出方法の検討と実現

N/A
N/A
Protected

Academic year: 2021

シェア "NTMobile におけるアドレス変化検出方法の検討と実現"

Copied!
28
0
0

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

全文

(1)

NTMobile

におけるアドレス変化検出方法の検討と実現

140441067

佐藤 洸輔

渡邊研究室

1.

はじめに

スマートフォンやタブレット端末の普及により,手軽に インターネット接続が可能となった.モバイル端末において は,電波帯域の逼迫により,通信中でも携帯網のトラフィッ クを任意のWi-Fiネットワークにオフロードしたいという 要求が出てきている.IP通信では,一般にネットワークを 切り替えるとIPアドレスが変わるため,通信が継続でき ない.そこで,このような場合でも通信を継続できる移動 透過性が求められている.NTMobileNetwork Traversal with Mobility)[2]は移動透過性を実現できる有用な手段で ある.従来のNTMobileは,カーネル空間上で実装してい るためモバイル端末ではNTMobileを実装することができ ず,NTMobileの普及が見込まれない.そこで,モバイル端 末でNTMobileの機能を実装するため,アプリケーション 層で処理を行うフレームワーク版NTMobileが必要となっ た.本稿ではフレームワーク版NTMobileにおけるアドレ ス変化検出部分の実装及び評価について報告する.

2. NTMobile

NTMobileは,移動を前提とした処理を行うNTMobile を搭載した端末(NTM端末)と,Direction Coordinator (DC)により構成される.DCは,NTM端末の管理,仮想IP アドレスの管理及び通信経路の管理などを行う .NTMobile では端末の移動にともなう実IPアドレスの変化を隠蔽す るために,アプリケーションはノード識別子である仮想IP アドレスを用いて通信を行う.このとき,使用する仮想IP アドレスはDCより配布される.NTM端末は仮想IP ドレスによるIPパケットを,位置識別子である実IPアド レスを用いてカプセル化することによりトンネル通信を行 う.そのため,移動して実IPアドレスが変化してもアプ リケーションは同一仮想IPアドレスを継続して利用可能 であり,移動透過性を実現することが可能である.

3.

アドレス変化検出方法

これまでのNTMobileWindowsLinuxといったす べてのOSのアドレス変化検出をNTMobile内で処理しよ うとしていたが,WindowsLinuxなどOSごとでネット ワークインタフェース情報が違い,特にAndroidなどのモ バイル端末では,LTEWi-Fiといった様々なネットワー クインタフェース情報を単一のアプリケーションで処理し ようとすると複雑になり実装できないため,アドレス変化 検出部分をそれぞれのOSごとに別アプリケーションとし て実装する方式とした.

 各OSではアドレス変化検出アプリケーションがカーネ ル空間からユーザ空間へネットワークインタフェース情報 を通知する仕組みを用いる.アドレス変化検出アプリケー ションはアドレス変化の通知を受け,NTMobileフレーム ワークへアドレス変化検出を通知する.IPアドレスの変化 検出の通知を受けたNTMobileフレームワークは再度トン ネル構築を行うことで移動透過性を実現する.

4.

実装と評価

アドレス変化検出アプリケーションをLinuxで実装を 行った.アプリケーションのモジュール構成を図1に示す.

1: アドレス変化検出アプリのモジュール構成

Linuxでは,netlinkと呼ばれるカーネル空間とユーザ空間 の通信を行う仕組みが存在する.このnetlinkを用いるこ とでカーネル空間でネットワークインターフェースを監視 し,IPアドレスが変化した際にユーザ空間に存在するアプ リケーションへ通知を行うことができる.このIPアドレ スの変化検出を行うアプリケーションは,ドメインソケッ トと呼ばれるアプリケーション間のデータのやり取りを用 いることで,NTMobileフレームワークへアドレス変化検 出を通知する.

1: 処理時間

測定箇所 処理時間[ms]

NATに接続するまでの時間 3,416 NATの認証にかかる時間 318

IPアドレス取得時間 18 IPアドレス変化検出時間 18 トンネル再構築時間 88

次に,アドレス変化アプリケーションを用いたNTMobile 通信の動作検証と処理時間の測定を行った.評価用ネット ワーク構成は2台のNTM端末とDCNATが同一ネッ トワーク上に存在する.通信開始後一方の端末をNAT 下に移動する.その後NTM端末がNATに接続されるま での時間,NTM端末とNATが認証を行う時間,DHCP によるNATからのアドレス取得時間,アドレス変化検出 を行いNTMobileへ通知されるまでの時間,トンネル再構 築までの時間の測定を10回行った.これらを平均した結 果を表1に示す.測定結果より,OSが移動前の接続先か らネットワークを切断し,移動後のネットワークへ接続す る時間が処理の大部分を占めていることが分かった.

5.

まとめ

本稿ではNTMobileにおけるアドレス変化検出の方法を 提案し,Linuxにおいてアドレス変化検出アプリケーショ ンを実装した.今後,WindowsAndroidといった別OS におけるアドレス変化検出アプリケーションの実装を検討 していく.

参考文献

[1] 上酔尾. 他:情報処理学会論文誌 Vol.54, NO.10, pp.2288-2299, 2013

(2)

140441067

渡邊研究室 佐藤 洸輔

(3)

 スマートフォンやタブレット端末の普及

 携帯網が逼迫

 Wi-Fi へのオフロード

 オフロードに係る課題

 接続先変化による IP アドレスの変化

 通信が切断

 通信制約の課題

NAT越え問題

IPv4 – IPv6 が非互換

NTMobile(Network Traversal with Mobility)

(4)

 NTMobile ( Network Traversal with Mobility )

 通信接続性と移動透過性を同時に実現する技術

 通信接続性の実現

NAT 越え問題の解決

IPv4 – IPv6 間通信の実現

 移動透過性の実現

ネットワークが切替わっても通信が継続

*

*

鈴木 秀和.他 “NTMobileにおける通信接続性の確立手法と実装” 情報処理学会論文誌, Vol.54, No.1pp-367-379(2013).

(5)

 NTM 端末

NTMobileを実装した端末(MN CN)

 DC(Direction Coordinator)

 仮想 IP アドレスの管理

 通信経路指示

 RS(Relay Server)

通信の中継

NAT2

Private Private

DC RS

Global Network

CN

MN

NAT NAT

MN(Mobile Node)

CN(Correspondent Node)

(6)

 端末起動時

DCに実IPアドレスを登録

DCから仮想IPアドレスを配布

Private Network A

Private Network B

DC RS

Global Network

CN

MN

NAT NAT

(7)

 通信開始時

MNがDCに対して経路指示要求を出す

DCがMN・CNに対して 経路指示を行う

Private Private

DC RS

Global Network

CN

MN

NAT NAT

(8)

 通信開始時

 指示に従いMN・CN間でトンネル経路を 構築する

Private Network A

Private Network B

DC RS

Global Network

CN

MN

NAT NAT

(9)

 端末移動時

MNが通信中に移動

Private Private

DC RS

Global Network

CN

NAT NAT

MN

移動

(10)

 端末移動時

MNがDCに移動を通知

DCがMN・CNに対して 経路指示を行う

Private Network A

Private Network B

DC RS

CN

MN NAT

Global NAT Network

(11)

 端末移動時

 新しいトンネル経路で通信継続

Private Private

DC RS

Global Network

CN

MN NAT

NAT

(12)

アプリケーションは仮想 IP アドレスを認識

 実 IP アドレスの変化をアプリケーションから隠蔽

宛先:VIP2

送信元:VIP1

データ

送信元:VIP1 宛先:VIP2

データ

VIP1 VIP2

カプセル化 デカプセル化

トンネル通信

NTMヘッダ

宛先:VIP2

送信元:VIP1

データ

MN CN

実IPアドレスによる カプセル

(13)

MN NAT1 DC

Registration Request

Registration Response

登録処理

端末情報を登録

(14)

MN NAT1 DC CN

Direction Request

Route Direction Route Direction

Tunnel Request

Tunnel Response

UDP Tunnel Communication Ack

DC へ経路指示要求 CN へ経路指示

MN へ経路指示

トンネル要求

トンネル応答

トンネル通信

(15)

Ack

MN NAT2 DC CN

Direction Request

Route Direction Route Direction

Tunnel Request

Tunnel Response UDP Tunnel Communication

DHCP Discover DHCP Offer DHCP Request

DHCP Ack

(DHCP Server)

Registration Request Registration Response

アドレス取得 登録処理 DC へ変化後 IP アドレスを登録 起動時と同じ処理

トンネル再構築

通信開始時と同じ処理

(16)

Ack

MN NAT2 DC CN

Direction Request

Route Direction Route Direction

Tunnel Request

Tunnel Response UDP Tunnel Communication

DHCP Discover DHCP Offer DHCP Request

DHCP Ack

(DHCP Server)

Registration Request Registration Response

アドレス取得 登録処理 DC へ変化後 IP アドレスを登録 起動時と同じ処理

トンネル再構築

通信開始時と同じ処理

(17)

Ack

MN NAT2 DC CN

Direction Request

Route Direction Route Direction

Tunnel Request

Tunnel Response UDP Tunnel Communication

DHCP Discover DHCP Offer DHCP Request

DHCP Ack

(DHCP Server)

Registration Request Registration Response

アドレス取得 RIP3取得

登録処理 DC へ変化後 IP アドレスを登録 起動時と同じ処理

トンネル再構築

通信開始時と同じ処理

(18)

NTMobile 機能をユーザ空間 で実装で実装する必要がある

スマートフォンではルート権限を取得できない

カーネル実装にはルート権限が必要

(19)

 NTMobile 機能をユーザ空間で実現する実装方式

 アプリケーションは C 言語の標準ソケット API に代わ り, NTM ソケット API を使用する

• Ntmfw_bind

• Ntmfw_sendto

• Ntmfw_recvfro m

NTM ソケット API

• bind

• sendto

• recvfrom

C 標準ソケット API

NTMobile フレームワーク

NTMobile アプリ

NTMソケットAPI

Linux

C ソケット API

(20)

NTM ソケット API

TCP/IP 仮想 スタック トンネル

テーブル ネゴシエーション

モジュール

パケット操作 モジュール

C ソケット API アドレス変化検

出モジュール

(21)

 OS ごとにネットワークインタフェース情報が違うため 処理が複雑になる

アドレス変化検出部分を

別アプリケーションとして切り離す

NTMobile フレームワークを全 OS で共通化する

(22)

 アドレス変化検出アプリで IP アドレスの変化を検出

 ドメインソケット経由で NTMobile フレームワークへ アドレス変化を通知する

アドレス変化検 出モジュール

ドメインソケット クライアント アドレス変化検出アプリ

NTMobile

フレームワーク

NTMobile アプリ

(23)

NTM ソケット API

TCP/IP 仮想 スタック トンネル

テーブル ネゴシエーション

モジュール

パケット操作 モジュール

C ソケット API ドメインソケット

サーバ

NTMobile フレームワーク

(24)

 アドレス変化検出に NetLink を用いる

NetLink ドメインソケット

クライアント アドレス変化検出アプリ

Linux カーネル

NTMobile

フレームワーク

(25)

 装置の仕様

Device OS CPU Memory

MN Ubuntu 14.04 Intel Core i5-3320M

2.60GHz 4GB

CN Ubuntu14.04 Intel Core i7-2600

3.40GHz 8GB

DC

ホスト

マシン Windows 10 64bit Intel Core i7-870

2.93GHz 20GB

仮想

マシン Ubuntu14.04 1Core 1GB

(26)

 AP の切断から新たな AP に接続しトンネル再構築す るまでの時間を計測

 全体の処理時間を 5 つのフェーズに分割

CN DC MN

MN AP

移動

上位 ネットワーク

AP

(27)

次の接続先に 切り替わるまでの時間

IPアドレス取得時間 認証にかかる時間

接続先切替(手動)

IPアドレス変化検出時間

トンネル再構築時間

3,416ms

318ms 18ms 18ms

88ms

MN AP(移動前) AP(移動後) DC CN

IGMP

EAPol DHCP Request

DHCP ACK

Registration Request Registration Response

Direction Request Route Direction Route Direction ACK

Tunnel Request

(28)

 アドレス変化検出方法

 アドレス変化検出部分をNTMfwから分離

 実装と評価

Linux 上で実装

 安定して動作することを確認

 今後の予定

Windows・Androidへの移植

参照

関連したドキュメント

の変化は空間的に滑らかである」という仮定に基づいて おり,任意の画素と隣接する画素のフローの差分が小さ くなるまで推定を何回も繰り返す必要がある

うのも、それは現物を直接に示すことによってしか説明できないタイプの概念である上に、その現物というのが、

tiSOneと共にcOrtisODeを検出したことは,恰も 血漿中に少なくともこの場合COTtisOIleの即行

携帯端末が iPhone および iPad などの場合は App Store から、 Android 端末の場合は Google Play TM から「 GENNECT Cross 」を検索します。 GENNECT

 ESET PROTECT から iOS 端末にポリシーを配布しても Safari の Cookie の設定 を正しく変更できない現象について. 本製品で iOS

ソリューション事業は、法人向けの携帯電話の販売や端末・回線管理サービス等のソリューションサービスの提

 我が国における肝硬変の原因としては,C型 やB型といった肝炎ウイルスによるものが最も 多い(図

また、 RFID による作業者の位置検出方法を検討した。即ち、溶接装置等の機器に RFID のタグを 貼付しておけば、