Internet Protocol Version 6 (IPv6)

As described above, IPv4 addresses are represented in dotted-decimal format. The 32-bit address is divided along 8-bit boundaries. Each set of 8 bits is converted to its decimal equivalent and separated by periods. In contrast, IPv6 addresses are 128-bits divided along 16-bit boundaries. Each 16-bit block is converted to a 4-digit hexadecimal number and separated by colons. The resulting representation is called colon-hexadecimal.

There are three conventional forms for representing IPv6 addresses as text strings:

The preferred form is x:x:x:x:x:x:x:x, where x is the hexadecimal value of the eight 16-bit pieces of the address. For example:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
Guideline: It is not necessary to write the leading zeros in an individual field, but there must be at least one numeral in every field. The following is the only exception.

It is common in some styles of IPv6 addresses to contain long strings of zero bits. To make writing addresses containing zero bits easier, a special syntax is available to compress the zeros. Use two colons (::) to indicate multiple groups of 16 bits of zeros. The two colons (::) can appear only once in an address. The two colons (::) can also be used to compress the leading zeros, the trailing zeros, or both in an address.

For example, the following addresses:
1080:0:0:0:8:800:200C:417A  a unicast address          
FF01:0:0:0:0:0:0:101        a multicast address          
0:0:0:0:0:0:0:1             the loopback address          
0:0:0:0:0:0:0:0             the unspecified addresses
can be represented as:
1080::8:800:200C:417A       a unicast address          
FF01::101                   a multicast address          
::1                         the loopback address          
::                          the unspecified addresses

An alternative form that is sometimes more convenient when dealing with a mixed environment of IPv4 and IPv6 nodes is x:x:x:x:x:x:d.d.d.d, where x is the hexadecimal value of the six high-order 16-bit pieces of the address, and d is the decimal value of the four low-order 8-bit pieces of the address (standard IPv4 representation). For example, 0:0:0:0:0:0:13.1.68.3 can be expressed in condensed form as ::13.1.68.3