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

端末の機能追加が不要な

N/A
N/A
Protected

Academic year: 2021

シェア "端末の機能追加が不要な"

Copied!
30
0
0

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

全文

(1)

端末の機能追加が不要な

NAT

越え方式の提案

A proposal of NAT-Traversal that does not force terminals to have any extra functions 宮﨑悠1 鈴木秀和*2 渡邊晃*1

Yutaka Miyazaki Hidekazu Suzuki Akira Watanabe

*1名城大学理工学部 *2名城大学大学院理工学研究科

Faculty of Engineering, Meijo University Graduate School of Science & Technology, Meijo University

1. はじめに

IPv4 インターネットでは IP アドレスの枯渇を回避する ため,家庭内や企業内のネットワークはプライベートアド レスで構築されている.このような環境ではインターネッ ト側の端末からプライベートアドレス空間の端末に対して 通信を開始することができないという制約がある.これは NAT越え問題と呼ばれている.この課題を解決する為に 様々な解決手法が提案されている.しかし,従来の解決手 法はユーザ端末に機能を追加する場合が多い.本稿では DNSサーバと NATルータが協調することにより,一般の ユーザ端末には実装を行わない新たなNAT越え方式を提 案する.

2 .既存技術

NAT越えの既存技術として,STUN[1],AVE[2]やNAT-f [3]などがある.

STUNはインターネット上の専用サーバを利用することに より NAT越えを実現しているが,専用のアプリケーショ ンやUDP通信でしか利用できないという制約がある.

AVESではwaypointと呼ばれる特殊なサーバと改造した

ルータが協調し,waypoint がパケットを中継することによ NAT越えを実現する.しかし,STUNと同様に専用のサ ーバが必要であり,経路冗長が発生するという課題がある.

我々はSTUNAVESの課題を解決するため,インター ネット上の端末と NAT-f ルータが連携することにより NAT越えを実現できる NAT-fを提案している.しかし,

端末の機能追加が必要であることから,一般のユーザが NAT越えを行うのは困難という課題があった.

3.提案方式

本提案方式はDNSサーバとNATルータに機能を追加す ることにより NAT越えを実現する.通信を行うエンド端 末やアプリケーションに対して実装する必要がない特徴が ある.その為,一般ユーザは NAT問題を意識することな く問題を解決できる.また,特殊な第3の装置が不要で P2P通信を実現することができる.

1に提案方式の動作概要を示す.本手法における専用 DNSサーバをRDNS(Remodeled DNS)と呼ぶ.RDNS には予めプライベートアドレス空間内の端末 PN の名前と NATルータのアドレスの関係が登録されている.グローバ ルアドレス空間の端末GNはプライマリDNSとしてRDNS を設定する.

GN から PN(bob)へ通信を開始する場合の動作手順を

以下に示す.

図1 提案方式の動作概要

(1)GNRDNSbobの名前解決を依頼

依頼を受けたRDNSはリソースレコードからbobを検索

存在しないなら(2)

存在するなら(3)

(2)RDNSは上位DNSに名前解決を依頼

(3)RDNS GN から bob への接続依頼があることを

NATルータに通知

(5)RDNSGNNATルータのアドレスを応答

(6)GNは取得したアドレスに対して通信を開始

(7)NAT ルータは GN からの最初のパケットを(3)の情報 をもとに強制的にbobに送る.

bobからの応答パケットによりNATルータに NATテーブ ルができる。以後の通信は NATテーブルにより通信が行 われる.このようにして GNから PNへの通信を開始する ことができる.

4.むすび

端末の機能追加が不要な NAT 越え方式を提案した.今 後はRDNSNATルータを実装し,動作検証を行う.

参 考 文 献 _ 1. J. Rosenberg, J. et al: STUN - Simple Traversal of User

Datagram Protocol (UDP) Through Network Address Translators (NATs), RFC3489, 2003

2. T.S.Eugene Ng, I.Stoica, H.Zhang:A Waypoint Service Approach to Connect Heterogeneous Internet Address Spaces", USENIX 2001 (2001).

3. 鈴 木 秀 和 , 渡 邊 :ド レ ス 空 間 透 過 性 を 実 現 す る NAT-f 装と評価,ICOMO2006 シンポジウム論文集() Vol.2006No.6pp.53-456Jul.2006.

(2)

端末の機能追加が不要な NAT 越え方式の提案

名城大学 理工学部

宮﨑 悠 鈴木 秀和 渡邊 晃

(3)

研究背景

z インターネットの普及に伴ない、ユビキタス社会 化が進んでいる

→いつでもどこからでも通信したい

z 家庭内や企業内のネットワークはプライベートア ドレスで構築される場合が多い

→ NAT が使用される

1

(4)

一般の通信体系

① WEB server のアドレス要求

② WEB server のアドレス応答

③ WEB コンテンツ要求

④ WEB コンテンツ応答

② ①

NAT

テーブル

WEB ⇔ PN1 NAT

テーブル

DNS ⇔ PN1

(5)

NAT の原理 (GN はプライベートネットワーク内の環境が見えない ) により外側から内側にアクセスすることができない

NAT 越え問題

z 家庭・企業ネットワーク内にサーバがある

z プライベートネットワーク内の端末にアク セスしたい

今後考えられる通信体系

GN

3

(6)

STUN

(Simple Traversal of UDP Through NATs)

STUN server PN

GN

NAT router

STUN

登録

NATテーブル

を生成

NAT

テーブル

PN

の登録情報確認 を生成

情報登録情報登録

TCP/UDP

通信

TCP/UDP

通信

TCP/UDP TCP/UDP

通信通信

NAT

テーブルに 合わせて通信

NAT

テーブルに

合わせて通信

(7)

NAT-fNAT-freeprotocol

z 3フェーズから構成

5

DNS

名前解決処理

NAT-f

ネゴシエーション

TCP/UDP通信

TCP/UDP

通信

TCP/UDP TCP/UDP

通信通信

Bobと通

信したい

Bob

と通

信したい

Bob

に関する

NAT

テーブル を生成

Bob

に関する

NAT

テーブル

を生成

NAT

テーブル に合わせて通

NAT

テーブル に合わせて通

(8)

新たな NAT 越え方式の提案

端末には手を加えずに問題を解決したい

本方式では NAT ルータと DDNS サーバを改造し、その

NAT ルータと DDNS サーバ (RDNS : Remodeled DNS)

が連携をとることにより問題を解決する

(9)

提案方式(事前設定)

z 予めプライベートアドレス空間内の端末 PN の名前と NAT ルータのア ドレスが DDNS へ登録される

GT

Source IP Destination IP Host Name P1 bob

7

z 登録時に NAT ルータで Guide Table(GT) を作成する

DDNS:G4 NATルータ:G2

PN:P1(bob)

登録パケット IPヘッダ

P1→G1

データ bob.example.net

IPヘッダ G2→G1

データ

Bob.example.net

(10)

GT

S IP D IP H N P1 bob

提案方式 ( 名前解決 )

GN:G3

①名前解決依頼

③ 通 信 通 知 (G 3 , bo b)

④ 返 答

⑤ IPアドレス (G2)

③の後

GT

をチェックして

から④を返信

DNS レコード

FQDN NAT router

bob.example.net G2

G3

② forward

(11)

GT

S IP D IP H N

G3 P1 bob

提案方式 ( 通信 )

GN:G3

⑦通

⑥ 通

信 開 始

NAT

ルータは⑥を受信後,

GT

を元に通信を転送 9

⑧返

⑨ 返 信

PN からの返信時も GT を参照して GN へ返信する

内側からの通常の通信は NAT

テーブルを使用して通信する

(12)

むすび

z 提案技術

z 改良した NAT ルータと RDNS により、端末に手を加え ることなく NAT 越え問題を解決する方法を提案

z 今後の展開

z 提案方法の実現

(13)

補足説明

11

(14)

NAT : Network Address Translation

RFC1631

z Private IP Address (RFC1918) 10.0.0.0/8

172.16.0.0/12 192.168.0.0/16

Global IP Address

1-8

G IP A

1-5 , P IP A : 6-8

(15)

NAT の動作(内→外)

WEBサーバ

NATrouter

端末

(1) (2)

(3)

(4)

GA1 GA2 PA2 PA1

PA1:X → GA1:80 GA2:Y → GA1:80

GA1:80 → GA2:Y

GA1:80 → PA1:X GA2:Y ⇔ PA1:X

NATテーブル 生成

参照

13

(16)

NAT の動作(外→内)

WEBサーバ NATrouter

端末

GA1 GA2 PA2 PA1

GA1:80 → PA1:X

GA1:80 → GA2:Y

Blank NATテーブル 参照

(1)

(2)

破棄

破棄

(17)

NAT 越え既存技術例

技術名 実装箇所 概略 STUN

(Simple Traversal of UDP Through NATs

GN PN

STUN

サーバ

UDP Hole Punching

を使って

NAT

を通過する方法 。

UDP Hole Punching

UDP

を用いて予め内部より外 部に通信を行うことで

NAT

に通り道を用意しておき、そ こを通して外部より内部に通信を行う方式。

IPv4+4 GN

PN

NAT

ルータ

IPv4

ヘッダを拡張することで更に

32bit

追加する。

グローバルアドレスとプライベートアドレスを両方保持 し、

NAT

通過時にこのヘッダを見て二つのアドレスを入 れ替えることにより通信が可能となる。

NATS

(NAT with Sub- Address)

GN

NAT

ルータ

DNS

IPアドレスとは別に16bitsのサブ・アドレスを定義し、1

つの(グローバル)IPアドレスに対して16bitsのサブ・ア ドレスを割り当てることで、NAT/NAPT内のホストを 特定する手段を提供

AVES

Address Virtualization Enabling Service)

Waypoint DNS

NATルータ

グローバル空間に

waypoint

と呼ばれる機器を配置し、

それを経由してグローバルアドレス空間の端末はプラ イベートアドレス空間の端末に通信を行う。

15

(18)

提案方式動作

① GN は RDNS に bob の名前解決を依頼する RDNS はソースレコードから bob を検索する

→ない場合は本方式対応ではないと判断して,一般の DNS にフォワーダする

