Adres IPv6 w zapisie tekstowym składa się standardowo z 8 grup (hextetów) zapisanych szesnastkowo, oddzielonych dwukropkami, np. xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx. Każda grupa ma wartość od 0000 do FFFF (wiodące zera można pomijać).
W IPv6 istnieje specjalna reguła skracania: ciąg jednej lub wielu kolejnych grup o wartości 0000 można zastąpić skrótem "::". Kluczowy warunek jest jednak taki, że "::" może wystąpić w adresie tylko raz, bo w przeciwnym razie nie dałoby się jednoznacznie odtworzyć liczby pominiętych grup do łącznie ośmiu.
Zapis "2003:0dba:::::1535:43cd" zawiera wiele kolejnych dwukropków, co w praktyce oznacza próbę użycia kompresji zer w sposób niezgodny z regułą (powstaje wielokrotne "puste" pole). Taki zapis nie jest poprawnym adresem IPv6.
Pozostałe przykłady są poprawne, ponieważ:
- Pełny zapis z ośmioma grupami (z zerami) jest dozwolony i jednoznaczny.
- Wiodące zera w grupach mogą być zachowane (np. "0dba") lub skrócone (np. "dba").
- Skrót "::" użyty jednokrotnie poprawnie zastępuje pewną liczbę grup 0000, tak aby po "rozwinięciu" nadal było ich łącznie osiem.
Wskazówka egzaminacyjna: gdy widzisz adres z podejrzanie długim ciągiem ":", sprawdź, czy nie próbuje on "udawać" kilku skrótów naraz. Poprawny adres może mieć wiele dwukropków, ale skrót kompresji to zawsze dokładnie podwójny dwukropek i tylko w jednym miejscu.