Saltar al contenido

Cómo convertir una dirección de IPv4 a IPv6

No olvides que en las ciencias informáticas un problema casi siempre tiene más de una resoluciones, no obstante nosotros enseñamos lo más óptimo y eficiente.

Solución:

No existe un mapeo de IPv4 a IPv6 que sea significativo. cosas como 0.0.0.0 y 127.0.0.1 son casos especiales en la especificación, por lo que tienen un significado equivalente. Pero dada una dirección IPv4, no le dice nada sobre cuál sería su dirección IPv6 específica. Puede utilizar una búsqueda de DNS para ver si una dirección IP determinada se resuelve en un host que, a su vez, se resuelve en una dirección IPv6 además de una dirección IPv4, pero el servidor DNS tendría que configurarse para admitir eso para la máquina específica.

Las implementaciones híbridas de doble pila IPv6 / IPv4 generalmente admiten una clase especial de direcciones, las direcciones asignadas IPv4. Para obtener más información, consulte el siguiente enlace:

http://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses

Para convertir IPv4 a IPv6 mapeado, puede utilizar lo siguiente:

String ip = "127.0.0.1"; 
String[] octets = ip.split("\.");
byte[] octetBytes = new byte[4];
 for (int i = 0; i < 4; ++i) 
            octetBytes[i] = (byte) Integer.parseInt(octets[i]);


byte ipv4asIpV6addr[] = new byte[16];
ipv4asIpV6addr[10] = (byte)0xff;
ipv4asIpV6addr[11] = (byte)0xff;
ipv4asIpV6addr[12] = octetBytes[0];
ipv4asIpV6addr[13] = octetBytes[1];
ipv4asIpV6addr[14] = octetBytes[2];
ipv4asIpV6addr[15] = octetBytes[3];

También revisa esto

Solía ​​haber un espacio de direcciones reservado en IPv6 para direcciones IPv4, donde simplemente se anteponía la dirección IPv4 con 96 bits 0. P.ej 192.168.10.13 -> ::C0A8:0A0D. Como sé, esto ha quedado obsoleto y ya no hay conversión directa disponible.

Más adelante puedes encontrar las referencias de otros desarrolladores, tú además puedes mostrar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *