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

本資料について

N/A
N/A
Protected

Academic year: 2021

シェア "本資料について"

Copied!
20
0
0

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

全文

(1)

本資料について

本資料は下記の論文を基にして作成されたものです.

文章の内容の正確さは保障できないため,正確な知 識を求める方は原文を参照して下さい.

 Internet Draft :Peer-to-Peer Communication Across Network Address Translators

 Author

Bryan Ford, Pyda Srisuresh, Dan Kegel

 Document: draft-ford-midcom-p2p-03.txt

 Expires: December 12, 2004

(2)

第二回 輪講

Peer-to-Peer Communication Across Network Address Translators

030432106

渡邊研究室 宮﨑 悠

(3)

NAT

越え問題

Internet

NAT

Client A Client B

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

(4)

4

Introduction

解決策

本論文では、単純ではあるが、最も実用的な

NAT

断技術として一般に知られている「

hole

punching

」について分析する

(5)

Hole Punching

 NAT の内側にあるノードのポートに対してマッピング

されるNAT の外側のポートが,アドレス変換ルール をNAT が保持している間は同じであるということを利 用して,パケットをNAT の外側から内側へ通過させ る.これを利用することで,異なるプライベートネット ワーク内のノード間で直接的な通信が行える.

しかし,適用できないタイプのNATも存在する.

通信プロトコルは,UDP でもTCP でも可能

UDP :82%

TCP :64%

の NAT で適用可能

 UDP hole punchingはRFC3489で規定している

STUN(Simple Traversal of UDP Through

NATs)でも使われています

(6)

6

UDP Hole Punching

以下の二つの状況について考える

 A

NAT

によって区切られたプライベートネット ワーク内、

B

はグローバルネットワーク内にある 場合

 A

B

は異なるプライベートネットワーク内にある 場合

通信したい

Client A Client B

(7)

UDP Hole Punching

パターン1

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

インターネット NAT

Client A

Client B Server S

① A は S に B への接続援助要求

② SはBのグローバル(IPアドレス・ポート 番号 ) を A に教える

③ A は S からの情報を元に、 B へ UDP 通 信を開始し、 B はそれに応じることで A へのUDP通信を確立する

以後は NAT は一度 A から B へのパケットを

通しているため、NATがアドレス情報を

保持している間、相互に通信が可能

(8)

8

UDP Hole Punching

パターン2

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

Server S

インターネット

NAT

Client A

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

NAT

Client B

② ※A、Bは予めSに情報を記録してい る

① A は S に B への接続援助を要求

② S は A に B の情報を B に A の情報を 送信する

③ AはBへ通信を開始し、BはAへの 通信を開始する

※もし、 A から B への通信が、 B から A への通信が B の NAT を通過する前 に到着すると、 A から B への通信は 破棄される。一度お互いに通信を 通していれば、 NAT は以後、相互 の通信を通す

(9)

TCP Hole Punching

接続方法概要

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

Server S

インターネット

NAT

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

NAT

Client B

Client A と B は Server S とすでに TCP 接 続があるとする

① A は B との接続のために S との TCP セッションを使う

② S は A に B のグローバル・プライベート (IP アドレス・ TCP ポート ) を B に A のグ ローバル・プライベート(IPアドレス・

TCP ポート ) を送る

③ B は A に接続を試みる

※実際は失敗する

④ B は S との接続を閉じて、そのローカ ルポートで接続要求を待つ

⑤ S はそれを合図に A との接続を絶ち、

AにBへの接続をさせる

その後、 A と B は UDP と同様に相互に通

信できるようになる

(10)

10

Hole Punching

の必要条件

NAT

は一般的にアドレス・ポートペアのマッピ ングの作成と管理の方法の違いにより以下

4

種類に分類される

 Cone NAT

 Restricted cone NAT

 Port-restricted cone NAT

 Symmetric NAT

UDP Hole Punching

に対応

(11)

Cone NAT

内部アドレスおよびUDPポートと外部アドレスおよび

UDPポートのマッピングを作成し、ポートがアクティ

ブである限り、マッピングを有効に保持する。

マッピングが有効の間は、NATのWAN側アドレスの 該当UDPポートにて受信されたUDPパケットはNAT 内部の対応するホストへと転送される。

(12)

12

Cone NAT

の動作

内部ホストAから送信された①のパケットによりマッピ ングテーブル中にエントリが作成される。

 Cone NATでは対象となる外部ホストの管理は行わ

れないため、同一外部の端末

B

からのパケット②だけ でなく、異なる端末

C

のパケット③も

NAT

デバイスによ り内部ホスト

