Inicio Protocolo IPv6
Artículo
Cancelar

Protocolo IPv6

Antes de nada…

Antes de nada debemos aprender a pasar de binario a hexadecimal y de hexadecimal a binario. Esto se explicó en el artículo Binario.

¿Qué es IPv6?

IP versión 6 (IPv6) es un protocolo para remplazar a IP versión 4 (IPv4).

El protocolo IPv4 está formado por direcciones IP de 32 bits por lo que da un total de 232= 4.294.967.296 que no cubría todas las posibles conexiones de dispositivos a nivel mundial. Teniendo en cuenta que muchos usuarios se conectan con varios dispositivos necesitan una gran cantidad de IP.

En febrero de 2011 la IANA (Internet Assigned Numbers Authority) asignó el último bloque de 33 millones de direcciones a la APNIC, que es la encargada de proporcionar direcciones en Asia. Precisamente, la entrada de este mercado, que posee una gran cantidad de densidad de población, es lo que ha precipitado el final de IPv4 y el uso de IPv6.

IPv4IPv6
32 bits128 bits
4 octetos16 octetos
IPv4 utiliza una dirección de 32 bitsIPv6 aumenta la dirección a 128 bits.
4.294.967.296 direcciones, (232)340.282.366.920.938.463.463.374.607.431.768.211.456 direcciones, (2128)

IPv6 tiene más de trescientos cuarenta sextillones de direcciones, es decir, IPv6 tiene más de 10.000.000.000.000.000.000.000.000.000 veces más direcciones que IPv4.

Encabezado IPv6 Encabezado IPv6

Formato de IPv6

Las direcciones IPv6 están formadas por 128 bits. Para facilitar su anotación se expresan en números hexadecimales agrupados de cuatro en cuatro y cada grupo está separado por dos puntos (:). Las IPv6 se expresan con 32 números hexadecimales.

Son 8 grupos de 4 dígitos hexadecimales y cada dígito hexadecimal son 4 bits. Es decir: 8 * 4 * 4 = 128 bits (16 Bytes). En definitiva, las direcciones IPv6 son cuatro veces más largas que las direcciones IPv4.

Ejemplo de IPv6:

graph TD;
2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b

Acortar direcciones IPv6

Las reglas de abreviación de direcciones IPv6 te permiten acortar estos números.

Sólo dos reglas básicas te permiten a ti, o cualquier computadora, acortar o abreviar una dirección IPv6:

Paso 1: Elimina los ceros iniciales

Dentro de cada cuarteto de cuatro dígitos hexadecimales, elimina los 0 iniciales (los 0 en el lado izquierdo del cuarteto). (Nota: en este paso, un cuarteto de 0000 dejará un solo 0).

graph TD;
FE00:0000:0000:0001:0000:0000:0000:0056-->FE00:0:0:1:0:0:0:56;

2001:0002:0003:0003:0006:0005:0006:0007-->2001:2:3:3:6:5:6:7;

Paso 2: Elimina cuartetos de ceros

Busca cualquier cadena de dos o más cuartetos consecutivos con todos los hexadecimales en cero y reemplaza ese conjunto de cuartetos con dos puntos dobles (::). El :: significa “dos o más cuartetos de todos 0”. Sin embargo, solo se puede usar :: una vez en una sola dirección porque, de lo contrario, es posible que no se comprenda cuál es la dirección IPv6 exacta.

graph TD;
FE00:0000:0000:0001:0000:0000:0000:0056-->FE00:0:0:1:0:0:0:56;
FE00:0:0:1:0:0:0:56-->FE00:0:0:1::56;

Los ceros iniciales o finales de un grupo también se pueden omitir. Por ejemplo:

graph TD;
2001:0db8:3c4d:0015:0000:d234:3eee:0000-->2001:db8:3c4d:15:0:d234:3eee:0;
2001:db8:3c4d:15:0:d234:3eee:0-->2001:db8:3c4d:15:0:d234:3eee::;

Preguntas de expandir y acortar direcciones IPv6

¿Existe la dirección IPv6 9999::9999?
Si.
¿Existe la dirección IPv6 hhhh::hhhh?
No.
¿Existe la dirección IPv6 9999:::9999?
No.
¿Existe la dirección IPv6 FE00::1::56?
No.
¿Existe la dirección IPv6 FE00::?
Si.

Rellena los siguientes huecos:

CompletoAbreviado
2340:0000:0010:0100:1000:ABCD:0101:1010 
 30A0:ABCD:EF12:3456:ABC:B0B0:9999:9009
2222:3333:4444:5555:0000:0000:6060:0707 
 3210::
210F:0000:0000:0000:CCCC:0000:0000:000D 
 34BA:B:B::20
FE80:0000:0000:0000:DEAD:BEFF:FEEF:CAFE 
 FE80::FACE:BAFF:FEBE:CAFE
Solución
CompletoAbreviado
2340:0000:0010:0100:1000:ABCD:0101:10102340:0:10:100:1000:ABCD:101:1010
30A0:ABCD:EF12:3456:0ABC:B0B0:9999:900930A0:ABCD:EF12:3456:ABC:B0B0:9999:9009
2222:3333:4444:5555:0000:0000:6060:07072222:3333:4444:5555::6060:707
3210:0000:0000:0000:0000:0000:0000:00003210::
210F:0000:0000:0000:CCCC:0000:0000:000D210F::CCCC:0:0:D
34BA:000B:000B:0000:0000:0000:0000:002034BA:B:B::20
FE80:0000:0000:0000:DEAD:BEFF:FEEF:CAFEFE80::DEAD:BEFF:FEEF:CAFE
FE80:0000:0000:0000:FACE:BAFF:FEBE:CAFEFE80::FACE:BAFF:FEBE:CAFE

Máscara o prefijo IPv6

Las direcciones IPv6 también separan en parte de red y parte de host.

También pueden usar la notación prefija, es decir, después de una barra inclinada se especifican los bits que pertenecen al prefijo de red. Por ejemplo: la dirección 2010:abcd:ef12::/48 define la red que comienza en el número 2010:abcd:ef12:0000:0000:0000:0000:0000 y finaliza en el número 2010:abcd:ef12:ffff:ffff:ffff:ffff:ffff.

IPv6 utiliza un concepto de máscara, llamado longitud de prefijo, similar a las máscaras de subred IPv4.

La longitud del prefijo IPv6 se escribe como /, seguida de un número decimal. La longitud del prefijo define cuántos bits de la dirección IPv6 corresponden al prefijo IPv6, que es básicamente el mismo concepto que el ID de subred IPv4.

Ejercicios para Encontrar la Longitud del Prefijo IPv6

Completa los campos vacíos:

Dirección/LongitudPrefijo
2340:0:10:100:1000:ABCD:101:1010/64 
30A0:ABCD:EF12:3456:ABC:B0B0:9999:9009/64 
2222:3333:4444:5555::6060:707/64 
3210::ABCD:101:1010/64 
210F::CCCC:B0B0:9999:9009/64 
34BA:B:B:0:5555:0:6060:707/64 
3124::DEAD:CAFE:FF:FE00:1/64 
2BCD::FACE:BEFF:FEBE:CAFE/64 
Solución
Dirección/LongitudPrefijo
2340:0:10:100:1000:ABCD:101:1010/642340:0:10:100::/64
30A0:ABCD:EF12:3456:ABC:B0B0:9999:9009/6430A0:ABCD:EF12:3456::/64
2222:3333:4444:5555::6060:707/642222:3333:4444:5555::/64
3210::ABCD:101:1010/643210::/64
210F::CCCC:B0B0:9999:9009/64210F::/64
34BA:B:B:0:5555:0:6060:707/6434BA:B:B::/64
3124::DEAD:CAFE:FF:FE00:1/643124:0:0:DEAD::/64
2BCD::FACE:BEFF:FEBE:CAFE/642BCD::/64

Rellena los siguientes huecos:

Longitud/DirecciónPrefijo
34BA:B:B:0:5555:0:6060:707/80 
3124::DEAD:CAFE:FF:FE00:1/80 
2BCD::FACE:BEFF:FEBE:CAFE/48 
3FED:F:E0:D00:FACE:BAFF:FE00:0/48 
210F:A:B:C:CCCC:B0B0:9999:9009/40 
34BA:B:B:0:5555:0:6060:707/36 
3124::DEAD:CAFE:FF:FE00:1/60 
2BCD::FACE:1:BEFF:FEBE:CAFE/56 
Solución
Longitud/DirecciónPrefijo
34BA:B:B:0:5555:0:6060:707/8034BA:B:B:0:5555::/80
3124::DEAD:CAFE:FF:FE00:1/803124:0:0:DEAD:CAFE::/80
2BCD::FACE:BEFF:FEBE:CAFE/482BCD::/48
3FED:F:E0:D00:FACE:BAFF:FE00:0/483FED:F:E0::/48
210F:A:B:C:CCCC:B0B0:9999:9009/40210F:A::/40
34BA:B:B:0:5555:0:6060:707/3634BA:B::/36
3124::DEAD:CAFE:FF:FE00:1/603124:0:0:DEA0::/60
2BCD::FACE:1:BEFF:FEBE:CAFE/562BCD:0:0:FA00::/56

Tipos de direcciones IPv6

  • Unicast: Representa a una única interfaz de red. Los paquetes dirigidos a una dirección unicast se envían a una única interfaz.
  • Anycast: Identifica a una o más interfaces. Por ejemplo, los servidores que admiten la misma función pueden utilizar la misma dirección IP de unidifusión. Los paquetes enviados a esa dirección IP se reenvían al servidor más cercano según sea el mejor destino desde el punto de vista de la topología de la red. Las direcciones Anycast son usadas para el balanceo de carga.
  • Multicast: Representan a un grupo dinámico de hosts. Los paquetes enviados a esta dirección son reenviados por varias interfaces. Las direcciones de Múlticas en IPv6 tienen un propósito similar que en IPv4.

Tipos de direcciones IPv6 Tipos de direccionamiento IPv6: Unicast, Anycast y Multicast

IPv6 usa también direcciones IP públicas como lo hacia IPv4, éstas son las global unicast.

¿Existen IPv6 privadas?

Direcciones IPv6 especiales

Dentro de las direcciones unicast existen algunas que deben utilizarse nunca:

  • La dirección de loopback 0:0:0:0:0:0:0:1 que también puede expresarse como ::1/128.
  • La dirección indefinida ::/128. Se usa cuando aún no se conoce la dirección IP real de la propia interfaz.
  • La dirección local única, expresada como fc00::/7. Su uso es similar a las direcciones privadas ipv4.

La IANA es la organización encargada de distribuir el espacio de direcciones de IPv6. Su función principal es la asignación de grandes bloques a los RIR (Registro Regional de Internet), que son unas organizaciones que supervisan la asignación y el registro de recursos de números de Internet dentro de una región particular del mundo. Los recursos incluyen direcciones IP y números de sistemas autónomos.

Las direcciones IPv6 se asignan a las organizaciones en bloques mucho mayores que los de direcciones IPv4.

Debido al formato de número tan grande que utiliza IPv6, se asegura que prácticamente siempre haya direcciones disponibles y, por tanto, el uso de NAT se convierte en innecesario, es decir, que no se hace necesario que los routers tengan que traducir las direcciones de la red interna por otras direcciones en el exterior.

Coexistencia de IPv4 e IPv6

Actualmente ambas versiones coexisten en Internet. Por este motivo, se necesitan mecanismos que permitan dicha coexistencia y una migración progresiva de un protocolo al otro. En general, estos mecanismos pueden clasificarse en tres grupos:

  • Pila dual
  • Túneles
  • Traducción

Pila dual

Esta solución implementa tanto IPv4 como IPv6 en cada nodo de la red. Cada nodo tendrá dos direcciones de red: una IPv4 y otra IPv6. Es fácil de desplegar y extensamente soportado. El principal problema es que la topología de red requiere dos tablas de encaminamiento y dos procesos de encaminamiento. Cada nodo en la red necesita tener actualizadas las dos pilas.

Pila dual Pila dual

Túneles

Permite conectar redes IPv6 a través de redes IPv4. Consiste en encapsular paquetes IPv6 en paquetes IPv4. Estos túneles trabajan encapsulando los paquetes IPv6 en paquetes IPv4.

Túnel IPv4 sobre IPv6 Túnel IPv4 sobre IPv6

Traducción

Esta solución es necesaria cuando un nodo que solo soporta IPv4 necesita comunicarse con otro que sólo soporta IPv6. Se realiza una traducción de la cabecera IPv4 a una cabecera IPv6 y viceversa. Es necesario un dispositivo que haga esta traducción.

¿Qué dispositivo se encargará de hacer una traducción de IPs incompatibles?
Al igual que con redes IPv4 incompatibles, será un NAT (NAT-PT) el que se encargue de hacer estas traducciones.
  • Con estado: NAT-PT (Network Address Translation - Protocol Translation), TCP-UDP Relay, Socks-based Gateway.
  • Sin estado: Bump-in-the-Stack, Bump-in-the-API.

NAT-PT NAT-PT

¿Cuánto va a durar la transición de IPv4 a IPv6?

Durante 20 años se espera que convivan ambas versiones y que la implantación de IPv6 sea paulatina.

Adopción de IPv6 según Google Adopción de IPv6 según Google

Spoiler

No sé cuando empezaré a usar IPv6, pero a estas alturas tengo demasiado miedo de preguntar No sé cuando empezaré a usar IPv6, pero a estas alturas tengo demasiado miedo de preguntar

Traducción de direcciones privadas a públicas Tamaño del libro de redes vs tamaño del libro de redes si solo se usara IPv6 desde el comienzo

Bibliografía

Este artículo está licenciado bajo CC BY 4.0 por el autor.

Redes inalámbricas

Redes mixtas integradas