Wednesday, September 10, 2008

Cool.. .cool... COOL!!!!!!!

I'm starting to get some e-mails about IPv6. Questions and what-not. Here are some of the answers.

Q: I don't get why some IPv6 addresses are long than others.
A: Great question. All IPv6 addresses are quite long, 128 bits long in fact. A "long-hand" IPv6 address could read as follows: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. IPv6 can also display "short-hand" addresses in which case the same address could collapse all "0"s to a single zero. As such the example address could read as follows: 2001:0db8:85a3:0:0:8a2e:0370:7334. Furthermore any time two more fields of all zeros back up to one another you can toss out the zeros and remove the ":" between them. The example address would now read: 2001:db8:85a3::8a2e:370:7334. What if you have more the two "::" back to back? You can toss them out too. So 2002::/16 could be written out 2002:0000:0000:0000:0000:0000:0000:0000/16 where 16 bits are reserved for the network field and the remaining 112 bits are left for the user to configure. The smallest of all addresses is the IPv6 loopback: ::1/128 (written long-hand 0000:0000:0000:0000:0000:0000:0000:0001/128).

Q: You said that 64 bits were left to address hosts, isn't that a long address for a single host?
A: Why yes it is. What nearly all IPv6 networks do is use that 64 bit field to map your hex mac address to your machine address in IPv6. Yup, once you get the hang of it you can strip out the mac address visually from any IPv6 address. It's really quite cool.

Q: What's the deal with "Fe80" address? I have one on my computer but I can't ping any IPv6 hosts.
A: Ah! Your machine will assign itself an address in this range if there is no DHCP server offering an IPv6 address on your local subnet. Think of it as akin to 169.254.x.x address in IPv4. You can't route with them, but they are there for zero-configuration purposes, that kind of thing. But look closely at those last 64 bits of your self-assigned IPv6 address. They map (almost) to your mac address, right? My work Linux box: HWaddr 00:B0:D0:C1:48:DB and my self-assigned IPv6 address is fe80::2b0:d0ff:fec1:48db/64. True, there are a couple differences but once you get the hang of the substitutions you'll be able to decipher your MAC address fairly easily.

Q: I have only an IPv4 host, is there any way I can talk to IPv6 hosts?
A: No, not yours. I'm sorry, but your host has to be running IPv6 in order to talk to other IPv6 devices. The easiest way to jump aboard and join the IPv6 party is to configure your home Linux/BSD router as a 6to4 router or simply purchase any device that does 6to4 out of the box (Apple Airport gateways come to mind).

Keep the questions coming, people!

No comments: