Comprimir e expandir IPv6
Um endereço por linha. Convertido no seu navegador enquanto escreve.
3 de 3 linhas são endereços IPv6 válidos.
- Comprimido (RFC 5952)
2001:db8::ff00:42:8329
Expandido2001:0db8:0000:0000:0000:ff00:0042:8329
- Comprimido (RFC 5952)
2a00:1450:4010:c0b::64
Expandido2a00:1450:4010:0c0b:0000:0000:0000:0064
- Comprimido (RFC 5952)
::ffff:192.0.2.1
Expandido0000:0000:0000:0000:0000:ffff:c000:0201
Um endereço IPv6 tem 128 bits, escritos como oito grupos de quatro dígitos hexadecimais. Quase ninguém escreve os 32 dígitos: os zeros à esquerda de um grupo podem ser omitidos e uma sequência de grupos a zero pode ser substituída por ::.
Como há várias formas curtas possíveis, o RFC 5952 define uma forma canónica que todas as ferramentas devem produzir: minúsculas, sem zeros à esquerda, :: para a sequência mais longa de pelo menos dois grupos a zero (a primeira em caso de empate) e nunca para um único grupo a zero. 2001:0db8:0000:0000:0000:ff00:0042:8329 passa a 2001:db8::ff00:42:8329.
A forma expandida, com os oito grupos e todos os zeros à esquerda, é necessária para ordenar texto, em alguns ficheiros de configuração e nos nomes de DNS inverso (ip6.arpa).
Perguntas frequentes
Porque é que :: só pode aparecer uma vez?
Dois :: seriam ambíguos: em 2001::1::2 não se saberia quantos grupos a zero cada um substitui.
As maiúsculas estão erradas?
São válidas como entrada, mas o RFC 5952 exige minúsculas na saída para que registos, configuração e comparações fiquem coerentes.
E os endereços com parte IPv4, como ::ffff:192.0.2.1?
São aceites. Nos endereços mapeados para IPv4, a forma curta mantém a parte IPv4 com pontos, como recomenda o RFC 5952.