naoki86star

インターネットの片隅でなにかしら書いてみる

IPv6アドレスのこと(6to4)

 IPv6関係で思い出したことです。IPv4からIPv6を使う6to4という方法を聞いたことあって、IP Protocol番号に41というのがあるのは知っていたけどもどういうように使うのかは知りませんでした。

 そこで、このへんとかこのへんみてみたら普通にlinuxで、できるものみたいです。6to4relayルータというのがインターネットにつながっており、これが仲介してくれる。6to4 routerを自分のlinuxノードの中のinterface デバイスとして設定してそれをIPv6のデフォルトGWにするとtun6to4デバイスがカプセル化したIPv4パケットで6to4relayに向けて飛ばしてくれるという段取り*1、ということだそうです。

               6to4 router               6to4relay                 
 [ process ]<=>[ tun6to4 ]<=========>[ 192.88.99.1 ]<=========>[ destination(IPv6) ]
                (device) |-IPv4区間-|              |-IPv6区間-|

 ちょっとだけVM(IPv6を持たない)を立ち上げて10分間でトライしてみます。

sgw:~# /sbin/ip tunnel add tun6to4 mode sit remote any local 45.76.●.170
sgw:~# /sbin/ip link set dev tun6to4 up
sgw:~# /sbin/ip -6 addr add 2002:2d4c:●aa::1/16 dev tun6to4
sgw:~# /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1
sgw:~# 
sgw:~# ping ipv6.google.com
PING ipv6.google.com(sb-in-x71.1e100.net (2404:6800:4003:c01::71)) 56 data bytes
64 bytes from sb-in-x71.1e100.net (2404:6800:4003:c01::71): icmp_seq=1 ttl=48 time=1.89 ms
64 bytes from sb-in-x71.1e100.net (2404:6800:4003:c01::71): icmp_seq=2 ttl=48 time=1.96 ms
^C
--- ipv6.google.com ping statistics ---

2002:2d4c:●aa::1は求めた45.76.●.170の6to4アドレス
192.88.99.1はrelay6to4として決められているアドレスとのこと。これが世界で一台ぽっきりでなく、同じIP 192.88.99.1のルータがanycastという仕組みで世界に散らばって配置されているらしいのです。

 簡単に三ヶ所からtraceroute してみると

sgw:~# traceroute 192.88.99.1
traceroute to 192.88.99.1 (192.88.99.1), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  6939.sgw.equinix.com (27.111.228.81)  0.851 ms  0.810 ms  0.872 ms
 5  192.88.99.1 (192.88.99.1)  0.797 ms  0.839 ms  0.849 ms
tyo:~$ traceroute 192.88.99.1
traceroute to 192.88.99.1 (192.88.99.1), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  6939.tyo.equinix.com (203.190.230.40)  0.773 ms  0.777 ms  0.818 ms
 5  192.88.99.1 (192.88.99.1)  0.219 ms  0.334 ms  0.314 ms
atl:~$ traceroute 192.88.99.1
traceroute to 192.88.99.1 (192.88.99.1), 30 hops max, 60 byte packets
 1  * * *
 2  45.63.44.65 (45.63.44.65)  3.320 ms  6.246 ms  19.606 ms
 3  * * *
 4  xe-9-2-3.edge1.Atlanta4.Level3.net (4.53.237.201)  17.372 ms atl-b21-link.telia.net (62.115.151.174)  0.350 ms  0.321 ms
 5  atl-b22-link.telia.net (62.115.135.64)  0.524 ms  0.481 ms *
 6  hurricane-ic-138358-atl-bb1.c.telia.net (213.248.71.66)  1.043 ms hurricane-ic-129712-atl-bb1.c.telia.net (213.248.79.70)  0.991 ms hurricane-ic-138358-atl-bb1.c.telia.net (213.248.71.66)  1.005 ms
 7  62.209.167.254 (62.209.167.254)  127.659 ms 100ge8-1.core1.ash1.he.net (184.105.213.70)  13.556 ms 62.209.167.254 (62.209.167.254)  127.678 ms
 8  ae6.se.sto.dch.cr1.port80.se (82.96.1.133)  128.081 ms  128.028 ms 192.88.99.1 (192.88.99.1)  13.541 ms

 なるほどです。どこからも15msec以下8hop以下のところにありました。

*1:厳密にはtun6to4から外向きにはethXを経由