Expansor e Compressor de IPv6
Expande qualquer endereço IPv6 para a sua forma completa de 8 grupos ou comprime-o para a forma canónica do RFC 5952, localmente no teu navegador.
A carregar Expansor e Compressor de IPv6… Se nada acontecer, ativa o JavaScript.
Um endereço IPv6 é um número de 128 bits, normalmente escrito como oito grupos de quatro dígitos hexadecimais separados por dois pontos, por exemplo 2001:0db8:0000:0000:0000:0000:0000:0001. Como essa forma completa é longa e cheia de zeros, o IPv6 permite duas regras abreviadas: os zeros iniciais dentro de um grupo podem ser eliminados, e uma sequência de grupos consecutivos todos a zero pode ser substituída por dois pontos duplos. Por isso, o mesmo endereço pode escrever-se de forma compacta como 2001:db8::1. O problema é que um único endereço tem muitas representações textuais válidas, o que torna os endereços difíceis de comparar a olho, propensos a erros ao teclá-los em regras de firewall e inconsistentes entre registos e ficheiros de configuração.
Perguntas frequentes
O endereço que introduzo é enviado para um servidor?
Qual é a diferença entre IPv6 expandido e comprimido?
O que exige o RFC 5952 para a forma canónica?
Porque é que :: só pode aparecer uma vez num endereço?
Posso colar um endereço com parênteses retos ou um identificador de zona?
Lida com endereços mapeados de IPv4 como ::ffff:192.168.0.1?
O que conta como um endereço IPv6 inválido aqui?
Porque é que o meu endereço volta em minúscula?
Sobre Expansor e Compressor de IPv6
Esta ferramenta converte nos dois sentidos. Dá-lhe qualquer endereço IPv6 válido em qualquer notação e ela produz a forma totalmente expandida, os oito grupos preenchidos a quatro dígitos com cada zero visível, e a forma canónica comprimida definida pelo RFC 5952. A forma expandida é ideal quando precisas de um valor inequívoco para uma correspondência exata de cadeias, para dividir um endereço nas suas metades de rede e de interface, ou para ensinar como o endereço está estruturado. A forma comprimida é a representação correta mais curta e é a que deves armazenar e mostrar, porque o RFC 5952 elimina a ambiguidade ao fixar exatamente uma grafia canónica por endereço.
Todo o processamento e a conversão acontecem em TypeScript puro a correr localmente no teu navegador. Nada do que introduzes é carregado, transmitido ou registado, por isso podes inspecionar com segurança endereços internos, prefixos e identificadores de host. O analisador valida a sua entrada e reporta um erro claro perante problemas como grupos a mais, mais do que uns dois pontos duplos, valores fora do intervalo ou caracteres inválidos. Também compreende algumas conveniências do mundo real: os parênteses retos que rodeiam o endereço tal como aparecem nas URL, um identificador de zona final como %eth0, e um sufixo IPv4 incorporado como ::ffff:192.168.0.1, que converte nos grupos hexadecimais equivalentes antes de expandir ou comprimir.
Porque é que um endereço tinha tantas grafias
Quando o IPv6 foi concebido, o objetivo era um espaço de endereços enorme de 128 bits, suficiente para cerca de 340 sextiliões de endereços. Escrever um número assim por completo é incómodo, por isso os criadores acrescentaram uma abreviatura: eliminar os zeros iniciais em cada grupo e colapsar uma sequência de grupos a zero em dois pontos duplos. Estas regras tornaram os endereços muito mais legíveis, mas introduziram um problema subtil. Um único endereço podia agora escrever-se de muitas maneiras igualmente válidas, que diferiam em onde se colocava o ::, em se os zeros eram preenchidos e em se as letras estavam em maiúscula ou em minúscula.
Essa flexibilidade causava verdadeiras dores de cabeça operacionais. Os registos de dois sistemas podiam anotar o mesmo host com grafias diferentes, as listas de controlo de acesso podiam falhar uma correspondência por uma diferença de maiúsculas, e não se podia confiar numa simples comparação de cadeias para saber se dois endereços eram o mesmo. Os engenheiros de redes perdiam tempo a perseguir erros que na realidade eram apenas duas grafias de um mesmo endereço a falhar a comparação como iguais.
O RFC 5952, publicado em 2010, resolveu isto definindo uma representação canónica recomendada. Impôs hexadecimal em minúscula, sem zeros iniciais, abreviar a sequência mais longa de zeros com ::, nunca usar :: para um único grupo a zero, e uma regra de desempate que favorece a sequência situada mais à esquerda. Com uma grafia oficial por endereço, as ferramentas puderam finalmente normalizar e comparar endereços IPv6 de forma fiável. Este conversor implementa esse algoritmo exato, e é por isso que a sua saída comprimida é segura para usar como chave canónica.