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

多段 NAT 環境における NTMobile の経路最適化の提案 納堂

N/A
N/A
Protected

Academic year: 2021

シェア "多段 NAT 環境における NTMobile の経路最適化の提案 納堂"

Copied!
39
0
0

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

全文

(1)

Hiroshi Nodo, Hidekazu Suzuki, Katsuhiro Naito, Akira Watanabe (Meijo University, Mie University)

1.はじめに

IPネットワークでは,移動しながら通信を開始・継続でき

る移動透過性と,NATの存在に関わらず通信を開始できる

NAT越え問題の解決は重要である.この 2

つを同時に実現す

る手法として,我々はNTMobile(NAT Traversal with Mobility)

を提案している.

しかし,この手法では通信を行う

2

つのエンド端末が同じ

NAT

配下に存在するとき,後述する第

3

の機器を用いた中継 通信を行うため,通信経路が冗長化するという課題がある.

本稿では,

NTMobile

に追加処理を行わせることにより,この 課題を解決する手法を提案する.

2.NAT 越えと移動透過性を同時に実現する NTMobile

NTMobile

を構成する装置として,NTMobileの機能を有す

NTM

端末,NTM端末のネットワーク位置情報を管理する

DS

(Direction Server),両

NTM

端末が

NAT

配下に存在する場 合に通信を中継する

RS(Relay Server)がある.

NTM

端末はネットワーク接続時に

DS

に対して位置情報登 録を行う.このとき,

NTM

端末には

DS

から仮想

IP

アドレス が割り当てられ,上位アプリケーションは仮想

IP

アドレスで 通信を識別する.NTM端末は通信開始時に

DS

の指示に従い 相手

NTM

端末との間に

UDP

トンネルを構築する.アプリケ ーションは仮想

IP

アドレスを用いている為,移動に伴う

IP

アドレスの変化を隠ぺいできる.また,UDPトンネルを用い ることで,通信経路上に

NAT

が介在しても確実に経路を構築 できる.

3.多段 NAT 環境における NTMobile の課題

NTMobile

において,

DS

に登録される情報は

NTM

端末の実

IP

アドレス,ノード

ID,FQDN,NAT

の外側

IP

アドレスで ある.ここで,両

NTM

端末が同一の

NAT

配下に存在すると,

多段

NAT

環境では

DS

NTM

端末のネットワーク上の位置 を正確に知ることができない.このため,NAT越え問題によ り,NTM端末間が直接通信できない可能性がある.RSを必 ず経由させれば通信は可能であるが,経路が冗長化するとい う課題がある.

4.提案方式

NTMobile

では,通信開始時に

DNS

サーバーに

NTM

専用レ コードを問い合わせることによって通信相手の位置情報を取 得し,DSに対して指示要求(Direction Request)を行う.こ れを受けて,DS は各

NTM

端末に対して経路指示(Route

Direction)を行い,各 NTM

端末はこの指示に従ってトンネル

を生成して経路を確立する.トンネルの生成にはトンネル要 求・応答(Tunnel Request/Response)メッセージを交換する.

Fig.1

に提案方式の通信開始シーケンスを示す.網掛部分が

新たに修正,追加したシーケンスである.提案方式では,通 信を行う

2

つの

NTM

端末が同じ

NAT

配下に存在する場合,

トンネル要求・応答メッセージを互いに投げ合うことで直接 通信が可能であるかどうかを試みる.第

1

処理として,従来

NTMobile

と同様に

RS

を経由したトンネル通信を確立する.

このとき,

Route Direction

に第

2

処理を行うための指示を含ま せる.この処理によって

RS

を経由した通信が確立した後,

2

処理として,エンド端末同士が互いに

Tunnel Request

通信相手に送信する.このメッセージを一方または両方の

NTM

端末が受信した場合,直接通信が可能と判断し,RS 経由しないエンドエンドの通信経路を確立する.両

NTM

末がこのメッセージを受信できなかった場合,

RS

を経由した 通信が継続される.

NATA NATB

DSNTMB

NTMA NTMB DSNTMA

WAN

LAN LAN WAN

Direction Request

RS

Relay Direction Route Direction

Tunnel Request

Tunnel Response

Capsuled Packet Tunnel Request

Tunnel Request Tunnel Response Capsuled Packet

