What is IPv6?

IPv6 is the replacement Internet protocol for IPv4.

Why is IPv6 Needed Now?

With its 32-bit address format, IPv4 can handle a maximum 4.3 billion unique IP addresses.

The number might seem very large, but it is not enough to sustain the current growth of the internet. Although improvements have been made in IPv4 to extend the use of protocol, but, address exhaustion is inevitable.

With its 128-bit address format, IPv6 can support 3.4 x 1038 or340,282,366,920,938,463,463,374,607,431,768,211,456 unique IP addresses. This number of addresses is large enough to configure a unique address on every node in the Internet and still have plenty of addresses left over.

IPv6 Address Syntax


Unlike IPv4 where 32 bit addresses are divided along 8 bit boundaries, which is converted to its decimal equivalent and represented as a dotted decimal format, in IPv6 the 128 bit address is divided along 16 bit boundaries and each 16 bit block is then converted to a 4 digit-hexadecimal number separated by colons. Hence, IPv6 representation is known as colon-hexadecimal format.


IPv6 Address in Binary Form:





Now let us divide this 128 bit address in 16 bit boundaries:


0010000111011010   0000000011010011   0000000000000000   0010111100111011 0000001010101010   0000000011111111   1111111000101000   1001110001011010


Let us convert the 128 bit address into hexadecimal, delimited with colons:





Understanding Zero Suppression and Zero Compression


Let’s take an example of an IPv6 Address for reference:


2001:0001:0000:0000:0000:0550:0000:0007   <------- IPv6 address in colon-hexadecimal format.


It is not possible for you to remember this address. Hence, IPv6 has some tricks up its sleeves which can make your life easy.


  1. Leading Zero Suppression:  IPv6 allows you to remove “leading” zeros. Simply put, each 16 bit boundary must have at least one number.
  2. Zero Compression: Contiguous sequence of 16-bit blocks with a value of zero can be "compressed" to “::" But, remember that this process can only be used once in any given address.


If you take the above IPv6 example, then the same can be represented as:


                            2001:1:0:0:0:550:0:7 <----------- Each 16 bit boundary has one number