② RDNS は NAT ルータに G3 から bob へ通信要求があった ことを通知する

③②に対しての返答

④ RDNS は GN に bob のアドレスを応答する

(実際は NAT ルータのアドレス G2 )

⑤ GN は取得したアドレス (G2) に対して通信を開始する

⑥ NAT ルータは得ている情報から NAT テーブルを生成し,

GN からの通信パケットを bob(P1) に転送する

(19)

提案方式時間的流れ

17

(20)

GT

S IP D IP H N P1 bob

提案方式 ( 動作手順 )

GN:G3

①名前解決依頼

② 通 信 通 知 (G 3 → b o b)

③ 返 答

⑥通

⑤ 通 信 開 始

④ IP アドレス (G2)

②の後GTをチェックして から③を返信

NAT

ルータは⑤を受信後,

DNS レコード

FQDN NAT router

bob.example.net G2

G3

(21)

考えられる問題点

z 通信の乗っ取り

他の GN から IP アドレスを装って NAT ルータ宛に通 信が開始された時, NAT ルータは誤って PN に通 信を通してしまう可能性がある

→ RDNS と NAT ルータに事前に鍵を持たせておけ ば,盗聴される可能性があるのは④か⑤の為,

危険性は軽減できる

19

(22)

RFC1034,1035

DNSDomain Name system

z ポート番号: 53/udp and 53/tcp

z DNS は分散型データベースによ るディレクトリサービスである。

z ネットワーク上で IP アドレスとホ

スト名をマッピングして相互解決

する ( 名前解決と呼ぶ ) ための仕

組みを提供する。

(23)

RDNSDNS の関係

z GN は予めプライマリ DNS に RDNS を登録しておく必要がある

→ RDNS は直接 GN と通信を行うことで GN の IP アドレスを得る

z 異なるアドレス空間の PN が増大すると RDNS の対応が悪くなる可能 性がある。

z この方式が普及し、一般の DNS に RDNS の様なルータをやり取りする 機能が ( ブリッジ等で ) 実装されれば、 GN はプライマリ DNS を変換する ことなく実現できる

21

(24)

提案方式 (GN)

z 本方式を採用した端末 GN がグローバルアドレス 空間にあるサーバー等にアクセスしたい場合

GN:G3

①名前解決依頼

④ IP アドレス (G 4 )

RDNS レコード

FQDN NAT

router

bob.example.net G2

Forwarder

③返答(G4)

⑤通信開始

(25)

STUN

(Simple Traversal of UDP Through NATs)

GN STUNサーバ

STUNクライアント

STUNクライアント

生成

23

参照

参照

(26)

NAT 越え既存技術例: AVES

z DNS,NAT ルータ ,waypoint サーバを改良・設置

z 外側の端末は内側の端末への通信に全て waypoint を中継する

→三角経路

NATルータ GA2 PA2

waypoint GA3 DNS

②ルート確認情報送信 端末 : GA1 NATルータ : GA2 www.home.com : PA1

④DNS 返答 [GA3]

24

(27)

RDNS-NAT ルータ間パケット

z IP

ヘッダ

(20Bytes)

z ICMP

ヘッダ

(24Bytes)

z RDNS

ヘッダ

(4Bytes)

z Type :パケットのタイプが通知③か応答④かを判断 (8bits)

z ID : DNS が名前解決の際に使用するトランザクション ID と対 応させ, RDNS が受信した際に,①に対応する④だとわかるようにす る. (16bits)

z Reserve

:予備

(8bits)

z RDNS

データ

(68Bytes)

z Source IP :要求元 IP アドレス (32bits)

z HN : Host Name (64Bytes :これ以上は有り得ない為固定 )

25

(28)

RDNS の処理

z DNS の 53 番ポートで名前解決依頼があった場 合、 bind に渡す

z bind から返って来たパケットを解析・待避し、

NAT ルータへのパケットを生成・送信

z NAT ルータからの返事に従い GN へ名前解決を 送信

* bind とは名前解決を行う DNS アプリケーション

(29)

NAT ルータの処理

27

(30)

GT

S IP D IP H N

G3 P1 bob

提案方式 ( 通信 )

GN:G3

⑥通信開始 ⑦通信

NAT

ルータは⑥を受信後,

⑨返信 ⑧返信

参照

関連したドキュメント

ロボットは「心」を持つことができるのか 、 という問いに対する柴 しば 田 た 先生の考え方を

氏は,まずこの研究をするに至った動機を「綴

 複雑性・多様性を有する健康問題の解決を図り、保健師の使命を全うするに は、地域の人々や関係者・関係機関との

このため、都は2021年度に「都政とICTをつなぎ、課題解決を 図る人材」として新たに ICT職

最愛の隣人・中国と、相互理解を深める友愛のこころ

口文字」は患者さんと介護者以外に道具など不要。家で も外 出先でもどんなときでも会話をするようにコミュニケー ションを

活用することとともに,デメリットを克服することが不可欠となるが,メ

優越的地位の濫用は︑契約の不完備性に関する問題であり︑契約の不完備性が情報の不完全性によると考えれば︑