First NegotiationSecond Negotiation Source Address

Translation

Destination Address Translation

Forward

Fig.1. Sequence of the proposed method.

5.まとめ

NTMobile

を拡張して多段

NAT

環境下においても経路の最

適化が可能な方式を提案した.今後は,NTMobileへの実装と 性能評価を行う予定である.

文 献

(1) 鈴木 秀和, 他: DICOMO2011論文集, pp.1339–1348, 2011

(2)

† 名城大学 三重大学 納堂 博史 , 鈴木 秀和 , 内藤 克浩 , 渡邊 晃

経路最適化の提案

(3)

• 移動通信の需要増加

公衆無線網の普及 小型携帯端末の普及

• 移動しながら通信を開始・継続する必要性

IP 通信では移動すると IP アドレスが変化

通信識別子である IP アドレスの変化に伴い IP 通信は切断

• NAT を跨る通信の必要性

IPv4 ネットワークでは一般に NAT を介する通信となる NAT を越える通信の実現

はじめに

P-01

NAT を跨る移動透過性を実現する NTMobile の提案

NTMobile: Network Traversal with Mobility

(4)

• 仮想 IP アドレスの導入

移動透過性の実現

-

端末の位置に依存しない

IP

アドレス

-

アプリケーションは仮想

IP

アドレスでコネクションを確立

-DS

が各端末に重複しないように割り当て

• UDP トンネルの利用

NAT 越え問題の解決 移動透過性の実現

-

IP

アドレスで仮想

IP

アドレスをカプセル化

-

端末が移動したら外側のアドレス

(

IP

アドレス

)

を更新

NTMobile について

DS: Direction Server P-02

実IPアドレス カプセル

仮想IPアドレス データ

(5)

NTMobile の構成機器

P-03

Internet

RS A D

NAT NAT

RS B

NAT Web Server

DS

E

C

A B

RS: Relay Server

(6)

NTMobile の動作シーケンス ( 名前解決 )

P-04

• DS に通信相手の情報を問い合わせる

DS

DDNS

の機能を内包

NTMobile

端末から

DS

に通知される実

IP

アドレスは

DNS

レコードに登録

NTMobile

に用いる情報は専用レコードとして

DS

DNS

に実装

DNS Server MN

NAT

DNS Query for A Record

DNS Response for A Record DNS Query for NTM Record

DNS Response for NTM Record DS

CN

の名前解決

(

IP

アドレス取得

)

CN

NTMobile

情報取得

(

仮想

IP

アドレス取得

)

CN

の名前解決

(

IP

アドレス取得

) CN

NTMobile

情報取得

(

仮想

IP

アドレス取得

)

(7)

NTMobile の動作シーケンス ( 名前解決 )

P-04

• DS に通信相手の情報を問い合わせる

DS

DDNS

の機能を内包

NTMobile

端末から

DS

に通知される実

IP

アドレスは

DNS

レコードに登録

NTMobile

に用いる情報は専用レコードとして

DS

DNS

に実装

DNS Server MN

NAT

DNS Query for A Record

DNS Response for A Record DNS Query for NTM Record

DNS Response for NTM Record DS

CN

の名前解決

(

IP

アドレス取得

)

CN

NTMobile

情報取得

(

仮想

IP

アドレス取得

) CN

NTMobile

情報取得

(

仮想

IP

アドレス取得

)

(8)

NTMobile の動作シーケンス ( 名前解決 )

P-04

• DS に通信相手の情報を問い合わせる

DS

DDNS

の機能を内包

NTMobile

端末から

DS

に通知される実

IP

アドレスは

DNS

レコードに登録

NTMobile

に用いる情報は専用レコードとして

DS

DNS

に実装

DNS Server MN

NAT

DNS Query for A Record

DNS Response for A Record DNS Query for NTM Record

DNS Response for NTM Record DS

CN

の名前解決

(

IP

アドレス取得

)

CN

NTMobile

情報取得

(

仮想

IP

アドレス取得

)

CN

の名前解決

(

IP

アドレス取得

)

(9)

NTMobile の動作シーケンス ( 経路生成 )

P-05

• DS に自分と通信相手の情報を通知する

• DS は通信を行う両端末に経路指示を出す

• 端末は指示に従って端末間で UDP トンネルを構築する

経路指示要求

経路指示

トンネル構築

( トンネルテーブル更新 ) 経路指示要求

経路指示

トンネル構築

( トンネルテーブル更新 )

MN CN

NAT

Direction Request

Route Direction Tunnel Request

Tunnel Response Route Direction

NATテーブル生成

DS RS

Relay Direction

Tunnel Request

Tunnel Response

Capsulated Packet Capsulated Packet

NAT

NATテーブル生成

(10)

NTMobile の動作シーケンス ( 経路生成 )

P-05

• DS に自分と通信相手の情報を通知する

• DS は通信を行う両端末に経路指示を出す

• 端末は指示に従って端末間で UDP トンネルを構築する

経路指示要求

経路指示

トンネル構築

( トンネルテーブル更新 ) 経路指示

トンネル構築

( トンネルテーブル更新 )

MN CN

NAT

Direction Request

Route Direction Tunnel Request

Tunnel Response Route Direction

NATテーブル生成

DS RS

Relay Direction

Tunnel Request

Tunnel Response

Capsulated Packet Capsulated Packet

NAT

NATテーブル生成

(11)

NTMobile の動作シーケンス ( 経路生成 )

P-05

• DS に自分と通信相手の情報を通知する

• DS は通信を行う両端末に経路指示を出す

• 端末は指示に従って端末間で UDP トンネルを構築する

経路指示要求

経路指示

トンネル構築

( トンネルテーブル更新 ) 経路指示要求

トンネル構築

( トンネルテーブル更新 )

MN CN

NAT

Direction Request

Route Direction Tunnel Request

Tunnel Response Route Direction

NATテーブル生成

DS RS

Relay Direction

Tunnel Request

Tunnel Response

Capsulated Packet Capsulated Packet

NAT

NATテーブル生成

(12)

NTMobile の動作シーケンス ( 経路生成 )

P-05

• DS に自分と通信相手の情報を通知する

• DS は通信を行う両端末に経路指示を出す

• 端末は指示に従って端末間で UDP トンネルを構築する

経路指示要求

経路指示

トンネル構築

( トンネルテーブル更新 ) 経路指示要求

経路指示

MN CN

NAT

Direction Request

Route Direction Tunnel Request

Tunnel Response Route Direction

NATテーブル生成

DS RS

Relay Direction

Tunnel Request

Tunnel Response

Capsulated Packet Capsulated Packet

NAT

NATテーブル生成

(13)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信可能

エンドエンドで通信不可能

端末

C

と端末

D

の通信

(14)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信不可能

端末

C

と端末

D

の通信

(15)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信不可能

端末

C

と端末

D

の通信

(16)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信不可能

端末

C

と端末

D

の通信

(17)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信不可能

端末

C

と端末

D

の通信

(18)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信可能

端末

C

と端末

D

の通信

(19)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信可能

端末

C

と端末

D

の通信

(20)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信可能

エンドエンドで通信不可能

端末

C

と端末

D

の通信

(21)

B

D C

A

NAT NAT

NAT Internet

RS DS E

多段 NAT 環境における NTMobile

P-06

経路の冗長化 必ず RS を経由

端末

A-D

と端末

E

の通信

端末

A

と端末

B

の通信

端末

A(B)

と端末

C(D)

の通信

エンドエンドで通信可能

エンドエンドで通信不可能 エンドエンドで通信可能

エンドエンドで通信不可能

端末

C

と端末

D

の通信

(22)

提案方式

P-07

B

D C

A

NAT NAT

NAT

Internet

RS DS E

RS 経由の経路構築 パケットの投げ合い

経路の最適化 RS 経由の経路構築 パケットの投げ合い

経路の最適化

• 直接通信の可否判定

通信端末間でパケットを投げ合う 当該パケットを受信したら経路更新

(23)

提案方式

P-07

B

D C

A

NAT NAT

NAT

Internet

RS DS E

RS 経由の経路構築 パケットの投げ合い

経路の最適化 RS 経由の経路構築 パケットの投げ合い

経路の最適化

• 直接通信の可否判定

通信端末間でパケットを投げ合う 当該パケットを受信したら経路更新

(24)

提案方式

P-07

B

D C

A

NAT NAT

NAT

Internet

RS DS E

RS 経由の経路構築 パケットの投げ合い

経路の最適化 パケットの投げ合い

経路の最適化

