IPv6 es la versión más actual del Protocolo de Internet. Oficializado originalmente el 6 de junio de 2012, es el resultado del esfuerzo del IETF por crear la “nueva generación de IP” (IPng: Internet Protocol next generation), cuyas pautas fueron descritas por Scott Bradner y Allison Marken, en 1994, en el RFC 1752. Su especificación principal se encuentra en el RFC 2460.
El protocolo se está desplegando gradualmente en Internet y debería funcionar codo con codo con IPv4, en una situación técnicamente denominada “dual stack” o “dual stack”, desde hace algún tiempo. A largo plazo, se pretende que IPv6 reemplace a IPv4, que solo admite alrededor de 4 mil millones (escala corta)/mil millones (escala larga) (4 × 109) direcciones IP, frente a alrededor de 340 undecillones (escala corta)/sextillón (escala larga) (3,4×1038) de direcciones del nuevo protocolo.
El tema es tan relevante que algunos gobiernos han apoyado esta implementación. El gobierno de los Estados Unidos, por ejemplo, en 2005, determinó que todas sus agencias federales deben demostrar ser capaces de operar con el protocolo IPv6 para junio de 2008. En julio de 2008, se publicó una nueva revisión de las recomendaciones para la adopción de IPv6. en las agencias federales, fijando una fecha de julio de 2010 para garantizar el soporte de IPv6.
Motivaciones para implementar IPv6
Agotamiento de IPv4 y necesidad de más direcciones de Internet
La razón principal para implementar IPv6 en Internet es la necesidad de más direcciones, porque la disponibilidad de direcciones IPv4 gratuitas ha terminado.
Para comprender las razones de este agotamiento, es importante considerar que Internet no fue diseñado para uso comercial. A principios de la década de 1980, se consideraba una red predominantemente académica, con unos pocos cientos de computadoras interconectadas. A pesar de esto, se puede decir que el espacio de direcciones IP versión 4 de 32 bits no es pequeño: 4.294.967.296 direcciones.
Aun así, ya en los inicios de su uso comercial, en 1993, se creía que el espacio de direcciones de Internet podía agotarse en un plazo de 2 o 3 años. Pero, no por la cantidad limitada de direcciones, sino por la política de asignación inicial, que no era favorable a un uso racional de estos recursos. Este espacio se dividió en tres clases principales (aunque actualmente existen, en sentido estricto, cinco clases), a saber:
- Clase A: con 128 segmentos/redes, que podrían ser asignados individualmente a las entidades que los necesitaran, con aproximadamente 16 millones de direcciones cada uno. Esta clase se clasificó como /8, ya que los primeros 8 bits representaban la red o segmento, mientras que el resto podía usarse libremente. Utilizaba el espacio entre las direcciones 00000000.*.*.* (0.*.*.*) y 01111111.*.*.* (127.*.*.*).
- Clase B: con aproximadamente 16 mil segmentos de 64 mil direcciones cada uno. Esta clase fue calificada /16. Usaba el espacio entre las direcciones 10000000.0000000.*.* (128.0.*.*) y 10111111.11111111.*.* (191.255.*.*).
- Clase C: con aproximadamente 2 millones de segmentos de 256 direcciones cada uno. Esta clase fue clasificada como /24. Utilizaba el espacio entre las direcciones 11000000.0000000.00000000.* (192.0.0.*) y 110111111.11111111.11111111.* (213.255.255.*).
Los restantes 32/8 bloques fueron reservados para Multicast y para la Autoridad de Números Asignados en Internet (IANA), la entidad que controla la asignación global de números en Internet.
El espacio reservado para la clase A atendería solo a 128 entidades, sin embargo, ocupaba la mitad de las direcciones disponibles. Sin embargo, empresas y entidades como HP, GE, DEC, MIT, DISA, Apple, AT&T, IBM, USPS, entre otras, recibieron asignaciones de este tipo.
Las predicciones iniciales, sin embargo, de un agotamiento casi inmediato de los recursos, no se materializaron debido al desarrollo de una serie de tecnologías, que funcionaron como una solución paliativa al problema que trajo consigo el crecimiento acelerado:
- CIDR ( Enrutamiento entre dominios sin clase ), o enrutamiento sin clase, que se describe en RFC 1519. Con CIDR, el esquema de clases fue abolido, permitiendo asignar bloques de direcciones con tamaño arbitrario, según sea necesario, trayendo un uso más racional del espacio.
- El uso de NAT ( Network Address Translation ) y RFC 1918, que especifica direcciones privadas, no válidas en Internet, en redes corporativas. NAT permite, con una sola dirección válida, toda una red basada en direcciones privadas, tener una conexión, aunque limitada, a Internet.
- El Protocolo de configuración dinámica de host (DHCP), descrito por RFC 2131. Este protocolo hizo posible que los proveedores reutilizaran las direcciones de Internet proporcionadas a sus clientes para conexiones no permanentes.
La combinación de estas tecnologías redujo la demanda de nuevos números IP, por lo que el agotamiento esperado para la década de 1990 se pospuso para la década de 2010. Sin embargo, la adopción mundial de IPv6 es lenta: según Google, la adopción mundial de IPv6 fue del 2 % en 2014, 5 % en 2015, 8 % en 2016, 14 % en 2017, 20 % en 2018, 25 % en 2019, 30 % en 2020, 33% en 2021 y 35% en 2022; según APNIC, la adopción mundial de IPv6 fue del 2% en 2014, 3% en 2015, 5% en 2016, 9% en 2017, 16% en 2018, 19% en 2019, 24% en 2020, 27% en 2021 y 29% en 2022.
Otros factores motivadores
El principal factor que impulsa el despliegue de IPv6 es su necesidad en la infraestructura de Internet. Es un problema de continuidad del negocio, para los proveedores y muchas otras empresas e instituciones.
Sin embargo, existen otros factores que motivan su implementación:
- Internet de las cosas: se imagina que, en un futuro donde la computación sea ubicua, la tecnología estará presente en varios dispositivos que aún no son inteligentes, que podrán interactuar de manera autónoma entre sí: computadoras invisibles conectadas a Internet, integradas en los objetos utilizados en el día a día – haciendo la vida aún más líquida. Uno puede imaginar electrodomésticos conectados, automóviles, edificios inteligentes, equipos de monitoreo médico, etc. Decenas, quizás incluso cientos o miles de dispositivos estarán conectados en cada hogar y oficina. IPv6, con abundantes direcciones fijas y válidas, es necesario para hacer realidad este futuro.
- Expansión de redes: Varios factores motivan una expansión cada vez más acelerada de Internet: inclusión digital, redes móviles (3G, 4G, 5G), etc. Se necesitan más IPs.
- Calidad de servicio: La convergencia de las futuras redes de telecomunicaciones a la capa de red común, IPv6, favorecerá la maduración de servicios hoy incipientes, como VoIP, video streaming en tiempo real , etc., y hará aparecer otros nuevos. IPv6 ha mejorado el soporte para diferentes clases de servicio, según los requisitos y las prioridades del servicio en cuestión.
- Movilidad: La movilidad es un factor muy importante en la sociedad actual. IPv6 soporta la movilidad de los usuarios, pueden ser contactados en cualquier red a través de su dirección IPv6 de origen.
Novedades en las especificaciones de IPv6
- Espacio de direcciones . Las direcciones IPv6 tienen una longitud de 128 bits.
- Autoconfiguración de direcciones . Soporte para la asignación automática de direcciones en una red IPv6, se puede omitir el servidor DHCP al que estamos acostumbrados en IPv4.
- Direccionamiento jerárquico . Simplifica las tablas de enrutamiento de los enrutadores de red, reduciendo así su carga de procesamiento.
- Formato de encabezado . Totalmente remodelado en relación a IPv4: más simplificado y eficiente.
- Cabeceras de extensión . Opción para guardar información adicional.
- Soporte de calidad diferenciada . Las aplicaciones de audio y video comienzan a establecer las conexiones adecuadas teniendo en cuenta sus requisitos en términos de calidad de servicio (QoS).
- Capacidad de extensión . Le permite agregar nuevas especificaciones de una manera simple.
- cifrado _ Varias extensiones en IPv6 permiten, desde un principio, soportar opciones de seguridad como autenticación, integridad de datos y confidencialidad.
Formato de datagrama IPv6
Un datagrama IPv6 consta de un encabezado base, que se ilustra en la siguiente figura, seguido de cero o más encabezados de extensión, seguidos del bloque de datos.
Formato del encabezado base del datagrama IPv6:
- Tiene menos información que el encabezado de IPv4. Por ejemplo, la suma de verificación se eliminó del encabezado, ya que esta versión considera que el manejo de errores de capa inferior es confiable.
- El campo Traffic Class (8 bits) se utiliza para indicar la clase de servicio a la que pertenece el paquete, permitiendo así diferentes tratamientos a paquetes provenientes de aplicaciones con diferentes requerimientos. Este campo sirve como base para el funcionamiento del mecanismo de calidad de servicio (QoS) en la red.
- El campo Etiqueta de flujo (20 bits) se utiliza con nuevas aplicaciones que requieren un buen rendimiento. Permite asociar datagramas que forman parte de la comunicación entre dos aplicaciones. Se utiliza para enviar datagramas a lo largo de una ruta predefinida.
- El campo Longitud de carga útil (16 bits) representa, como su nombre lo indica, el volumen de datos en bytes que transporta el paquete.
- El campo Siguiente encabezado (8 bits) apunta al primer encabezado de extensión. Se utiliza para especificar el tipo de información que sigue al encabezado actual.
- El campo Hop Limit (8 bits) tiene el número de saltos transmitidos antes de descartar el datagrama, es decir, este campo indica el número máximo de saltos (pasando por enrutadores) del datagrama antes de ser descartado. Este campo anula el TTL de IPv4.
- El campo Dirección de origen (128 bits) indica la dirección de origen del paquete.
- El campo Dirección de destino (128 bits) indica la dirección de destino del paquete.
Fragmentación y determinación del curso
En IPv6, el host que envía el datagrama es el responsable de la fragmentación, no los enrutadores intermedios como en el caso de IPv4. En IPv6, los enrutadores intermedios descartan datagramas más grandes que la MTU de la red. La MTU será la MTU máxima soportada por las diferentes redes entre el origen y el destino. Para esto, el host envía paquetes ICMP de varios tamaños; cuando un paquete llega al host de destino , todos los datos a transmitir se fragmentan en el tamaño de este paquete que llegó al destino.
El proceso de descubrimiento de MTU tiene que ser dinámico, porque la ruta puede cambiar durante la transmisión de datagramas.
En IPv6, se copia un prefijo no fragmentado del datagrama original en cada fragmento. La información de fragmentación se almacena en un encabezado de extensión separado. Cada fragmento comienza con un componente no fragmentable seguido de un encabezado de fragmento.
Múltiples encabezados
Una de las novedades de IPv6 es la posibilidad de utilizar múltiples cabeceras encadenadas. Estos encabezados adicionales permiten una mayor eficiencia, ya que el tamaño del encabezado se puede ajustar según sea necesario, y una mayor flexibilidad, ya que siempre se pueden agregar nuevos encabezados para satisfacer nuevas especificaciones.
Las especificaciones actuales recomiendan el siguiente orden:
- IPv6
- Encabezado de opciones de salto a salto
- Encabezado de opción de destino
- Encabezado de enrutamiento
- Encabezado de fragmento
- Encabezado de carga útil de seguridad de autenticación
- Encabezado de opciones de destino
- Encabezado de capa superior
Bloques y Asignaciones
La responsabilidad de asignar y administrar el conjunto de direcciones IPv6 se delegó a la IANA en diciembre de 1995. Desde entonces, la IANA ha distribuido los bloques según sea necesario a los RIR para su posterior delegación a otras entidades.
Prefijo | Asignación | Datos | Observación |
---|---|---|---|
0000::/8 | Reservado por el IETF | ||
0100::/8 | Reservado por el IETF | ||
0200::/7 | Reservado por el IETF | Depreciado en diciembre de 2004 | |
0400::/6 | Reservado por el IETF | ||
0800::/5 | Reservado por el IETF | ||
1000::/4 | Reservado por el IETF | ||
2000::/3 | Unidifusión global | ||
2001:0000::/23 | IANA | 07/01/1999 | |
2001:0200::/23 | APNIC | 07/01/1999 | |
2001:0400::/23 | ARÍN | 07/01/1999 | |
2001:0600::/23 | MADURO NCC | 07/01/1999 | |
2001:0800::/22 | MADURO NCC | 02/11/2002 | |
2001:0c00::/23 | APNIC | 05/02/2002 | |
2001:0e00::/23 | APNIC | 01/01/2003 | |
2001:1200::/23 | LACNIC | 01/11/2002 | |
2001:1400::/22 | MADURO NCC | 07/01/2003 | |
2001:1800::/23 | ARÍN | 01/04/2003 | |
2001:1a00::/23 | MADURO NCC | 01/01/2004 | |
2001:1c00::/22 | MADURO NCC | 04/05/2004 | |
2001:2000::/19 | MADURO NCC | 12/03/2013 | |
2001:4000::/23 | MADURO NCC | 11/06/2004 | |
2001:4200::/23 | AFRINIC | 01/06/2004 | |
2001:4400::/23 | APNIC | 11/06/2004 | |
2001:4600::/23 | MADURO NCC | 17/08/2004 | |
2001:4800::/23 | ARÍN | 24/08/2004 | |
2001:4a00::/23 | MADURO NCC | 15/10/2004 | |
2001:4c00::/23 | MADURO NCC | 17/12/2004 | |
2001:5000::/20 | MADURO NCC | 10/09/2004 | |
2001:8000::/19 | APNIC | 30/01/2004 | |
2001: a000 :: / 20 | APNIC | 30/11/2004 | |
2001:b000::/20 | APNIC | 08/03/2006 | |
2002:0000::/16 | 6 a 4 | 01/02/2001 | |
2003:0000::/18 | MADURO NCC | 12/01/2005 | |
2400:0000::/12 | APNIC | 03/10/2006 | |
2600:0000::/12 | ARÍN | 03/10/2006 | |
2610:0000::/23 | ARÍN | 17/11/2005 | |
2620:0000::/23 | ARÍN | 12/09/2006 | |
2630:0000::/12 | ARÍN | 06/11/2019 | |
2800:0000::/12 | LACNIC | 03/10/2006 | |
2a00: 0000 :: / 12 | MADURO NCC | 03/10/2006 | |
2a10:0000::/12 | MADURO NCC | 09/05/2019 | |
2c00:0000::/12 | AFRINIC | 03/10/2006 | |
2d00:0000::/8 | IANA | 07/01/1999 | |
2e00:0000::/7 | IANA | 07/01/1999 | |
3000:0000::/4 | IANA | 07/01/1999 | |
3fe::/16 | IANA | 01/04/2008 | |
4000::/3 | Reservado por el IETF | ||
5f00::/8 | IANA | 01/04/2008 | |
6000::/3 | Reservado por el IETF | ||
8000::/3 | Reservado por el IETF | ||
a000 :: / 3 | Reservado por el IETF | ||
c000::/3 | Reservado por el IETF | ||
e000::/4 | Reservado por el IETF | ||
f000 :: / 5 | Reservado por el IETF | ||
f800 :: / 6 | Reservado por el IETF | ||
fc00::/7 | Unidifusión local única | ||
fe00::/9 | Reservado por el IETF | ||
fe80::/10 | Unidifusión con ámbito de enlace | reservado para el protocolo | |
fec0::/10 | Reservado por el IETF | En desuso por RFC3879 | |
ff00 :: / 8 | multidifusión | Asignaciones para este bloque registradas por la IANA |
Direccionamiento
El direccionamiento en IPv6 es de 128 bits (cuatro veces más que en IPv4) e incluye el prefijo de red y el sufijo de host . Sin embargo, no hay clases de direcciones, como en IPv4. Por lo tanto, el límite del prefijo y el sufijo puede estar en cualquier parte de la dirección.
Una dirección IPv6 estándar debe constar de un ID de proveedor, un ID de suscripción, un ID de subred y un campo de ID de nodo . El ID de nodo (o identificador de interfaz) debe tener una longitud de 64 bits y se puede formar a partir de la dirección física (MAC) en formato EUI 64.
Para obtener el ID de nodo a través de la dirección física en formato EUI 64, siga estos pasos:
- Divida la dirección física (MAC) por la mitad en dos grupos de 24 bits.
- Agregue el número hexadecimal FFFE (16 bits) entre estos dos grupos de bits.
- Invierta el valor del séptimo bit de izquierda a derecha del número formado por el segundo paso.
Las direcciones IPv6 generalmente se escriben como ocho grupos de 4 dígitos hexadecimales. Por ejemplo,2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Para facilitar la escritura, los ceros iniciales y las secuencias de ceros se pueden abreviar. Por ejemplo,2001:0db8:85a3:03fa:0000:0000:0000:7344
es la misma dirección IPv6 que el ejemplo anterior:2001:db8:85a3:3fa::7344
Hay tipos especiales de direcciones en IPv6:
- unicast : cada dirección corresponde a una interfaz (dispositivo).
- multidifusión : cada dirección corresponde a múltiples interfaces. Se envía una copia a cada interfaz.
- anycast : coincide con múltiples interfaces que comparten un prefijo común. Se envía un datagrama a uno de los dispositivos, por ejemplo, el más cercano.
A diferencia de IPv4, IPv6 no tiene una dirección de transmisión, que se encarga de dirigir un paquete a todos los nodos del mismo dominio.
Con IPv6, todas las LAN deben tener prefijos /64. Esto es necesario para que la configuración automática y otras funciones funcionen.
Los usuarios de cualquier tipo recibirán redes /48 de sus proveedores, es decir, tendrán a su disposición una cantidad suficiente de IPs para configurar aproximadamente 65 mil redes, cada una con{\displaystyle 2^{64}}direcciones (18 quintillones) . Cabe señalar, sin embargo, que algunos proveedores están considerando dar a los usuarios domésticos redes con un tamaño de /56, lo que les permite dividirse en solo 256/64 redes.
Identificadores de interfaz (IID)
Las direcciones IPv6 se dividen entre la red y la identificación de la máquina. Según el estándar CIDR, los primeros 64 bits son para la red y los últimos 64 bits para la máquina. Estos últimos son los identificadores de interfaz (IID). De esta forma, quedan reservadas{\displaystyle 2^{64}}(18.445.744.073.709.551.616) máquinas por red, lo que es más que suficiente para la demanda actual y futura.
Los identificadores de interfaz (IID), utilizados para distinguir las interfaces dentro de un enlace, deben ser únicos dentro del mismo prefijo de subred. El mismo IID se puede usar en múltiples interfaces en un solo nodo; sin embargo, deben estar asociados con diferentes subredes.
El IID normalmente se forma a partir de la dirección física de la máquina (MAC), por lo que no es necesario utilizar DHCPv6, que pasa a ser opcional si el administrador quiere tener más control sobre la red.
El IID basado en una dirección MAC de 48 bits se crea de la siguiente manera:
- Primero agregue los dígitos hexadecimales FF-FE entre el tercer y cuarto byte de la dirección MAC (convirtiéndola en una dirección de 64 bits).
- Luego, debe complementar el séptimo bit, de izquierda a derecha, de la dirección MAC (llamado bit U/L – Universal/Local), es decir, si es 1, se alternará a 0, y si es 0, se cambiará a 1.
- Si la interfaz se basa en una dirección MAC de 64 bits, el primer paso es innecesario.
Estructuras de direcciones de transición
Las direcciones IPv6 se pueden asignar a IPv4 y están diseñadas para enrutadores que admiten ambos protocolos, lo que permite que IPv4 se «tunelice» a través de una red troncal IPv6. Estas direcciones son construidas automáticamente por enrutadores que admiten ambos protocolos. La coexistencia es posible a través de túneles en ambos segmentos: IPv6 encapsulado en IPv4 e IPv4 encapsulado en IPv6, aunque el primero es mucho más común y depende de los servicios gratuitos de «Brokers». El papel del “Broker” es precisamente ser la puerta de entrada al mundo IPv6 a través de la conexión IPv4. Hay algunos tipos comunes de tunelización como TunTap y 6to4.:
Para ello, los 128 bits de IPv6 se dividen de la siguiente manera:
- Campo de 80 bits establecido en ‘0’ (cero), 0000:0000:0000:0000:0000…
- Campo de 16 bits establecido en ‘1’ (uno),… FFFF…
- dirección IPv4 de 32 bits
Direcciones IPv6 asignadas a IPv4:::FFFF:<endereço IPv4>
Otras estructuras de direcciones IPv6
Hay otras estructuras de direcciones IPv6:
- Direcciones de ISP : formato diseñado para permitir que los usuarios individuales de un ISP se conecten a Internet.
- Direcciones de sitios : para uso en una red de área local.
Adopción de IPv6 en todo el mundo
Aún con la previsión y agotamiento total de las direcciones IPv4 en diferentes partes del mundo, la adopción de IPv6 se da de manera discrepante en los países del mundo. Google es solo una de las empresas que recopila continuamente estadísticas sobre la adopción de IPv6 en Internet, proporcionando un gráfico del porcentaje de usuarios que acceden a Google a través de IPv6 y un mapa de la adopción del protocolo por parte de los padres.
El país con el mayor número de usuarios de Google que han adoptado IPv6 es Bélgica, de los cuales el 52% tiene acceso al protocolo. Akamai, otra empresa que brinda estadísticas relacionadas con la adopción de IPv6, señala a India como el país con mayor despliegue, con un 62,4% de adopción. En ambos sitios, los porcentajes más bajos de adopción se encuentran en varios países de las regiones de Oriente Medio, África del Norte y África Occidental, muchos de ellos con un 0 %.
Aunque el despliegue de IPv6 es una tendencia debido al agotamiento de IPv4, no es obligación de los ISP en la mayoría de los países soportar este protocolo de internet. Bielorrusia fue el primer país en adoptar una postura legislativa, determinando que a partir del 1 de enero de 2020 todos los proveedores deberán admitir el protocolo IPv6 y proporcionar direcciones IPv6 a todos sus clientes. Según el análisis de Google, el porcentaje de usuarios bielorrusos que confían en IPv6 para acceder al sitio es solo del 4,67%.
Actualmente, la mayoría de los servidores web y centros de datos se basan en IPv4 junto con IPv6. Sin embargo, la tendencia es que, con el aumento continuo en la adopción del protocolo más reciente, se opte por el uso de solo este, lo que permite una reducción de los costos operativos, reducción de la complejidad y eliminación de los vectores de amenazas relacionados con trabajar con dos protocolos. . La Oficina de Gestión Presupuestaria de los Estados Unidos (OMB) tiene un plan de implementación de IPv6 para el año 2021, con el objetivo de que, para fines de 2025, el 80% de las redes federales habilitadas para IP usen solo el protocolo IPv6.