Diferente do IPv4, que usa decimal separado por pontos (ex: 192.168.1.1), o IPv6 é representado em Hexadecimal separado por dois pontos (:).
1. Estrutura Básica
Um endereço IPv6 completo tem 32 caracteres hexadecimais, divididos em 8 grupos de 4 dígitos (hextetos). Cada dígito hexadecimal representa 4 bits ($8 \times 4 \times 4 = 128$ bits).
Exemplo de formato completo:
2001:0db8:0000:0000:0008:0800:200c:417a
2. Regras de Simplificação (RFC 5952)
Para facilitar a leitura e escrita humana, existem duas regras fundamentais de compressão:
Regra 1: Omissão de Zeros à Esquerda (Leading Zeros)
Dentro de cada grupo de 4 dígitos, os zeros à esquerda podem ser omitidos.
- :0db8: torna-se :db8:
- :0000: torna-se :0:
- :0800: torna-se :800:
Exemplo com a Regra 1:
2001:db8:0:0:8:800:200c:417a
Regra 2: Compressão de Zeros (Double Colon - ::)
Uma sequência contínua de um ou mais grupos compostos apenas por zeros pode ser substituída por dois pontos duplos (::).
IMPORTANTE: Esta regra só pode ser aplicada uma única vez por endereço. Se houver duas sequências de zeros, deve-se comprimir a maior delas.
Exemplo com a Regra 1 e 2:
2001:db8::8:800:200c:417a
3. Endereço de Loopback e Não Especificado
- Loopback (Localhost):
- Completo:
0000:0000:0000:0000:0000:0000:0000:0001 - Comprimido:
::1
- Completo:
- Não Especificado (Unspecified Address):
- Completo:
0000:0000:0000:0000:0000:0000:0000:0000 - Comprimido:
::
- Completo:
4. Representação de Rede (Prefixo)
No IPv6, não existem máscaras de sub-rede no formato decimal (como 255.255.255.0). Usa-se exclusivamente a Notação CIDR para indicar o tamanho do prefixo de rede.
Exemplo:
2001:db8:abcd:12::/64
- O /64 indica que os primeiros 64 bits identificam a rede e os 64 bits restantes identificam a interface (ID de Host).
Padrões Comuns:
- /48: Prefixo comum atribuído por ISPs para empresas/residências.
- /64: Tamanho padrão para uma única sub-rede (exigido para o funcionamento do SLAAC).
- /128: Identifica um único host (equivalente ao /32 no IPv4).