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

NTMobile を用いたネットワークモビリティの提案と実装

N/A
N/A
Protected

Academic year: 2021

シェア "NTMobile を用いたネットワークモビリティの提案と実装"

Copied!
24
0
0

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

全文

(1)

NTMobileを用いたネットワークモビリティの提案と実装

133430014 廣瀬 達也

渡邊研究室

1. はじめに

高速無線技術の発展やスマートフォンをはじめとする携 帯端末の普及により,端末が通信中に移動できる移動透過 性と自由に通信できる通信接続性が求められている.一方,

スマートフォンやタブレットと言った移動端末の普及によ りユーザが様々な場所でネットワークを利用するシーンが 多くなっている.利用するシーンの一つとして,電車内や バスなどの公共交通機関にネットワークを構築し,そのネッ トワーク自体が移動するという状況でユーザがネットワー クを利用する場面が考えられる.このような場面ではネッ トワークの境界に位置するモバイルルータが,配下の複数 の端末に代わって移動透過性を提供しネットワーク内のア ドレスをそのまま維持させる方法が提案されている.

我々は,移動透過性と通信接続性を実現する技術として NTMobile(Network Traversal with Mobility)[1]を提案し ている.本稿では,NTMobileの機能を実装したNTMR

NTMobile Router)を新たに導入し,NTMR配下にいる 一般端末に代わってNTMobileの機能を代行することによ りネットワーク単位の移動通信を実現する方法を提案する.

2. NTMobile

1NTMobileの構成を示す. NTMobileでは,構 成する要素として,NTMobile機能を実装した端末である NTM端末,NTM端末情報の管理とトンネルの経路指示 を出すDC(Direction Coordinator)NTM端末と一般端 末を中継するRS(Relay Server)がある.DCRSはグ ローバルネットワーク上に設置し,ネットワークの規模に 応じて任意の場所に複数設置することができる.

NTM端末は,DCから移動によって変化しない仮想IP アドレスと,ネットワークから取得する実IPアドレスの2 IPアドレスを保持する.NTM端末のアプリケーション は,仮想IPアドレスを自身および通信相手端末のIPアド レスとして認識する.仮想IPアドレスで生成されたパケッ トは,NTM端末間で構築されたUDPトンネルによって転 送される.このとき,NTM端末間のどちらか一方がグロー バルネットワークに接続されていれば必ずエンド端末同士 は直接トンネル経路が生成される.NTM端末が通信中に

DC

RS

Internet

RS

General Node

NTM Node A

NTM Node B before move

NTM Node C

NTM Node B after move Hand over

General Communication

Encrypted Communication through UDP Tunnel

NAT NAT

NAT

1: NTMobileの概要

別のネットワークにハンドオーバしても,仮想IPアドレス は移動によって変化しないため,通信を継続することが出 来る.NTM端末は基本的に直接通信を行うが,直接通信 が出来ない場合はRSを経由して通信を行う.RSNTM 端末が異なるNAT配下に存在する場合や,NTMobile 実装していない一般端末と行う場合,通信の中継として機 能する.

3. 提案方式

提案方式では移動ネットワーク内の一般端末に代わって NTM端末の処理を実行するNTMRを導入する.NTMR は配下の端末が一般端末の場合,NTM端末の機能を代行 する.また,NTMRNATの機能を有しているのでアド レス変換を行う.

一方,NTMRの配下の端末がNTM端末の場合,NTM 端末自体が移動透過技術を有するためNTMRは単なる NATとして動作する.このように,NTMRの配下端末が 一般端末かNTM端末かにより動作が異なる.以後の説明 では,通信開始側の一般端末をGN(General Node),通信開 始側のNTM端末をMN(Mobile Node),通信相手側の一 般端末をCNCorrespondent Node)とする.端末Xの実 IPアドレスと仮想IPアドレスをぞれぞれRIPXV IPX

とする.また,提案方式ではユーザが電車内などで利用す るシーンを想定している.このため,ユーザの通信相手は 動画サイトなど一般サーバであることが多い.よって,通 信相手が一般端末で議論を行う.以下に,それぞれの場合 についてトンネル構築手順を述べる.

