jueves, 21 de noviembre de 2013

Protocolo Internet Mobility Support (Mobile IP)

Después de demasiado meses (de nuevo) de silencio aquí está la traducción del capítulo sobre Mobile IP de la Guía TCP/IP. No se que tiempo costó pero al final lo que cuenta es que ya está listo. Este capítulo cierra todo  lo que hay en la Guía sobre el protocolo (IP), de manera que es una marca destacable. Hay partes de la Guía que me interesaba sacar antes que esta, fuera porque eran de mayor interés/utilidad o porque fueron solicitadas por cualquier vía. El problema es que lo del interés es relativo a quien lo lee y las solicitudes abarcan demasiado, ademas esta el problema de que por una cuestión de orden no quería brincar a otra parte sin terminar como Dios manda lo que había iniciado con IP. En fin que ya quedamos en condiciones de pasar a (esas) otras cosas. En orden de importancia (bueno, también eso es relativo, pero consensuando) seguimos con los protocolos de capa de transporte (TCP/UDP) y en la Guía, corresponde a lo que está entre este punto y este otro. Es bastante menos material que lo que corresponde al protocolo IP, así que (teóricamente) debería tardar menos, pero mejor de eso no hablo, que luego acabo por no cumplir. Para resumir, a los interesados, esto sigue (muy lento, pero sigue). Vendrán tiempos mejores, o eso espero, en los que pueda dedicar esfuerzos a otros temas (y la verdad, es un mundo de cosas) mientras es asunto de no detenerse. Pues eso, provecho! y hasta el siguiente.

Contenido.
6 - Protocolo Internet Mobility Support (IP móvil).
6.1 - Generalidades de Mobile IP, historia y motivaciones.
6.2 - Conceptos y funcionamiento general de Mobile IP.
6.3 - Direccionamiento en Mobile IP : Direcciones permanentes (inicial) y "dinámicas".
6.4 - Descubrimiento del agente en Mobile IP, mensajes de anuncio y solicitudes.
6.5 - Mensajes de registro de agente inicial y de registro.
6.6 - Encapsulado de datos y Tunneling en Mobile IP.
6.7 - Operación de Mobile IP y el ARP (Address Resolution Protocol) de TCP/IP.
6.8 - Cuestiones de eficiencia en Mobile IP.
6.9 - Consideraciones de seguridad en Mobile IP.

El Protocolo de Internet (IP) es el protocolo de capa de red de mayor éxito en el mundo de las computadoras debido a sus muchos puntos fuertes, pero también tiene algunas debilidades, la mayoría de las cuales han llegado a ser más importantes a medida que las redes han ido evolucionando. Tecnologías como el direccionamiento classles y la traducción de direcciones de red (NAT) combaten el agotamiento del espacio de direcciones IPv4, mientras que IPSec proporciona las comunicaciones seguras de las que carece. Otro punto débil del protocolo IP es que no fue diseñado con ordenadores portátiles en mente.

Mientras que los dispositivos móviles puede utilizar ciertamente el protocolo IP, la forma en que se tratan los dispositivos y se rutean los datagramas ocasiona un problema cuando el dispositivo se mueve de una red a otra. En el momento en que se desarrolló el protocolo IP, los ordenadores eran grandes y se trasladaban en raras ocasiones. Hoy en día, tenemos millones de computadoras portátiles y dispositivos más pequeños, algunos de ellos incluso usan la red inalámbrica para conectarse a la red cableada. La importancia de ofrecerle todas las capacidades del protocolo IP a estos dispositivos móviles ha crecido de forma espectacular. Para soportar el protocolo IP en un entorno móvil, se desarrolló un nuevo protocolo llamado Soporte a IP móvil (IP Mobility Support), o más simplemente, IP móvil.

En esta sección describiré el protocolo especial desarrollado para superar los problemas con las computadoras móviles vinculadas a redes IP. Empiezo con una visión general de IP móvil y una descripción más detallada de por qué se creó. Discutiremos conceptos importantes que definen IP móvil y su modo general de funcionamiento. Luego pasaremos a ver algunos de los detalles de cómo funciona IP móvil. Esto incluye una descripción del esquema de direccionamiento especial IP móvil, una explicación de cómo los agentes son descubiertos por los dispositivos móviles, el proceso de registro con el agente inicial (home agente o HA) del equipo y cómo se encapsulan y se envían los datos. Discutiremos el impacto que tienen el funcionamiento de los protocolos TCP / IP y Address Resolution Protocol (ARP) sobre IP móvil. Termino la sección examinando algunas de las cuestiones relacionadas con la eficiencia y la seguridad que entran en juego cuando se utiliza IP móvil.

Nota: En esta sección se describe específicamente cómo se proporciona soporte para IP móvil en redes IPv4. En el futuro, podremos agregar más detalles específicos de cómo se implementa la movilidad en IPv6.

Antecedentes: Si usted no está familiarizado con los conceptos básicos de direccionamiento y enrutamiento IP, le recomiendo que revise al menos someramente estas secciones antes de intentar leer sobre IP móvil.

Regresar al contenido
6.1 - Generalidades de Mobile IP, historia y motivaciones.
 
La informática móvil ha aumentado en popularidad en los últimos años, debido en gran parte a los avances en la miniaturización. Hoy en día podemos conseguir en una PC portátil o incluso en un smartphone (hand-held en el original, en realidad me he tomado la libertad de alterar la traducción del término, por razones prácticas. NDT) el poder que antes requerían una maquina gigantesca. También contamos con tecnologías de LAN inalámbrica que permiten fácilmente que un dispositivo se mueva de un lugar a otro y mantenga la conectividad de red en la capa de enlace de datos. Desafortunadamente, el Protocolo de Internet se desarrolló en la era de los gigantes, y no está diseñado para hacer frente con gracia a ordenadores moviéndose continuamente. Para entender por qué IP no funciona bien en un entorno móvil, demos una mirada retrospectiva a cómo funciona el direccionamiento y routeo IP.

El problema con los nodos móviles en TCP / IP
Si usted ha leído alguno de los materiales en esta Guía sobre las direcciones IP - y ciertamente espero que lo haya hecho - sabrá que las direcciones IP están básicamente divididas en dos partes: un identificador de red (Network ID) y un identificador de host (ID de host ). El ID de red especifica en que red está ubicado un host y el ID de host especifica de manera única el hosts dentro de una red. Esta estructura es fundamental para el routeo de datagramas, ya que los dispositivos utilizan la parte del ID de red de la dirección de destino de un datagrama para determinar si el destinatario está en una red local o en una red remota y se emplean routers para determinar cómo enrutar los datagramas.

Este es un gran sistema, pero tiene un defecto crítico: la dirección IP está ligada estrechamente a la red donde se encuentra el dispositivo. La mayoría de los dispositivos nunca (o al menos raramente) cambian su punto de conexión a la red, por lo que esto no es un problema, pero es sin duda un problema para un dispositivo móvil. Cuando el dispositivo móvil se desplaza fuera de su lugar de origen, el sistema de enrutamiento basado en la dirección IP "se rompe". Esto se ilustra en la Figura 127.

En este ejemplo, un dispositivo móvil (el PC portátil) se ha movido desde su red doméstica en Londres a otra red en Tokio. Un cliente remoto (parte superior izquierda) decide enviar un datagrama al dispositivo móvil. Sin embargo, no tiene idea de que el dispositivo se ha movido. Puesto que envía el datagrama usando la dirección del nodo móvil, 71.13.204.20, su solicitud se enruta al router responsable de esa red, que está en Londres. Por supuesto, el dispositivo móvil no está allí, por lo que el router no puede entregar el datagrama. Mobile IP resuelve este problema dando a los dispositivos móviles y routers la capacidad de reenviar (forward en el original) datagramas desde una ubicación a otra.

Dificultades con las soluciones anteriores para nodos móviles.
La unión estrecha entre el identificador de red y la dirección IP del host significa que sólo hay dos opciones reales bajo el protocolo IP convencional cuando un dispositivo móvil se desplaza de una red a otra:
  • Cambiar la dirección IP: Podemos cambiar la dirección IP de la máquina a una nueva dirección que incluye el ID de red de la red a la que se está moviendo. 
  • Desvincular el enrutamiento IP de la dirección: Podemos cambiar la forma en que se ejecuta el enrutamiento, para que en lugar de que los routers envíen datagramas basándose en su identificador de red, lo hagan en función de la totalidad de la dirección.
Estas dos parecen opciones viables a primera vista, y si fueran empleadas por sólo unos cuantos dispositivos podrían funcionar. Por desgracia, ambas son ineficaces, a menudo poco prácticas y no son escalables, es decir, no son prácticas cuando deben lidiar con miles o millones de dispositivos:
  • Cambiar la dirección IP cada vez que un dispositivo se mueve consume mucho tiempo y normalmente requiere intervención manual. Además, sería necesario reiniciar toda la pila TCP / IP, rompiendo las conexiones existentes. 
  • Si cambiamos la dirección IP del dispositivo móvil, ¿cómo comunicar el cambio al resto de los dispositivos a través de Internet? Estos dispositivos sólo tienen la dirección IP inicial (de la red doméstica) del nodo móvil, lo que significa que no serán capaces de encontrarlo, incluso si le damos una nueva dirección que coincida con su nueva ubicación. 
  • El enrutamiento basado en la dirección íntegra de un host significaría que la totalidad de Internet se vería inundada de información de enrutamiento de cada ordenador móvil. Teniendo en cuenta el esfuerzo que costó desarrollar tecnologías como el direccionamiento sin clases para reducir las entradas en las tablas de routeo, es obvio que se trata de una caja de Pandora que nadie quiere tocar.
