Soporte IPv6 en XO
Introducción
[editar]ULPC (Un Laptop Por Chico) es un importante desafío, que no sólo supone la inversión en el equipamiento, sino también en el despliegue de buscar una buena solución a la conectividad. El propósito de ULPC es que todos los chicos puedan tener acceso a Internet. Los principales beneficios son:
- Ayudar al despliegue de la red educativa
- Proporcionar servicios innovadores
- Alcance a conocimientos
Debido a las limitaciones del protocolo actual de Internet (IPv4), se ve la necesidad de implementar IPv6.
Las XO tienen dos formas de resolver la conectividad mediante redes inalámbricas malladas y redes ad-hoc. Para esto disponen de una interfaz física (las dos antenas) y dos interfaces lógicas:
- eth0 – red ad-hoc
- msh0 – red mallada
Las redes malladas aportan como principal novedad, que los terminales de una red, pueden convertirse puntualmente en routers, con el objetivo de ampliar la cobertura al máximo posible.
IPv6
[editar]La principal motivación de su diseño fue el agotamiento de direcciones IPv4. Además, el número de dispositivos que requieren direccionamiento IP ha crecido notablemente, especialmente en los dispositivos celulares con la explosión del "Internet móvil". Se prevé que en el futuro existan mucho más dispositivos conectados (con las nuevas tendencias en domótica y conectividad en los automóviles)
La dirección se representa a través de dígitos hexadecimales, agrupada en 8 grupos de 4 dígitos separados por ":". Cada dígito hexadecimal representa 4 bits, por lo que en total se tendrán 8 grupos de 4 caracteres hexadecimales cada uno.
Sintaxis: XXXX: XXXX: XXXX: XXXX: XXXX: XXXX: XXXX: XXXX Por ejemplo: 2001: 0DB8: 85A3: 08D3: 1319: 8A2E: 0370: 7334
Ciertamente en los últimos años hemos asistido a una explosión en la demanda de direccionamiento, principalmente basado en los siguientes factores:
- Usuarios "siempre encendidos” que ocupan permanente direccionamiento, a diferencia de antiguas conexiones "dial-up"
- Más dispositivos conectados (teléfonos móviles, PDAs, etc.). En el mundo existen más teléfonos móviles que ordenadores.
- Más usuarios, especialmente en países en plena expansión como China, India, Corea, entre otros.
- Nuevas aplicaciones de domótica.
El criterio de diseño fue provocar el menor impacto posible a las capas superiores e inferiores, por lo que IPv6 fue diseñado de un modo conservador y no rupturista. No deberían ser necesarios cambios en los protocolos superiores, excepto en aquellos donde se hace uso de las direcciones de red.
Principales características de IPv6:
- Espacio de direccionamiento mayor: Las direcciones pasan de 32 bits (IPv4) a 128 bits (IPv6). Este cambio dramático en el espacio de direccionamiento, no sólo resuelve el agotamiento actual y futuro, sino que permite una gestión jerárquica mucho más flexible y eficiente
- Cabecera simplificada: Los paquetes están diseñados para minimizar el procesamiento y agilizar las comunicaciones. La cabecera tiene una longitud fija que agiliza su procesamiento. Se eliminan algunos campos de IPv4 que no tenían uso, o se dejan como opcionales.
- Auto-configuración de las interfaces de red: Una de las grandes innovaciones es la simplificación de la configuración de los interfaces de red de los dispositivos, de forma automática. Esto permite la masificación en el uso de Internet por parte de usuarios y dispositivos, simplificando al máximo la complejidad de configuración en los nodos. El ideal es que un usuario no necesite saber como configurar un dispositivo, sino que simplemente lo conecte y tome servicio, como puede pasar con un teléfono móvil. También minimiza la necesidad de soporte técnico "de campo" para la conectividad básica, pudiendo posteriormente realizar asistencia remota en caso de problemas más complejos.
- Desarrollo de multicasting: Esta técnica permite básicamente a un nodo, transmitir información a varios nodos de forma simultánea, sin necesidad de replicar el mensaje. La información se irá entregando a cada uno de los nodos que requieran la recepción de dicha información.
- Seguridad nativa en IPSec: En IPv6 la autenticación y la encriptación forman parte integral de la capa de red a través de IPSec. El protocolo IPSec es obligatorio a través de la extensión de cabecera de seguridad.
DHCPv6
[editar]DHCPv6 Es un protocolo de configuración de host dinámico para IPv6. El servidor es el responsable de asignar las direcciones IP y mantener los estados de los nodos clientes. Mantiene una base de datos con las direcciones que fueron asignadas a los hosts, de ahí el nombre de "statefull" (dado que mantiene el estado de las asignaciones).
Funcionamiento
[editar]El cliente envía una solicitud de IPv6 a la red; todos los servidores que están conectados a la red, reciben esa solicitud y le asignan una IP al cliente. Finalmente, el cliente elige una de esas IPs, mediante un algoritmo, y le informa a los servidores la IP elegida.
Implementación de IPv6 en XO
[editar]Tres de las principales posibles implementaciones de IPv6 en las XO son las que se describen a continuación:
1- Asignación Manual
[editar]A todos los hosts se les debe adjudicar una IP dentro de la misma red. Para esto, el comando a utilizar es el siguiente:
ip -6 addr add <IP Global>/<prefijo> dev <interfaz>
Para ejecutar este comando en las XO, el usuario debe tener permisos de root.
2- Asignación Automática
[editar]Para esto, es necesario configurar un servidor DHCPv6 (en cualquier máquina) y a cada nodo de la red se le debe configurar el cliente DHCPv6.
El servidor DHCPv6 debe ser configurado con el rango y prefijo de las IPs que estarán disponibles en un pool para ser asignadas a los nodos.
En el cliente se debe configurar el servidor al cual va a “escuchar” y la interfaz de red que utilizará.
Para realizar esta configuración, tanto en el cliente como en el servidor, es necesario que el usuario tenga permisos de root.
3- Asignación de IP Local
[editar]Es una red local formada por dos o más XO la cual se configura automáticamente. La IP que se asigna en cada nodo es conocida como: enlace local.
Validación
[editar]Para la validación de estas implementaciones, se debe ejecutar el siguiente comando:
ping6 –I <interfaz> <ipDestino>
Además se puede realizar un ping a todos los nodos de la red "difusión" de la siguiente manera:
ping6 –I <interfaz> ff02::1
Véase también
[editar]Referencias
[editar]Javier Cajal Espinos: "Aportes del protocolo IPv6 a los desafíos de las redes educativas inalámbricas" - Proyecto de fin de carrera Universidad Politécnica de Madrid (Setiembre de 2008)