Here is the standrad as outlined by the Internet Engineering Task Force (IETF)
in "RFC 4291," which is titled "IP Version 6 Addressing Architecture."
"There are three conventional forms for representing IPv6 addresses as text
1. The preferred form is x:x:x:x:x:x:x:x, where the 'x's are one to four
hexadecimal digits of the eight 16-bit pieces of the address.
Note that it is not necessary to write the leading zeros in an individual
field, but there must be at least one numeral in every field (except for the
case described in 2.).
2. Due to some methods of allocating certain styles of IPv6 addresses, it will
be common for addresses to contain long strings of zero bits. In order to make
writing addresses containing zero bits easier, a special syntax is available to
compress the zeros.
The use of '::' indicates one or more groups of 16 bits of zeros. The '::' can
only appear once in an address. The '::' can also be used to compress leading
or trailing zeros in an address.
For example, the following [address]
may be represented as
For example, the following are legal representations of the 60-bit prefix
The following are NOT legal representations of the above prefix:
2001:0DB8:0:CD3/60 may drop leading zeros, but not trailing zeros, within any
16-bit chunk of the address
2001:0DB8::CD30/60 address to left of "/" expands to
2001:0DB8::CD3/60 address to left of "/" expands to
Here is how some websites try to explain the above.
NTT - "IPv6 Service"
When writing a network address, it is written as an address followed
by an extension.
Multiple zeros may be abbreviated as follows:
Within each four-digit section, the lead zero or zeros may be omitted, for
example, '0102' may be abbreviated to '102,' and '0000' may be abbreviated
Sets of four zeros that are in a row can be abbreviated with two colons (::).
However, the double-colon abbreviation may only be used once in each address.
The sample address that was given above may be abbreviated as follows.
Omitting initial zeros from each four-digit set.
Replacing consecutive zero sets with a double-colon.
FreeBSD - "IPv6"
"The canonical form is represented as: x:x:x:x:x:x:x:x, each ?x? being a 16 Bit
hex value. For example FEBC:A574:382B:23C1:AA49:4592:4EFE:9982
Often an address will have long substrings of all zeros therefore one such
substring per address can be abbreviated by '::'. Also up to three leading '0's
per hexquad can be omitted. For example fe80::1 corresponds to the canonical
A third form is to write the last 32 Bit part in the well known (decimal) IPv4
style with dots '.' as separators. For example 2002::10.0.0.1 corresponds to
the (hexadecimal) canonical representation
2002:0000:0000:0000:0000:0000:0a00:0001 which in turn is equivalent to writing
Wikipedia - "IPv6"
"If a four-digit group is 0000, the zeros may be omitted. For example,
2001:0db8:85a3:0000:1319:8a2e:0370:1337 can be shortened as
2001:0db8:85a3::1319:8a2e:0370:1337. Following this rule, any group of
consecutive 0000 groups may be reduced to two colons, as long as there is only
one double colon used in an address. Leading zeros in a group can also be
omitted. Thus, the addresses below are all valid and equivalent:
Having more than one double-colon abbreviation in an address is invalid as it
would make the notation ambiguous.
A sequence of 4 bytes at the end of an IPv6 address can also be written in
decimal, using dots as separators. This notation is often used with
compatibility addresses (see below). Thus, ::ffff:188.8.131.52 is the same address
Fun technical statistic from the FreeBSD site:
"[T]here are approximately 6.67 * 10^27 IPv6 addresses per square meter on our
If you need any clarification, please feel free to ask.
Google search on: IPv6 abbreviated
Looking Forward, denco-ga - Google Answers Researcher