Concepto clave: El problema básico con el soporte a dispositivos móviles en una interconexión de redes IP es que el enrutamiento se realiza utilizando la dirección IP, lo que significa que la dirección IP de un dispositivo está vinculada a la red donde se encuentra el mismo. Si un dispositivo cambia de red, los datos enviados a la antigua dirección no pueden ser entregados por medios convencionales. Las soluciones tradicionales como el enrutamiento basados en direcciones IP completas o el cambio de dirección manual suelen crear más problemas.

Una solución mejor: Mobile IP
La solución a estos problemas fue definir un nuevo protocolo especialmente para soportar dispositivos móviles, que se suma al Protocolo de Internet IP original. Este protocolo, llamado Soporte para IP Móvil (IP Mobility Support) para IPv4, fue definido por primera vez en la RFC 2002, actualizado en la RFC 3220, y es descrito en la RFC 3344. El nombre oficial que figura en el título del documento es bastante largo, la tecnología es más comúnmente llamada Mobile IP, tanto en el RFC como por la gente de redes.

Para asegurar su éxito, los diseñadores de Mobile IP tenían que cumplir una serie de objetivos importantes. El protocolo resultante tiene estos atributos y características clave:
  • Movilidad sin problemas de dispositivos con una dirección de dispositivo existente: Los dispositivos móviles pueden cambiar su método de conexión a la red física y su ubicación sin dejar de usar su dirección IP existente. 
  • Sin requerimientos adicionales de direccionamiento o enrutamiento: El esquema general para el direccionamiento y enrutamiento se mantiene como en el protocolo IP normal. Las direcciones IP se asignan todavía de la manera convencional, por el propietario de cada dispositivo. No se colocan nuevos requisitos de enrutamiento en la red, tales como rutas específicas de hosts. 
  • Interoperabilidad: Los dispositivos Mobile IP pueden enviar y recibir desde dispositivos IP existentes que no saben cómo funciona Mobile IP y vice-versa.
  • Transparencia intercapas: Los cambios hechos por Mobile IP se limitan a la capa de red. La capa de transporte y los protocolos y aplicaciones de capas superiores son capaces de funcionar normalmente, como con IPv4, y las conexiones existentes incluso se pueden mantener mediando un movimiento. 
  • Cambios limitados de hardware: Se requieren cambios en el software en el dispositivo móvil, así como a los routers utilizados directamente por el dispositivo móvil. Otros dispositivos, sin embargo, no necesitan cambios, incluyendo los routers que median entre los routers de casa y las redes visitadas. 
  • Escalabilidad: Mobile IP permite que un dispositivo cambie desde cualquier red hacia cualquier otra red, y soporta esto para un número arbitrario de dispositivos. El alcance del cambio de conexión puede ser global, usted podría desvincular una portátil en una oficina en Londres y trasladarla a Australia o Brasil, por ejemplo, y funcionará igual que si lo llevara a la oficina de al lado. 
  • Seguridad: Mobile IP funciona redirigiendo los mensajes, e incluye procedimientos de autenticación para evitar que un dispositivo no autorizado cause problemas.
Mobile IP logra estos objetivos mediante la implementación de un sistema de reenvío para dispositivos móviles. Cuando una unidad móvil está en la red de su casa (o red inicial o doméstica ndt), funciona normalmente. Cuando se mueve a una red diferente, los datagramas son enviados desde la red doméstica a su nueva ubicación. Esto le permite a los hosts y routers normales que no saben acerca de Mobile IP continuar operando como si el dispositivo móvil no se hubiera movido. Para implementar Mobile IP se requieren servicios de soporte especiales, para permitir actividades tales como dejar que un dispositivo móvil determine dónde está, decirle a la red doméstica a donde enviar mensajes y más. Exploraremos el funcionamiento de Mobile IP con mas detalle en el tema siguiente, y los detalles de implementación en el resto de esta sección.

Concepto clave: Mobile IP resuelve los problemas asociados con dispositivos que cambian sus ubicaciones de red, mediante la creación de un sistema en el que los datagramas enviados al lugar de origen del nodo móvil son reenviados desde donde quiera que se encuentren. Esto es particularmente útil para dispositivos inalámbricos, pero puede ser utilizado por cualquier dispositivo que se mueva con frecuencia entre diferentes redes.

Mobile IP se asocia a menudo con redes inalámbricas, ya que los dispositivos que usan la tecnología WLAN puede moverse fácilmente de una red a otra. Sin embargo, no fue diseñado específicamente para la tecnología inalámbrica. Puede ser igualmente útil para moverse de una red Ethernet en un edificio a una red en otro edificio, ciudad o país. Mobile IP puede ser de gran utilidad en numerosas aplicaciones, incluyendo vendedores ambulantes, consultores que visitan sitios remotos, administradores que caminan alrededor de un campus resolviendo problemas, y mucho más.

Limitaciones de Mobile IP
Es importante entender que Mobile IP tiene ciertas limitaciones en su utilidad en entornos inalámbricos. Fue diseñado para manejar la movilidad de los dispositivos, pero sólo movilidades relativamente infrecuentes. Esto es debido al trabajo que implica cada cambio. Esta sobrecarga no es un gran problema cuando se mueve un equipo una vez por semana, un día o incluso una hora. Puede ser un problema para movimientos en "tiempo real" tales como el "roaming" en una red inalámbrica, donde puede ser mas adecuado el uso de funciones automáticas a nivel de la capa de enlace de datos. Mobile IP se diseñó bajo el supuesto específico de que el punto de unión no iba a cambiar más de una vez por segundo.

También cabe destacar que Mobile IP también está destinado a ser utilizado con dispositivos que mantienen una configuración IP estática. Dado que el dispositivo debe ser capaz de saber siempre la identidad de su red de origen y la dirección IP normal, es mucho más difícil de usar con un dispositivo que obtiene una dirección IP de forma dinámica, usando algo como DHCP.

Me gustan las analogías, ya que proporcionan una manera de explicar pesados conceptos técnicos en términos mas digeribles. El problema de los dispositivos móviles en una red IP puede ser fácilmente comparado con una movilidad de la vida real y el problema de la transmisión de la información: la entrega de correo para los que viajan. Para ayudar a explicar cómo funciona Mobile IP, voy a establecer esta analogía y utilizarla como base para entender el funcionamiento general de Mobile IP. Volveré a usar la analogía previa para explicar determinados conceptos en los temas restantes de esta sección.

Generalidades de Mobile IP: "Reenvío de direcciones" para Internet
Suponga que usted es un consultor que trabaja para una gran empresa con muchas oficinas. Su oficina central se encuentra en Londres, Inglaterra, y ud pasa la mitad de tu tiempo allí. El resto del tiempo se reparte entre otras oficinas, digamos, Roma, Tokio, Nueva York y Toronto. También de vez en cuando visita sitios de clientes que pueden estar en cualquier lugar del mundo. Usted puede estar en estos lugares remotos durante semanas en determinado momento.

El problema es: ¿cómo organizar las cosas de modo que usted pueda recibir su correo, independientemente de su ubicación? Usted tiene el mismo problema que tiene el protocolo IP normal con un dispositivo móvil, y sin tomar medidas especiales, las mismas dos opciones insatisfactorias para resolverlo: el cambio de dirección o desvincular el routeo para su dirección.  Usted no puede cambiar su dirección cada vez que se mueve, ya que la estaría modificando constantemente, y para el instante en que les diga a todos acerca de su nueva dirección esta va a cambiar de nuevo. Y ciertamente no pueden "desacoplar" el enrutamiento de correo desde su dirección, a menos que desee configurar su propio sistema postal!