3. 1 トンネル構築手順

(1)NTMRの配下が一般端末の場合

3NTMRの配下にいる一般端末GNと外部ネッ トワーク上の一般端末CN間のトンネル構築手順を示す.

NTMRGNが送信するDNSクエリをトリガとして,

CNの名前解決処理およびトンネル構築依頼を行うために DCN T M RNTM Direction Requestを送信する.DCN T M R

DNS Request for TXT Record

DNS Request for A Record

NTM Relay Direction

NTM Tunnel Request

NTM Tunnel Response NTMR

GN DCNTMR DNS CN

DNS Request for NS Record DNS Response for NS Record NTM Direction Request

DNSCN

DNS Response for TXT Record

DNS Response for A Record

RS

NTM Relay Response NTM Route Direction

DNS Query for A Record

DNS Response for A Record

2: NTMRの配下にいる一般端末GNと外部ネッ トワーク上の一般端末CN間のトンネル構築手順

(2)

NTMobile iptables

NTMR

RIPNTMR⇔RIPRS RS

VIPNTMR⇔VIPCN RIPGN⇔VIPCN

GN

VIPNTMR⇔VIPCN

Out IP Header IP Header

GN CN

RIPRS⇔RIPCN

3: パケットのアドレス遷移

は名前解決処理を行いCNのアドレス情報を取得する.その 後,DCN T M Rは取得したアドレス情報を載せたNTM Re- lay DirectionRSに対して送信し,中継指示を依頼する.

NTM Relay Responseを受信したDCN T M RNTMR 対してNTM Route Directionを送信し,NTMRRS NTM Tunnel Request/Responseを交換することでト ンネル構築を完了する.その後,NTMRDNSクエリの 応答としてCNの仮想IPアドレスV IPCNGNに通知 する.これにより,GNV IPCN を通信相手として認識 する.NTMRがネットワークを切り替えた場合は,NTMR がネットワークとRS間でトンネルを再構築することによ GNNTMRのアドレスの変化に気がつくことなく通 信を継続することが出来る.

3GNCN間のパケットのアドレス遷移を示す.

NTMRGNから送られたパケットを受信すると,送信 元を自身の仮想IPアドレスV IPN T M Rに書き換える.そ の後,NTMRの実IPアドレスでカプセル化処理を行い,

RSに送信する.RSはパケットを受信するとデカプセル化 処理を行い,送信元及び宛先をアドレス変換しCNへ送信 する.一方,NTMRRSからパケットを受信すると,デ カプセル化処理を行い,宛先をV IPN T M RからGNの実 IPアドレスRIPGN に書き換えてパケットを送信する.

(2)NTMR配下がNTM端末の場合

NTMR配下にいるNTM端末MNは通常のNTMトン ネル構築手順によりMNRS間でトンネルを構築する.

この場合,NTMRは単なるNATとして動作をする. 3. 2 ハンドオーバ時の処理

NTMRが移動した場合,移動ネットワーク内の端末は NTMRが移動したかどうかは判断することが出来ない.

GNNTMRがトンネルを構築しているため,GN自身 NTMRが移動したかどうかは知る必要がない.そのた め,NTMRがハンドオーバしたとき,再度NTMRがトン ネルを再構築することでGNがネットワークの移動を意識 することなく通信を継続できる.

一方,MNは自身がトンネルを構築しているため,NTMR が移動した場合に再度トンネルを構築する必要が有る.そ のため,NTMRが移動を知る必要がある.NTMRは移動 後のNTMRの情報を載せたNTMR Address Notification をネットワーク内にブロードキャストする.MNはこのメッ セージを受けとることで,トンネルの再構築処理を行う.

3. 3 移動ネットワーク内の内外の移動

MNと一般端末CNは既に通信を開始しているものとす る.MNが移動ネットワーク内に移動すると通常のNTMo- bileと同様のトンネル再構築処理を行う.このとき,NTMR NATとして動作をする.MNが移動ネットワーク内の 中から外へ移動した場合においても同様にトンネルの再構 築を行うことで通信を継続しながら移動できる.

External I/F

NTM Kernel Module NTM Daemon

Kernel Space User Space

Netfilter

Internal I/F Virtual I/F

Modified DNS Response

Iptables Application Packet

NTMobile Negotiation Message

Packet Manipulation

Tunnel Table

Receiver DNS Response Operation Flow

Packet Flow Netlink Socket

4: NTMRのモジュール構成図

4. 実装

4. 1 モジュール構成

4NTMRの配下端末が一般端末の場合のNTMR のモジュール構成図を示す.NTMRNTM端末の機能を 拡張することで実装を行う.NTM端末ではトンネル構築 処理を行うNTMデーモンとカプセル化およびデカプセル 化処理を行うNTMカーネルモジュールに分かれる.また,

NTMRNTMのカーネルモジュールの拡張とNetfilter の仕組みを用いたアドレス変換で実装を行う.

4. 2 変更内容

(1)トンネル構築処理トリガーの変更

NTM端末では端末が通信を開始するときの名前解決処 理をトリガーとして,トンネル構築処理を開始している.

提案方式では,NTMRNATとして動作するため,自身 が名前解決処理を行わない.そのため,配下のネットワー クから名前解決処理をNTMRが受信するとトンネル構築 処理を開始するようにトリガーの変更を行った.また,配 下端末に名前解決処理をした結果を通知するように改造を 加えた.

(2)カプセル化・デカプセル化処理フローの変更 NTMカーネルモジュールではアプリーションが送信す るパケットをNetfilterでフックしてカプセル化処理して通 信相手に送信している.

NTMRは,アドレス変換処理を行うため、アドレス変 換を行うNetfilterを用いる.NTMRGNから受信した パケットをNetfilterの仕組みを用いて,送信元アドレスと ポート番号が変換する.このとき,受信したパケットの送 信元はRIPGNからV IPN T M Rに変換する.インタフェー スはNTMRの内側インタフェースからNTMR内の仮想 デバイス宛にMASQUERADEのルールを設定する.こ のアドレス変換されたパケットをNetfilterでフックして NTMカーネルモジュールへ渡してカプセル化処理を実行 する.カプセル化パケットを受信した場合,デカプセル化 処理後,変換ルールに基づいてRIPGN に変換してGN 送信する.

5. まとめ

本稿では,NTMobileの機能を実装したNTMRを導入 することでネットワークモビリティを実現した.また,提 案方式の実装を行った.今後はハンドオーバ時の動作検証 や,NTMR配下の端末がNTM端末の場合の実装を行う 予定である.

参考文献

[1] 鈴木秀和,上醉尾一真,水谷智大,西尾拓也,内藤克 浩,渡邊 晃:NTMobileにおける通信接続性の確立 手法と実装,情報処理学会論文誌,Vol. 54, No. 1, pp.

367–379 (2013).

(3)

NTMobile を用いたネットワーク モビリティの提案と実装

理工学研究科情報工学専攻 渡邊研究室 133430014 廣瀬達也

(4)

はじめに

移動通信の需要増加

公衆無線網やスマートフォンの普及

通信中にネットワークの切り替え

移動透過性の必要性

端末がネットワークを切り替えるとIPアドレスが変化

通信を継続することができない

ネットワークの利用する場面の多様化

電車内やバスといった公共交通機関で公衆無線網の提供

つくばエクスプレス,都営バスのWi-Fiサービス

2

(5)

ネットワークの利用場面

バスなどにMRを設置してネットワーク環境の提供

MRの上位ネットワークはWi−Fiで接続

3G,LTEでは回線容量が少ない

道路沿いにWi-Fiアクセスポイントを設置

電車などが移動する度にハンドオーバが発生

→通信が途切れる

3

AP1 AP2

RIP1 RIP2

移動ネットワーク MR

MR:Mobile Router AP:Access Point

(6)

ネットワークの利用場面

端末が移動ネットワーク内外を移動

ユーザが通信をしながら移動ネットワーク内に移動

移動ネットワーク内に入ったときにIPアドレスが変化

→通信が継続できない

4

AP1

移動ネットワーク

