IPv6 is an identifier with a fixed length of 128-bit1 (2128), which can represent more than 340 short-scale undecillion2 different values. This is a decimal number with 39 digits:
In contrast to the dot-decimal notation used in IPv4, which has four decimal 8-bit groups, IPv6 uses a colon-hexadecimal notation which has eight hexadecimal groups where each has 16 bit:
2001:0DB8:7654:0010:FEDC:0000:0000:3210
A hexadecimal number can reflect 16 (24) different values (0-9, A-F) which corresponds to exactly 4 bit. Since every group consists of four hexadecimal numbers, each group has 16 bit (216):
16
32
48
64
2001:0DB8:7654:0010:
80
96
112
128
FEDC:0000:0000:3210
IPv6 addresses are separated into two 64-bit parts, where the first on the left is the subnet prefix and the second on the right is the interface identifier (IID), which is a modified 64-Bit Extended Unique Identifier (EUI-64):
2001:0DB8:7654:0010:FEDC:0000:0000:3210
Example for often used ranges:
/16
/32
/48
/56
/64
2001:0DB8:7654:0010:
Interface Identifier
FEDC:0000:0000:3210
2.0 Compressed Format
Leading zeros in a group can be omitted as long the group would not end up empty:
2001:0DB8:0000:0010:FEDC:0000:0000:3210
► Result:
2001:DB8:0:10:FEDC:0:0:3210
Additionally, one or more groups only containing zeros (0 or 0000) can be replaced with a double colon (::). However, this can be done only once per address, so one would usually choose the series with the most subsequent zero groups. In our example, that will be the red series: