540 likes | 1.5k Views
大規模 NAT を越えるための UDP Multi Hole Punching の拡張. コンピュータ・ネットワーク工学科 4 年 後藤滋樹研究室 戸部 和洋 (1G06R140-0). NAT の問題点 NAT は外側から接続できない NAT の内側のホストのアドレス は外側からわからない インバウンドの開始パケット (initiation packet) を破棄する. UDP Hole Punching. NAT 越え. 研究の背景 (1) Network Address Translator (NAT) の問題. rendezvous server.
E N D
大規模NATを越えるためのUDP Multi Hole Punchingの拡張 コンピュータ・ネットワーク工学科 4年 後藤滋樹研究室 戸部 和洋 (1G06R140-0) Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
NATの問題点 NATは外側から接続できない NATの内側のホストのアドレス は外側からわからない インバウンドの開始パケット (initiation packet)を破棄する UDP Hole Punching NAT 越え 研究の背景 (1)Network Address Translator (NAT) の問題 rendezvous server host-A NAT-A NAT-B host-B (1)host-Aの外部IP, 外部portがわかる (2)host-Bの外部IP, 外部portがわかる private address realm global address realm (4) host-Bは(A, P)にいます host-Bにもお知らせしますね (3)host-Bと通信したいな the Internet (5)戻りパケットを期待して穴が空く (6)知らない相手のパケットは破棄 (7)戻りパケットを期待して穴が空く NATは外側から 接続できない (8)戻りパケットとして転送される (9)戻りパケットとして転送される UDP Hole Punchingによって、NATを越えて相手と直接通信(NAT越え)できる。 ※ただし、Cone NATに限る。 i.e. Symmetric NATは(普通には)越えられない。 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
UDP Hole Punchingの改良版 2台のサーバとの通信によるポート予測 低いTTLに設定したUDPパケットを大量送信 Symmetric NATをリレーサーバなしで越えられる サーバに低負荷・低遅延 cf. TURN, ICE, Teredo 既存手法UDP Multi Hole Punching 当時はこれでよかったが・・・ Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
ISP network ISP network home network home network home network home network 研究の背景 (2)大規模NAT (Large Scale NAT) [Huston] G. Huston, “IPv4 Address Report”, http://www.potaroo.net/tools/ipv4/index.html • IPv4アドレスの在庫枯渇が迫る(IANA:2011, RIR:2012)[Huston] • ISPは大規模NAT(Large Scale NAT/Carrier Grade NAT) の配置を計画 • NATの多段接続 • NAT越えが難しくなる e.g. UPnPは機能しない • ポート番号の制限 • 同時セッション数の制限 e.g. Google Maps the Internet global address realm Large Scale NAT ISP shared address realm home NAT home NAT private address realm UDP Multi HolePunching の改良が必要
NATで使えるポート数にはかぎりがある 約60000個 (=216-1024) のポート番号を複数のユーザで共有するため 高速化のため、大量のセッションを同時に張るアプリケーションがある iTunes (230~270) Amazon (90) ニコニコ動画 (50~80) 「虫食い」のGoogle Maps 大規模NATにポート数が制限されて、虫食い状態になったGoogle Maps ポート数の制限 このページの図と測定値はすべて以下の文献から引用しています。 [Miyakawa] 宮川晋, “インターネット10分講座:大規模NAT (Large Scale NAT:LSN) あるいはキャリアグレードNAT(CGN)”, http://www.nic.ad.jp/ja/newsletter/No41/0800.html Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
背景のまとめと研究の目的 • 大規模NATや集合団地におけるNATの配置 • NATの多段接続 • 利用可能ポート番号の制限 ⇒ UDP Multi Hole Punching(既存のNAT越え手法)によるSymmetric NAT越えの可能性が低下 • 大規模NAT環境においても、UDP Multi Hole Punchingが効率的に利用できるように技術を拡張 • ポート予測 (Port Prediction) • Low TTL Value Determination Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Mapping Behavior • Address and Port-Dependent Mapping (Symmetric NAT) internal network external network Local <AL, PL> <AL, PL> <AL, PL> Global <AN, PN> <AN, PN’> <AN, PN’’> Remote <AR, PR> <AX, PR’> <AX, PR’’> Host-R Addr: AR PR PR’ PN Host-L Addr: AL PN’ PL NAT Addr: Na PN’’ mapped a new port (PN’) Host-X Addr: AX (≠AR) mapped a new port (PN’’) PX Hole Punching must predict this new port (PN’’). NAT maps a new endpoint when a local host (Host-L) sends a packet to any external endpoints which Host-L hasn’t sent a packet, if the NAT behaves as “Endpoint-Independent Mapping”. This NAT was once called “Symmetric NAT”.
ポート予測 (Port Prediction) • NATが割り当てるポートの規則性を調べ、次に割り当てられるポートを予測する技術 • これが成功すれば、Hole PunchingでSymmetric NATを越えられる +1 +1 +1 規則性あり(Predictable) Randomの場合 手当たり次第に大量のパケットを送信するしかない(最後の手段) - 4 - 4 - 61 !? 規則性なし(Random)
既存手法の問題点1ポート予測 (Port Prediction) における問題 問題点1. 同じNATに他のホストがいる場合、ポート予測が正しく行えない可能性がある • 自分以外のホストの通信によっても、Symmetric NATが新しいポートのマッピングを生成するため • Predictable (e.g. Incremental) にもかかわらず、Randomと誤判定してしまう可能性がある 「最後の手段」として大量のポートをオープン⇒ 大規模NATのポートを食い尽くしてしまう
提案手法1Port Predictionの拡張 解決策1-a. キャプチャ法 • ポート予測中にLAN内のパケットをキャプチャ • NATの外側の新しいあて先へパケットが流れていた場合、その数をポート予測で考慮する • Predictableであるにもかかわらず、Randomと誤判定してしまう可能性を減らすことができる 解決策1-b. スキャン法 • 所属するネットワーク上の全IPアドレスを確認 • 応答のあったノード数をポート予測で考慮する Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
スキャン法 利点 ユーザモードでも動作(実装による) 欠点 確率的な予測のみ スキャンのための時間がかかる 攻撃として検知される可能性あり (e.g. IDS) キャプチャ法 利点 ポート予測に追加時間がほとんどかからない 欠点 管理者権限(Windows) /root権限(Linux) が必要 ハブでつながっているマシンのトラヒックしかキャプチャできない キャプチャ法 vs. スキャン法 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Low TTL Value Determination • UDP Multi Hole PunchingはパケットのTTLを低く設定1)して送信することで、自分側のNATを越えて、相手側のNATに到達する前にパケットを破棄する • Low TTL Value Determination:1) の値を決めるアルゴリズム • UDP Multi Hole Punching : 「決めうち」 • NATBLASTER :「traceroute の方法」(提案のみ、未実装) • e.g.) TTL = 2の場合 TTLの値は次の条件を満たしていればよい TTL > 1 ∧ TTL – 5 < 0 ∴ 1 < TTL < 5 Time Exceeded TTL => 0 TTL => 1 router (4th hop) router (2nd hop) NAT router (5th hop) router (3rd hop) NATrouter (1st hop)
既存手法の問題点 (2)Low TTL Value Determination における問題 • NATが多段の場合、自分側の一番外側のNATを越えて相手側の一番外側のNATに到達する前にTTLが0になればよいが・・・ • TTL > 2 ∧ TTL – 4 < 0 ∴ 2 < TTL < 4 問題点2. NATがいくつ連なっているか判断できない • Tracerouteで得られたルーターのIPアドレスから、NATかどうか判断できることがあるが、ICMPを返さないルータがある NAT router (4th hop) NAT router (2nd hop) NAT router (5th hop) router (3rd hop) NATrouter (1st hop)
提案手法2Low TTL Value Determinationの方法 解決策2. tracerouteやtracertでhop数を求め、 それを2で割った値をTTLとする [仮定] NATは経路の両端に存在し、中央にはない(はず) • 本手法は途中のルーターのIPアドレスを知る(NATか判定する)必要がないためICMPが返されなくても問題ない $ tracert 208.77.188.166 Tracing route to www.example.com [208.77.188.166] over a maximum of 30 hops: 1 * * * Request timed out. 2 * * * Request timed out. (省略) 11 * * * Request timed out. 12 144 ms 147 ms 146 ms www.example.com [208.77.188.166] Trace complete. e.g.) hop数=12 ⇒ TTL := 12/2 = 6
実装 Javaで実装 • 一部、Rubyで実装し、java.lang.Runtime#exec()で実行 • Javaでは、ユニキャストUDPパケットのTTLを設定できないため • キャプチャ法 • Jpcapを利用 • libpcap / WinPcap のJavaラッパー • スキャン法 • java.net.InetAddress#isReachable() • (権限があれば)ICMP ECHO REQUEST • (なければ)ポート 7 (Echo) で TCP 接続 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
実験用ネットワーク(VMware ESXiによる仮想環境) home NAT-2(flexNES) home NAT-1(flexNES) LSN-1(flexNES) LSN-2(flexNES) global realm private realm-2 private realm-1 Linux router .1 .1 .2 .1 .2 .2 .1 .66 vs vs Sym .1 .65 (10.0.1.0/24) (10.0.0.0/24) vs vs virtual switch (promiscuous mode) virtual switch .129 (192.0.2.0 /26) (192.0.2.64/26) ISP-2 shared address realm ISP-1 shared address realm .2 .2 .3 virtual switch (vs) .130 .131 internal host-1,2 (192.168.0.0/24) internall host-3 (192.168.1.0/24) external server-1, 2 (192.0.2.128/26) ※Sym = Symmetric NAT ※flexible NAT Emulation Server (flexNES)= RFC4787に準拠したNATエミュレータ
実験用ネットワーク(論理図) home NAT-2(flexNES) home NAT-1(flexNES) LSN-1(flexNES) LSN-2(flexNES) global realm private realm-2 private realm-1 Linux router .1 .1 .2 .1 .2 .2 .1 .66 Sym .1 .65 (10.0.1.0/24) (10.0.0.0/24) .129 (192.0.2.0 /26) (192.0.2.64/26) ISP-2 shared address realm ISP-1 shared address realm .2 .2 .3 .130 .131 internal host-1,2 (192.168.0.0/24) internall host-3 (192.168.1.0/24) external server-1, 2 (192.0.2.128/26) ※Sym = Symmetric NAT ※flexible NAT Emulation Server (flexNES)= RFC4787に準拠したNATエミュレータ
まとめと今後の課題 まとめ UDP Multi Hole Punchingの拡張 • 必要以上のポートをオープンしてしまう問題の解決 • 通信経路上でNATが多段になっていても適応可能 今後の課題 Low TTL Value Determinationにおける仮定の妥当性の検討 • 「NATはエンドホストの近くに集中」 • 「経路の中央付近には存在しない」 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
ご清聴ありがとうございました Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
NATの内側にあるホストの<IP Address, port>と、NATの外側の<IP Address, port>を変換する装置 たいていの家庭用BBルータに実装されている 複数のホストが同じグローバルIPアドレスを使用してインターネットにアクセス可 NAT内部ではプライベートIPアドレスを使うことが多い e.g. 192.168.xxx.yyy Internet Network Address Translator (NAT) NATの問題点 • NATの内側のホストのアドレス は外側からわからない • NATは、知らない相手からのパケット (unsolicited packet)を破棄する private address realm global address realm NAT NATは外側から 接続できない ※IPアドレスだけでなくポート番号も変換する装置は、厳密にはNetwork Address and Port Translator (NAPT) であるが、現在はほとんどがNAPTであるため、これらを区別せずにNATと呼ぶことが多い。
×:UPnP 利点 Windows APIにある [15] 欠点 ローカルネットワークにあるNATルータしか操作できない ISPのNATに届かない 認証機構が存在しない ISPのNATがUPnPを許可してしまうと・・・ 「全部俺のポート!」 極一部のユーザが、大量のポートフォワーディング生成 ○:Relaying 利点 どんなNAT環境でも機能 欠点 転送による遅延が発生 リレーサーバの負荷大 ◎:UDP Hole Punching 利点 NATが多段でも機能 欠点 UDPのみ(TCPは難しい) Symmetric NATは難しい NAT越え手法の比較 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Hole Punchingのセキュリティ • Hole Punchingで「穴を開ける」と言われると、セキュリティを気にされる方が多いですが・・・ • NAT≠ファイアウォール • Filtering Behavior (cf. RFC4787) のおかげで、ファイアウォール的にふるまうように見えるだけ • 家庭用ルータには多くの機能が実装されている • どの機能のおかげなのかわかりづらい • NATとパケットフィルタ型ファイアウォールが混在 • セキュリティ対策はアプリケーションで行う • 受信パケットの送信元チェックなどをアプリで行う Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Javaの場合 • java.net.DatagramSocket.connect(InetAddress host, int port) • 指定されたリモートホストの指定されたポートだけにパケットを送信(あるいはそのポートからだけパケットを受信する)ようにDatagramSocketに指示する。 • 指定された以外のホストまたはポートにパケットを送信しようとすると、IlligalArgumentExceptionが発生する。 • 指定された以外のホストまたはポートから受信したパケットは、黙って破棄され、例外やその他の通知はない。 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
UDP Hole Punchingのようにはいかない・・・ 同時オープンする方法 TTLを低くして送る手法 TCP Hole Punching ※同時オープン (simultaneous open) の詳細は、 「詳解TCP/IP Vol.1 プロトコル」を参照して下さい。 rendezvous server host-A NAT-A NAT-B host-B SYN SYN SYN/ACK SYN/ACK rendezvous server host-A NAT-A NAT-B host-B SYN (1)戻りパケットを期待して穴が空く (3)TCP RSTを返してしまう (2)知らない相手のパケットは破棄 rendezvous server host-A NAT-A NAT-B host-B ICMP Time Exceeded 開いた穴が閉じない SYN (low TTL) RST SYN (4)開いた穴が閉じてしまう SYN (5)戻りパケットを期待して穴が空く SYN/ACK RST (6)穴が閉じているので通らない (7)開いた穴が閉じてしまう ACK Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
UDP Multi Hole PunchingPhase I server-A server-B NAT-A (Cone NAT) NAT-B (Symmetric NAT) host-A host-B (1) (1) Host-A sends a UDP packet to server-A. Then, server-A gets host-A’s external end-point <AA1, PA1> mapped by NAT-A. (2) (2) Server-A informs host-A of the endpoint <AA1, PA1>. (3) (3) Host-A sends a UDP packet, which contains <AA1, PA1> in the payload, to server-B. Then, server-B gets <AA1, PA1> and the external endpoint <AA2, PA2> (usually AA1= AA2, PA1= PA2 if NAT-A is Cone NAT). Server-B analyzes these endpoints. 第1回論文ゼミ tobe
UDP Multi Hole PunchingPhase II server-A server-B NAT-A (Cone NAT) NAT-B (Symmetric NAT) host-A host-B (4) (4) Host-B sends a UDP packet to server-B. Then, server-B gets host-B’s external end-point <AB1, PB1> mapped by NAT-B. (5) (5) Server-B informs host-B of the endpoint <AB1, PB1>. (6) (6) Host-B sends a UDP packet, which contains <AB1, PB1> in the payload, to server-B. Then, server-B gets <AB1, PB1> and the external endpoint <AB2, PB2> (usually AB1= AB2, PB1≠PB2 if NAT-B is Symmetric NAT). Server-B analyzes these endpoints. 第1回論文ゼミ tobe
UDP Multi Hole PunchingPhase III server-A server-B NAT-A (Cone NAT) NAT-B (Symmetric NAT) host-A host-B (7) (7) Server-B predicts the next external endpoint <AA3, PA3> or the range NAT-A will map. and then informs host-B of the info. Time Exceeded (8) (8) Host-B sends a lot of packets whose TTL is set so low that they’ll be dropped between NAT-B and NAT-A. (9) Server-B informs host-A of the info for UDP Multi Hole Punching. (9) (10) Host-A sends a lot of packets to holes, opened at (9), of NAT-B. (10) 第1回論文ゼミ tobe (11) UDP session is established. (11)
offer/answerモデルのプロトコル (e.g. SIP/SDP) が、NATを越えてUDPベースのマルチメディアセッションを確立することをサポート STUNやTURNで通信可能なエンドポイント <IP, port> (candidate) を調べ、最適なエンドポイントを選択して通信する Symmetric NATはTURNによるリレーで越えられる Interactive Connectivity Establishment (ICE) TURN server Relayed Candidate the Internet Server-reflexive Candidate NAT router Host Candidate Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
NATの分類 (RFC 3489) • Cone NAT • Full Cone NAT • Restricted Cone NAT • Port Restricted Cone NAT • Symmetric NAT • あて先ごとに異なるマッピングを生成する • cf. Address-Dependent Filtering/Address and Port-Dependent Filtering (RFC 4787) • UDP Hole Punchingでは越えられない Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
NATの特性 (RFC 4787) (1/2) • Address and Mapping Behavior • Endpoint-Independent Mapping (Cone) • Address-Dependent Mapping (Symmetric) • Address and Port-Dependent Mapping (Symmetric) • Port Assignment Behavior • Port Preservation • Port Overloading • No Port Preservation • Port Parity • Port Contiguity Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
NATの特性 (RFC 4787) (2/2) • Mapping Refresh • Filtering Behavior • Endpoint-Independent Filtering (Full Cone) • Address-Dependent Filtering (Restricted Cone) • Address and Port-Dependent Filtering(Port Restricted Cone) • Hairpinning Behavior • ICMP Destination Unreachable Behavior Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Mapping Behavior (1) • Endpoint-Independent Mapping (Cone NAT) internal network external network Local <AL, PL> Global <AN, PN> Remote <any, any> Host-R Addr: AR PR PR’ Host-L Addr: AL PL PN NAT Addr: AN Host-X Addr: AX (≠AR) PX NAT maps the same endpoint whenever a local host (Host-L) sends a packet to any external endpoints (Addr : any, Port : any), if the NAT behaves as “Endpoint-Independent Mapping”. This NAT was once called “Cone NAT”. Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Mapping Behavior (2) • Address-Dependent Mapping (Symmetric NAT) internal network external network Local <AL, PL> <AL, PL> Global <AN, PN> <AN, PN’> Remote <AR, any> <AX, any> Host-R Addr: AR PR PR’ PN Host-L Addr: AL NAT Addr: AN PL PN’ mapped a new port (PN’) Host-X Addr: AX (≠AR) PX Hole Punching must predict this new port (PN’). NAT maps a new endpoint when a local host (Host-L) sends a packet to any external hosts (≠R) which Host-L hasn’t sent a packet, if the NAT behaves as “Endpoint-Independent Mapping”. This NAT was once called “Symmetric NAT”. Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Mapping Behavior (3) • Address and Port-Dependent Mapping (Symmetric NAT) internal network external network Local <AL, PL> <AL, PL> <AL, PL> Global <AN, PN> <AN, PN’> <AN, PN’’> Remote <AR, PR> <AX, PR’> <AX, PR’’> Host-R Addr: AR PR PR’ PN Host-L Addr: AL PN’ PL NAT Addr: Na PN’’ mapped a new port (PN’) Host-X Addr: AX (≠AR) mapped a new port (PN’’) PX Hole Punching must predict this new port (PN’’). NAT maps a new endpoint when a local host (Host-L) sends a packet to any external endpoints which Host-L hasn’t sent a packet, if the NAT behaves as “Endpoint-Independent Mapping”. This NAT was once called “Symmetric NAT”. Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Filtering Behavior (1) • Endpoint-Independent Filtering internal network external network Local <AL, PL> Global <AN, PN> Remote <any, any> Host-R Addr: AR PR PR’ Host-L Addr: AL PL PN NAT Addr: AN Host-X Addr: AX (≠AR) PX NAT forwards all packets from any external endpoints (Addr : any, Port : any) to a local host (Host-L) which has already sent a packet to the external network, if the NAT behaves as “Endpoint-Independent Filtering”. Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Filtering Behavior (2) • Address-Dependent Filtering internal network external network Local <AL, PL> Global <AN, PN> Remote <AR, any> Host-R Addr: AR PR PR’ Host-L Addr: AL PL PN NAT Addr: AN Host-X Addr: AX (≠AR) PX NAT forwards packets from the only remote Host-R (Addr : AR, Port : any) thata local (Host-L) has already sent a packet to, but drops packets from any other remote hosts, if the NAT behaves as “Endpoint-Independent Filtering”. Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Filtering Behavior (3) • Address and Port-Dependent Filtering internal network external network Local <AL, PL> Global <AN, PN> Remote < AR, PR> Host-R Addr: AR PR PR’ Host-L Addr: AL PL PN NAT Addr: AN Host-X Addr: AX (≠AR) PX NAT forwards packets from the only endpoint (Addr : AR, Port : PR) that a local (Host-L) has already sent a packet to, but drops packets from any other remote hosts, if the NAT behaves as “Endpoint-Independent Filtering”. Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
ポートフォワーディング/ポートマッピング(Aterm DR203Cの設定画面) (例) UDP5730192.168.0.25730
パケットフィルタ(Aterm DR203Cの設定画面) Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
ISP規模のIPv4アドレス共有方式 • 大規模NAT(Large Scale NAT : LSN) • NAT444 • DS-lite[Dual-stack lite broadband deployments post IPv4 exhaustion] • A+P[The A+P Approach to the IPv4 Address Shortage] アドレスを共有する以上、どの形式を採用しても 使用できるポート番号数の制限は避けられない。 ⇒ NAT444以外のモデルにおいても本研究は有効 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
IPアドレス管理の構造 【出典】IPアドレス管理の基礎知識, http://www.nic.ad.jp/ja/ip/admin-basic.html Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
IPアドレスが欲しい時は 【出典】IPアドレスが欲しい時は, http://www.nic.ad.jp/ja/ip/whereto/ Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Projected RIR and IANA Consumption (/8s) Projected IANA Unallocated Address Pool Exhaustion: 09-Sep-2011 Projected RIR Unallocated Address Pool Exhaustion: 10-Oct-2012 【出典】Geoff Huston, IPv4 Address Report, http://www.potaroo.net/tools/ipv4/index.html Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
IPv4 Address Status 【出典】Geoff Huston, IPv4 Address Report, http://www.potaroo.net/tools/ipv4/index.html Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
NAT444 • NAT 444 model uses two Network Address and Port Translators (NAPTs) with three types of IPv4 address blocks. • Private Address inside CPE • an IPv4 Address blockbetween CPEs and LSN • IPv4 Global Addressesthat is outside LSN • The ISPs using NAT444provide IPv6 connectivityby dual stack model. The IPv4 Internet The IPv6 Internet LSN IPv4 Global Address IPv4 IPv6 Dual Stack IPv4 NAT / IPv6 Dual Stack CPE IPv4 Private Address / IPv6 Dual Stack IPv4/IPv6 Dual Stack host
NAT444 (Cont.) • What type of IPv4 Address block should we use between CPEs and LSN? • Global Address • RFC1918 Private Address (10/8) could conflict with its customer's network address • Class-E Address (240/4) • ISP Shared Address is intended to be assigned between CPE and LSN in a NAT444 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
DS-Lite (NAT464) ※B4 element = Basic Bridging BroadBand element Address Family Transfer Router (AFTR) ISP core network (IPv6) home router 2001:0:0:1::1 B4 concentrator 2001:0:0:2::1 IPv4 over IPv6 tunnel home network NAT-44 10.0.0.2 129.0.0.1 The dual-stack lite model is built on IPv4 over IPv6 tunnels to cross the network to reach a carrier- grade IPv4-IPv4 NAT. 10.0.0.2 host the Internet (IPv4) 128.0.0.1 host (IPv4) Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
A+P (Address + Port) • avoid the presence of a CGN function. • assign • the same IP public address to several customers at the same time (shared address) • a restricted port range to each customer • so that two customers with the same IP address have two different port ranges that do not overlap • introduce a new function in the ISP network called Port Range Router (PRR). Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
NAT444 利点 ユーザ宅の機器 (CPE)の交換が不要 欠点 NATが多段になる UPnPが機能しない ISP Shared Address (IPv4) が必要 ステートフル ×:Scalability/Availability DS-lite/A+P(ハイブリッド構成も可) 利点 NATが1段で済む UPnPが機能する ISP網をIPv6オンリーで構成可能 ステートレス ○:Scalability/Availability 欠点 ユーザ宅の機器 (CPE) の交換が必要 NAT444 v.s. DS-lite/A+P Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering
Internet 提案手法1(PortPredictionの拡張)の問題点 • NATが多段で自分が所属するNATより上にSymmetric NATがあると機能しない • でも、LSNはSymmetric NATで実装されない • NAT MUST have Endpoint-Independent Mapping [16] • LSNもNATなので、Endpoint-Independent Mapping (Cone NAT≠Symmetric NAT) として実装されるはず ○ これはSymmetric NATでOK × ○ これがSymmetric NATだと機能しない これもSymmetric NATでOK 自分 Kazuhiro TOBE, GOTO Laboratory, Dept. of Computer Science and Engineering