A

に転送される。

NAT 端末B

端末C 端末A

(13)

NAT 端末B

端末C 端末A

Restricted cone NAT

単にアドレスとUDPポートのマッピングを作成および維持する だけではなく、内部ホストからUDPパケットを送信した対象の外 部ホストを管理している。

これにより、内部ホストにより通信が開始された外部ホスト以外 からのパケットの受信は拒否される。

(14)

14

Port-restricted cone NAT

 Port-restricted cone NAT

Restricted cone NATによる外部からのパケットの受信の制限をさら

に強化した

NAT

 Restricted cone NATが承認された外部ホストだ

けを管理しているのに対し、

Port-restricted

cone NATは使用されているポートも管理対象とす

る。

外部からのパケットは内部ホストから通信が開始さ れたホストからであることとともに、そのときに利用 されたポート宛であることが要求され、それ以外の パケットはすべて拒否される。

(15)

NAT

端末B 端末A

Port-restricted cone NAT

の動作

ポート:

3000

ポート: 3000 ポート: 3000

ポート: 2000

パケット①と②の動作は Restricted cone NAT と同様だが、たとえ同 一のホストである外部ホスト端末 B あっても、異なるポートからのパ ケットである③は NAT 内部に転送されない。

ポート:3000

① ③

(16)

16

Symmetric NAT

 Symmetric NAT

は同一の内部アドレスとポートの ペアを異なる外部アドレスとポートのペアにマッピン グする。

端末B

Www.xxx.yyy.zza

端末C

Www.xxx.yyy.zzb 端末A

192.168.0.1

※ symmetric NAT では、内部ポートと外部ポートが違うため、 hole punching を対応させる ことができない。

NAT

aaa.bbb.ccc.ddd

内部アドレ

:ポート 外部アドレス:

ポート

外部ホスト

192.168.0

.1:1026 aaa.bbb.cc

c.ddd:1724 www.xxx.

yyy.zza 192.168.0

.1:1026 aaa.bbb.cc

c.ddd:6428 www.xxx.

yyy.zzb

(17)

最後に

 Hole punching

は、

NAT

のある環境で

P2P

接続を確立する多目的技術である

STUN や ICE 、 Teredo にも応用されている

関係する

NAT

が条件を満たす限り、

hole punching

TCP

通信と

UDP

通信に大いに 役立つ

特定のネットワークトポロジー情報なしで、

普通のアプリケーションで実行できる

(18)

18

END

(19)

補足:クライアントサーバシステム

クライアントの命令に対して、サーバが結果を 返す

長所

クライアントの処理が小さくて済む

システムの中央管理及び監視,特に著作権処理やログイン処理がしや すい

データーの更新が比較的楽

サーバーに処理が集中できるため、ビジネスモデルが比較的簡単に作 れ,お金を儲けやすい

短所

サーバーに非常に重い処理が必要で、時に高価なコンピューターを多 数揃える必要がある

サーバーに処理が集中するため,サーバーに繋がるための回線帯域 を圧迫する恐れがあり,より大容量の回線が必要となる。

(20)

20

補足:

P2P

通信

P2P

ではすべてのコンピューターの立場が等 しく,コンピューターはある時にはサーバー,

ある時にはクライアントと立場を変化させる ことが可能

長所

処理がお互いに分散できるために,個々のコン ピューターの性能や回線の容量がそれほど要 求されない。

処理を比較的秘密裏でおこなえる。隠匿性が高

短所

処理が分散するために管理や監視がしにくい

お金を取るビジネスモデルをつくりにくい

参照

関連したドキュメント

 仙骨の右側,ほぼ岬角の高さの所で右内外腸骨静脈

• ネット:0個以上のセルのポートをワイヤーを使って結んだも

この chart の surface braid の closure が 2-twist spun terfoil と呼ばれている 2-knot に ambient isotopic で ある.4個の white vertex をもつ minimal chart

②立正大学所蔵本のうち、現状で未比定のパーリ語(?)文献については先述の『請来資料目録』に 掲載されているが

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

添付資料 4.1.1 使用済燃料貯蔵プールの水位低下と遮へい水位に関する評価について 添付資料 4.1.2 「水遮へい厚に対する貯蔵中の使用済燃料からの線量率」の算出について

添付資料 4.1.1 使用済燃料貯蔵プールの水位低下と遮へい水位に関する評価について 添付資料 4.1.2 「水遮へい厚に対する貯蔵中の使用済燃料からの線量率」の算出について

である水産動植物の種類の特定によってなされる︒但し︑第五種共同漁業を内容とする共同漁業権については水産動