Inicio › Herramientas para desarrolladores › Expansor y compresor de IPv6

Expansor y compresor de IPv6

Pega una dirección IPv6 o una lista entera. Cada una se valida, se expande a los ocho grupos de 4 dígitos y se comprime a la forma canónica del RFC 5952, conservando intactos los ID de zona, las longitudes de prefijo y las direcciones IPv4 incrustadas.

Última actualización:

EntradaEstadoComprimida (RFC 5952)ExpandidaTipo

Detalles de la dirección

Publicidad
Publicidad

Cómo usar Expansor y compresor de IPv6

  1. Pega direcciones IPv6, una por línea. Se aceptan corchetes, puertos, ID de zona y longitudes /prefijo.
  2. Pulsa Comprimir todo para obtener la forma canónica más corta o Expandir todo para la forma completa de 39 caracteres.
  3. Revisa la tabla para ver la validez de cada dirección, ambas formas, su tipo y su nombre de DNS inverso.
  4. Elige la opción IPv4 para escribir las direcciones IPv4 mapeadas y NAT64 con una cola IPv4 en notación decimal con puntos, como recomienda el RFC 5952.
  5. Copia o descarga la lista convertida o la tabla completa como CSV.

Reglas de compresión del RFC 5952

  1. Elimina los ceros a la izquierda de cada grupo: 0db8 → db8, 0000 → 0.
  2. Usa :: para la secuencia más larga de dos o más grupos de ceros consecutivos.
  3. Si dos secuencias empatan, acorta la primera.
  4. Nunca uses :: para un solo grupo de ceros.
  5. Escribe las letras hexadecimales en minúscula.
Forma completaForma comprimida canónicaRegla
2001:0db8:0000:0000:0000:ff00:0042:83292001:db8::ff00:42:8329ceros a la izquierda + secuencia más larga
2001:0db8:0000:0000:0001:0000:0000:00012001:db8::1:0:0:1empate: gana la primera secuencia
2001:0000:0000:0001:0000:0000:0000:00012001:0:0:1::1gana la secuencia más larga
2001:0db8:0000:0001:0001:0001:0001:00012001:db8:0:1:1:1:1:1un solo grupo de ceros se mantiene
0000:0000:0000:0000:0000:0000:0000:0001::1loopback
0000:0000:0000:0000:0000:0000:0000:0000::dirección no especificada
2001:0DB8:0000:0000:0000:0000:0000:000A2001:db8::aminúsculas
0000:0000:0000:0000:0000:ffff:c000:0280::ffff:192.0.2.128IPv4 mapeada, cola con puntos (§5)

Cómo funciona la expansión

Una dirección IPv6 tiene 128 bits escritos como ocho grupos de 16 bits. Para expandir fe80::1:2: hay 3 grupos escritos (fe80, 1, 2), así que :: representa 8 − 3 = 5 grupos de ceros. Completar cada grupo hasta cuatro dígitos da fe80:0000:0000:0000:0000:0000:0001:0002. La forma completa siempre tiene 39 caracteres (32 dígitos hexadecimales y 7 dos puntos), lo que la hace práctica para ordenar, usar como clave en bases de datos y comparar cadenas.

Con una cola IPv4 incrustada, los dos últimos grupos salen de los cuatro octetos IPv4: 192.0.2.128 → (192 × 256 + 0) = 0xc000 y (2 × 256 + 128) = 0x0280.

Rangos especiales de direcciones IPv6

PrefijoTipo
::/128, ::1/128No especificada, loopback
::ffff:0:0/96Direcciones IPv4 mapeadas
64:ff9b::/96Traducción IPv4/IPv6 NAT64
2000::/3Unicast global (internet pública)
2001::/32, 2002::/16Transición Teredo, 6to4
2001:db8::/32Documentación y ejemplos
fc00::/7Direcciones locales únicas (privadas, como RFC 1918)
fe80::/10Link-local (necesita un ID de zona como %eth0)
ff00::/8Multicast (ff02:: = ámbito link-local)

Cómo escribir IPv6 en URL y con puertos

Como los dos puntos separan los grupos, una dirección IPv6 en una URL debe ir entre corchetes: https://[2001:db8::a]:8443/. Un ID de zona en una URL se escribe como %25 (RFC 6874), por ejemplo http://[fe80::1%25eth0]/. La herramienta acepta ambas formas y quita los corchetes y el puerto antes de convertir.

Preguntas frecuentes

¿Cómo se comprime una dirección IPv6?

El RFC 5952 define una única forma canónica: escribe los dígitos hexadecimales en minúscula, elimina los ceros a la izquierda de cada grupo y sustituye la secuencia más larga de dos o más grupos de ceros por ::. Si dos secuencias tienen la misma longitud, se acorta la primera. Un único grupo de ceros se queda como 0.

¿Cómo se expande una dirección IPv6?

Sustituye :: por tantos grupos 0000 como hagan falta para tener ocho grupos en total y completa cada grupo hasta cuatro dígitos hexadecimales. 2001:db8::1 se convierte en 2001:0db8:0000:0000:0000:0000:0000:0001.

¿Por qué no se acorta 2001:db8:0:1:1:1:1:1?

La abreviatura :: no debe usarse para un solo grupo de ceros de 16 bits (RFC 5952, sección 4.2.2), así que la forma canónica mantiene el 0. Algunas herramientas antiguas todavía escriben 2001:db8::1:1:1:1:1, que es válida pero no canónica.

¿Qué es un ID de zona como %eth0?

Las direcciones link-local (fe80::/10) existen en todas las interfaces, así que un ID de zona después de % indica al sistema operativo qué interfaz usar, por ejemplo fe80::1%eth0, o fe80::1%3 en Windows. La herramienta conserva el ID de zona sin cambios en ambas formas.

¿Puedo usar notación IPv4 dentro de IPv6?

Sí. Los últimos 32 bits pueden escribirse como una dirección IPv4 con puntos, como en ::ffff:192.0.2.128 (IPv4 mapeada) o 64:ff9b::198.51.100.7 (NAT64). La forma expandida siempre muestra solo hexadecimal: 0000:0000:0000:0000:0000:ffff:c000:0280.

¿Qué direcciones se rechazan?

Las direcciones con más de un ::, con más o menos de ocho grupos, grupos de más de cuatro dígitos hexadecimales, caracteres no hexadecimales, una parte IPv4 incrustada no válida, un ID de zona vacío o una longitud de prefijo superior a 128. La tabla explica el problema exacto.

¿Se envían mis datos a algún sitio?

No. La validación y la conversión se hacen por completo en tu navegador.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Formateadores y validadores de código →