Protocolo IPv6 Carmen Bonfante – Armando Abello El Internet es un conjunto descentralizado de redes de comunicación interconectadas que hacen uso de un sistema de protocolos estándares, conocidos como protocolos TCP/IP, para llevar a cabo dicha comunicación. Dentro de este sistema, la capa de red o internet es la responsable de la comunicación de un usuario a otro o de una maquina a otra. En esta capa se gestiona el movimiento de los paquetes provenientes de la capa de transporte a través de las redes. Los protocolos mas importantes dentro de la capa de red son: IP – Internet Protocol ICMP – Internet Control Message Protocol IGMP – Internet Group Management Protocol Ahora nos enfocaremos en el protocolo IP. Actualmente, estamos utilizando la versión 4 de dicho protocolo, es decir IPv4. El estándar IPv4 esta descrito en el RFC 791 y como el resto de estos RFCs (Request For Comments) puede encontrarse en el sitio web de la organización IETF, encargada de la normalización y regulación de estándares de Internet. La siguiente generación de este protocolo de internet o IPnG (Internet Protocol next Generation) surge en el seno del mismo IETF alrededor del año 1994. El nacimiento de este nuevo protocolo se debió en gran parte a la falta de direcciones IP, lo cual suponía un cuello de botella sin solución al crecimiento de Internet. El estándar IPv6 fue publicado en la RFC 1883 en el año de 1996 y las últimas revisiones, principalmente en su cabecera, se realizaron durante el año 2000. La versión IPv6 puede ser instalada como una actualización de software y es interoperable con la actual versión IPv4. La nueva versión está diseñada para redes de mayor rendimiento sin embargo mantiene la eficiencia en redes de menor ancho de banda. Entre las necesidades de migrar a esta nueva versión encontramos la tendencia en el mundo actual de las telecomunicaciones, el creciente numero de usuarios móviles que acceden a los mismos servicios en todo momento desde cualquier lugar y el elevado uso de aplicaciones de voz, video y datos en las infraestructuras basadas en IP. Como se ha dicho anteriormente, el protocolo IPv6 se diseñó como una evolución del actual protocolo IPv4. Esto quiere decir que todo lo que ha funcionado bien en este se mantuvo en IPv6 y se añadieron nuevas funciones manteniendo la compatibilidad entre ambos. Las características principales de IPv6 son: Optimización del direccionamiento multicast y la aparición del direccionamiento anycast. Autoconfiguración de los nodos. Calidad de servicio y clases de servicios. Mayor espacio de direcciones. Encaminamiento mas eficiente en la red troncal. Seguridad en el núcleo del protocolo. La cabecera de IPv6 que se describe en el RFC 2460 elimina o hace opcionales varios de los campos hallados en la cabecera de IPv4, de esta forma se logra una cabecera de tamaño fijo y más sencilla, esto con el fin de reducir el tiempo de procesamiento de paquetes. La cabecera básica de IPv6 tiene una longitud fija de 40 octetos que incluyen los ocho siguientes campos: 1. Versión (4 bits) 2. Clase de tráfico (8 bits) 3. Etiqueta de flujo (20 bits) 4. Longitud del paquete (16 bits) 5. Siguiente cabecera (8 bits) 6. Limite de saltos (8 bits) 7. Dirección de origen (128 bits) 8. Dirección de destino (128 bits) Es fácil observar que de los 12 campos que formaban la cabecera de IPv4 se paso a solamente 8 en IPv6. La razón principal de la eliminación de los cuatro campos (tipo de servicio, indicadores, identificación y control de errores) es que no eran necesarios al ya ser considerados redundantes. Por ejemplo, existen otros mecanismos tanto en capas inferiores a la de red como superiores que realizan control de errores por lo cual este campo dentro de la cabecera de IPv4 no fue agregado en IPv6. El único campo realmente nuevo dentro de la cabecera de IPv6 es el campo etiqueta de flujo. La información adicional a la estrictamente necesaria para encaminar los paquetes es codificada en cabeceras adicionales que pueden ubicarse entre la cabecera IPv6 y las cabeceras de niveles superiores, tal como la cabecera TCP/UDP. Actualmente existen tan solo seis cabeceras de extensión (opciones de salto por salto, encaminamiento extendido, fragmentación y reensamblado, opciones del destino, autentificación, y encapsulación), cada una de ellas identificada por un valor distinto del valor del campo siguiente cabecera. Cabe resaltar que cada paquete IPv6 puede llevar cero, una, o más cabeceras de extensión. Estas cabeceras de extensión deben de ser procesadas en orden, ya que el contenido de cada una de ellas indica si se debe o no procesar la siguiente cabecera. Esto con el fin de que las cabeceras de extensión no son examinadas o procesadas por los nodos intermedios, solo cuando lleguen al nodo que venga identificado por el campo de dirección de destino de la cabecera IPv6. La única excepción es la cabecera de opciones de salto por salto, que lleva información que debe ser procesada y examinada en todos cada uno de los nodos por los que pasa el paquete. Esta cabecera cuando esta presente debe venir inmediatamente a la cabecera IPv6. Su presencia se indica por el valor 0 en el campo de siguiente cabecera de la cabecera IPv6. Cada una de las cabeceras de extensión tiene una longitud múltiplo entero de 8 octetos, esto con el fin de mantener el alineamiento de 8 octetos en las cabeceras siguientes. Los nuevos procesadores, de 64 bits, puedan procesar estos campos más eficientemente ya que son de 64 bits. Resumiendo, las principales mejoras que ofrece la cabecera IPv6 son: Cabecera de 40 bytes, tamaño fijo. Cabecera básica y de extensión de 64 bits. Eliminación de campos redundantes en la cabecera, 8 campos. Procesamiento mas eficiente de las opciones, solo en el destino y cuando están presentes. Las direcciones IPv6, descritas en el RFC 2373, soportan un numero de bits que cuadruplica al usado por sus contrapartes de IPv4. Por consiguiente, en lugar de un espacio de direccionamiento total de 232, en IPv6 tenemos un espacio de 2128. Estas direcciones IPv6 de 128 bits pueden identificar tanto a interfaces individuales como a grupos de interfaces. Estas, se asignan a interfaces no a los nodos. Una interfaz puede tener múltiples direcciones IPv6 de cualquiera de los siguientes tipos: Unicast, este identifica a una unica interfaz, los paquetes serán entregados a la interfaz identificada con dicha dirección. Anycast, este identifica a un grupo de interfaces, los paquetes serán entregados a cualquier interfaz miembro de dicho grupo. Multicast, al igual que las anycast identifican a un grupo de interfaces, sin embargo, un paquete enviado a este tipo de dirección es enviado a todas las interfaces del grupo. Para representar las direcciones IPv6 se utiliza el esquema x:x:x:x:x:x:x:x, donde x es ser un valor hexadecimal de 16 bits. Cabe anotar que no es preciso escribir los ceros (0) a la izquierda de cada campo. Además, ya que pueden existir varias cadenas de ceros, es permitido abreviarlos mediante el uso de “::”, esto representa múltiples grupos de 16 bits de solo ceros. El tipo específico de dirección IPv6 viene ya indicado por los primeros bits de dicha dirección. El prefijo, campo de longitud variable, permite conocer donde esta conectado un nodo específico. Esto quiere decir que el prefijo permite saber la ruta de encaminamiento. Las direcciones unicast globales agregables basadas en el proveedor, son usadas para comunicaciones en todo Internet. Las de uso local son direcciones que solo tienen un ámbito de encaminamiento local, es decir dentro de una red local o una misma organización. Las direcciones unicast especiales definidas dentro de IPv6 son cuatro: Dirección de auto retorno mas conocido como Loopback, ::1. Dirección no especificada, esta es la ::. Direcciones IPv6 compatibles con IPv5. Direcciones IPv6 proyectadas desde IPv4. Las nuevas direcciones anycast son descritas en el RFC 2526. Estas usan cualquiera de los formatos de direcciones definidos para las direcciones unicast. Es por esto que dichas direcciones son sintácticamente indistinguibles de las unicast. Solo cuando la misma direccion unicast es asignada a mas de una interfaz esta se convierte en anycast. Los nodos también deben ser configurados para que sepan que se trata de una direccion anycast. Las multicast están descritas en el RFC 2375. Estas direcciones tienen un prefijo 1111 1111. Luego, tienen un campo de bandera de 4 bits, los 3 primeros están reservados y deben ser inicializados en 0. El ultimo bit puede estar en 0, si es una direccion multicast permanente o en 1 si es una transitoria. Se puede concluir que, aunque el protocolo IPv6 tiene muchas ventajas sobre su antecesor IPv4, la transición a este nuevo protocolo no ocurrirá de un momento a otro. Ambas versiones deberan coexistir por muchos años antes de que se acabe el uso del protocolo IPv4. Ya que IPv6 puede ser implementado como una actualización, se deberá comenzar un largo periodo de transición para lograr así minimizar los costos de nuevos equipos. Uno de los grandes desafíos se encuentra en que los sistemas IPv4 a diferencia de los IPv6 no pueden enviar, enrutar y recibir paquetes IPv6. En la actualidad, la mayoría de los operadores usan nodos IPv4 por lo cual al momento de migrar todos los servicios a IPv6, además de ser necesario unos días de inactividad, seria necesario reemplazar la mayoría de los equipos que no soportan el nuevo protocolo IPv6. Esperemos que se tenga en cuenta todas las ventajas que ofrece este nuevo protocolo para que su implementación se realice en los próximos años.