La solución a este dilema, por supuesto, es el reenvío de correo. Digamos que ud va de Londres a Tokio por un par de meses. Le dice a la oficina de correos de Londres (PO) que estará en Tokio. Ellos interceptaran el correo que va a su dirección normal de Londres, reetiquetado, y remitiéndolo a Tokio. Dependiendo de donde usted se encuentre, este correo puede ser redirigido ya sea directamente a una nueva dirección en Tokio, o a un apartado postal en Tokio donde ud podrá recogerlo. Si deja Tokio para ir a otra ciudad, simplemente ud llamará a su oficina postal en Londres y les comunicará su nueva ubicación. Cuando regrese a casa, solo cancelará el reenvío y tendrá su correo como siempre. (Sí, estoy suponiendo que Londres y Tokio tienen sólo una oficina de correos. ¿Quiere decir que no es así? - Si, lo que sea. 
Las ventajas de este sistema son muchas. Es relativamente fácil de entender y aplicar. También es transparente a todo el que te envía el correo, solo lo siguen enviando a su dirección en Londres y el correo llegará a donde sea que ud esté. Y el manejo del mecanismo de reenvío se realiza sólo en la oficina postal de Londres y posiblemente en la que se encuentra actualmente, el resto del sistema postal ni siquiera sabrá lo que está sucediendo.

Por supuesto, el sistema también tiene desventajas. La oficina postal de Londres puede permitir el reenvío ocasional de forma gratuita, pero es probable que le cobren si ud se va a mover de manera regular. También podría ser necesario un arreglo especial en la ciudad de destino. Ud deberá mantener la comunicación con su oficina postal de origen cada vez que se mueva. Y quizás lo más importante, cada pieza de correo debe ser enviada a través del sistema dos veces, primero a Londres y luego a donde quiera que esté ubicado, lo cual es ineficiente.
Mobile IP funciona de una manera muy similar al sistema de reenvío de correo que se acaba de describir. El "consultor de viaje" es el dispositivo que va desde una red a otra. Cada red puede ser considerada como una "ciudad" diferente, y la interconexión de routers es como el sistema postal. El router que se conecta a cualquier red a la Internet es como la "oficina de correos" de esa red, desde una perspectiva IP.

El nodo móvil normalmente reside en su red principal, que es el que está indicado por el identificador de red en su dirección IP. Los dispositivos interconectados siempre routean su paquetería utilizando esta dirección, por lo que los "correos" (datagramas) siempre llegan al router en "casa" del dispositivo. Cuando el dispositivo "viaja" a otra red, el router ("oficina de correos") intercepta los datagramas y los envía a la dirección actual del dispositivo. Puede enviarlos directamente al dispositivo utilizando una nueva dirección, temporal, o puede enviarlos al router de la red actual del dispositivo (la "otra oficina de correos", en Tokio, en nuestra analogía) para su entrega final. Una visión general del funcionamiento de Mobile IP puede ser vista en la Figura 128.
Este diagrama es similar a la figura 127, pero con Mobile IP implementado. El router de casa del nodo móvil actúa como el agente local y el router en Tokio como el agente externo. El móvil se le ha asignado una dirección temporal, "dinámica" (care-of address en el original NDT) para ser utilizada mientras está Tokio (que en este caso es una dirección dinámica co-localizada, lo que significa que se asigna directamente al nodo móvil; la Figura 129 muestra el mismo ejemplo usando el otro tipo de dirección dinámica). En el paso # 1, el cliente remoto envía un datagrama al móvil utilizando su dirección inicial, como antes. El datagrama llega a Londres como de costumbre. En el paso # 2, el agente inicial encapsula los datagramas en un nuevo datagrama (con una cabecera nueva que define la dirección dinámica) y lo envía al nodo móvil en Tokio.

Conceptos de IP para móviles y el funcionamiento general 
Roles de los dispositivos en Mobile IP.
Como se puede ver, al igual que el reenvío de correo requiere el apoyo de una o más oficinas de correo, Mobile IP requiere la ayuda de dos routers. De hecho, se le dan nombres especiales a los tres principales actores que implementan el protocolo (también se muestra en la Figura 128):
  • Nodo móvil: Este es el dispositivo móvil, el que se mueve alrededor una interconexión de redes. 
  • Agente inicial (Home Agent HA): Este es el router de la red doméstica que es responsable de la captura de los datagramas destinados al nodo móvil y de reenviárselos cuando está de viaje. También implementa otras funciones de apoyo necesarias para ejecutar el protocolo. 
  • Agente externo (Foreign Agent FA): Este es un router en la red a la que está unido actualmente el nodo móvil. Sirve como un "hogar lejos del hogar" para el nodo móvil, y normalmente actúa como su router por defecto, e implementa funciones de Mobile IP. Dependiendo del modo de operación, puede recibir datagramas enviados desde el agente inicial y los envía al nodo móvil. También soporta el intercambio de información sobre movilidad para hacer funcionar Mobile IP. El agente externo puede no ser necesario en algunas implementaciones de Mobile IP, pero se considera generalmente parte de cómo opera el protocolo.
Concepto clave: Mobile IP opera mediante la creación del equivalente en TCP / IP de un sistema de reenvío de mensajes. Un router en la red doméstica de un nodo móvil sirve como agente inicial del dispositivo móvil, y otro router en la red actual actúa como agente externo. El agente local recibe los datagramas destinados a la dirección IP normal del móvil y los reenvía a su ubicación actual, ya sea directamente o a través del agente externo. El agente inicial y el agente externo también son responsables de varias comunicaciones y actividades de configuración que se requieren para que funcione Mobile IP.

Conceptos de IP para móviles y el funcionamiento general. 
Funciones de Mobile IP.
Una diferencia importante entre Mobile IP y nuestro ejemplo de reenvío de correo es la que representa la clásica distinción entre personas y ordenadores: las personas son inteligentes y las computadoras no lo son. Cuando nuestro consultor viaja en Tokio, él siempre sabe que está en Tokio y que su correo será reenviado. (Bueno, suponiendo que no se va a pasar con el sake, pero eso es otra historia). El sabe arreglarse con la oficina de correos de Tokio para obtener su correo. La oficina de correos en Londres sabe lo que tiene que ver con el reenvío y la forma de hacerlo. El viajero y todas las oficinas de correos se pueden comunicar fácilmente vía telefónica.
En cambio, en el mundo de la informática, cuando un dispositivo viaja y usa Mobile IP, las cosas son más complicadas. Supongamos que nuestro consultor vuela a Tokio, enciende su portatil y lo conecta a la red. Cuando el portátil se enciende por primera vez, no tiene ni idea de lo que está pasando. Tiene que darse cuenta de que está en Tokio. Primero necesita encontrar un agente extranjero en Tokio. Necessita saber cuál será la dirección que va a utilizar mientras esté en Tokio. Necesario además comunicarse con su agente inicial en Londres para decirle que está en Tokio e iniciar el reenvío  de datagramas. Además, debe hacer todo este proceso sin "utilizar un teléfono".

Con este fin, Mobile IP incluye una serie de funciones especiales que se utilizan para configurar y gestionar el reenvío de datagramas. Para ver cómo funcionan estas funciones de soporte, podemos describir el funcionamiento general de Mobile IP como una serie simplificada de pasos:
  • Comunicación con el Agente: El nodo móvil encuentra un agente en su red local utilizando el proceso de descubrimiento del agente (Agent Discovery process). El nodo escucha los mensajes de anuncio enviados por los agentes y a partir de ellos puede determinar dónde se encuentra. Si no escucha estos mensajes puede solicitar uno con un mensaje de solicitud de agente. 
  • Determinación de ubicación de red: El nodo móvil determina si es en su red doméstica o una externa al ver la información en el mensaje de anuncio del agente.
Si está en su red doméstica funciona con su IP normal. Para mostrar cómo funciona el resto del proceso, digamos que el dispositivo se acaba de mudar a una red externa. Los pasos restantes son los siguientes:
  • Adquisición de la Dirección dinámica: El dispositivo obtiene una dirección temporal que se denomina dirección dinámica (care-of-address). Esta o bien proviene del mensaje de anuncio del agente externo, o bien de otros medios. Esta dirección se utiliza solamente como el punto de destino de los datagramas de reenvío, y para ningún otro propósito. 
  • Registro de Agente: El nodo móvil informa al agente inicial en su red principal de su presencia en la red exterior y permite el reenvío de datagramas, registrándose con el agente inicial. Esto se puede hacer ya sea directamente entre el nodo y el agente local, o indirectamente, utilizando el agente externo como un conducto. 
  • Reenvío de datagramas: El agente inicial captura los datagramas destinados a el nodo móvil y los reenvía. Los puede enviar ya sea directamente al nodo o indirectamente al agente externo para su entrega, en función del tipo de dirección dinámica en uso.
El reenvío de datagramas continúa hasta que el registro del agente actual expire. Entonces el dispositivo lo puede renovar. Si se mueve otra vez, se repite el proceso para obtener una nueva dirección dinámica y luego registra su nueva ubicación con el agente inicial. Cuando el nodo móvil vuelve a su red doméstica, anula el registro para cancelar el reenvío de datagramas IP y reanuda su funcionamiento normal.
Los temas siguientes analizan con más detalle las funciones resumidas en cada uno de los pasos anteriores.

Al igual que la mayoría de nosotros sólo tiene una dirección única utilizada para nuestro correo, la mayoría de los dispositivos IP tienen una única dirección. Nuestros consultores de viaje, sin embargo, debe tener dos direcciones, una normal y otra que se utiliza mientras él está ausente. Continuando con nuestra analogía anterior, el portátil de nuestro consultor tiene tambien la necesidad de contar con dos direcciones:
  • Dirección de casa (permanente o inicial): La dirección IP permanente "normal" asignada al nodo móvil. Esta es la dirección utilizada por el dispositivo en su red doméstica, y a la que se envían siempre los datagramas destinados para el nodo móvil. 
  • Dirección dinámica (care-of address): una dirección secundaria, temporal utilizada por un nodo móvil mientras está "viajando" fuera de su red doméstica. Se trata de una dirección IP normal de 32 bits en la mayoría de los aspectos, pero se usa sólo por Mobile IP para el reenvío de datagramas IP y para funciones administrativas. Ni las capas superiores ni los dispositivos IP regulares la usan nunca al crear datagramas.
Tipos de direcciones IP dinámicas (care-of address).
Las direcciones dinámicas (care-of addresses) son un concepto un poco complicado. Hay dos tipos diferentes, que corresponden a dos métodos claramente diferentes de reenvío de datagramas desde el router agente de origen.

Dirección dinámica de agente externo.
Esta es una dirección auxiliar proporcionada por el agente externo en su mensaje de anuncio de agente. Es, de hecho, la dirección IP del agente externo en sí. Cuando se utiliza este tipo de dirección dinámica, todos los datagramas capturados por el agente de origen no se transmiten directamente al nodo móvil, sino indirectamente al agente externo, que es responsable de la entrega final. Dado que en esta disposición, el nodo móvil no tiene una dirección IP válida distinta en la red externa, esto se hace normalmente usando una tecnología de capa dos. Esta disposición se ilustra en la Figura 129.
En nuestra analogía del consultor, este tipo de dirección dinámica es como el reenvío desde la oficina de correos de Londres a la oficina de correos de Tokio. El personal de Londres tomaría una carta para John Smith enviada a su dirección de Londres, y la volvería a empaquetar para su entrega a "la dirección dinámica de John Smith en la oficina de correos de Tokio". La oficina postal de Tokio (o el propio John Smith) tendría que preocuparse acerca de la última etapa de la entrega.

Dirección dinámica co-localizada.
Esta es una dirección auxiliar asignada directamente al nodo móvil a través de algún medio externo al protocolo Mobile IP. Por ejemplo, se puede asignar en la red externa manualmente, o automáticamente usando DHCP. En esta situación, la dirección auxiliar se utiliza para reenviar el tráfico desde el agente local directamente al nodo móvil. Este era el tipo de dirección que mostraba la Figura 128.

En nuestra analogía del consultor, esto equivale a que John Smith obtenga una dirección temporal para su uso, mientras está Tokio. La oficina de correos de Londres remitiría directamente a su dirección de Tokio. No lo enviarían específicamente a la oficina de correos de Tokio (aunque, por supuesto, la oficina postal procesaría el correo en algún momento).


Este diagrama es similar a la figura 128, excepto que en lugar de que el nodo móvil tenga una dirección IP co-localizada (diferente) como en el ejemplo, aquí el nodo móvil está usando una dirección dinámica de agente externo. Esto significa que la dirección dinámica de nodo es realmente la del agente externo. El paso # 1 es lo mismo que en la figura 128, pero en el paso # 2 el agente inicial no hace el reenvío al nodo móvil directamente, sino al agente externo (ya que es el router cuya dirección IP está utilizando el nodo móvil). En el paso # 3 el agente externo desempaqueta el datagrama original y lo entrega al nodo móvil. Esto se realiza normalmente usando cualquier tecnología de capa dos (Lan o WLan) que conecte el nodo móvil con el agente externo.

Concepto clave: En Mobile IP, cada dispositivo móvil utiliza una dirección dinámica temporal mientras está en una red externa. Una dirección dinámica co-localizada es la que se asigna directamente al nodo móvil, y permite la entrega directa de datagramas al nodo. La alternativa es usar una dirección dinámica de un agente externo. En esta situación, el nodo móvil utiliza realmente la dirección IP del agente foráneo; los datagramas se envían al agente externo, que a su vez los reenvía al nodo móvil.

Direccionamiento en Mobile IP: Direcciones iniciales y dinámicas. 
Ventajas y desventajas de los tipos de direcciones dinámicas.
Las direcciones dinámicas de los agentes externos se consideran el tipo utilizado en Mobile IP clásico, donde hay tanto un agente local o inicial como un agente externo. Si bien parece menos eficiente que el método de direcciones co-localizadas, ofrece algunas ventajas importantes. Una ventaja clave es que la misma dirección dinámica del agente externo se puede utilizar para todos los nodos móviles que visitan esa red. Los datagramas para todos los nodos móviles en la red se envían al agente externo, que completa la entrega a los nodos individuales. Dado que los nodos móviles utilizan la dirección del agente externo, no hay direcciones adicionales y no se requiere trabajo extra para cada nodo móvil.

Las direcciones dinámicas co-localizadas tiene la ventaja de que el tráfico puede ser enviado directamente por el agente inicial al nodo móvil. En este tipo de disposición, es posible que un dispositivo IP Móvil viaje a una red externa donde no haya router con capacidades Mobile IP para actuar como agente externo. Esto significa, sin embargo, que la implementación de IP móvil debe incluir todas las funciones de comunicación con el agente de origen que el agente externo realiza normalmente.
Cuando se utilizan direcciones dinámicas co-localizadas, un problema es cómo se obtiene la dirección temporal. En muchas redes externas, la asignación automática de una dirección IP mediante DHCP  puede ser posible, pero si no, tendría que ser asignada una dirección IP temporal. De cualquier manera, parte del limitado espacio de direccionamiento de la red externa tendría que ser reservado para los nodos móviles, cada uno de los cuales  utilizaría una dirección mientras esté presente en la red. En algunos casos, esto podría conducir a un problema de agotamiento de direcciones.

El direccionamiento dinámico de agentes externos es generalmente preferido debido a su naturaleza automática, cuando un agente externo está presente en la red visitada. Considerando que de todos modos todos los datagramas tendrán que atravesar algún router de la red externa para llegar al nodo móvil, nos ahorraremos también las direcciones IP adicionales. Las direcciones dinámicas co-localizadas se utilizan cuando no existe el agente externo, o podría ser práctico para conexiones a largo plazo incluso cuando un si exista el agente.
Recuerde que la dirección dinámica representa sólo el destino al que se reenviarán los datagramas del nodo móvil. Los agentes externos proporcionan otros servicios además de reenvío, por lo que es posible que un nodo móvil para utilizar una dirección dinámica co-localizada incluso estando presente el agente externo, sin dejar de tomar ventaja de los servicios de los agentes externos.

Concepto clave: En Mobile IP, las direcciones dinámicas co-localizadas tienen la ventaja de la flexibilidad, pero requieren que cada dispositivo tenga una dirección IP única en la red remota. Las direcciones dinámicas de los agentes externos tienen la principal ventaja de soportar muchos dispositivos móviles en una red externa sin la necesidad de asignar una IP diferente a cada uno de ellos.

Para obtener más información acerca de cómo se envían los datagramas entre el agente inicial y la dirección dinámica del nodo móvil, consulte el tema sobre encapsulado y túneles en Mobile IP.

Cuando un nodo móvil se enciende por primera vez, no puede asumir que está todavía "en casa" de la manera que hacen los dispositivos IP "normales". En primer lugar, debe determinar dónde se encuentra, y si no está en casa, iniciar el proceso de configuración del reenvío de datagramas desde su red doméstica. Este proceso se logra mediante la comunicación con un router local que sirve como un agente, a través del proceso llamado descubrimiento de agente (agent discovery).

Proceso de descubrimiento de agentes.
El descubrimiento de agente abarca los tres primeros pasos en el sumario simplificado de cinco pasos operacionales de Mobile IP que di en el tema sobre su funcionamiento general. Los objetivos principales del descubrimiento agente incluyen lo siguiente:
  • Comunicación Nodo/ agente: El descubrimiento del agente es el método por el cual un nodo móvil establece contacto por primera vez con un agente en la red local a la que está unido. Se envían mensajes que contiene información importante sobre el agente desde el mismo hacia el nodo, también se puede enviar un mensaje desde el nodo al agente solicitando el envío de esta información. 
  • Orientación: El nodo utiliza el proceso de descubrimiento de agente para determinar dónde está. Específicamente, determina si está en su red doméstica o una red externa mediante la identificación del agente que envía los mensajes.
  • Asignación de direcciones dinámicas: El proceso de descubrimiento de agente es el método utilizado para decirle a un nodo móvil la dirección IP dinámica que debe utilizar, cuando se utilizan direcciones dinámicas de agentes externos.
Los agentes IP móviles son routers que incluyen programación adicional para hacerlos "conscientes de Mobile IP". La comunicación entre un nodo móvil y el agente en su red local es básicamente la misma que la comunicación normal entre un dispositivo en una red IP y su router local, exceptuando información adicional que debe ser enviada cuando el router es un agente.

Descubrimiento Mobile IP Agent y el agente Publicidad y mensajes de solicitud 
Anuncio de agente y mensajes de solicitud de agente.
Ya existen disposiciones para el intercambio de datos entre un router y un nodo, en la forma de mensajes ICMP que se utilizan para el proceso de descubrimiento de un router IP normal. Para este propósito se emplean dos mensajes: Los mensajes de anuncio de routers que permiten a los routers avisarles a los nodos de su existencia y describir sus capacidades y los mensajes de solicitud de router que le permiten a un nodo solicitarle  a un router que envíe un mensaje de anuncio. Esto se describe en su propio tema en la sección de ICMP.

Dada la similitud con el descubrimiento normal de routers, tenía sentido implementar descubrimiento de agentes como una modificación al proceso existente en lugar de crear un sistema completamente nuevo. Los mensajes utilizados en el proceso de descubrimiento de agente son:
  • Anuncio de agente: Este es un mensaje transmitido regularmente por un router que actúa como agente de IP móvil. Se compone de un mensaje de anuncio de router regular que tiene una o más extensiones adicionales que contienen información específica Mobile IP para los nodos móviles. 
  • Solicitud de agente: Este mensaje puede ser enviado por un dispositivo Mobile IP para obligar a un agente local a enviar un anuncio de agente.
El uso de estos mensajes se describe en la norma IP Móvil en detalle, y como era de esperar, es muy similar a la forma en que se emplean los mensajes regulares de anuncio y solicitud de router. Los agentes se suele configurar para enviar anuncios de forma regular, con la tasa establecida para asegurar un contacto razonablemente rápido con nodos móviles sin consumir un excesivo ancho de banda. Ellos están obligados a responder a los mensajes que reciben de solicitud de agente mediante el envío de un anuncio. Es posible que algunos agentes pueden ser configurados para enviar anuncios sólo tras la recepción de una solicitud.

Los nodos móviles están obligados a aceptar y procesar anuncios de agentes. Ellos distinguen los mensajes de los (mensajes) regulares por el tamaño. A continuación, analizan la extensión o extensiones para aprender las capacidades del agente local. A continuación determinan si están en su red doméstica o una red externa, y en el caso de un agente externo, cómo debe utilizar el agente. Los nodos móviles están obligados a utilizar los anuncios de agentes para detectar cuando se han movido, usando uno de dos algoritmos definidos en el estándar, y también para detectar cuando han regresado a su red doméstica después de haber estado viajando. También están obligados a ser capaces de enviar mensajes de solicitud de agente si no reciben un anuncio de agente después de un cierto período de tiempo. Así mismo existe un límite en la frecuencia de envío de estos mensajes, una vez más para mantener el tráfico manejable.

Ahora echemos un vistazo a los formatos de los dos tipos de mensajes.

Descubrimiento de agentes en Mobile IP y mensajes de anuncio y solicitud de agentes. 
Formato de mensaje de solicitud de agente.
Vamos a empezar con el mensaje de solicitud de agente, porque es mucho más simple. De hecho, no hay un nuevo formato de mensaje definido para esto en absoluto, sino que es idéntico al formato de un mensaje de solicitud de enrutador.

La razón por la que no se necesita ningún tipo de mensaje nuevo aquí es que una solicitud es un mensaje muy simple: "hey, si hay routers por ahí, por favor, dime quién eres y lo que puedes hacer". No tiene que ser enviada información Mobile IP adicional. Cuando un router IP normal recibe una solicitud enviará un anuncio de router, pero un router Mobile IP envía automáticamente un mensaje de anuncio de agente mas largo a cualquier solicitud, sea que provenga de un nodo Mobile IP o de un dispositivo IP regular.

Formato de mensaje de anuncio de agente.
El anuncio de agente comienza con los campos normales de un mensaje de anuncio de router ICMP. El destino del mensaje es o bien una dirección multicast (224.0.0.1) "todos los dispositivos" si se admite multidifusión en la red local, o bien la dirección de broadcast (255.255.255.255). Los campos de dirección del router se rellenan con la dirección (es) del agente.

Nota: Es posible que un dispositivo anuncie su capacidad de manejar mensajes Mobile IP, pero no actuar como un router normal. En este caso se cambia el campo de código normal en la cabecera del mensaje de anuncio de router de 0 a 16.

Después de los campos normales, se añaden una o más extensiones al formato de mensaje. Hay tres extensiones definidas: la extensión de anuncio de agente móvil, la extensión de prefijos de longitudes y una extensión de un byte de relleno.

Descubrimiento de agentes en Mobile IP y mensajes de anuncio y solicitud de agentes. 
Extensión de anuncio de agente móvil.

Esta es la extensión principal utilizada para transmitir las capacidades Mobile IP del agente a los nodos móviles en la red local. Contiene numerosos campos utilizados como parte de los diversos procedimientos descritos en esta sección general sobre Mobile IP.

La estructura de la extensión de anuncio de agente móvil se describe en la Tabla 81 y se muestran gráficamente en la Figura 130.






Esta extensión aparece después de los campos normales de un mensaje de anuncio de router, tal como se muestra en la Figura 148.

Información relacionada: Consulte el tema sobre el encapsulado en Mobile IP para más información sobre encapsulado mínima y GRE y túneles invertidos.

Descubrimiento de Agente Mobile IP y mensajes de anuncio y solicitud de agente. 
Extensión de prefijos de longitud.

Esta es una extensión opcional que indica a un nodo móvil la longitud del prefijo (s) de la dirección del router (es) contenida en la parte regular del mensaje de anuncio de agente, es decir, el campo de dirección del router en la parte del mensaje regular de anuncio de router. La longitud del prefijo es otro término para el número de bits de una dirección IP es el identificador de red, por lo que este le dice al nodo el identificador de la red en cada una de las direcciones del router

El formato de la Extensión de prefijo de longitud se muestra en la Tabla 82 y también en la Figura 131.




Esta extensión aparece después de los campos normales de un mensaje de anuncio de router, tal como se muestra en la Figura 148.

Extensión de un byte de relleno.
Algunas implementaciones requieren que los mensajes ICMP tengan un número par de bytes, por lo que se necesita un byte de relleno. (La extensión de relleno de un byte es sólo un byte de todo ceros. Para eso no se necesitan tablas ni figuras)

Concepto clave: El descubrimiento de agente Mobile IP es el proceso por el cual un nodo móvil determina dónde está ubicado y establece contacto con su agente inicial o el externo. Los routers que pueden funcionar como agentes envían periódicamente mensajes de anuncio de agente para indicar sus capacidades, que son versiones modificadas de anuncios regulares de routers. Un nodo móvil también puede enviar una solicitud de agente para solicitar el envío de un anuncio, que es el mismo que el mensaje de solicitud de router regular.

Nota: IP móvil no incluye ninguna disposición para la autenticación de los mensajes de anuncio o solicitud de agente. Estos pueden ser autenticados utilizando IPSec, por supuesto, si es implementado.

Una vez que un nodo móvil ha completado el descubrimiento del agente, sabe si éste está en su red doméstica o una red externa. Si está en su red principal se comunica como un dispositivo IP normal, pero si está en una red externa debe activar Mobile IP. Esto requiere que se comunique con su agente de origen o inicial para poder intercambiar información e instrucciones entre ellos.  Este proceso se denomina registro del agente inicial, o, más sencillamente, solo registro.

El propósito principal del registro es el de iniciar realmente el funcionamiento de Mobile IP. El nodo móvil debe comunicarse con el agente de origen, decirle que está en una red externa y solicitar que se active el reenvío de datagramas. También debe permitir que el agente de origen conozca su dirección dinámica para que sepa adonde van los datagramas reenviados. Cuando este registro se lleva a cabo, el agente de origen, a su vez necesita comunicar distintos tipos de información de vuelta al nodo móvil. Tenga en cuenta que el agente externo no se involucra realmente en el registro, excepto tal vez para transmitir mensajes, como veremos más adelante.

Eventos de registro de nodo móvil.
Un registro exitoso establece lo que se denomina en la norma una unión móvil entre un agente inicial y un nodo móvil. Durante la duración del registro, la dirección regular del nodo móvil estará ligada a su actual dirección dinámica y el agente inicial va a encapsular y reenviar los datagramas dirigidos a la dirección regular a la dirección dinámica. Se supone que el nodo móvil gestione su registro y maneje varios eventos utilizando varias acciones:
  • Registro: El nodo móvil inicia un registro cuando detecta por primera vez que se ha movido de su red doméstica a una red externa. 
  • Cancelación de registro: Cuando el nodo móvil vuelve a casa, le debe indicar al agente de origen que cancele los reenvíos, un proceso llamado cancelación del registro. 
  • Reinscripción: Si el nodo móvil se mueve de una red externa a otra, o si cambia su dirección dinámica, debe actualizar su registro con el agente interno. También debe hacerlo si su registro actual está a punto de caducar, incluso si permanece inmóvil en una red externa.
Cada registro se establece solamente durante un período específico de tiempo, que es la razón por la que es necesaria la reinscripción  cada cierto tiempo sea que el dispositivo se mueva a no. Las inscripciones son limitadas en el tiempo para asegurarse de que no se vuelvan obsoletas. Si, por ejemplo, un nodo se olvida de realizar su reinscripción cuando vuelve a casa, el reenvío de datagramas finalmente se detendrá cuando el registro caduque.

Mensajes de nueva solicitud de Registro y respuesta a la solicitud (Registration Reply).
Para realizar el registro, se han definido dos nuevos tipos de mensajes en mobile IP: la Solicitud de nuevo Registro y la Respuesta a la solicitud (Registration Reply). Cada uno de ellos hace lo que se infiere de su nombre. Curiosamente, no se trata de mensajes ICMP como los utilizados en e descubrimiento de agentes, sino que son mensajes User Datagram Protocol (UDP). Por lo tanto, técnicamente hablando, el registro se realiza sobre una capa más alta que el resto de la comunicación IP Móvil. Los agentes escuchan las solicitudes de registro por el puerto UDP # 434 (un well-know-port), y responde a los nodos móviles utilizando cualquier puerto efímero por el que el nodo haya enviado el mensaje.

Los formatos de estos dos mensajes se describen más adelante en este tema.

Registro de agente de origen Mobile IP y mensajes de registro 
Procedimientos de Registro

Existen dos procedimientos diferentes definidos para el registro, en función del tipo de dirección dinámica utilizada por el nodo móvil y otros detalles sobre los que volveremos en un momento. El primero es el método de registro directo, que tiene sólo dos pasos:
  1. El nodo móvil envía un solicitud de registro al agente inicial. 
  2. El agente inicial envía una respuesta de registro (Registration Reply) al nodo móvil.
En algunos casos, sin embargo, se requiere un proceso algo más complejo, en donde el agente externo transmite mensajes entre el agente inicial y el nodo móvil. En esta situación, el proceso tiene cuatro pasos:
  1. El nodo móvil envía una solicitud de registro al agente externo. 
  2. El agente externo procesa la solicitud de registro y la remite al agente inicial. 
  3. El agente inicial envía la respuesta de registro al agente externo 
  4. El agente externo procesa la respuesta de registro y la envía de vuelta al nodo móvil.
El primer método, más simple se utiliza normalmente cuando un nodo móvil utiliza una dirección dinámica co-localizada. En esa situación, el nodo puede comunicarse directamente con el agente de origen, también está configurado para recibir directamente la información y los datagramas desde el mismo. Cuando no hay ningún agente externo, este es, obviamente, el método que se debe utilizar. También obviamente es el método que se utiliza cuando un nodo móvil cancela su registro con su agente de origen después de que regresa a la red doméstica.

El segundo método es necesario cuando un nodo móvil utiliza una dirección dinámica externa. Recordemos que en esta situación, el nodo móvil no tiene su propia y única dirección IP en absoluto, sino que usa una dirección compartida cedida por el agente externo, lo que impide la comunicación directa entre el nodo y el agente de origen. Además, si un nodo móvil recibe un anuncio de agente con la bandera "R" activada, también deberá atravesar el agente externo, incluso si tiene una dirección dinámica co-localizada.

Tenga en cuenta que el agente externo es realmente sólo un "intermediario", el intercambio es realmente entre el agente de origen y el nodo móvil. Sin embargo, el agente externo puede denegar el registro si la solicitud viola las reglas establecidas para el uso de la red externa. Es por esta razón por la que algunos agentes externos pueden requerir ser el conducto para registros, incluso si el nodo móvil tiene una dirección dinámica co-localizada. Por supuesto, si el agente externo no puede contactar con el agente inicial la inscripción no procederá.

La descripción anterior es en realidad una explicación muy simplificada de los elementos básicos de registro. El estándar Mobile IP especifica muchos más detalles sobre como exactamente realizan el registro los agentes y nodos, incluidos detalles sobre cuándo se envían las solicitudes y respuestas, cómo manejar varias condiciones especiales, tales como solicitudes inválidas, las reglas de cómo los agentes iniciales mantienen una tabla de enlaces de movilidad, y mucho más. La norma abarca la definición de las extensiones de los mensajes regulares de registro para soportar autenticación, requerida para comunicaciones seguras (consulte el tema sobre las cuestiones de seguridad para obtener más detalles). También incluye la capacidad de que un nodo móvil mantenga varios enlaces concurrentes, cuando sea necesario.

Concepto clave: El registro de agente inicial en Mobile IP es el proceso por el que se crea una unión entre un nodo móvil y un agente de origen para permitir que se realice el reenvío de datagramas. El registro se lleva a cabo por el nodo móvil que envía un mensaje de Solicitud de Registro, y el agente de origen devuelve una respuesta de registro. Un agente externo puede ser obligado a actuar como "intermediario" para facilitar la operación, pero por lo demás no participa.

Registro de agente de origen Mobile IP y mensajes de registro. 
Formato de mensaje de solicitud de Registro. 

Los mensajes de solicitud de registro tienen el formato que se muestra en la Tabla 83 y la Figura 132.
Este mensaje es transportado en la carga útil de un mensaje UDP, los encabezados del cual no se muestran.





Información relacionada: Consulte el tema sobre encapsulado en Mobile IP para más información sobre encapsulado GRE (Generic Routing Encapsulation) mínimo y túneles invertidos.

Registro de agente de origen Mobile IP y mensajes de registro 
Formato de mensaje de respuesta de registro

Los mensajes de respuesta de registro tienen el formato que se muestra en la Tabla 84 y la Figura 133.



Este mensaje es transportado en la carga útil de un mensaje UDP, los encabezados del cual no se muestran.

Una vez que un nodo móvil en una red externa ha completado un registro con éxito con su agente de origen, el proceso de reenvío de datagramas en Mobile IP descrito en el tema del funcionamiento general quedará completamente "activado". El agente de origen intercepta los datagramas destinados para el nodo móvil y enrutados a su red doméstica, y los reenvía al nodo móvil. Esto se realiza encapsulando los datagramas y reenviándolos a la dirección dinámica del nodo.

Técnicas de encapsulado de datos en Mobile IP.
El encapsulado es necesario porque cada datagrama interceptado necesita ser reenviado por la red a la dirección dinámica del dispositivo. En teoría, los diseñadores posiblemente podría haber hecho esto con sólo hacer que el agente de origen cambiara la dirección de destino y reenviara todo de nuevo a la red externa, pero hay varias complicaciones que hacen que esto no sea prudente. Tiene más sentido tomar todo el datagrama y encapsularlo en un nuevo conjunto de cabeceras antes de retransmitirlo. En nuestra analogía del correo, esto es comparable a tomar una carta recibida por nuestro asesor de viajes y ponerla en un sobre nuevo para su reenvío, en lugar de simplemente tachar la dirección original y poner una nueva.

El proceso de encapsulado por defecto utilizado en Mobile IP se llama encapsulado IP dentro de IP, que se define en el RFC 2003 y es comúnmente abreviado como IP-en-IP. Se trata de un método relativamente simple que describe cómo tomar un datagrama IP y convertirlo en la carga de otro datagrama IP. En Mobile IP, las nuevas cabeceras especifican cómo enviar el datagrama encapsulado a la dirección dinámica de nodo móvil.

Además de IP-en-IP, pueden usarse opcionalmente otros dos métodos de encapsulado: Encapsulado mínimo en IP, definida en el RFC 2004, y Encapsulado de enrutamiento genérico (Generic Routing Encapsulation GRE), definida en el RFC 1701. Para utilizar cualquiera de ellos, el nodo móvil debe solicitar el método apropiado en su solicitud de registro y el agente origen deben acceder a usarlo. Si se está usando un direccionamiento dinámico externo, el agente externo también debe ser compatible con el método deseado.

Túnel de entrega de datos de Mobile IP.
El proceso de encapsulado crea una estructura lógica llamada túnel entre el dispositivo que encapsula y el que desencapsula. Esta es la misma idea del túnel utilizada en los debates de las redes privadas virtuales (VPN), el modo túnel IPSec, o los diferentes protocolos de otros túneles utilizados para la seguridad. El túnel representa un conducto sobre el cual se envían datagramas a través de una red interna arbitraria, con los detalles del datagrama encapsulado (es decir, las cabeceras IP originales) ocultos temporalmente.

En Mobile IP, el inicio del túnel es el agente local, que hace el encapsulado. El final del túnel depende de qué tipo de dirección dinámica esté siendo utilizada:
  • Dirección dinámica de agente externo: El agente externo es el final del túnel. Recibe los mensajes encapsulados del agente de origen, elimina el encabezado IP exterior y luego entrega el datagrama al nodo móvil. Esto se hace generalmente utilizando dos capas, ya que el nodo móvil y el agente externo están en la misma red local, y por supuesto, el nodo móvil no tiene su propia dirección IP en esa red (se utiliza la del agente externo) 
  • Dirección dinámica co-localizada: El nodo móvil en sí es el final del túnel y elimina el encabezado exterior.
Encapsulado de datos y Tunneling en Mobile IP. 
Tunneling convencional en Mobile IP.

Normalmente, el túnel descrito anteriormente sólo se utiliza para los datagramas que se han enviado al nodo móvil y han sido capturados por el agente de origen. Cuando los nodos móviles quieren enviar un datagrama, no los regresan al agente de origen a través de un túnel, lo que sería innecesariamente ineficaz. En su lugar, simplemente envía el datagrama directamente usando cualquier enrutador que pueda encontrar en su red actual, que puede o no ser un agente externo. Cuando hace esto, utiliza su propia dirección como dirección de origen para cualquier solicitud que envíe. Como resultado, cualquier respuesta a esas solicitudes se irán a parar a la red doméstica. Esto crea una especie de "triángulo" para este tipo de transacciones:
  1. El nodo móvil envía una petición desde la red exterior a algún tercer dispositivo en algún lugar de la red. 
  2. El dispositivo responde de nuevo al nodo móvil. Sin embargo, este envía la respuesta de vuelta a la dirección del nodo móvil en su red doméstica. 
  3. El agente inicial intercepta la respuesta en la red doméstica y la envía de vuelta al nodo móvil a través de un túnel.
Este proceso se ilustra en la Figura 134. La operación inversa sería más o menos la misma, sólo que en orden inverso. En ese caso, el tercer dispositivo (en Internet) podría enviar una solicitud al nodo móvil, que sería recibida y transmitida por el agente de origen. El nodo móvil responde a este mensaje directamente vía Internet.


Este ejemplo ilustra cómo un intercambio típico de mensajes solicitud/respuesta en Mobile IP resulta en una comunicación triangular. En el paso # 1, el nodo móvil envía una solicitud a un servidor remoto en algún lugar de la Internet. Utiliza su propia dirección como la fuente de esta solicitud, por lo que en el paso 2, la respuesta se dirige al agente interno. Paso # 3 es el proceso en que el agente inicial dirige la respuesta a través de un túnel al nodo móvil.

Concepto clave: Una vez que Mobile IP está configurado y operativo, funciona haciendo que el agente de origen encapsule los datagramas recibidos y los envíe a través de un túnel al nodo móvil. El dispositivo móvil normalmente envía datagramas directamente a los hosts de Internet, que responden de nuevo al agente inicial que a su vez envía los datagramas al nodo móvil. Esto significa que una comunicación de solicitud / respuesta tomará tres transmisiones.

Encapsulado de datos y Tunneling en Mobile IP
Tunneling inverso en Mobile IP.

Puede haber situaciones en las que no es factible ni deseable que el nodo móvil envíe los datagramas directamente a Internet empleando un router de la red externa como acabamos de ver. En este caso, se puede emplear una característica opcional llamada túnel inverso (reverse tunneling), si es soportada por el nodo móvil, el agente inicial y, si corresponde por el agente externo.

Cuando se hace esto, se establece un túnel inverso para complementar el tunel original entre el nodo móvil y el agente local, o entre el agente externo y el agente local, dependiendo del tipo de dirección dinámica. Todas las transmisiones del nodo móvil se encaminan a través del tunel a la red doméstica donde el agente inicial los transmite a través de Internet, lo que resulta en una operación más simétrica en lugar del "triángulo" que acabamos de describir. Esto es básicamente lo que he descrito anteriormente como "innecesariamente ineficiente", porque significa que cada comunicación requiere de cuatro pasos. Por lo tanto, se utiliza sólo cuando es necesario.

Una situación en la que se puede requerir el uso de túneles inversos puede ser si la red donde se encuentra el nodo móvil ha implementado ciertas medidas de seguridad que impiden que el nodo envíe datagramas utilizando su dirección IP normal. En particular, una red puede ser configurada para no permitir datagramas de salida con una dirección de origen que no coincida con su prefijo de red. Esto se suele hacer para evitar el "spoofing" (suplantación otra dirección IP.)

Concepto clave: Se puede utilizar una característica opcional llamada túnel inverso en determinados casos, como cuando una red no permite datagramas de salida con una dirección IP de origen externa. Cuando se activa, en lugar de enviar los datagramas directamente, el nodo móvil envía todas las transmisiones hacia el agente origen a través de un túnel, y el agente los envía a través de Internet.

Tenga en cuenta que todo lo que he discutido es aplicable a los datagramas "normales"- es decir, los datagramas de unidifusión enviados y recibidos por el nodo móvil. Lo datagramas de difusión (broadcasting) de la red doméstica, que normalmente se destinan al nodo móvil si estuviera en su red, no se reenvían a menos que el nodo solicite específicamente el servicio durante el registro. La función de multidifusión en la red externa también está soportada, pero se requiere un trabajo adicional en el nodo móvil para configurarlo.

Mobile IP es un protocolo que hace un buen trabajo implementando una función difícil: permitir de manera transparente que un dispositivo IP viaje a una red diferente. Desafortunadamente, un problema con cualquier protocolo que trate de cambiar cómo funciona el protocolo IP es lidiar con los "casos especiales". Hacer que un agente inicial intercepte datagramas y los envíe al nodo móvil a través de un túnel funciona bien en términos generales, pero hay algunos lugares donde se requiere trabajo adicional. Uno de ellos es el uso del protocolo TCP/IP Address Resolution Protocol (ARP), que en Mobile IP "se rompe" si no se toman medidas especiales.

Antecedentes: En este tema se asume una comprensión básica de cómo funciona ARP en términos generales. Esto incluye los proxys ARP.

Dificultades con Mobile IP y ARP
Para entender el problema con ARP, considere un nodo móvil que está en una red externa y se ha registrado con éxito con su agente de origen. El agente de origen intercepta todos los datagramas que entran en la red doméstica destinados al nodo móvil y, a continuación los encapsula y los reenvía. Para que esto suceda, sin embargo, el agente local (router) tiene que ver el datagrama. Esto normalmente sólo se produce cuando un datagrama llega a la red doméstica desde el "exterior" y es procesado por el router.

¿Qué sucede cuando un dispositivo local en la red doméstica quiere transmitir a un nodo móvil que ha viajado a otros lugares? Recuerde que este no es un dispositivo móvil en sí, y probablemente no sepa nada de Mobile IP. De modo que seguirá el procedimiento habitual para decidir qué hacer con un datagrama que necesita enviar como se explica en el tema de entrega directa e indirecta de datagramas IP. Lo primero que hará será comparar su ID de red con la del nodo móvil y se dará cuenta de que no necesita routear su datagrama, y que puede enviarlo directamente al nodo móvil.

El equipo local intentará entonces usar ARP para encontrar la dirección de la capa de enlace de datos del nodo móvil y poder enviarle el datagrama directamente. Empezará por mirar en su caché ARP y si encuentra la dirección de capa de enlace de datos del nodo, la usará para enviar los datagramas. Por supuesto, el nodo móvil ya no está en el segmento de la red local, de modo que el mensaje nunca será recibido. Si no hay una entrada en la caché ARP, el anfitrión de la red doméstica intentará enviar una petición ARP al nodo móvil para determinar su dirección de capa dos. Una vez más, el nodo móvil ha viajado lejos, así que esta solicitud quedará sin respuesta.

Operación de Mobile IP y el ARP (Address Resolution Protocol) de TCP/IP. 
Tareas adicionales del agente inicial para lidiar con ARP

La solución de este problema requiere la intervención de, lo has adivinado, el agente inicial. Se deben realizar dos tareas para permitir que los hosts locales envíen datagramas al nodo móvil:
  • Uso de un proxy ARP: El agente debe escuchar peticiones ARP enviadas por los nodos en la misma red así como de cualquiera de los nodos móviles que están actualmente registrados en la misma. Cuando oye una petición, responde en lugar del nodo móvil, y especifica su propia dirección de enlace de datos como capa de unión para la dirección IP del nodo móvil. Esto hará que las máquinas de la red doméstica envíen los datagramas destinados al nodo móvil al agente inicial que a su vez los podrá reenviar. Este proceso se ilustra en la Figura 135. 
  • ARP Gratuito: El uso de un proxy ayuda con las peticiones ARP, pero ¿qué pasa con los dispositivos que ya tienen entradas en la caché del nodo móvil? Tan pronto como el nodo móvil sale de la red, estas entradas dejan de ser válidas automáticamente  Para corregirlas, el agente inicial envía lo que se llama un mensaje ARP gratuito que le indica a los dispositivos de la red local que asocien la dirección IP del nodo móvil con la dirección de capa de enlace de datos del agente inicial. El término "gratuito" se refiere al hecho de que el mensaje no se envía con el fin de realizar la resolución de una dirección real, sino simplemente para forzar la actualización de las caches. Este se pueden enviar más de una vez para asegurarse de que todos los dispositivos "reciben el mensaje". 

El agente inicial debe tomar medidas especiales para lidiar con las transmisiones de los dispositivos de la red local hacia el nodo móvil. En este ejemplo (empleamos direcciones de hardware cortas para simplificar) la dirección de hardware del nodo móvil es # 48 y la del agente de inicial # 63. Un cliente local en la red doméstica con dirección de hardware # 97 envía una solicitud ARP para averiguar la dirección de hardware del nodo móvil. El agente responde en nombre del móvil, y no especifica la dirección de hardware no # 48, sino su propia dirección, la número  # 63. El cliente por lo tanto enviará los datos al agente de inicial, que puede entonces transmitir los datos al nodo móvil en la red externa.

Una vez hecho esto, ARP debería funcionar normalmente en el enlace de casa. Por supuesto, cuando el dispositivo móvil regrese a la red doméstica, el proceso debe revertirse. Tras la cancelación del registro con el agente local, este dejará de hacer el proxy para el nodo móvil. Tanto el nodo móvil como el agente local enviarán señales de difusión ARP gratuitas que actualizan las cachés de los dispositivo locales para asociar de nuevo la dirección IP del nodo móvil con su dirección de capa dos, en lugar de la del agente inicial.

Concepto clave: Para evitar problemas con las máquinas de la red local del nodo móvil que intentan de enviar datagramas en la capa dos, el agente está obligado a emplear un proxy ARP para hacer que estos dispositivos transmitan sus datagramas al agente local, datagramas que luego serán reenviados. También debe utilizar ARP "gratuito" para actualizar las cachés ARP existentes a tal efecto.

Obligar al agente inicial a comunicar todos los datagramas al nodo móvil donde quiera que esté es una solución conveniente para la movilidad, pero también es una solución bastante ineficiente. Debido a que cada datagrama debe ser enviado a la red doméstica y reenviado luego al nodo móvil, los datagramas va atravesar una parte de la Internet dos veces. El grado de ineficiencia que representa este desvío puede ser significativo, y puede conducir a problemas con ciertas aplicaciones.

Para ver cuál es el problema, vamos a considerar un nodo móvil "M" viajando y un dispositivo regular "A" que quiere transmitir al este nodo. El grado de ineficiencia de Mobile IP es una función de la distancia inter-red entre el dispositivo A y la red inicial de M, en comparación con la distancia inter-redes entre las redes actuales del dispositivo A y el nodo M. Por distancia aquí, me refiero al término tal como se utiliza para determinar las rutas en una interconexión de redes, dos dispositivos están "más cerca" cuando se necesita menos tiempo y/o menos saltos  para comunicarse entre ellos, y más "lejos" cuando se necesita más. (Yo uso la geografía en los siguientes ejemplos para representar esta noción de distancia, pero recuerde que la distancia geográfica es sólo un factor de la distancia inter-red).

El impacto sobre la eficiencia del envío de la ubicación del dispositivo
Consideremos el caso en que el nodo móvil M está en una red externa muy lejos de casa, y un A, quiere enviar un datagrama utilizando la dirección IP origen de nodo M. Supongamos que la red origen está en Londres y el nodo móvil  está de nuevo en Tokio, Japón. Los siguientes ejemplos están dispuestos en orden de ineficiencia creciente de Mobile IP, en comparación con la alternativa de que el nodo móvil obtenga una nueva dirección IP temporal en la red externa y no utilice el protocolo:
  • Dispositivo que envía en la red principal: En esta situación, el dispositivo A envía un datagrama que es inmediatamente interceptado por el agente local en la red doméstica y transmitido al nodo móvil. En realidad no hay ineficiencia aquí en absoluto (excepto por la sobrecarga del  encapsulado y tal), porque incluso si A envía datos directamente al nodo móvil con una nueva dirección en la red externa, probablemente serían encaminados a través del router agente local de todos modos. 
  • Dispositivo que envía en una red cercana a la red local: Aquí, digamos que un dispositivo en París, Francia quiere enviar datos al nodo móvil. El datagrama va de París a Londres y luego a Tokio. Eso no es tan malo. 
  • Dispositivo que envía en una red cercana a la red externa: Ahora, supongamos que el dispositivo emisor se encuentra en Taipei, Taiwán. En esta situación, Mobile IP se vuelve muy ineficiente. El datagrama debe ser enviado desde Taipei hasta llegar a Londres, y luego de regreso a Tokio. 
  • Dispositivo que envía en la red externa: La mayor ineficiencia resulta cuando el dispositivo emisor está en realidad en la red externa que el nodo móvil está visitando. Si el dispositivo A está en la red actual del nodo móvil en Tokio, debe enviar todo de camino a Londres y luego recibir lo transmitido todo el camino de regreso a Tokio. Sin Mobile IP, lo único que tendría que hacer es utilizar ARP y luego entregar directamente en la capa dos sin necesidad de enrutar en absoluto! Este escenario se ilustra en la Figura 136. 
Este diagrama muestra el caso de la peor ineficiencia posible de Mobile IP: Cuando un dispositivo en la red exterior donde se encuentra el móvil intenta enviar datos. El remitente aquí, 210.4.79.11, utiliza la dirección del nodo móvil, por lo que la transmisión debe pasar todo el camino de vuelta a Londres y luego enviado de regreso a Tokio, a pesar de que los dos dispositivos pueden estar ubicados en el mismo sitio.

Lamentablemente, el "peor escenario" indicado en el último punto es el que ocurre con bastante frecuencia. Es común para un dispositivo móvil para conectarse a una red externa específicamente para comunicarse con los hosts esa red.

Cuestiones de eficiencia en Mobile IP 
Implicaciones de los túneles inversos.

Para empeorar las cosas, tenga en cuenta lo que ocurre si se utiliza un túnel inverso! Aquí, se establecen túneles no sólo para los datagramas enviados al nodo móvil sino también para los que el envía. En nuestro ejemplo de "peor caso", un par petición/respuesta del nodo móvil a otro dispositivo de la red exterior requiere dos viajes redondos completos de Tokio a Londres y viceversa. Claramente, esto está lejos de ser ideal.

La ineficiencia es una parte inherente de Mobile IP.
Realmente no hay ninguna solución a este problema dentro de Mobile IP en sí, es sólo una consecuencia natural de cómo funciona el protocolo. La única manera de mejorar realmente las cosas es "hackear" una solución que en última instancia se reduce a una de las dos opciones que siempre tuvimos en IP sin el soporte para movilidad: o decidimos dar una direccion IP temporal en la red externa al dispositivo móvil, o utilizamos una ruta específica para el para el dispositivo móvil mientras esté en la red externa.

Ya hemos visto que estas dos soluciones dan problemas, que fue en primer lugar la razón por la que se creó Mobile IP. Pueden haber situaciones, sin embargo, donde la eficiencia es más importante que la portabilidad transparente que ofrece Mobile IP. Para una implementación a largo plazo en una red externa lejos de la red doméstica, o para aplicaciones donde la eficiencia es lo más importante, puede tener sentido emplear una de estas técnicas. Por ejemplo, una empresa que cuenta con un pequeño número de oficinas en diferentes ciudades conectadas a través de Internet puede configurar un enrutamiento especial. Esto permitiría que los dispositivos móviles que visitan de otras ciudades hablen directamente con los nodos locales desde la red externa sin pasar a través de la Internet.

Concepto clave: Dado que los datagramas se envían a un nodo móvil en su dirección de inicial, cada datagrama enviado al dispositivo móvil primero debe volver a su red de origen y luego ser reenviado a su ubicación actual. El nivel de ineficiencia que resulta depende de que tan lejos esté el remitente de la red doméstica del móvil. El peor caso se produce realmente si el remitente y el móvil están en la misma red externa, en cuyo caso cada transmisión debe hacer el viaje de ida y vuelta a la red de origen del móvil y viceversa. Esta es una parte inherente de la forma en que funciona Mobile IP y no puede ser fácilmente corregida.

La seguridad es siempre una preocupación en cualquier entorno de conexión en red en estos días, pero es especialmente importante con Mobile IP. Hay un número de razones para esto, que están relacionados tanto con cómo se utiliza el protocolo como con los mecanismos específicos por los que se aplique.

En términos de uso, la seguridad se tuvo en cuenta durante el desarrollo de Mobile IP, porque los dispositivos móviles a menudo utilizan tecnologías de redes inalámbricas. La comunicación inalámbrica es inherentemente menos segura que la comunicación por cable, porque las transmisiones son enviadas "al descubierto", donde pueden ser interceptadas. También es más fácil para los usuarios maliciosos interrumpir eventualmente el funcionamiento de los dispositivos inalámbricos que para el caso en que se emplean conexiones cableadas.

En términos de funcionamiento, IP móvil tiene una serie de riesgos debido a que utilizan un sistema de registro y luego de lo cual se reenvían los datagramas sin seguridad a través de Internet. Un dispositivo malintencionado podría interferir con el proceso de registro, haciendo que los datagramas destinados a un dispositivo móvil sean desviados. Un "chico malo" también podría interferir con el proceso de envío de datos en sí, al encapsular un datagrama falso para llevar a un nodo móvil a pensar que fue enviado algo que nunca lo fue.

Disposiciones de seguridad en Mobile IP
Por estas razones, la norma Mobile IP incluye un número limitado de disposiciones explícitas para prevenir diferentes riesgos de seguridad. Una medida de seguridad fue considerada lo suficientemente importante como para ser incluida directamente en la norma Mobile IP: la autenticación de los mensajes de solicitud y respuesta de registro. Este proceso de autenticación se lleva a cabo de una manera algo similar a cómo funciona la cabecera de autenticación IPSec (AH). Su objetivo es evitar que dispositivos no autorizados puedan interceptar el tráfico engañando a un agente en la creación, renovación o cancelación de un registro.

Todos los dispositivos Mobile IP están obligados a soportar autenticación. Los nodos deben utilizarla para las solicitudes y los agentes para las respuestas. Las claves deben ser asignadas manualmente ya que no hay sistema automatizado para la distribución de claves seguras. El método de autenticación predeterminado utiliza HMAC-MD5 (especificado en el RFC 2403), que es uno de los dos algoritmos de hash utilizados por IPSec.

Consideraciones de seguridad en Mobile IP 
Protección contra ataques de repetición.

Otra preocupación es un problema de seguridad llamado ataque de repetición. En este tipo de ataque, un tercero intercepta un datagrama, lo demora para reenviarlo mas tarde Esto parece bastante inofensivo, pero tenga en cuenta la importancia del tiempo. Imagine que un nodo móvil se registra con su agente de origen, y más tarde vuelve a casa y anula el registro. Si un dispositivo malicioso captura una copia de la Solicitud de Registro original y la re-envía, el agente principal puede ser conducido a pensar que el nodo ha viajado lejos de casa cuando no es así. A continuación, el atacante podría interceptar los datagramas reenviados.

El campo de identificación utilizado en los mensajes de solicitud y las respuestas de registro está diseñado para impedir ataques de repetición. Debido a que cada solicitud tiene un número de identificación diferente, los nodos y agentes pueden comparar las peticiones con las respuestas y rechazar cualquier datagrama que repita uno que ya haya visto. El estándar IP móvil también especifica otros métodos alternativos de protección contra repeticiones.

Limitaciones de la autenticación en Mobile IP.
Aunque Mobile IP Móvil incluye medidas de autenticación para los mensajes de registro, no lo hace para otros tipos de mensajes. Tampoco especifica la autenticación para los datagramas encapsulados que se reenvían desde el agente inicial al nodo móvil. El cifrado tampoco está previsto para salvaguardar la privacidad de los mensajes de control o los datagramas reenviados. La solución obvia cuando se requieren fuertes garantías de privacidad y autenticidad es hacer uso de cabeceras de autenticación IPSec (AH) y / o protocolos ESP (Encapsulating Security Payload).
Regresar al contenido.