Capítulo V. SIMULACIÓN Y RESULTADOS
V.2 Simulador de redes ns-2
V.2.2 Enrutamiento en redes móviles
Los nodos móviles usan un agente de enrutamiento para calcular rutas hacia otros nodos
dentro de la red, es decir, toma toda la responsabilidad de enrutar y enviar paquetes. Los
nodos móviles no mantienen tablas de enrutamiento, en lugar de eso el agente de enrutamiento tiene que mantener tal tabla de enrutamiento internamente. No hay una lógica de ruta disponible para realizar cálculo de rutas; esto lo realiza el agente de enrutamiento. También calcula las rutas que no están instaladas modificando la dirección del clasificador. En su lugar, el clasificador de dirección usualmente tiene el agente de enrutamiento colocado como su objetivo, y el agente de enrutamiento tiene que realizar el envío de paquetes. Finalmente, este envío ocurre sobre el canal inalámbrico. Es responsabilidad del agente de enrutamiento llenar el campo next_hop_ de cada paquete que debe ser enviado, antes de enviarlo a la capa de enlace del nodo móvil.
Actualmente ns soporta los protocolos de enrutamiento DSDV, DSR, TORA y AODV [Wiberg, 2002].
V.2.2.1 AODV en ns
La implementación del protocolo de enrutamiento AODV en ns-2 está basada en el RFC 3561. Están definidos los formatos de los mensajes RREQ, RREP, RERR y los mensajes HOLA; el agente de AODV tiene una tabla de enrutamiento que mantiene y actualiza las rutas de los nodos, una lista de nodos vecinos de cada entrada de enrutamiento y tiene implementado las funciones más importantes del protocolo como el proceso de descubrimiento de ruta, el cual funciona de la siguiente manera: cuando un nodo fuente quiere comunicarse con un nodo destino trata de encontrar una ruta hacia ese destino (función rt_rsolve). Si el nodo móvil no tiene una ruta válida hacia ese destino difunde un
mensaje RREQ (función SendRequest). Cuando los mensajes RREQ son recibidos por el
nodo destino u otro nodo que conoce una ruta hacia el destino (función recvRequest), este envía mensajes de regreso al nodo fuente (función SendReply) y cuando el originador del mensaje recibe el mensaje RREP (función recvReply) , empieza a enviar paquetes hacia el nodo destino. En la figura 35 se muestra como está implementado el protocolo AODV en ns-2.
Para este trabajo fue necesario modificar el código de AODV para poder integrarlo con el protocolo de micromovilidad HAWAII.
V.2.2.2 Protocolo de micromovilidad HAWAII en ns-2
Por otro lado, debido a que el protocolo de micromovilidad HAWAII no está implementado en el simulador, fue necesario agregarle la extensión CIMS v1.0 (Columbia IP Micromobility Software), la cual es una extensión para el simulador de redes ns-2 basado en la versión ns-2.1b6 que soporta diferentes protocolos de micromovilidad como HAWAII, IP Celular e IP Móvil jerárquico [Campbell, et al., 2002].
La implementación de HAWAII soporta dos esquemas de traspaso: esquemas de envío (MSF) y esquemas de no envío (UNF). De acuerdo al protocolo de micromovilidad HAWAII, los enrutadores de acceso HAWAII necesitan implementar la funcionalidad de agente foráneo IP móvil sin la capacidad de desencapsulación y son responsables de generar mensajes de actualización HAWAII; los creadores de CIMS modificaron el objeto
BaseStationNode de ns-2 para incluir estas características. Además, extendieron el objeto
nodo móvil para incluir las funciones PFANE requeridas por el protocolo HAWAII. Los enrutadores HAWAII son implementados en objetos especiales llamados HawaiiAgent que pueden procesar mensajes HAWAII y realizar operaciones específicas del protocolo. Por otro lado, las capacidades de voceo no están soportadas en la extensión CIMS [Campbell, et al., 2002].
Todos los protocolos de micromovilidad implementados en esta extensión tienen la topología de red mostrada en la figura 36.
Figura 36. Topología de red usada en la extensión CIMS.
Como se mencionó en otros capítulos, el protocolo de micromovilidad HAWAII trabaja junto con IP Móvil, por eso es importante mencionar la implementación de IP Móvil en ns.
V.2.2.3 IP Móvil en ns
Además de los nodos inalámbricos, existen otros nodos llamados nodos estación base que
pueden ser conectados a los enlaces cableados y a los canales inalámbricos. Actúan como puentes entre la parte cableada e inalámbrica de la red y son una parte importante de la simulación de IP Móvil. En la figura 37 se muestra el modelo de un nodo estación base o enrutador de acceso.
La implementación de IP Móvil para ns-2 incluye los componentes básicos (Agentes de casa, nodos móviles, agentes foráneos) y la funcionalidad básica como el proceso de registro con un nuevo agente foráneo.
CN
AR
DRR
Figura 37. Modelo de un nodo enrutador de acceso.
Todos los ARs anuncian su presencia enviando mensajes de aviso de enrutador en un intervalo de tiempo. Los nodos móviles almacenan en una lista la dirección de los ARs que están en el rango. Cuando no se recibe un mensaje de aviso de enrutador de un enrutador de acceso registrado en cierto tiempo, la lista de entradas expira y es borrada. Cuando los nodos móviles tienen que realizar un traspaso, escogen un enrutador de acceso de su lista como su nuevo agente foráneo. Si la lista no contiene entradas, el nodo móvil envía un mensaje de solicitud de agente. Los enrutadores de acceso que reciben este mensaje tienen que enviarle un mensaje de aviso de enrutador, lo cual le permite al nodo móvil registrarse con ellos. El traspaso es iniciado con una petición de registro del nodo móvil. El enrutador de acceso, entonces, envía la petición hacia el agente de casa del nodo móvil. El agente de casa actualiza la CoA del nodo móvil e instala un encapsulador para enviar los paquetes IP
hacia el nodo móvil por medio del enrutador de acceso. El agente de casa entonces envía un mensaje de respuesta de registro al enrutador de acceso y este informa al nodo móvil que el traspaso fue un éxito. De ahí en adelante, el enrutador de acceso actúa como el agente foráneo del nodo móvil.
Sin embargo, el algoritmo de traspaso se mantiene muy simple. Si el nodo móvil recibe un mensaje de aviso de enrutador de un enrutador de acceso, este envía un mensaje de petición de registro y de ahí en adelante usa el enrutador de acceso como agente foráneo. Esto da como resultado interrupciones hasta que la nueva conexión se establece aunque el nodo móvil podría seguir comunicándose con el resto de la red sobre su agente foráneo actual. Tan pronto como las áreas de los enrutadores de acceso se traslapan, el nodo móvil constantemente cambia de enrutador de acceso [Fall y Varadhan, 2007].