OdeToCode IC Logo

A 30-Second Introduction to IPv6

Monday, October 8, 2007

IPv4 is hanging around for the near future, but I took a few minutes to find out what all the IPv6 hexadecimal gobbledygook is about when I type ipconfig in Vista.

Tunnel adapter Local Area Connection* 16:
Connection-specific DNS Suffix . :
IPv6 Address. . . . . . . . . . . : 2001:0:4136:e390:3094:8f8:e755:e2d
Link-local IPv6 Address . . . . . : fe80::3094:8f8:e755:e2d%33
Default Gateway . . . . . . . . . : ::

There are a few limitations in IPv4, the most notable being a 32-bit address space. The free pool of IPv4 addresses is nearly empty. IPv6 addresses are 128 bits wide (the same size as a GUID), and provide a mind-numbingly huge address space. TCPGuide.com says:

If we had been assigning IPv6 addresses at a rate of 1 billion per second since the earth was formed, we would have by now used up less than one trillionth of the address space.

Wikipedia explains the :: notation seen in the output above:

IPv6 addresses are normally written as eight groups of four hexadecimal digits. For example, 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 is a valid IPv6 address. If one or more four-digit group(s) is 0000, the zeros may be omitted and replaced with two colons(::). For example, 2001:0db8:0000:0000:0000:0000:1428:57ab can be shortened to 2001:0db8::1428:57ab.

And Microsoft's IPv6 FAQ explains the % symbol:

Link-local addresses are reused on each link. ... Because of this address reuse capability, link-local and site-local addresses are ambiguous. To specify which link on which the destination is located or within which site the destination is located, an additional identifier is needed. This additional identifier is a zone identifier (ID), also known as a scope ID ... The syntax specified in RFC 4007 for identifying the zone associated with a link-local or site-local address is Address%zone_ID.

Now I know what the output means, but I don't know if I'll ever be able to remember a v6 address like I can remember v4 address. At least the loopback address (::1 in v6) will be less typing than its v4 counterpart (