RIP1

RIP2

MR:Mobile Router AP:Access Point

MR

(7)

本研究の目的

MRの上位ネットワークがハンドオーバすると移動 ネットワーク内の通信が継続できない

ネットワークモビリティ(移動透過性)の必要性

端末単位で移動透過性を実現するNTMobile

(Network Traversal with Mobility)

5

ネットワークモビリティには非対応

NTMobile を利用して

ネットワークモビリティの実現

本研究の目的

(8)

既存技術

NEMOv4(Network Mobility Extensions for Mobile IPv4)

端末単位の移動透過性技術であるMobile IPv4を拡張して ネットワークモビリティを実現

課題

中継装置であるHAを経由

経路最適化は同一HAに管理された端末の場合のみ

ネットワーク内のアドレスはグローバルIP

6

HA:Home Agent MR:Mobile Router

CNCorrespondent Node GN:General Node

HA CN

MR

GN

(9)

NTMobile の概要

移動によって変化しない仮想IPアドレスを導入

UDPトンネルでカプセル化

一般端末とRSを経由した通信

DC,RSは複数設置可能

7

NTMobileの構成

◦ NTM Node

◦ DC ( Direction Coordinator )

◦ RS ( Relay Server )

Internet

DC

NTM Node NTM Node

NTMobileの機能を 実装した端末

端末の位置情報管理 仮想IPアドレスの 割り当て

UDPトンネル

RS

GN

NTM Node

中継装置

NAT

(10)

通信の原理

Applicationは仮想IPアドレスを使用して通信

IP層でパケットをカプセル化

端末移動時は外側ヘッダだけが変化

8

Application

IP IP

MN CN

VIPMN

VIPCN RIPCN RIPMN

RIPMN↔RIPCN VIPMN↔VIPCN

UDP Tunnel

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

Application MN :Mobile Node

CN Correspondent Node

(11)

NTMobile のトンネル構築シーケンス

9

DCMN DCCN

MN CN

経路指示要求

名前解決処理 トンネル構築

指示

トンネル構築

NATCN

UDP Tunnel

(12)

提 案 方 式

10

(13)

提案方式

移動ネットワークを管理する

NTMR(NTMobile Router)を導入

ネットワーク内のアドレスはプライベートアドレス

ケース1:移動ネットワーク内が一般端末の場合

ケース2:移動ネットワーク内がNTM端末の場合

11

(14)

ネットワーク構成

バスや電車内にNTMRを設置

NTMRに直接ノートパソコンなどが接続

NTMRにアクセスポイントが接続してWi-Fi環境の提供

12

NTMR

AP1 AP2

ノートパソコン

移動ネットワーク

スマートフォン

LTE基地局 Wi-FiAP

(15)

ケース1

移動ネットワーク内が一般端末の場合

一般端末は移動透過性技術を持たない

NTMRが一般端末に代わってNTM端末の機能を実行

トンネル構築処理とカプセル化処理を代行

13

(16)

通信シーケンス

GNのDNS Query受信をトリガーとしてNTM処理を実行

トンネル構築シーケンスはNTMobileに基づく

NTMR~CN間でトンネルを構築

NTMRはCNの仮想IPアドレスをGNに通知

14

NTMR DCNTMR DCCN

GN

CN

(NTM Node)

UDP Tunnel DNS Reply

DNS Query

トンネル構築シーケンス CNの仮想IP

アドレスを渡す

(17)

通信の様子

NTMRとCN間はNTMに基づくトンネルを構築

GNは通信相手をVIPCNと認識

NTMRの移動時、NTMRとCN間の外側のIPヘッダ のみ変化

15

RIPNTMR→ RIPCN VIPNTMR→ VIPCN GN

CN

NTM端末)

移動ネットワーク NTMR

Outer IP Header Original IP Header

RIPX:端末Xの実IPアドレス VIPX:端末Xの仮想IPアドレス

RIPGN → VIPCN

UDP Tunnel RIP:RIPNTMR

VIP:VIPNTMR RIP:RIPCN

VIP:VIPCN RIP:RIPGN

(18)

ケース2

