10 things about IPv6 addressing

IPv6 has been inching toward becoming a mainstream technology.  But where to begin when it comes to IPv6 adoption. Here I share 10 pointers which I learnt and hope it makes you understand how IPv6 addressing works.

IPv6 addressing are 128-bit hexadecimal numbers. As we have all seen that IPv4 addresses are made up of four numerical octets, which combine to form a 32-bit address. Each octet consists of a decimal ranging from 0-255, and are seperated by periods (.) But in IPv6 addresses are expressed in a series of eight 4-character hexadecimal numbers, which represents 16-bits each ( for a total of 128-bits)

Link local unicast addresses are easy to identify. IPv6 reserves certain type of headers for different types of addresses. Eg: Local unicast address always begin with FE80 ; multicast always begins with FF0x ( x is place holder, 1-8 )

Leading zeroes are suppressed.Because of their long bit lengths IPv6 addresses tend to contain lot of zeroes. So, when a section of an address starts with one or more zeroes, those zeroes are nothing more than placeholders and can be suppressed. Eg:  FE80:CD00:0000:0000:0CED:1342:2A11:756D so if this is a real address, then any leading zeroes can be suppressed and result would be – FE80:CD00:0:0:0CED:1342:2A11:756D. This way the address is shortened.

Inline zeroes can sometimes be suppressed. Real IPv6 address tend to contain nothing but long sections of zeroes, which can also be suppressed. Eg: FE80:CD00:0000:0000:0000:0000:2A11:756D. Rather than suppressing leading zeroes, one can get rid of all by using two colons. Hence the address now becomes – FE80:CD00::2A11:756D. Two colons in the address tells the OS that everything in between them is a zero. Two things that has to be kept in mind is that, one can suppress a section only if it contains nothing but zeroes. Another, is one can use double colon notation only ONCE in any given address.

Loopback address do not even look like addresses. The designated loopback address in IPv6 looks like this – 0000:0000:0000:0000:0000:0000:0000:0001. So, once all the zeroes have been suppressed, the address becomes – ::1

No traditional subnet mask. In IPv4 every IP address comes with correponding subnet mask. IPv6 also uses subnets but the subnet ID is inbuilt into the address. In IPv6, first 48-bits are network prefix , next 16-bits are subnet-ID, last 64-bits are interface ID. Thus, using a 16-bit subnet and 64-bit device ID provides for 65,535 subnets, with quintillions ( number that can be respresented as a one followed by 18 zeroes ) of possible device ID per subnet.

DNS is still valid. IPv6 uses AAAA resource records, referred as Quad A records.

IPv6 can tunnel its way across IPv4. IPv6 is generally not compatible with IPv4 networks. As a result, a number of transition technologies use tunnelling to fascilitate cross network compatibility. Teredo and 6to4 are two of them.

You might be using IPv6. Beginning with Windows Vista, MS began installing IPv6 by default. Because Windows implementation of IPv6 is self configuring, your computers could be broadcasting IPv6 traffic w/o your even knowing it.

Windows does not fully support IPv6. For Eg: it is possible to include an IP address within a Universal Naming Convention ( \\\C$ ), however one can’t do this with IPv6 address, because as Windows sees a colon it assumes one is referring to drive letter. And the work around for this is that – MS has established a special domain for IPv6 addressing. All that needs to be done is – replace colons ( : ) with dashes ( – ) and append .ipv6.literal.net

Previous Post
Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: