Durante el año de 1994, el Grupo de Trabajo de Ingeniería de Internet (IETF) inició el desarrollo del Protocolo de Internet versión 6 (más conocido como IPv6). En diciembre de 1998, el primer borrador se convirtió en un estándar para el IETF, que finalmente se ratificó como Estándar de Internet el 14 de julio de 2017.
La principal razón para el desarrollo de IPv6 fue superar el problema del agotamiento de direcciones IPv4. Con este problema en mente, el IETF también optimizó el protocolo en sentido general.
Para entender la necesidad de IPv6 y por qué es el sucesor de IPv4, tendremos que cubrir brevemente IPv4.
IPv4
Implementado por primera vez en 1983 por Advanced Research Projects Agency Networks (ARPANET), IPv4 sigue siendo el protocolo enrutado más utilizado, a pesar de su sucesor IPv6.
Estos son algunos datos sobre IPv4:
- IPv4 utiliza un espacio de direcciones de 32 bits (2), lo que significa que se pueden asignar a los hosts un total de 4 294 967 296 direcciones IP únicas.
- Hay varios bloques especiales reservados para redes privadas (Clase A, B y C), aproximadamente 18 millones de direcciones y 270 millones están reservados para direcciones de multidifusión.
- IPv4 está escrito en notación decimal donde cada octeto está separado por un punto (es decir, 1.2.3.4).
- La Seguridad del Protocolo de Internet (IPSec) es opcional en IPv4, y el tamaño mínimo del paquete fragmentado es de 576 bytes.
- La traducción de direcciones de red (NAT) se usa para limitar aún más el agotamiento de direcciones IP.
IPv6
Con el rápido crecimiento de los dispositivos de Internet, también conocidos como Internet de las cosas (IoT), en todo el mundo, se requieren más direcciones IP para que estos dispositivos intercambien datos. Piense en teléfonos móviles, relojes inteligentes, refrigeradores, lavadoras, televisores inteligentes y otros artículos que requieren una dirección IP. Actualmente, todos estos dispositivos están conectados a Internet y se identifican mediante una dirección IP única. En esta sección, nos centraremos en IPv6, sus características y por qué será el estándar del Protocolo de Internet.
Antes de pasar a los detalles, hay algunas características clave que incorpora IPv6:
- IPv6 utiliza direcciones de 128 bits (2), lo que permite 3,4 x 10 direcciones IP únicas. Esto equivale a 340 billones de billones de billones de billones de direcciones IP.
- IPv6 está escrito en notación hexadecimal, separados en 8 grupos de 16 bits por dos puntos, por lo tanto (8 x 16 =128) bits en total. Una representación de dirección IPv6 se ve así:
2001:db8:1234::f350:2256:f3dd/64
- IPv6 se puede configurar manualmente mediante la configuración automática de direcciones sin estado (SLAAC) o DHCPv6.
- IPv6 tiene un tamaño de paquete mínimo de 1280 bytes que consta de un encabezado base fijo de 40 bytes y 1240 bytes de carga útil (datos de usuario).
- IPv6 es compatible con muchos sistemas operativos como Linux, macOS, Solaris, (Free, Open y Net) BSD y Windows.
Tenga en cuenta que IPSec se diseñó una vez para IPv6 como un requisito obligatorio. Hoy en día, se puede utilizar opcionalmente con IPv6. Consulte RFC 6434. IPSec proporciona autenticación y cifrado mediante encabezados de autenticación (AH) y la carga útil de seguridad de encapsulación (ESP).
direcciones IPv6
Una dirección IPv6 se escribe en notación hexadecimal separada por el símbolo de dos puntos (:) como se muestra aquí:
2001:0db8:1234:0000:0000:f350:2256:f3dd/64
Las direcciones anteriores también podrían escribirse como:
2001:db8:1234::f350:2256:f3dd/64
donde se eliminan los ceros consecutivos y se reemplazan por dos puntos dobles (::). Es importante tener en cuenta que si una dirección consta de varios campos de ceros y esos ceros aparecen en diferentes partes de la IP, entonces los ceros más a la izquierda son los que se comprimen.
Ilustremos esto con un ejemplo:
Variante de dirección IPv6 | Notación de dirección IPv6 |
IPv6 totalmente escrito | 2001:0db8:0000:0000:34f4:0000:0000:f3dd/64 |
IPv6 simplificado | 2001:db8::34f4:0000:0000:f3dd/64 |
IPv6 más simplificado | 2001:db8::34f4:0:0:f3dd/64 |