Choose the zero run
03A double colon replaces consecutive all-zero groups. Choose the longest run; if tied, choose the first.
The unspecified address is ::. Do not write :: twice or confuse this value with loopback ::1.
Source for this drawing: RFC 5952 · Read RFC section 4.2.3 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Compress one complete eligible run, never a single group.
- The symbol :: MUST NOT shorten just one 16-bit zero field. When an eligible run exists, use :: to its maximum capability.
- The longest consecutive run MUST be shortened. When runs have equal length, the first run MUST be shortened.
- Only one :: is allowed. It can replace leading, trailing, or all eight zero groups. Expansion must still recover exactly eight groups.
The maximum-compression rule is read together with the explicit one-zero exception. Held erratum 6272 discusses their ordering; it does not remove that exception. Each state below is a separate example, not an address changing on a network.
Read the RFC section ↗