移動ネットワーク内がNTM端末の場合

NTMRは単なるNATとして動作

MN自身が移動透過性を有する

16

MN

NTM Node

CN

NTM Node NTMRNAT

アドレス変換 RIPMN↔RIPNTMR UDP Tunnel

RIP:RIPMN VIP:VIPMN

RIP:RIPNTMR RIP:RIPCN VIP:VIPCN トンネル構築シーケンス

(19)

ネットワーク移動時のNTMRの処理

移動後の情報を配下の端末に通知

新たにNTMR Address NotificationにNTMRの移動後の アドレス情報を載せる

MNは通知受信後に再度トンネル構築を行う

17

NTMR Address Notification MN

NTM Node CN

NTM Node NTMR

NTMRが移動 UDP Tunnel

トンネル構築シーケンス

UDP Tunnel

(20)

ネットワークの内外の移動

NTM端末がNTMobileの機能を実行

仮想IPアドレスに基づく通信により移動を隠蔽

18

AP1

移動ネットワーク NTMR

RIP:RIP1 VIP:VIP

RIP:RIP2 VIP:VIP

(21)

NTMRの実装

NTMRはNTM端末の実装を拡張

NTM端末の構成

NTM Daemon

制御メッセージの送受信処理

NTM Kernel Module

パケットをフックしてカプセル化/デカプセル化

19

(22)

NTMR実装

NTMRの実装

アドレス変換の追加とカーネルモジュールの変更

GNからのパケット受信時

送信元をVIPNTMRに変換した後、カプセル化モジュール処理

CNからのパケット受信時

デカプセル化モジュール処理後、宛先をRIPGN 変換

Internal IF External IF 20

Netfilter NTM Kernel Module

Encapsulation

Decapsulation iptables

Receive from GN Receive from CN アドレス変換

(23)

定性評価

NEMOv4 提案方式

移動ネットワーク

内アドレス

×

グローバルアドレスで なければならない

プライベートアドレス

一点障害

× ○

DC,RS複数設置可能

ネットワーク内外

の移動

1

21

※1:ネットワーク内外の移動は出来るが,二重トンネルになるため経路が冗長

(24)

まとめ

 NTMobileの機能を拡張してネットワーク単位の 移動をサポート

 NTMの機能を持ったNTMRを導入

 移動ネットワークの内部と外部を自由に移動

 NTMRの実装

 NTM Kernel Moduleを拡張して実現

 iptablesを利用してアドレス変換を実現

 今度の予定

 NTMR配下が一般端末の場合の残りの実装

 LTE,Wi-Fiのハンドオーバ時の評価

22

図 2: NTMR の配下にいる一般端末 GN と外部ネッ トワーク上の一般端末 CN 間のトンネル構築手順

参照

関連したドキュメント

Private-to-Private (Pattern 4) : MN と CN が別々のプライベートネットワークに存 在するため, Relay Server との間にトンネルを構築する.このとき,以後のシーケンス

は NTMA の登録情報( NTMA の実 IP アドレスと PS に配布 した仮想 IP アドレス)を DC MN に通知する( Information Re- quest / Response ). DC MN はトンネル構築指示(

IP ネットワークにおける課題は,移動透過性と通信接続 性の 2 つに分類できる.前者は, IP アドレスが端末識別子

DMP は事前に検索対象となるネットワーク内の DA との間 に,NTMobile によるトンネルを形成する.DMP は M-Search 送信時に宛先アドレスを M-Search

次に, MN は DC M N に対して Direction Request を送信 し,トンネル構築の指示要求を行う. DC M N はトンネル構 築手段決定後, Relay Direction を RS

IN から EN へ通信を開始するとき, IN は名前解決を行う. NTMR は IN からの名前解決 処理をフックして,一時的にカーネルに待避する. NTMR

( Correspondent Node )に対して通信の要求を行うことを想定する .MN は ,NTM Direction Requset に FQDN MN ,FQDN CN をのせて ,DC へ送り ,

  NTMobile は Linux カーネルに実装を行っていたが,こ れをアプリケーション側に移植を行っている.これを NT-