SAM: Stateless Address Mapping ~IPv6時代のIPv4を考える~ 松嶋 聡 ソフトバンクテレコム 6rdの経験から • IPv4アドレスは、タダのインターナルIDになった • 6rd ボーダールータはIPv6宛先アドレスから自動的に カプセル化IPv4宛先アドレスを導く • 6rd CEは設定されたIPv4アドレスから自動的に Delegated Prefixを導く • 6rdはコスト的に非常に有利なので、この原理の適用先 を広げたい なぜステートレスがよい? ステートレス ステートフル ユーザー/セッション数に応じた設備投資 トラフィック量に応じた設備投資 IPv4 Internet IPv6 IPv4 Internet IPv6 Point-to-Point NBMA 6rd 上 SP’s IPv6 prefix IPv4 IPv4 下 Local Site Interface ID もしも上下逆転が可能なら IPv4 over IPv6 上 IPv4 SP’s IPv6 prefix IPv4 下 Local Site Interface ID そんなにうまくは行かない 上 SP’s v4 prefix SP’s IPv6 prefix はみ出る ユーザー ユニーク部 ユーザーユニーク部 下 Local Site Interface ID 解決策その1 32bit SP’s v4 prefix SP’s IPv6 prefix 上 ユーザー ユニーク部 ? ユーザーユニーク部 下 v4アドレス共通部を 追い出す Local Site Interface ID 解決策その2 32bit SP’s v4 prefix SP’s IPv6 prefix 上 ユーザー ユニーク部 TCP/UDP ?Port ユーザーユニーク部 下 Local Site 空いたビットをポート 番号でうめる Interface ID Stateless Address Mapping for IPv4 over IPv6 48bit (IPv4 + Port) 32bit ISP’s prefix SP’s IPv6 prefix 16bit ユーザー TCP/UDP ユニーク部 Port ユーザーユニーク部 上 IPv4アドレス共有 local site Interface ID 下 Example Configurations SP IPv4 Prefix = 10.255.0.0/16 IPv4 routing table ... 10.255.0.0/16 => 10.0.0.1 ... IPv4 IPv4 routing table 10.255.0.0/16 => tunnel0 Default => 10.0.0.2 10.0.0.1 Tunnel0 address=10.255.255.254/32 Border Relay Router tunnel0 2400:2401::1 - Define IPv4 global address and NAPT ports, consist of SP’s IPv6 address - Encapsulate by IPv6 packet appropriately SP’s IPv6 access NW 2400:2400::/24 IPv4 address: 10.255.AB.CD NAPT ports: 0xEF00~0xEFFF DHCP-PD 2400:24AB:CDEF::1 1つのIPv4アドレスを 256人で共有 Tunnel0 address=Unnumbered Border Relay = 2400:2401::1 LAN address =192.168.3.1/24 tunnel0 CPE 192.168.3.10/24 Example behavior - UpstreamSP IPv4 Prefix = 10.255.0.0/16 IPv4 routing table ... 10.255.0.0/16 => 10.0.0.1 ... IPv4 Dst=1.1.1.1:80 Src=10.255.AB.CD:0xEF00 IPv4 routing table 10.255.0.0/16 => tunnel0 Default => 10.0.0.2 10.0.0.1 Packet TCP IPv4 Tunnel0 address=10.255.255.254/32 Border Relay Router tunnel0 Dst=1.1.1.1:80 Src=10.255.AB.CD:0xEF00 2400:2401::1 Packet - Define IPv4 global address and NAPT ports, consist of SP’s IPv6 address - Encapsulate by IPv6 packet appropriately TCP IPv4 SP’s IPv6 access NW 2400::2400/24 NAPT IPv4 address: 10.255.AB.CD NAPT ports: 0xEF00~0xEFFF Packet IPv6 Dst=2400:2401::1 Src=2400:24AB:CDEF::1 Dst=1.1.1.1:80 Src=192.168.3.10:1024 TCP IPv4 tunnel0 CPE 192.168.3.10/24 LAN address =192.168.3.1/2 Example behavior - Downstream SP IPv4 Prefix = 10.255.0.0/16 IPv4 routing table ... 10.255.0.0/16 => 10.0.0.1 ... IPv4 Dst=10.255.AB.CD:0xEF00 Src=1.1.1.1:80 IPv4 routing table 10.255.0.0/16 => tunnel0 Default => 10.0.0.2 10.0.0.1 Packet TCP IPv4 Tunnel0 address=10.255.255.254/32 Border Relay Router tunnel0 Dst=10.255.AB.CD:0xEF00 Src=1.1.1.1:80 2400:2401::1 Packet - Define IPv4 global address and NAPT ports, consist of SP’s IPv6 address - Encapsulate by IPv6 packet appropriately TCP IPv4 SP’s IPv6 access NW 2400:2400::/24 NAPT IPv4 address: 10.255.AB.CD NAPT ports: 0xEF00~0xEFFF Packet IPv6 Dst=192.168.3.10:1024 Src=1.1.1.1:80 TCP IPv4 tunnel0 CPE Dst=2400:24AB:CDEF::1 Src=2400:2401::1 192.168.3.10/24 LAN address =192.168.3.1/2 Example behavior - Upstream(2) IPv4 routing table SP IPv4 Prefix = 10.255.0.0/16 ... 10.255.0.0/16 => 10.0.0.1 ... IPv4 IPv4 routing table 10.255.0.0/16 => tunnel0 Default => 10.0.0.2 10.0.0.1 Tunnel0 address=10.255.255.254/32 Border Relay Router tunnel0 Dst=10.255.27.36:66 Src=10.255.AB.CD:0xEF00 Packet TCP IPv4 2400:2401::1 Hex : 1B 24 42 IPv6 SP’s IPv6 access NW 2400::2400/24 Dst=2400:241B:2442::1 Src=2400:24AB:CDEF::1 Dst=10.255.27.36:66 Src=192.168.3.10:1024 IPv4 address: 10.255.AB.CD NAPT ports: 0xEF00~0xEFFF NAPT Packet TCP IPv4 tunnel0 CPE 192.168.3.10/24 サマリ • 6rd著者(Rémi Després)によるSAMの詳細は、以下のI-Dにあり ます “draft-despres-softwire-sam” • 6rdの原理をIPv4 over IPv6にも適用すると、1つのIPv4アドレ スを複数ユーザーが共有することも可能 • CPEはIPv4アドレスと利用可能なポート番号を自動的に導く • ボーダールータはIPv4宛先アドレス,ポート番号から自動的に カプセル化IPv6宛先アドレスを導く • NATはCPEの1段のみ。ボーダールータはNATステートなし もちろんトンネルもステートレス
© Copyright 2025 ExpyDoc