• 直接通信の可否判定

通信端末間でパケットを投げ合う 当該パケットを受信したら経路更新

(25)

提案方式

P-07

B

D C

A

NAT NAT

NAT

Internet

RS DS E

RS 経由の経路構築 パケットの投げ合い

経路の最適化 RS 経由の経路構築

経路の最適化

• 直接通信の可否判定

通信端末間でパケットを投げ合う 当該パケットを受信したら経路更新

(26)

提案方式

P-07

B

D C

A

NAT NAT

NAT

Internet

RS DS E

RS 経由の経路構築 パケットの投げ合い

経路の最適化 RS 経由の経路構築

経路の最適化

• 直接通信の可否判定

通信端末間でパケットを投げ合う 当該パケットを受信したら経路更新

(27)

提案方式

P-07

B

D C

A

NAT NAT

NAT

Internet

RS DS E

RS 経由の経路構築 パケットの投げ合い

経路の最適化 RS 経由の経路構築 パケットの投げ合い

• 直接通信の可否判定

通信端末間でパケットを投げ合う 当該パケットを受信したら経路更新

(28)

• RS を経由する通信経路の構築

提案方式の動作シーケンス

P-08

MN CN

NAT B

RS NAT A

Direction Request

Route Direction

Tunnel Request

Tunnel Response

Relay Direction

Capsulated Packet

DS

経路指示要求

トンネル構築

( トンネルテーブル更新 ) 経路指示

経路指示要求 経路指示

トンネル構築

( トンネルテーブル更新 )

(29)

• RS を経由する通信経路の構築

提案方式の動作シーケンス

P-08

MN CN

NAT B

RS NAT A

Direction Request

Route Direction

Tunnel Request

Tunnel Response

Relay Direction

Capsulated Packet

DS

経路指示要求

トンネル構築

( トンネルテーブル更新 ) 経路指示

経路指示

トンネル構築

( トンネルテーブル更新 )

(30)

• RS を経由する通信経路の構築

提案方式の動作シーケンス

P-08

MN CN

NAT B

RS NAT A

Direction Request

Route Direction

Tunnel Request

Tunnel Response

Relay Direction

Capsulated Packet

DS

経路指示要求

トンネル構築

( トンネルテーブル更新 ) 経路指示

経路指示要求

トンネル構築

( トンネルテーブル更新 )

(31)

• RS を経由する通信経路の構築

提案方式の動作シーケンス

P-08

MN CN

NAT B

RS NAT A

Direction Request

Route Direction

Tunnel Request

Tunnel Response

Relay Direction

Capsulated Packet

DS

経路指示要求

トンネル構築

( トンネルテーブル更新 ) 経路指示

経路指示要求

経路指示

(32)

• RS を経由する通信経路の構築

提案方式の動作シーケンス

P-08

MN CN

NAT B

RS NAT A

Direction Request

Route Direction

Tunnel Request

Tunnel Response

Relay Direction

Capsulated Packet

DS

経路指示要求

トンネル構築

( トンネルテーブル更新 ) 経路指示要求

トンネル構築

( トンネルテーブル更新 ) 経路指示

( 両端末が同一の NAT 配下 )

(33)

• エンドエンドの通信経路構築 ( 経路最適化 )

提案方式の動作シーケンス

P-09

トンネル要求

(NAT の外側からのアクセスにより破棄 ) トンネル要求

(NAT の内側からのアクセスにより通過 ) トンネル応答

(NAT テーブル生成済により通過 ) トンネル応答

(NAT テーブル生成済により通過 )

MN CN

NAT B NAT A

Tunnel Request

Tunnel Request

Capsulated Packet Tunnel Response トンネル要求

(NAT の内側からのアクセスにより通過 ) トンネル要求

(NAT の外側からのアクセスにより破棄 )

(34)

• エンドエンドの通信経路構築 ( 経路最適化 )

提案方式の動作シーケンス

P-09

トンネル要求

(NAT の外側からのアクセスにより破棄 ) トンネル要求

(NAT の内側からのアクセスにより通過 ) トンネル応答

(NAT テーブル生成済により通過 ) トンネル応答

(NAT テーブル生成済により通過 )

MN CN

NAT B NAT A

Tunnel Request

Tunnel Request

Capsulated Packet Tunnel Response トンネル要求

