Text representation of IPv6 addresses

This section is copied from the "IP Version 6 Addressing Architecture" by R.Hinden and S. Deering <draft-ietf-ipngwg-addr-arch-03.txt>

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

  1. The preferred form is x:x:x:x:x:x:x:x, where the 'x's are the hexadecimal values of the eight 16-bit pieces of the address.

    Examples:

    FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

    1080:0:0:0:8:800:200C:417A

    Note  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 the method 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 two "::" indicate multiple groups of 16-bits of zeros.

    For example the multicast address:

    FF01:0:0:0:0:0:0:43

    may be represented as:

    FF01::43

    The "::" can only appear once in an address. The "::" can also be used to compress the leading or trailing zeros in an address.

  3. 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 the 'x's are the hexadecimal values of the six high-order 16-bit pieces of the address, and the 'd's are the decimal values of the four low-order 8-bit pieces of the address (standard IPv4 representation).

    Examples:

    0:0:0:0:0:0:13.1.68.3

    0:0:0:0:0:FFFF:129.144.52.38

    or in compressed form:

    ::13.1.68.3

    ::FFFF:129.144.52.38