What is IPv6?

Posted: June 8, 2010 in Uncategorized

Simply stated, Internet Protocol (IP) version 6 (v6) is an extension of the addressing scheme to allow for a far greater number of addresses to be assigned over the currently used IP version 4.  To clarify this, you must first understand a few basic principles of the address allocation.

Just as if you were going to send a letter to someone, you have to put an address on the envelope that can be used by the intermediate handlers (postal service, etc.) that will identify the location of the recipient of the letter.  This address has several parts including the region of the world or country, the street that the recipient is on, and the individual building or unit on that street.  For computers to talk to each other they have to create a packet of information that will be sent and this packet also has to be properly addressed for delivery. For one host to speak to another host, an address has to be used to identify the segment of the internet that the packet will be routed to and the individual host has to be identified as well.

In IPv4, the address space for this identification is 32 bits in length and is subdivided so that part of the address will identify the network segment and the rest of the address will identify the individual host on that network segment.  When computers speak to each other, information is passed as a series of 0’s and 1’s that are encoded by the transmission mechanism (light, voltage, etc.).  The receiving computer will interpret the (binary) 0’s and 1’s to read and handle the message that is received.  This gives us a deterministic range of values based upon the number of bits used, each bit being a single 0 or 1.  To calculate the number of this range you can simple use a formula of 2 (number of values a single bit can have) to the power of the number of bits.  For example, if you have 3 bits you can get a total of 8 combinations (2 to the power of 3, or 2 x 2 x 2 = 8 ) as displayed below.

In IPv4 there are 32 bits assigned for each address (source and destination).  Doing the simple math means this will give you a total possibility of 4,294,967,296 combinations from the 32 bits.  According to Internet World Stats the 2009 population of the top 10 countries alone was 3,988,712,105, with a world population of 6,767,805,208.  Based on the fact that many people have more than one computer and other devices, such as mobile phones, are also requiring addresses, it is not too difficult to see how we can easily run out of addresses for devices to use.

Compound this with the fact that not all of the approximately 4.3 billion address are available for use.  In IPv4 addresses are classified as A, B, C, D, etc. for usage allocation.  Class A designates that the first 8 bits of the address identify the network and the remaining 24 bits can be used to identify subnetworks and hosts, class B designates the first 16 bit for the network identification leaving 16 bit for assignment, class C designates the first 24 bits for the network leaving 8 bits for subnets and hosts, class D is for multicast addressing, etc.  There are special purpose addresses like class A address 127.0.0.0 (for loopback) and private addresses (10.0.0.0, 172.16-31.0.0, and 192.168.0-255-0).  These are addresses that cannot be assigned for public use.  The loopback network (127.0.0.0) is based of a fixed value for the first 8 bits identifying this as a special purpose addresses and therefore the remaining combinations of the following 24 bits cannot be used for public identification, this address alone excludes 16,777,217 (2 to the power of 24 plus the value of 127 for the first eight bits) from public assignment.

IPv6 expands the addressing possibilities by extending the number of bits used for host addressing from 32 bits to 128 bits.  This quadruples the number of bits allocated for addressing and gives us an exponential growth of binary possibilities to a value of 340,282,366,920,938,463,463,374,607,431,768,211,456.  With this number of possible combinations, it seems like we will never have a problem with addressing again.  Don’t get overly excited yet, it my article on the format of IPv6 addressing I explain a lot about what is and what is not usable out of this space.

Because the number of bits for addressing was expanded, the information header (Internet Protocol) had to be redesigned to support the new address space.  Because we have had over twenty years of experience working with IPv4, this hindsight was used to make improvements to the overall operation of IP to include streamlining the header to make processing more efficient, auto-configuration capability of the addressing assignments, improvements for mobility support, and improvements to IPSec security to name a few.  All of these are beyond the scope of this posting but will be discussed in other postings.

Leave a comment