2002:c058:6301:: which is a
special magic anycast address for the nearest (in BGP terms, anyhow)
Relay Router.
By the way, it is possible to set up an entire network of machines that run only IPv6 and still have them be able to use the IPv4 Internet. See how it's done.
6to4 is a transitional scheme. It uses encapsulation, meaning that it "wraps" IPv6 packets inside of an IPv4 shell to move them between networks over the current Internet. During the transition to an IPv6 internet, encapsulation will have to be used to connect "islands" of IPv6 networks together across the vast ocean of IPv4. 6to4 is one such technique.
6to4 uses a special IPv6 prefix: 2002::/16. The IANA has set aside this address space just for 6to4. The 6to4 specification states that the 32 bits after 2002::/16 are the IPv4 address of the gateway machine for the network in question. This is how the packets know to find their way to your network -- the IPv4 address of your gateway is right in them! For example, if your gateway machine's IPv4 address is 192.168.2.199 (it obviously wouldn't be since that address is unroutable, but just for example), your IPv6 prefix would be 2002:c0a8:2c7::/48. Inside of that space, you have 80 bits of address space to do with as you please. Normally each subnet gets a 2^64 netmask, so that leaves 16 bits of site-local network addressing -- or 65,536 subnets.
To set up 6to4, you start with a machine that has both IPv4 and IPv6. I
will use FreeBSD 4.x as an example, mostly because it's the one I know
best. FreeBSD has a special pseudo-device that can be used to set up
6to4 called stf. Make sure you put pseudo-device
stf in your kernel configuration. After you have a kernel set up
for both IPv4 and IPv6, and you have stf0 available, and your IPv4
configuration is set up, add this to your rc.conf file:
ipv6_enable="YES" ipv6_network_interfaces="auto" ipv6_gateway_enable="YES" ipv6_prefix_nn0="2002:xxxx:xxxx" stf_interface_ipv4addr="xxx.xxx.xxx.xxx"Replace the
xs with your machine's IPv4 address, and
nn0 with your interface's name.This setup presumes you have a static IPv4 address. It is possible to use 6to4 with a dynamic address, but this means that your IPv6 prefix will change everytime your IPv4 address does.
Having done this much, you can now exchange packets with anyone else using 6to4 anywhere on the net. But what about folks not using 6to4 - sites on the 6bone or in other IPv6 address spaces? That's where this list comes into play. To get to non-6to4 addresses, you need to use a relay router. That is a machine that is set up both for 6to4 and a connection to some other address space. If you set such a machine as your default route, it will pass your packets on to the rest of the IPv6 universe.
You should always pick the entry in this list closest to you. You should measure the distance with an IPv4 traceroute (IPv6 traceroute will be pointless, as it will always be one hop). You should also try and select higher bandwidth hosts, as low bandwidths will represent a bottleneck for your outgoing non-6to4 traffic.
Once you've selected a relay router, make it your IPv6 default route by adding this to your rc.conf:
ipv6_static_routes="default" ipv6_route_default="default relay_router"The only rough spot with 6to4 is inverse DNS lookups. To turn an IPv6 address into a name, you perform a lookup similar to the traditional in-addr.arpa lookup you normally perform for IPv4. Write down all of the hex nibbles in the IPv6 address zero filling as necessary to make a string exactly 32 characters long. Next, reverse the order, put a '.' between each nibble, and finally tack
.ip6.int on the end.
Looking the result up should yield a PTR record just like for IPv4. The
problem is that so far as I can tell, no one is setting up delegations
for 2.0.0.2.ip6.int, so at the moment it is not possible to set
up an internet wide authoritative reverse DNS server for 6to4 addresses.
I hope that this situation changes (I would be happy to set up an
authoritative server for 2.0.0.2.ip6.int, but I would have to be
delegated authority for this zone by the ip6.int folks, and my mail to
them disappears into a black hole, so far as I can tell).