(NAT の内側からのアクセスにより通過 )

(35)

• エンドエンドの通信経路構築 ( 経路最適化 )

提案方式の動作シーケンス

P-09

トンネル要求

(NAT の外側からのアクセスにより破棄 ) トンネル要求

(NAT の内側からのアクセスにより通過 ) トンネル応答

(NAT テーブル生成済により通過 ) トンネル応答

(NAT テーブル生成済により通過 )

MN CN

NAT B NAT A

Tunnel Request

Tunnel Request

Capsulated Packet Tunnel Response トンネル要求

(NAT の外側からのアクセスにより破棄 )

(36)

• エンドエンドの通信経路構築 ( 経路最適化 )

提案方式の動作シーケンス

P-09

トンネル要求

(NAT の外側からのアクセスにより破棄 ) トンネル要求

(NAT の内側からのアクセスにより通過 ) トンネル応答

(NAT テーブル生成済により通過 )

MN CN

NAT B NAT A

Tunnel Request

Tunnel Request

Capsulated Packet Tunnel Response トンネル要求

(NAT の内側からのアクセスにより通過 ) トンネル要求

(NAT の外側からのアクセスにより破棄 )

(37)

• NTMobile の課題

両端末が同じ NAT 配下に属する場合の経路冗長化

• 課題の解決

直接通信が可能な場合の経路最適化を提案 - 端末間で互いに Tunnel Request を投げ合う - 上記で直接通信可能かを判断

-Tunnel Request を受信すると経路が更新される

• 今後の予定

実装を行い、動作テストと測定を行う

まとめ

P-10

(38)

補足資料 (NTMobile のパケット )

-01

MN CN

Virtu al IP Addre ss as signm ent Virtual IP

Address assignm ent

TO:RIP CN

From:RIP MN

TO:VIP CN

From:VIP MN Data

Encrypt

TO:VIP MN

From:VIP CN Data

TO:RIP CN

From:RIP MN

TO:VIP CN

From:VIP MN Data

Decrypt

TO:VIP CN

From:VIP MN Data

TO:RIP CN

From:RIP MN Capsulated Data TO:RIP CN

From:RIP MN Capsulated Data

IP Layer

Real IP Address: RIP MN

Virtual IP Address: VIP MN

Real IP Address: RIP CN

Virtual IP Address: VIP CN

New Header New Header

DS

(39)

補足資料 ( 動作シーケンス全体 )

-02

NAT

A

NAT

B

MN CN

WAN

LAN LAN WAN

Direction Request

RS

Relay Direction Route Direction

Tunnel Request

Tunnel Response

Capsuled Packet Tunnel Request

Tunnel Request

Tunnel Response Capsuled Packet

F ir st N e go ti at io n S e c o n d N e go ti at io n Source Address

Translation

Destination Address Translation

Forward

DS

CN

DS

MN

経路指示要求 経路指示

( 両端末が同一の NAT 配下 ) トンネル構築

( トンネルネーブル更新 )

トンネル要求 ( 失敗 ) トンネル構築

( トンネルネーブル更新 )

参照

関連したドキュメント

プロバイダレベル NAT の利用と問題点 2 章で述べたように,今後の IPv4 インターネットには,プロバイダレベルで

DC NTMR は取得した端末情報を元にトンネル経路を決定 し, NTM Route Direction を NTMR と CN に対して送信 する. NTMR と CN は NTM Tunnel

Response packet RC:Request Cache fa:Foreign Address ga:Global Address pa:Private Address From To.

図 2 にトンネル構築シーケンスの例を示す.このシー ケンスは,通信開始時には名前解決が終了した直後に,通 信中に MN のアドレスが変化した時には, IP アドレス取

NTMobile 端末はネットワーク接続時に DC に対して 位置情報登録を行う.この時, NTMobile 端末は DC か ら仮想 IP

解決を行った後,各 RS に対して NTM Survey Direction を送信し,ホップ数調査の指示を送る.指示を受け取った 各 RS は,一般サーバに対して ICMP Echo Request を送 信する.

DS MN はこの判断結果から MN の Node ID ”NID MN ” ,物理アドレス ”G MN ” , DS MN の IP アドレス ”G DSMN ” , MN との通信を示す Path ID ”PID CMMN ” , MN

• トンネルを構築後、 CN の仮想 IP