La cantidad de usuarios que acceden a Internet se ha incrementado de manera vertiginosa en los últimos años. Esto está ocasionando muchos desafíos de cara a la sostenibilidad de la red actual, destacando algo tan básico como el agotamiento de las direcciones disponibles para los usuarios. A parte de esto, muchos otros aspectos menos evidentes que van desde la congestión por el incremento del tráfico y el soporte de aspectos como la Calidad de Servicio (QoS), Seguridad y Movilidad de manera nativa. Muchos de estos problemas aparecen debido a que el protocolo de capa de red de la Internet actual, IP versión 4 (IPv4), no fue pensado para el soporte de estos aspectos de forma natural, además que el espacio de direcciones de 32 bits se quedó corto ante la cantidad de usuarios que acceden hoy día.
Desde principios de los años 90 los diferentes organismos internacionales que participan en la estandarización de los protocolos de Internet, encabezados por la IEFT (Internet Engineering Task Force) están impulsando la creación e implementación de una nueva versión del protocolo IP, teniendo como resultado la versión 6 (IPv6). Ésta viene a solucionar los desafíos antes mencionados, comenzando por un aumento considerable del espacio de direcciones que pasan de tener 32 bits de longitud en IPv4, a 128 bits en IPv6, es decir, multiplicando la disponibilidad actual por un factor de 296. Bajo esta situación, los proveedores de acceso a Internet (ISPs) y demás carriers deben prepararse para la transición a IPv6, no sólo para soportar los aspectos de conectividad, sino también para ofrecer una inmensa gama de nuevos servicios que se hacen posibles con el nuevo protocolo.
Para empezar vale la pena repasar cómo ha sido el camino para el planteamiento del nuevo protocolo IPv6. Mediante la siguiente tabla se muestra brevemente cómo ha sido este desarrollo cronológico.
Año |
Hito hacia el desarrollo del nuevo protocolo |
1980 |
DARPA (Defense Advanced Research Projects Agency): RFC 791: Internet Protocol (IPv4). Se libera el RFC del protocol IPv4, que continua siendo predominante hoy día. Los RFC (Request for Comments) son los documentos publicados por la IETF con las especificaciones de los protocolos: formato de los paquetes, mensajes, etc. La IETF es la máxima autoridad a nivel mundial en la estandarización de protocolos para Internet, por lo que la aprobación de un protocolo y su publicación en un RFC sólo se hace a través de esta organización. |
1992 |
La IETF hace un llamado a publicaciones para trabajar el tema del inminente agotamiento de las direcciones IPv4. |
1993 |
RFC 1519: Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy. Con CIDR se mitiga el problema de eficiencia en el uso de las direcciones que tenía en el esquema por clases, permitiendo, entre otras cosas, la sumarización. |
1993 |
Grupo de trabajo ad-hoc para el diseño de lo que llamarían IPng: IP Next Generation. Conformado por ingenieros de empresas e instituciones como: Microsoft, AT&T, Digital Equipment Corporation, Xerox, Cisco, Boeing, NTT, Novell e institutos como el CERN, MIT |
1994 |
La IETF adopta el modelo de IPng |
1996 |
Se libera el primer RFC de IPv6: RFC 1883 |
1998 |
RFC 2460: Internet Protocol, Version 6 (IPv6) Specifications. Válido aún hoy día, como el RFC principal del protocolo. |
1999 |
RFC 2663: IP Network Address Translator (NAT) Terminology and Considerations. |
2011 -2012 |
Comienzan a agotarse oficialmente los bloques de direcciones IPv4 asignados a los RIRs en Asia y Europa. |
Antes de entrar en temas técnicos, repasemos cuáles son las organizaciones responsables del desarrollo del nuevo protocolo a nivel mundial.
La IETF (Internet Engineering Task Force), es la autoridad máxima en Internet y maneja, entre otras cosas, la estandarización de los protocolos a través de la aprobación y publicación de los RFC.
La ISOC (Internet Society) es la organización de alcance mundial cuya misión es promover el desarrollo y la evolución de una Internet abierta para el beneficio de todas las personas alrededor del mundo. Respaldada por más de 55 000 miembros y cerca de 90 Capítulos en todo el mundo, así como con más de 130 Organizaciones miembro. El desarrollo de IPv6 tiene especial importante en esta misión, por lo que muchos de los fondos para el desarrollo de proyectos que impulsen IPv6 son canalizados a través de la organizaciones que pertenecen a la ISOC.
La IANA (Internet Assigned Numbers Authority) es la autoridad internacional que regula y establece todo lo relacionado al uso de las direcciones, y la asignación de números de puertos y servicios que son codificados en los protocolos. Por ende, es la que administra “la torta” de direcciones IPv6 disponibles para ser repartida alrededor del mundo… Pero para esto se apoya en los llamados RIRs (Regional Internet Registries) que funcionan a nivel regional en cada subcontinente, y que describimos a continuación.
Los RIR son delegaciones regionales de la IANA para la administración del reparto de bloques de direcciones IP. Cada subcontinente tiene su RIR propio, al cual acuden los operadores de la zona para la solicitud de bloques de direcciones, entre otros trámites para el acceso a la Internet. Son:
Como ya comentamos, existen varias razones por las que aparece el nuevo protocolo IPv6. La principal de ellas es el agotamiento de las direcciones IPv4. Al día de hoy ya se declaran oficialmente agotados los bloques de direcciones IPv4 a nivel de la IANA, solo quedando disponible un rango en para AfriNIC que se estima termine de consumirse el 31 de mayo de 2018, según el IPv4 Exhaustion Counter del IPv6 Forum que se muestra en la figura de la izquierda.
Además de la razón evidente del agotamiento de las direcciones IPv4, se pueden enumerar razones adicionales que impulsan el desarrollo del nuevo protocolo:
A fin de cuentas nos encontramos con un escenario en el que la transición a IPv6 es un tema inevitable, por lo que resulta muy importante la actuación de organizamos como los mencionados anteriormente, y destacando uno adicional, el IPv6 Forum, adscrito a la IETF-ISOC, y que organiza el conjunto de certificaciones “IPv6 Ready” para diversos elementos de la nueva red IPv6: hardware y software, protocolos y servicios, personas (entrenadores, ingenieros, etc)
Y no podíamos cerrar este artículo sin una breve descripción de los aspectos técnicos del protocolo. En las próximas entregas iremos entrando en detalles que nos ayudarán a conocer esta evolución del protocolo de direccionamiento de Internet.
El RFC 2460 (Internet Protocol, Version 6 (IPv6) Specifications) describe en detalle los aspectos básicos del protocolo, como el formato de la cabecera y las direcciones.
Comencemos por describir la cabecera del nuevo protocolo. Un aspecto a resaltar es que a diferencia de IPv4, la cabecera básica de los paquetes IPv6 tiene una longitud fija de 40 bytes (recordemos que la cabecera de IPv4 es de tamaño variable, entre 20 y 60 bytes). Esta característica se espera mejora los tiempos de enrutamiento o reenvío de los paquetes, ya que los routers no tendrán que invertir tiempo en calcular este tamaño. En la siguiente figura se muestra la nueva cabecera con la descripción de los campos principales.
Las nuevas direcciones IPv6 de 128 bits se codifican en bloques de 4 caracteres hexadecimales) separados por 2 puntos, como se muestra en el siguiente ejemplo:
2001:0DB8:0000:0000:0008:8000:0000:417A
Cada carácter hexadecimal son 4 bits, por lo que cada bloque son 4x4 = 16 bits, teniendo la dirección hasta 8 bloques: 8x16=128 bits.
Como podríamos esperar, a estas direcciones podemos aplicar ciertas simplificaciones que facilitarán su uso en la configuración. Las simplificaciones posibles son:
Dadas estas simplificaciones, la dirección del ejemplo también se podría expresar de las siguientes maneras, todas válidas durante cualquier tarea de configuración:
Otro aspecto a resaltar es que se pueden usar tanto letras mayúsculas como minúsculas (incluso en sistemas case-sensitive como los basados en UNIX/Linux).
Como se menciona, la simplificación Nº 2 (reemplazo de bloques de ceros por ::) solo se puede aplicar una sola vez por dirección, por lo que, para el ejemplo anterior, la dirección 2001:db8::FFFF:ca0:: resulta inválida al intentar aplicar :: dos veces.
Para cerrar este artículo podemos tomar como ejemplo alguna dirección IPv6 que sea visible en nuestro computador, y evaluar la simplificación que fue aplicada a la misma. Al momento de escribir este artículo, se pudo observar la configuración mostrada en la figura siguiente.
La dirección IPv6 observada en la interfaz WiFi es fe80::8dfa:9833:29af:c488 (la parte %12 se refiere a subinterfaces que asigna el sistema operativo Microsoft Windows para este tipo de direcciones IPv6 con prefijo fe80 que discutiremos en otro articulo)
Si nos fijamos, la dirección tiene la simplificación :: descrita anteriormente, y en lugar de mostrar los 8 bloques completos de la dirección IPv6, se muestran 5 bloques. La dirección completa, sin aplicar dicha simplificación, sería:
fe80:0000:0000:0000:8dfa:9833:29af:c488