universidad tÉcnica particular de lojadspace.utpl.edu.ec/bitstream/20.500.11962/22633/1... ·...
TRANSCRIPT
-
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
La Universidad Católica de Loja
ÁREA TÉCNICA
TÍTULO DE INGENIERO EN SISTEMAS INFORMÁTICOS Y
COMPUTACIÓN
Implementación del protocolo de enrutamiento GPSR para redes
móviles en la herramienta de simulación NS3.
TRABAJO DE TITULACIÓN.
AUTOR: Torres Torres, Junior Israel
DIRECTOR: Torres Tandazo, Rommel Vicente, PhD
LOJA-ECUADOR
2018
-
Esta versión digital, ha sido acreditada bajo la licencia Creative Commons 4.0, CC BY-NY-SA: Reconocimiento-No comercial-Compartir igual; la cual permite copiar, distribuir y comunicar públicamente la obra, mientras se reconozca la autoría original, no se utilice con fines comerciales y se permiten obras derivadas, siempre que mantenga la misma licencia al ser divulgada. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.es
2018
http://creativecommons.org/licenses/by-nc-sa/4.0/deed.es
-
ii
APROBACIÓN DEL DIRECTOR DEL TRABAJO DE TITULACIÓN
Doctor.
Rommel Vicente Torres Tandazo,
DOCENTE DE LA TITULACIÓN
De mi consideración:
El presente trabajo de titulación: Implementación del protocolo de enrutamiento
GPSR para redes móviles en la herramienta de simulación NS3, realizado por
Torres Torres Junior Israel, ha sido orientado y revisado durante su ejecución, por
cuanto se aprueba la presentación del mismo.
Loja, junio del 2018.
f) ……………………….
-
iii
DECLARACIÓN DE AUTORÍA Y CESIÓN DE DERECHOS
Yo Junior Israel Torres Torres declaro ser autor del presente trabajo de titulación:
Implementación del protocolo de enrutamiento GPSR para redes móviles en la
herramienta de simulación NS3, de la Titulación Sistemas Informáticos y Computación,
siendo Rommel Vicente Torres Tandazo director del presente trabajo; y eximo
expresamente a la Universidad Técnica Particular de Loja y a sus representantes legales
de posibles reclamos o acciones legales. Además, certifico que las ideas, conceptos,
procedimientos y resultados vertidos en el presente trabajo investigativo, son de mi
exclusiva responsabilidad.
Adicionalmente declaro conocer y aceptar la disposición del Art. 88 del Estatuto
Orgánico de la Universidad Técnica Particular de Loja que en su parte pertinente
textualmente dice: “Forman parte del patrimonio de la Universidad la propiedad
intelectual de investigaciones, trabajos científicos o técnicos y tesis de grado o trabajos
de titulación que se realicen con el apoyo financiero, académico o institucional
(operativo) de la Universidad.
f.................................
Autor: Torres Torres Junior Israel
Cédula: 1150067179
-
iv
DEDICATORIA
Con un inefable sentimiento de agradecimiento y cariño dedico este trabajo a mi madre
Fanni Torres y a mi padre Jorge Torres quienes han sido mi mayor motivación e
inspiración para lograr mis objetivos, a ellos que han sacrificado tanto por mí, que me
han enseñado tanto, que han estado siempre que los he necesitado, jamás podré
pagarles todo lo que han hecho por mí. ¡Gracias!
A mis amigos, familiares y todos mis seres queridos que estuvieron conmigo a lo largo
de mi proceso formativo y que con su aliento fortalecieron mi espíritu para seguir
adelante.
Con todo mi amor,
Junior.
-
v
AGRADECIMIENTO
Agradezco primeramente a mis padres quienes con su ejemplo me han enseñado que
con esfuerzo y sacrificio todo se puede lograr.
A mi familia, amigos y seres queridos que siempre estuvieron conmigo apoyándome
cuando más los necesitaba.
A los docentes de la Universidad Técnica Particular de Loja quienes compartieron sus
conocimientos para formarme íntegramente.
Al Ing. Rommel Torres quien con su experiencia y dedicación ha podido guiarme de
manera adecuada para culminar con éxito éste trabajo, así mismo agradecer a mis
asesores por todos los consejos brindados.
A todos mis compañeros con quienes compartí muchas experiencias maravillosas y
marcaron una etapa de mi vida haciéndola algo inolvidable.
Junior.
-
vi
ÍNDICE DE CONTENIDOS
APROBACIÓN DEL DIRECTOR DEL TRABAJO DE TITULACIÓN ........................... ii
DECLARACIÓN DE AUTORÍA Y CESIÓN DE DERECHOS ....................................... iii
DEDICATORIA ............................................................................................................ iv
AGRADECIMIENTO ..................................................................................................... v
RESUMEN .................................................................................................................... 1
ABSTRACT .................................................................................................................. 2
CAPÍTULO 1 INTRODUCCIÓN ................................................................................... 3
1. Introducción ...................................................................................................................... 4
1.1 Justificación .............................................................................................................. 5
1.2 Objetivos ..................................................................................................................... 5
1.2.1 Objetivo general. .............................................................................................. 5
1.2.2 Objetivos específicos ...................................................................................... 5
1.3 Metodología ............................................................................................................... 5
1.4 Organización del proyecto .......................................................................................... 6
1.5 Abreviaturas .................................................................................................................... 7
CAPÍTULO 2 MARCO TEÓRICO ................................................................................ 8
2. Marco teórico .................................................................................................................... 9
2.1 Redes Ad Hoc Inalámbricas........................................................................................ 9
2.1.2 Uso .......................................................................................................................... 10
2.1.3 Características ...................................................................................................... 11
2.2 Enrutamiento en MANETS ......................................................................................... 12
2.2.1 Protocolos convencionales ............................................................................... 13
2.2.2 Estado del enlace ................................................................................................. 14
2.2.3 Vector distancia .................................................................................................... 15
2.2.4 Enrutamiento de origen ...................................................................................... 16
2.2.5 Inundaciones ......................................................................................................... 16
2.2.6 Clasificación de protocolos de enrutamiento ............................................... 17
2.3 Herramientas de simulación ................................................................................ 18
2.3.1 Network Simulator 2 ...................................................................................... 18
2.3.2 Network Simulator 3 ...................................................................................... 18
2.3.3 Comparación entre NS2 y NS3 ................................................................... 19
2.4 Protocolos de enrutamiento ad hoc .................................................................. 20
-
vii
2.4.1 Propiedades esperadas ................................................................................ 20
2.4.2 Destination-Sequenced Distance Vector – DSDV .................................. 21
2.4.2.1 Descripción ..................................................................................................... 21
2.4.2.2 Propiedades.................................................................................................... 22
2.4.3 Ad Hoc On Demand Distance Vector- AODV ................................................ 22
2.4.3.1 Descripción ..................................................................................................... 22
2.4.3.2 Propiedades.................................................................................................... 23
2.4.4 Dynamic Source Routing – DSR ..................................................................... 23
2.4.4.1 Descripción ..................................................................................................... 23
2.4.4.2 Propiedades.................................................................................................... 24
2.4.5 Zone Routing Protocol – ZRP ........................................................................... 25
2.4.5.1 Descripción ..................................................................................................... 25
2.4.5.2 Propiedades.................................................................................................... 26
2.4.6 Temporally-Ordered Routing Algorithm– TORA .......................................... 27
2.4.6.1 Descripción ..................................................................................................... 27
2.4.6.2 Propiedades.................................................................................................... 27
2.4.7 Internet MANET Encapsulation Protocol- IMEP ........................................... 28
2.4.7.1 Descripción ..................................................................................................... 28
2.4.7.2 Propiedades.................................................................................................... 28
2.4.8 Cluster Based Routing Protocol- CBRP ......................................................... 29
2.4.8.1 Descripción ..................................................................................................... 29
2.4.8.2 Propiedades.................................................................................................... 29
2.4.9 Greedy Perimeter Stateless Routing-GPSR .................................................. 30
2.4.9.1 Descripción ..................................................................................................... 30
2.4.9.2 Propiedades.................................................................................................... 30
2.4.10 Comparación y selección entre protocolos de enrutamiento. ............... 31
CAPÍTULO 3 PROTOCOLO GPSR ........................................................................... 33
3. Protocolo GPSR ............................................................................................................. 34
3.1 Visión general de GPSR ............................................................................................. 34
3.2 Características de GPSR ........................................................................................... 34
3.3 Algoritmos ..................................................................................................................... 35
3.4 Paquetes ........................................................................................................................ 36
3.5 Ventajas y desventajas .............................................................................................. 37
3.6 Robustez y eficiencia en GPSR ............................................................................... 38
3.6.1 Uso de la retroalimentación MAC-Layer Failure .......................................... 38
3.6.2 Cruce de cola de interfaz .................................................................................... 39
-
viii
3.6.3 El uso promiscuo de la interfaz de red ........................................................... 39
CAPÍTULO 4 IMPLEMENTACIÓN DEL PROTOCOLO GPSR ................................. 40
4. Implementación del protocolo GPSR ....................................................................... 41
4.1 Archivos del protocolo GPSR .................................................................................. 41
4.2 Archivos modificados en NS3 .................................................................................. 42
4.3 Clases del protocolo GPSR ...................................................................................... 42
4.4 Algoritmos de GPSR ................................................................................................... 47
4.4.1 Funcionamiento general de GPSR................................................................... 47
4.4.2 Reenvío codicioso (Greedy forwarding) ........................................................ 48
4.4.3 Reenvío perimetral (Perimeter forwarding) ................................................... 49
4.5 Estructura del script GPSR ....................................................................................... 51
4.5.1 Primera línea .......................................................................................................... 51
4.5.2 Inclusión de módulos .......................................................................................... 51
4.5.3 Espacio de nombres NS3 ................................................................................... 51
4.5.4 Función principal .................................................................................................. 52
4.5.5 Ayudantes de topología ...................................................................................... 52
4.5.6 Simulador ............................................................................................................... 53
CAPÍTULO 5 SIMULACIÓN Y RESULTADOS ......................................................... 54
5. Simulación y resultados .............................................................................................. 55
5.1 Proceso de simulación en NS3 ................................................................................ 55
5.2 Especificación de escenarios .................................................................................. 57
5.3 Análisis de resultados ................................................................................................ 58
5.3.1 Rendimiento ........................................................................................................... 58
5.3.2 Tasa de envío de paquetes ................................................................................ 61
5.3.3 Retardo promedio ................................................................................................ 63
5.3.4 Variación del retardo de paquetes ................................................................... 64
5.3.5 Pérdida de paquetes ............................................................................................ 64
CONCLUSIONES ....................................................................................................... 66
RECOMENDACIONES ............................................................................................... 67
BIBLIOGRAFÍA .......................................................................................................... 68
ANEXOS .................................................................................................................... 72
ANEXO 1. Instalación y configuración de NS3 ........................................................... 73
ANEXO 2. Integración de NS3 con Eclipse .................................................................. 78
ANEXO 3. Código fuente del protocolo ........................................................................ 83
ANEXO 4. Código para conexiones ............................................................................... 90
ANEXO 5. Datos usados para análisis. ........................................................................ 92
-
ix
ÍNDICE DE FIGURAS
Figura 1. Red ad hoc simple con tres nodos. ..................................................................... 10
Figura 2. Clasificación de protocolos de enrutamiento convencionales. ........................ 14
Figura 3. Ejemplo de Descubrimiento de ruta: El nodo A es el iniciador y E es el
destino. ....................................................................................................................................... 24
Figura 4. Ejemplo de mantenimiento de ruta: El nodo C no puede reenviar un paquete
de A a E a través de su enlace al salto D. ........................................................................ 25
Figura 5. Ejemplo de zona de enrutamiento ....................................................................... 26
Figura 6. Protocolo de enrutamiento basado en clústeres ............................................... 29
Figura 7. Ejemplo de reenvío codicioso, y es el vecino más cercano de x a D ............ 35
Figura 8. Ejemplo de reenvío perimetral. ............................................................................ 36
Figura 9. Clase principal y subclases del protocolo GPSR .............................................. 43
Figura 10. Clases del encabezado del protocolo GPSR ................................................... 44
Figura 11. Clase del manejo de colas del protocolo GPSR ............................................. 45
Figura 12. Clase de la tabla de enrutamiento del protocolo GPSR................................. 46
Figura 13. Diagrama de clases general de GPSR. ............................................................ 47
Figura 14. Funcionamiento general de GPSR. ................................................................... 48
Figura 15. Funcionamiento del algoritmo de reenvío codicioso. ..................................... 49
Figura 16. Funcionamiento del algoritmo de reenvío perimetral. .................................... 50
Figura 17. Proceso de simulación en NS3. ......................................................................... 55
Figura 18. Rendimiento con 25 nodos. ................................................................................ 59
Figura 19. Rendimiento con 50 nodos. ................................................................................ 60
Figura 20. Rendimiento con 75 nodos. ................................................................................ 60
Figura 21. Rendimiento con 100 nodos. .............................................................................. 61
Figura 22. Tasa de envío de paquetes. ............................................................................... 62
Figura 23. Retardo promedio................................................................................................. 63
Figura 24. Variación del retardo. ........................................................................................... 64
Figura 25. Pérdida de paquetes ............................................................................................ 65
Figura 26. Directorio de NS3. ................................................................................................ 75
Figura 27. Paquetes NS3 compilándose. ............................................................................ 76
Figura 28. Módulos de NS3 instalados. ............................................................................... 76
Figura 29. Pruebas unitarias de los módulos NS3. ............................................................ 77
Figura 30. Configuración de repositorio. .............................................................................. 78
Figura 31. Creación de nuevo proyecto. .............................................................................. 79
Figura 32. Configuración de proyecto. ................................................................................. 80
Figura 33. Proyecto nuevo creado. ...................................................................................... 80
Figura 34. Configuración del proyecto. ................................................................................ 81
Figura 35. Configuración del constructor del proyecto. ..................................................... 81
Figura 36. Configuración del depurador del proyecto. ...................................................... 82
Figura 37. Configuración variable de entorno. .................................................................... 82
-
x
ÍNDICE DE TABLAS
Tabla 1. Comparación entre NS2 y NS3. ............................................................................. 19
Tabla 2. Comparación entre protocolos de enrutamiento. ................................................. 31
Tabla 3. Campos del encabezado del paquete GPSR utilizados en el reenvío. ............ 37
Tabla 4. Archivos del protocolo GPSR. ................................................................................ 41
Tabla 5. Archivos modificados. .............................................................................................. 42
Tabla 6. Especificación de escenarios de simulación. ....................................................... 57
Tabla 7. Datos usados para el rendimiento. ........................................................................ 92
Tabla 8. Datos para la tasa de envío de paquetes. ............................................................ 94
Tabla 9. Datos para el retardo promedio. ............................................................................. 94
Tabla 10. Datos para la variación del retardo. ..................................................................... 95
Tabla 11. Datos para la pérdida de paquetes. ..................................................................... 95
-
1
RESUMEN
En lugares donde instalar una infraestructura de red es complicado, las redes móviles
son una alternativa para permitir la comunicación, es por eso que tienen una gran
acogida en la actualidad. Cada vez existen más investigadores que se dedican al estudio
de las redes móviles por lo que proponen la implementación y mejoramiento de nuevos
protocolos de enrutamiento.
Como contribución a la movilidad y gestión de las redes móviles en el presente proyecto
se implementa el protocolo de enrutamiento Greedy Perimeter Stateless Routing en la
herramienta de simulación NS3. La implementación se la realiza simulando el protocolo
en un escenario bajo distinto número de nodos, posteriormente se realiza el análisis de
resultados entre GPSR y AODV midiendo la eficiencia de ambos protocolos analizando
el rendimiento, tasa de envío de paquetes, retardo y pérdida de paquetes lo que permitió
constatar que GPSR es más eficiente que AODV.
PALABRAS CLAVES: Protocolo de enrutamiento, GPSR, AODV, NS3, MANET.
-
2
ABSTRACT
In places where installing a network infrastructure is complicated, mobile networks are
an alternative to allow communication, that's why mobile networks have been well
received today. Every time there are more researchers who are dedicated to the study
of mobile networks so they propose the implementation and improvement of new routing
protocols to contribute to mobile networks.
As a contribution to mobility and management of mobile networks in this project
implements the Greedy Perimeter Stateless Routing protocol in the NS3 simulation tool.
The implementation is performed by simulating the protocol in a scenario under different
number of nodes, then performs the analysis of results between GPSR and AODV
measuring the efficiency of both protocols.
KEYWORDS: Routing protocol, GPSR, AODV, NS3, MANET.
-
3
CAPÍTULO 1
INTRODUCCIÓN
-
4
1. Introducción
El uso de internet ha despegado de gran manera en la última década, impulsado por
nuevas tecnologías, si bien es cierto que la forma más común de conexión es a través
de cable, existe una inmensa demanda de conexión a través de redes móviles, los
usuarios exigen acceso móvil ya sea en la casa, en el trabajo o mientras viajan. Las
redes móviles permiten a un usuario conectarse en cualquier parte del mundo con
cualquier persona, lo que brinda comodidad y facilidad de comunicación.
En la actualidad, las redes móviles han aumentado en gran medida su popularidad, esto
ha sido gracias a los avances tecnológicos en la informática, hoy en día es común hablar
de dispositivos móviles interconectados entre sí gracias a nuevas tecnologías y
protocolos de enrutamiento para las redes ad hoc. El enrutamiento en las redes móviles
es un reto desafiante y ha recibido mucha atención en diferentes investigaciones. Esto
ha llevado al desarrollo de diferentes protocolos de enrutamiento con el objetivo de
mejorar el funcionamiento y rendimiento de las MANETs(Mobile Ad Hoc Networks).
Las redes ad-hoc se pueden usar muy bien en situaciones donde: a) no se puede instalar
una infraestructura debido a los elevados costos, b) La instalación cableada es
físicamente imposible o c) es vulnerable ante alguna catástrofe natural. Una de las
ventajas de las redes móviles es que no necesitan de una infraestructura para poder
comunicarse.
La movilidad en las redes móviles dificulta el enrutamiento eficiente de éstas, debido a
esto los investigadores centran sus esfuerzos para implementar nuevos protocolos de
enrutamiento que ayuden a mejorar la movilidad en las redes móviles. En el contexto
mencionado, en el presente trabajo de titulación se realiza la implementación y
evaluación de un protocolo de enrutamiento para las redes ad-hoc inalámbricas, éste se
realiza mediante simulación y se hace un análisis de su eficiencia.
-
5
1.1 Justificación
Los protocolos de enrutamiento cumplen un papel muy importante en cualquier red,
estos protocolos especifican como los nodos se comunican entre sí, esto permite
seleccionar y descubrir las rutas entre dos nodos en una red. La movilidad de un host
puede ocasionar problemas impredecibles en una red, la tarea de encontrar y mantener
rutas en las redes móviles demanda un esfuerzo considerable. En el contexto
mencionado la presente investigación tiene como propósito la implementación de un
protocolo de enrutamiento en la herramienta NS3 que permite crear y simular escenarios
básicos de tecnologías de redes inalámbricas, con el objetivo de contribuir al
enrutamiento eficiente en las redes móviles.
1.2 Objetivos
Para el desarrollo del presente trabajo de titulación se definen los siguientes objetivos:
1.2.1 Objetivo general.
Contribuir a la mejora de la movilidad y gestión de las redes móviles a través de la
implementación de un protocolo de enrutamiento.
1.2.2 Objetivos específicos
Implementar un protocolo de enrutamiento para redes móviles, mediante la
herramienta de simulación NS-3.
Determinar el proceso para la inclusión de un nuevo módulo en la herramienta
de simulación NS-3
Realizar un estudio de los protocolos de enrutamiento en las redes móviles.
Generar un entorno de simulación que pueda ser utilizado para estudios
posteriores.
1.3 Metodología
El presente trabajo de titulación se realiza principalmente en base a la implementación
de un protocolo de enrutamiento en el simulador NS3, primeramente, se procede con
un análisis y configuración de la herramienta, posteriormente se realiza la codificación
del protocolo de enrutamiento, al final se implementa las respectivas simulaciones,
pruebas de rendimiento del protocolo y se realiza una comparación entre el protocolo
GPSR y AODV.
-
6
1.4 Organización del proyecto
El presente trabajo de titulación se organiza en seis capítulos descritos a continuación:
Capítulo 1: Introducción, se realiza un breve repaso sobre las redes móviles, la
justificación del proyecto, los objetivos a cumplir y la metodología que se aplicará.
Capítulo 2: Marco teórico, en este capítulo se explican los conceptos fundamentales
de redes ad hoc y se realiza un análisis y comparación de diferentes protocolos de
enrutamiento.
Capítulo 3: Protocolo GPSR, en este capítulo se realiza un estudio completo del
protocolo GPSR, en donde se detalla su funcionamiento y características.
Capítulo 4: Implementación del protocolo GPSR, en este capítulo se realiza la
implementación del protocolo, se hace un análisis de su código y de sus algoritmos de
enrutamiento.
Capítulo 5: Simulación y resultados, se implementa la simulación en la herramienta
NS3, se realiza una comparación entre AODV y GPSR y se presenta el análisis de los
resultados obtenidos de los protocolos.
Además se presentan las conclusiones de la investigación y se proponen algunas
recomendaciones.
Finalmente, se añaden los respectivos anexos.
-
7
1.5 Abreviaturas
AODV: Ad-hoc On-demand Distance Vector
CBRP: Cluster Based Routing Protocol
DSDV: Destination Sequenced Distance Vector
DSR: Dynamic Source Routing
GPSR: Greedy Perimeter Stateless Routing
IEEE: Institute of Electrical and Electronics Engineers
IETF: Internet Engineering Task Force
IP: Internet Protocol
LAN: Local Area Network
LSP: Link State Packet
MAC: Media Access Protocol
MANET: Mobile Ad-hoc NETworks
NS2: Network Simulator 2
NS3: Network Simulator 3
OLSR: Optimized Link State Routing Protocol
QoS: Quality of Service
TCP: Transmission Control Protocol
TORA: Temporally Ordered Routing Algorithm
UDP: User Datagram Protocol
VANET: Vehicular Ad-Hoc Network
ZRP: Zone Routing Protocol
-
8
CAPÍTULO 2
MARCO TEÓRICO
-
9
2. Marco teórico
En el presente capítulo se realiza una introducción a los conceptos fundamentales
sobres las redes inalámbricas que sirven de guía para desarrollar el presente trabajo de
titulación.
En la sección 2.1 se analiza los conceptos de las MANETs, el uso de las redes móviles
en distintos campos, sus principales características, además se revisa los conceptos
más relevantes sobre el enrutamiento y los protocolos de enrutamiento en las redes
móviles.
En la sección 2.2 se revisa los conceptos de enrutamiento, los protocolos
convencionales de las redes móviles ad hoc, el estado de enlace así mismo los vectores
de distancia y el enrutamiento de origen, también se aborda temas como las
inundaciones y la clasificación de los protocolos de enrutamiento.
En la sección 2.3 se muestran las dos herramientas de simulación más utilizadas como
son NS2 y NS3 y se realiza una comparación entre ellas para la posterior selección de
la herramienta a utilizar.
Finalmente en la sección 2.5 se analiza los protocolos de enrutamiento para redes
móviles más conocidos, describiendo sus características y propiedades principales.
2.1 Redes Ad Hoc Inalámbricas
Las redes ad hoc son muy importantes para las comunicaciones inalámbricas. Una red
inalámbrica es una colección de nodos móviles que forma una red temporal, estas redes
se crean a medida que se conectan los dispositivos. Las redes ad hoc heredan los
problemas tradicionales de las redes inalámbricas, como la optimización del ancho de
banda, el control de la potencia y la mejora de la calidad de la transmisión. Además, su
naturaleza multi-espacio y la falta de una infraestructura fija acarrean nuevos problemas
de investigación tales como la configuración de red, el descubrimiento de dispositivos y
mantenimiento de topología, así como direccionamiento ad hoc y auto-enrutamiento.
(Wu & Stojmenovic, 2004 p 29).
Los recursos limitados que existen en las redes ad hoc móviles (MANETs) han
provocado que el enrutamiento eficiente sea una tarea compleja. Se necesita una
estrategia de enrutamiento inteligente para poder utilizar eficientemente los recursos
limitados.
-
10
En la Figura 1 se muestra un ejemplo de una red móvil ad hoc con tres nodos, el Nodo
1 y el Nodo 3 no se encuentran dentro del alcance entre sí. Sin embargo, el Nodo 2 se
puede utilizar para reenviar paquetes entre el Nodo 1 y el Nodo 3, es decir el Nodo 2
está funcionando como un enrutador, los tres nodos forman una red ad hoc.
Figura 1. Red ad hoc simple con tres nodos.
Fuente: (Larson & Hedman, 1998)
Elaboración: El autor
2.1.2 Uso
La arquitectura de red ad hoc se puede utilizar en aplicaciones de negocio en tiempo
real, en las empresas para aumentar la productividad y los beneficios. En las redes
vehiculares también conocidas como VANET que utiliza vehículos como nodos en una
red para crear una red móvil, en Wireless Sensor Network (WSN) que consiste en
sensores autónomos para controlar las acciones ambientales.(Helen & Arivazhagan,
2014)
La tecnología de las redes móviles ha ganado mucho terreno con la invención de
dispositivos móviles los cuales pueden interconectarse sin que exista necesariamente
una infraestructura, a continuación se listan algunos casos en los que se pueden usar
las redes ad hoc móviles:
Campo militar
En el campo militar las redes móviles ad hoc pueden ser usadas para mantener a los
soldados comunicados con una red de comunicación entre ellos, los vehículos y los
asentamientos.
-
11
Redes de área personal
Una red de área personal es una red de corto alcance en la que los nodos suelen estar
asociados con un rango determinado.
Sector industrial
Las MANETs pueden ser usadas perfectamente en el sector industrial ya que permiten
aumentar la productividad dentro de una industria o empresa. Se usan en situaciones
de emergencia como en desastres naturales debido a que la red ad hoc no depende de
una infraestructura para poder comunicarse.
Conferencias
Las redes ad hoc permiten a los usuarios conectarse de manera rápida a una red para
compartir y difundir información entre dispositivos con los participantes de una
conferencia.
2.1.3 Características
Una MANET consiste en plataformas móviles (por ejemplo, un enrutador con múltiples
hosts y dispositivos de comunicaciones inalámbricas), denominados simplemente
nodos, que son libres de moverse arbitrariamente. Una red móvil ad hoc es un sistema
autónomo que consiste en hosts móviles que no dependen de la presencia de ninguna
infraestructura de red fija. Dependiendo de las posiciones geográficas de los nodos, sus
patrones de cobertura del transceptor, los niveles de potencia de transmisión y los
niveles de interferencia co-canal, una red puede ser formada y no formada sobre la
marcha. (Toh, 2001). Estas redes móviles poseen algunas características las cuales se
mencionan a continuación:
Ancho de banda limitado
Las redes móviles ad hoc tienen un ancho de banda limitado que se puede dar por el
ruido y la interferencia de señal esto a su vez provoca que la capacidad de un enlace
inalámbrico se degrade con el tiempo.
Topologías dinámicas
Los nodos en una red móvil inalámbrica se pueden mover libremente sin que dependen
de otros, por lo tanto, la topología de red puede cambiar de una manera aleatoria y
durante tiempos que son impredecibles. Esto creo dificultades para establecer la
-
12
conectividad en una red y para permitir que las comunicaciones puedan operar sin
errores.
Rango de conectividad limitado
Las MANETs se basan en la tecnología de radiofrecuencia (RF) para conectarse, esta
se considera que es una comunicación de corto alcance. Por este motivo, los nodos que
quieren comunicarse directamente necesitan estar en el rango de frecuencias cercanas
entre sí. Para poder hacer frente a esta limitación, deben ser utilizados mecanismos de
enrutamiento multi-hop para conectar nodos distantes a través de intermediarios que
funcionan como routers.(Aldabbas, Tariq, Janicke, & Al-Bayatti, 2012).
Seguridad física limitada
Las redes móviles al hacer uso de un medio compartido son susceptibles a fallos de
seguridad, esto puede ocasionar que existan ataques a la red como denegación de
servicio (Dos), es por eso que se debe tomar medidas de seguridad para mitigar las
amenazas.
Operación con energía limitada
Como sabemos las baterías son la fuente de energía de las MANETs, estas poseen una
cantidad de energía limitada, por lo tanto, es de vital importancia optimizar la energía
con el fin de prolongar el tiempo de vida de los nodos en una red inalámbrica.
Existencia temporal
Las redes móviles se crean para algún propósito determinado, es decir una vez que el
propósito se haya cumplido estas pueden dejar de existir.
2.2 Enrutamiento en MANETS
El enrutamiento en MANETs es un tipo de asociación o una forma de encontrar el
camino desde la fuente hasta el destino. La categorización de diversos protocolos de
enrutamiento de MANET es un estudio en profundidad debido al número de enfoques y
varios algoritmos y métodos que se están adoptando para implementar estos
enfoques.(Abolhasan et al., 2004).
El enrutamiento o encaminamiento es la actividad más importante que cumplen los
nodos de una red móvil para poder garantizar el correcto funcionamiento de una red,
“si uno de los nodos deja de encaminar correctamente los paquetes, puede
comprometer el normal funcionamiento de toda la red” (Rocabado, 2013).
-
13
Los protocolos de enrutamiento tienen dos funciones principales, la selección de rutas
para los diversos pares origen-destino y la entrega de mensajes a su destino correcto.
Los protocolos de enrutamiento de redes cableadas no son óptimos para aplicarlos a
las MANETs debido a la movilidad que tienen sus nodos.
El problema del enrutamiento en una red ad hoc real puede ser muy complicado debido
a las características de propagación no uniforme de las transmisiones inalámbricas y
debido a la posibilidad de que cualquiera o todos los hosts implicados puedan moverse
en cualquier momento (Johnson & Maltz, 1996b).
2.2.1 Protocolos convencionales
Los protocolos de enrutamiento convencionales integran el descubrimiento de rutas con
el mantenimiento de rutas mediante el envío continuo de actualizaciones periódicas de
enrutamiento. Si el estado de un enlace o un enrutador cambia, las actualizaciones
periódicas eventualmente reflejarán los cambios a todos los otros enrutadores,
presumiblemente resultando en el cálculo de nuevas rutas. Sin embargo, utilizando el
descubrimiento de ruta, no hay mensajes periódicos de ningún tipo de cualquiera de los
hosts móviles. En su lugar, mientras se está utilizando una ruta, el procedimiento de
mantenimiento de ruta supervisa el funcionamiento de la ruta e informa al remitente de
cualquier error de enrutamiento.(Johnson & Maltz, 1996b).
Si se necesita un protocolo de enrutamiento, se podría usar un protocolo de
enrutamiento como el estado de enlace o el vector de distancia pero estos tienen
algunos problemas. El principal problema es que están diseñados para una topología
estática, lo que significa que tendrían problemas para converger a un estado
estacionario en una red móvil ad-hoc con una topología muy cambiante. En la Figura 2
se observa la clasificación de algunos de los protocolos de enrutamiento más conocidos.
-
14
Figura 2. Clasificación de protocolos de enrutamiento convencionales.
Fuente: (Hong, Xu, & Gerla, 2002)
Elaboración: El autor
En las redes móviles ad hoc, los protocolos de enrutamiento convencionales, que son
utilizados en las redes fijas, no son suficientes. Las redes ad hoc poseen muchas
características particulares, por lo que necesitan protocolos de enrutamiento que tengan
en cuenta estas características.
2.2.2 Estado del enlace
En el enrutamiento de estado enlace cada nodo mantiene una vista de la topología
completa con un coste para cada enlace. Para poder mantener estos costos
consistentes; cada nodo debe transmitir periódicamente los costes de enlace de sus
enlaces salientes a todos los otros nodos, usando inundaciones. A medida que cada
nodo recibe esta información, actualiza su vista de la red y aplica un algoritmo de ruta
más corta para elegir el salto siguiente para cada destino.(Larson & Hedman, 1998).
El enrutamiento de estado de enlace se realiza en dos niveles: nodo local y niveles de
zona global. A diferencia de otros protocolos jerárquicos, no hay cabeza de clúster en
este protocolo.
En el enrutamiento de estado enlace cada router conoce sus propias redes conectadas
directamente además intercambian un paquete de saludo para “conocer” a los routers
de estado de enlace conectados directamente.(Lundh, n.d.)
-
15
Cada router crea su propio paquete de estado de enlace (Link State Packet) que incluye
información sobre los vecinos, como la ID,el tipo de enlace y el ancho de banda, Una
vez que se crea el LSP, el router lo envía a todos sus vecinos, que almacenan la
información y, luego, la reenvían hasta que todos los routers tengan la misma
información.(Lundh, n.d.)
Una vez que todos los routers han recibido los paquetes de estado de enlace, los routers
crean un mapa topológico de la red el cual es utilizado para poder determinar las mejores
rutas.
2.2.3 Vector distancia
En el enrutamiento vector distancia cada nodo sólo supervisa el coste de sus enlaces
salientes, pero en lugar de difundir esta información a todos los nodos, periódicamente
transmite a cada uno de sus vecinos una estimación de la distancia más corta a cada
otro nodo de la red. Los nodos receptores luego usan esta información para recalcular
las tablas de enrutamiento, usando un algoritmo de ruta más corta.(Larson & Hedman,
1998).
Los protocolos tradicionales de enrutamiento vector distancia transmiten información
con respecto a su distancia relativa a un destino, en el enrutamiento de vector distancia
el router solo cuenta a vecinos sobre todas las rutas, además en los protocolos de vector
de distancia un enrutador no puede enviar nuevos vectores hasta que los haya
procesado.
Un ejemplo de protocolo de vector distancia es Destination-Sequenced Distance Vector
(DSDV) es un protocolo de enrutamiento típico para MANETs. En DSDV, cada ruta se
marca con un número de secuencia que se origina por el destino, indicando la
antigüedad de la ruta. Cada nodo gestiona su propio número de secuencia asignándolo
dos veces más grande que el antiguo (llamar un número de secuencia par) cada vez
(Rahman & Zukarnain, 2009).
En comparación con el estado de enlace, el vector de distancia es más fácil de
implementar y además requiere mucho menos espacio de almacenamiento. Sin
embargo, el vector de distancia puede causar la formación de bucles de enrutamiento
tanto de corta duración como de larga duración. La causa principal de esto es que los
nodos eligen sus próximos saltos de una manera completamente distribuida basada en
información que puede ser obsoleta (Larson & Hedman, 1998).
-
16
2.2.4 Enrutamiento de origen
El enrutamiento de origen es una técnica de enrutamiento en la que el remitente de un
paquete determina la secuencia completa de nodos a través de la cual reenviar el
paquete; El remitente enumera explícitamente esta ruta en el encabezamiento del
paquete, identificando cada "salto" de desvío por la dirección del siguiente nodo al que
transmitir el paquete en su camino hacia el host de destino.(Johnson & Maltz, 1996b).
El enrutamiento de origen ha sido utilizado en varios contextos para el enrutamiento en
redes cableadas, utilizando rutas de origen estáticamente definidas o construidas
dinámicamente.
El uso del enrutamiento de origen permite que el enrutamiento de paquetes sea
trivialmente libre de bucles, evita la necesidad de información de enrutamiento
actualizada en los nodos intermedios a través del cual se envían los paquetes y permite
que los nodos reenvíen o escuchen paquetes para almacenar en caché la información
de enrutamiento para su propio uso futuro.
Una de las ventajas del enrutamiento de origen es que es fácil de evitar los bucles de
enrutamiento y una desventaja es que cada paquete en la red requiere una pequeña
sobrecarga.
2.2.5 Inundaciones
Inundación es una forma primitiva de comunicación importante en las redes móviles ad
hoc y también sirve como base para protocolos complejos, como los protocolos de
enrutamiento.
La inundación es el mecanismo mediante el cual un nodo, recibiendo el mensaje
inundado m por primera vez, retransmite m una vez. La inundación generalmente cubre
todos los nodos de una red, pero también puede limitarse a un conjunto de nodos que
está definido por un área geográfica o por el parámetro tiempo de vida (TTL) de m. De
este modo, un nodo que recibe el mensaje inundado sólo lo retransmite si está dentro
del área especificada o si el TTL del mensaje es mayor que 0. (Pleisch, Balakrishnan,
Birman, & Van Renesse, n.d.)
Algunos protocolos de enrutamiento utilizan inundaciones como mecanismo básico para
propagar mensajes de control. En las inundaciones, un nodo transmite un mensaje a
todos sus vecinos. Los vecinos a su vez transmiten a sus vecinos y así sucesivamente
hasta que el mensaje ha sido propagado por toda la red.
-
17
Las inundaciones tradicionales sufren el problema de la recepción de mensajes
redundantes, una vez por vecino. Incluso en una red razonablemente conectada, el
mismo mensaje es recibido varias veces por cada nodo, que es ineficiente, desecha
recursos valiosos y puede crear contención en el medio de transmisión.(Pleisch et al.,
n.d.)
En cualquier mecanismo de inundación, se debe equilibrar la fiabilidad con la sobrecarga
del mensaje. Por un lado, el aumento de la fiabilidad generalmente implica el envío de
un mayor número de mensajes redundantes y, por lo tanto, provoca una sobrecarga de
mensaje mayor. En este peor caso, el sistema corre el riesgo de provocar tormentas de
radiodifusión. Sin embargo, los mensajes redundantes son necesarios para llegar a
todos los nodos y para recuperarse de la pérdida de paquetes, por lo tanto la reducción
de los gastos generales generalmente disminuirá la fiabilidad.(Pleisch et al., n.d.)
2.2.6 Clasificación de protocolos de enrutamiento
Los protocolos de enrutamiento se pueden clasificar en diferentes categorías
dependiendo de sus propiedades(Larson & Hedman, 1998):
Centralizado vs. Distribuido
Reactivo vs. Proactivo
Estática vs. Adaptable
En los protocolos centralizados todas las opciones de ruta se realizan en un nodo
central, en cambio, en los distribuidos el cálculo de rutas se comparte entre nodos de la
red.
En los algoritmos estáticos la ruta utilizada es fija indiferentemente de las condiciones
del tráfico mientras que en los algoritmos adaptables ésta ruta puede ser cambiante en
respuesta a la congestión.
La clasificación de proactivos vs reactivos es la más relacionada a las redes ad hoc. En
los proactivos se busca continuamente rutas dentro de la red para enviar los paquetes
mientras que en los protocolos reactivos solo cuando se necesita enviar un paquete se
realiza la búsqueda de una ruta en la red.(Larson & Hedman, 1998)
-
18
2.3 Herramientas de simulación
Existen varios simuladores de protocolos para realizar experimentaciones con ellos,
pero sin duda alguna las herramientas de simulación más usadas por los investigadores
para redes móviles son NS2 y NS3, por lo tanto en esta sección nos centraremos en
estos dos simuladores por ser de los más populares y usados en las redes móviles ad
hoc.
2.3.1 Network Simulator 2
El simulador NS-2 es un simulador discreto de eventos que ha sido durante mucho
tiempo un simulador muy utilizado para investigación y educación sobre Internet y otros
sistemas de red. Las simulaciones de red para ns-2 están compuestas por código C ++,
que se utiliza para modelar el comportamiento de los nodos de simulación, y scripts OTcl
que controlan la simulación y especifican otros aspectos, por ejemplo, la topología de
red.(Chaudhary, Sethi, Keshari, & Goel, 2012).
NS2 viene con un paquete llamado NAM (Network Animator), es un sistema de
animación basado en Tcl que produce una representación visual de la red descrita.
2.3.2 Network Simulator 3
NS3 es un simulador de red de eventos discretos, principalmente enfocado para
investigación y uso educativo. NS3 es un software gratuito bajo la licencia GNU GPLv2,
que está a disposición del público para su uso.
El proyecto NS-3 comenzó a mediados de 2006, que todavía está en desarrollo. NS-3
es un simulador de red que cuenta con una API de scripts Python opcional. Permite a
los investigadores estudiar protocolos de Internet y sistemas a gran escala en un entorno
controlado.(Chaudhary et al., 2012).
NS-3 no es una extensión de NS-2, es un nuevo simulador escrito desde cero. El
proyecto continuará manteniendo NS-2 mientras NS-3 se está construyendo, y estudiará
los mecanismos de transición e integración
-
19
2.3.3 Comparación entre NS2 y NS3
Tabla 1. Comparación entre NS2 y NS3.
NS2 NS3
Fecha de lanzamiento 1995 2006
Primera versión 1996 2008
Licencia Freeware & Open source Freeware & Open source
Arquitectura OTcl y C ++ C ++ y scripts de Python
opcionales
Scripting OTcl que introdujo la
sobrecarga con grandes
simulaciones.
Python
Visualización NAM ns3-viz, pyviz, NetAnim,
Tiempo de simulación El tiempo total de
simulación es grande en
NS2
El tiempo de cálculo total
requerido para ejecutar
una simulación se escala
mejor en NS3 que en
NS2.
Compatibilidad NS2 no es compatible
con NS3.
NS3 no es compatible
con NS2
Escalabilidad Simulaciones
secuenciales
Modelo de pase de
mensajes(MPI) para
simulaciones distribuidas
Basado en NS1 & REAL simulator NS2, GTNets, YANS
Plataforma soportadas Windows, Linux, Mac OS,
Free BSD
Windows, Linux, Mac OS,
Free BSD
Fuente: (Patel, 2015)
Elaboración: El autor
-
20
2.4 Protocolos de enrutamiento ad hoc
2.4.1 Propiedades esperadas
En las MANETS es necesario contar con algunas propiedades que son deseables para
el correcto funcionamiento de las redes móviles.
Las siguientes propiedades se listan en el RFC 2501(Corson, 1999).
Operación distribuida
Esta propiedad es esencial para las MANETs. Es evidente que las redes ad hoc
funcionan de manera distribuida por su propia naturaleza, es decir no debe depender de
un nodo de control centralizado.
Sin bucles
Dado que, el bucle de los paquetes puede causar una sobrecarga considerable en
términos de ancho de banda y consumo de energía. Por lo tanto, es deseable que el
encaminamiento tenga una ruta acíclica, es decir, sin bucles
Operación basada en la demanda
El enrutamiento en las redes móviles no tiene que asumir carga de tráfico uniforme en
una red, pero puede adaptarse a los patrones de tráfico según sus necesidades. Esto
aumentará el retraso en el descubrimiento de rutas, pero cuando se implementan de
manera inteligente, el ancho de banda y los recursos energéticos pueden ser utilizados
de manera más eficiente.(Naski, 2005).
Operación proactiva
Esto es lo contrario a la operación basada en la demanda. Si los retrasos adicionales
que se producen en la operación basada en la demanda son inaceptables, entonces el
enfoque proactivo puede ser usado especialmente cuando la energía y la capacidad de
ancho de banda apoyan el uso de la operación proactiva.
Seguridad
El entorno de radio es especialmente vulnerable a los ataques de suplantación para
garantizar el comportamiento deseado del protocolo de enrutamiento que necesitamos
algún tipo de medidas de seguridad. Autenticación y cifrado es el camino a seguir y el
problema aquí radica en la distribución de las claves entre los nodos de la red ad-hoc.
-
21
Operación del período "Sleep"
Como resultado de la conservación de energía, los nodos en una red ad hoc móvil
pueden dejar de transmitir o recibir durante períodos de tiempo arbitrarios. Un protocolo
de enrutamiento debe ser capaz de acomodar tales períodos de sueño sin que tenga
consecuencias graves. Esta propiedad puede requerir acoplamiento estrecho con el
protocolo de capa de enlace a través de una interfaz estandarizada.(Corson, 1999).
Soporte de enlace unidireccional
Muchos algoritmos de enrutamiento en las redes móviles ad hoc requieren que los
enlaces bidireccionales sean capaces de funcionar. Sin embargo, los enlaces
unidireccionales son más generales en las redes de radio. Es por eso que es favorable
que los protocolos de enrutamiento ad hoc puedan acomodarse y manejar ante una
situación en la que dos enlaces (direccionales opuestos) unidireccionales formen la
única conexión bidireccional entre los nodos. Aunque tal situación probablemente
surgirá rara vez.(Naski, 2005)
2.4.2 Destination-Sequenced Distance Vector – DSDV
2.4.2.1 Descripción
El protocolo de enrutamiento DSDV es un protocolo de enrutamiento típico para
MANETs, que se basa en el algoritmo Bellman-Ford distribuido. En este protocolo, cada
ruta se marca con un número de secuencia que se origina por el destino, indicando la
antigüedad que tiene la ruta. Cada nodo gestiona su propio número de secuencia
asignándole dos más grande que el antiguo cada vez. Cuando se recibe una
actualización de ruta con un número de secuencia mayor, se sustituye la ruta antigua.
En el caso de rutas diferentes con el mismo número de secuencia, se utiliza la ruta con
mejor métrica. (Perkins & Bhagwat, 1994).
DSDV se basa en el protocolo RIP. En DSDV existen dos maneras de hacer la
actualización de enrutamiento: la primera es "volcado completo", en el que un nodo
transmite la tabla de enrutamiento completa y la segunda "actualización incremental",
en la que un nodo envía sólo aquellas entradas que han cambiado desde la última
actualización.
El protocolo DSDV se adapta desde el protocolo RIP a enrutamiento de redes ad hoc.
Este protocolo añade un nuevo atributo, número de secuencia, a cada entrada de la
tabla de enrutamiento del RIP convencional. Usando el número de secuencia recién
-
22
agregado, los nodos móviles pueden distinguir información de ruta obsoleta de la nueva
y, por tanto, evitar la formación de bucles de enrutamiento.(He, 2002).
2.4.2.2 Propiedades
Una de las propiedades de protocolo DSDV es que en todos los instantes garantiza rutas
sin bucle a cada destino, por lo que podríamos decir que DSDV se mantienen libre de
bucles.
El principal propósito del protocolo DSDV es abordar el problema de los bucles y hacer
que el enrutamiento de vector de distancia sea más adecuado para el enrutamiento de
las redes móviles ad hoc.(He, 2002).
Puede ser aplicado a las redes móviles con pocas modificaciones, Las actualizaciones
se propagan por toda la red con el fin de mantener una vista actualizada de la topología
de la red en todos los nodos.
2.4.3 Ad Hoc On Demand Distance Vector- AODV
2.4.3.1 Descripción
El protocolo de enrutamiento AODV está destinado a ser utilizado por nodos móviles en
una red ad hoc. Este protocolo ofrece una rápida adaptación a las condiciones de enlace
dinámico, bajo procesamiento y sobrecarga de memoria, baja utilización de la red y
determina rutas unicast a destinos dentro de la red móvil.
El protocolo de enrutamiento AODV permite el enrutamiento dinámico, auto-iniciado y
multipunto entre los nodos que se encuentren participando y que desean establecer y
mantener una red ad hoc, éste protocolo permite que los nodos móviles puedan obtener
rutas de manera rápida para nuevos destinos y además no requiere que los nodos
mantengan rutas a destinos que no están en comunicación activa. AODV hace posible
que los nodos móviles permitan responder a las roturas del enlace y a los cambios en
la topología de la red de manera oportuna. (Perkins & Royer, 1999).
El protocolo de enrutamiento AODV es un protocolo bajo demanda. AODV encuentra
rutas para un nodo solamente cuando tiene paquetes de datos para la transmisión. El
enrutamiento AODV tiene tres fases: La primera es el descubrimiento de rutas, la
segunda transmisión de datos y la última es el mantenimiento de rutas.
AODV utiliza distintos mensajes para descubrir y mantener vínculos. Cuando un nodo
desea intentar encontrar una ruta a otro nodo, transmite una solicitud de ruta (RREQ) a
-
23
todos sus vecinos. El RREQ se propaga por toda la red hasta que llega al destino o un
nodo con una ruta lo suficientemente fresca para el destino. Entonces la ruta se hace
disponible de nuevo a la fuente (Larson & Hedman, 1998).
2.4.3.2 Propiedades
Una propiedad muy significativa de AODV comparado con otros protocolos de
enrutamiento de redes móviles es su apoyo a la multidifusión que nos permite enviar
información en múltiples redes a múltiples nodos o destinos. El protocolo AODV utiliza
mensajes de “hola” en el nivel de IP. Los mensajes “hola” añaden una sobrecarga
significativa al protocolo.(Larson & Hedman, 1998).
El protocolo AODV también puede manejar velocidades de movilidades bajas,
moderadas y altas, además de una variedad de niveles de tráfico de datos. El protocolo
AODV ha sido diseñado para su uso en redes donde los nodos pueden confiar unos en
otros, ya sea por el uso de claves preconfiguradas, o también porque se sabe que no
hay nodos intrusos maliciosos. “AODV también ha sido diseñado para reducir la difusión
del tráfico de control y eliminar la sobrecarga en el tráfico de datos, con el fin de mejorar
la escalabilidad y el rendimiento.(Perkins & Royer, 1999).
2.4.4 Dynamic Source Routing – DSR
2.4.4.1 Descripción
Dynamic Source Routing (DSR) es un protocolo de enrutamiento para redes ad hoc
inalámbricas que se basa en un método conocido como enrutamiento de origen, en
DSR el mantenimiento de ruta se realiza a través de las confirmaciones que los nodos
generan cuando han verificado que el siguiente nodo recibió con éxito un paquete.
“DSR es un protocolo de enrutamiento simple y eficiente diseñado específicamente para
su uso en redes ad hoc inalámbricas multi-salto de nodos móviles. Con DSR, la red es
completamente auto-organizable y auto-configurada, sin necesidad de infraestructura
de red o administración. Los nodos de red (ordenadores) cooperan para enviar paquetes
entre sí para permitir la comunicación a través de múltiples "saltos" entre nodos que no
están directamente dentro del rango de transmisión inalámbrica entre sí. A medida que
los nodos de la red se mueven o se unen o abandonan la red, y como las condiciones
de transmisión inalámbrica, tales como fuentes de interferencia cambian, todo el
enrutamiento es determinado automáticamente y mantenido por el protocolo de
enrutamiento DSR. Puesto que el número o la secuencia de saltos intermedios
necesarios para llegar a cualquier destino puede cambiar en cualquier momento, la
-
24
topología de red resultante puede ser bastante rica y cambiando rápidamente.” (Johnson
& Maltz, 1996a)
El protocolo DSR pertenece a los protocolos reactivos y permite que los nodos puedan
descubrir dinámicamente una ruta a través de múltiples saltos de red a cualquier destino.
DSR usar enrutamiento de origen lo que significa que cada paquete en su encabezado
lleva la lista ordenada completa de nodos a través del cual el paquete debe pasar.
2.4.4.2 Propiedades
El protocolo de enrutamiento DSR tiene dos grandes propiedades que lo caracterizan
las cuales son descubrimiento de rutas y mantenimiento de rutas.
Descubrimiento de ruta
El Descubrimiento de ruta es el mecanismo mediante el cual un nodo S que desea enviar
un paquete a un nodo de destino D obtiene una ruta de origen a D. El descubrimiento
de ruta se utiliza sólo cuando S intenta enviar un paquete a D y este no conoce ya una
ruta a D. (Johnson & Maltz, 1996a)
Figura 3. Ejemplo de Descubrimiento de ruta: El nodo A es el iniciador y E es el destino.
Fuente : (Johnson & Maltz, 1996a)
Elaboración: (Johnson & Maltz, 1996a)
En la Figura 3 se observa un ejemplo de descubrimiento de ruta, en el que un nodo A
trata de descubrir una ruta hacia el nodo E, Para comenzar con el descubrimiento de
ruta el nodo A transmite un mensaje de solicitud de ruta que es recibido por todo los
nodos en el rango de transmisión de A.
Mantenimiento de ruta
El mantenimiento de ruta es un mecanismo en el cual el nodo S es capaz de detectar,
mientras utiliza una ruta de origen a D, si la topología de red ha cambiado de tal manera
que ya no puede utilizar su ruta a D porque un enlace a lo largo de la ruta ya no funciona.
Cuando en el mantenimiento de ruta indique que se ha roto una ruta de origen, S puede
intentar ocupar otra ruta que sepa conocer a D, o puede invocar descubrimiento de ruta
-
25
de nuevo para encontrar una nueva ruta. El mantenimiento de ruta se utiliza sólo cuando
S envía paquetes a D.(Johnson & Maltz, 1996a)
Figura 4. Ejemplo de mantenimiento de ruta: El nodo C no puede reenviar un paquete de
A a E a través de su enlace al salto D.
Fuente: (Johnson & Maltz, 1996a)
Elaboración: (Johnson & Maltz, 1996a)
En la Figura 4 se observa un ejemplo de mantenimiento de ruta, en donde el nodo A ha
originado un paquete para el nodo E usando los nodos intermedios B, C, D, para este
caso A es responsable de la recepción del paquete en el nodo B, B es responsable de
la recepción en C, C es responsable de la recepción en D, y finalmente el nodo D es
responsable de la recepción en E. Si C no puede entregar el paquete al siguiente salto
D, entonces C devuelve un “route error” a A, indicando que el enlace de C a D está
actualmente "roto". El nodo A elimina este vínculo roto de su caché para poder trasmitir.
2.4.5 Zone Routing Protocol – ZRP
2.4.5.1 Descripción
El protocolo de enrutamiento ZRP es un protocolo híbrido el cual combina las ventajas
de los enfoques proactivo y reactivo a través del mantenimiento de un mapa topológico
actualizado de una zona centrada en cada nodo. Dentro de la zona, las rutas se
encuentran inmediatamente disponibles, para los destinos que se encuentran fuera de
la zona, ZRP emplea un proceso de descubrimiento de ruta, que puede beneficiarse de
la información de enrutamiento local de las zonas (Beijar, 2002).
En el protocolo ZRP cada nodo mantiene las rutas dentro de una región local que se
denomina (zona de enrutamiento). ZRP aprovecha el conocimiento de la topología de la
zona de enrutamiento para poder mejorar la eficiencia de un mecanismo de respuesta.
El mantenimiento de las zonas de enrutamiento también permiten mejorar la calidad de
las rutas descubiertas, lo que a su vez permite hacerlas más robustas a los cambios en
la topología de la red.(Haas, Pearlman, & Samar, 2002).
-
26
El protocolo ZRP puede adaptarse a una amplia variedad de escenarios de red
ajustando el rango de las zonas de enrutamiento activadas proactivamente de los nodos.
Se prefieren grandes zonas de enrutamiento cuando la demanda de rutas es alta y/o la
red consiste en muchos nodos que se mueven lentamente.
Zona de enrutamiento
Una zona de enrutamiento se define como un conjunto de nodos, dentro de una
distancia mínima específica en número de saltos desde el nodo en cuestión. La distancia
se denomina radio de la zona.
Figura 5. Ejemplo de zona de enrutamiento
Fuente: (Beijar, 2002)
Elaboración: (Beijar, 2002)
En la figura 5 se puede observar la zona de enrutamiento de S que incluye los nodos A
hasta la I, pero no lo incluye a K. El radio se marca como un círculo alrededor del nodo
en cuestión. Sin embargo, debe tenerse en cuenta que la zona se define en saltos, no
como una distancia física.
2.4.5.2 Propiedades
El protocolo ZRP proporciona soporte "local" para enlaces unidireccionales. Un enlace
unidireccional se puede utilizar siempre y cuando la fuente del enlace y el destino del
enlace estén dentro de la zona de encaminamiento de cada uno.(Haas et al., 2002).
-
27
Otra propiedad importante para el rendimiento de ZRP es el radio de la zona. Si se utiliza
un radio de zona de un salto, el enrutamiento es puramente reactivo, si el radio se
aproxima al infinito, el enrutamiento es reactivo.(Beijar, 2002).
El protocolo ZRP mantiene de forma proactiva la información de enrutamiento local
(zonas de enrutamiento) basada en intercambios periódicos de mensajes de
descubrimiento de vecinos. (Haas et al., 2002).
2.4.6 Temporally-Ordered Routing Algorithm– TORA
2.4.6.1 Descripción
TORA es un protocolo de enrutamiento adaptativo para redes multihost el cual posee
los siguientes atributos(Park & Corson, 2001):
Ejecución distribuida,
Enrutamiento libre de bucles,
Enrutamiento multi-camino,
Establecimiento y mantenimiento de rutas reactivas o proactivas, y
Minimización de la sobrecarga de comunicación mediante la localización de la
reacción algorítmica a los cambios topológicos.
El protocolo TORA ha sido diseñado para poder minimizar la reacción a los cambios
topológicos. Una característica clave en su diseño es que los mensajes de control suelen
estar localizados en un conjunto muy pequeño de nodos. TORA garantiza que todas las
rutas están libres de bucles (se pueden formar bucles temporales) y además
proporciona múltiples rutas para cualquier par de origen / destino (Larson & Hedman,
1998).
La característica principal que posee TORA es que los mensajes de control se localizan
en un conjunto muy pequeño de nodos cerca de la ocurrencia de un cambio topológico.
Para poder lograr esto, los nodos mantienen información de enrutamiento sobre nodos
adyacentes. TORA posee tres funciones básicas: creación de rutas, mantenimiento de
rutas y borrado de rutas.(Khiavi, Jamali, & Gudakahriz, 2012).
2.4.6.2 Propiedades
La naturaleza orientada al destino de la estructura de enrutamiento en el protocolo
TORA soporta una mezcla de enrutamiento reactivo y proactivo en una base por destino.
-
28
La flexibilidad del protocolo TORA permiten que su funcionamiento esté orientado hacia
una alta reactividad(es decir, baja complejidad en el tiempo) y conservación del ancho
de banda (es decir, baja complejidad de comunicación) en lugar de optimizar el
enrutamiento, haciendo que este protocolo sea potencialmente adecuado para su uso
en redes inalámbricas dinámicas.(Park & Corson, 2001).
2.4.7 Internet MANET Encapsulation Protocol- IMEP
2.4.7.1 Descripción
El protocolo IMEP soporta la operación de muchos algoritmos de enrutamiento,
protocolos de control de red u otros protocolos de capa superior. IMEP incorpora varios
mecanismos para soportar el estado del enlace y la detección de conectividad vecina,
la agregación y encapsulación de paquetes de control, la confiabilidad de difusión en un
solo paso (o multicast), La retransmisión multipunto, la resolución de la dirección de la
capa de red y proporciona ganchos para los procedimientos de autenticación del
interrouter. (Corson & Park, 1999).
IMEP es un protocolo que soporta el funcionamiento de muchos protocolos de
enrutamiento en las MANETs. El objetivo es tener un protocolo general común que todos
los demás protocolos de enrutamiento pueden hacer uso. (Larson & Hedman, 1998).
El protocolo IMEP mejorara el rendimiento general de la red al disminuir la cantidad de
emisiones de paquetes de control de red por medio de la encapsulación y agregación
de múltiples paquetes de control de redes móviles ad hoc (por ejemplo, paquetes de
protocolo de enrutamiento, "Resolución de direcciones a nivel de red", etc.) en mensajes
IMEP más grandes. (Corson & Park, 1999).
2.4.7.2 Propiedades
Para minimizar el número de accesos de canal generados por el tráfico de control, IMEP
agrega y encapsula estos objetos en mensajes IMEP más grandes. IMEP admite un
marco o una arquitectura para el ruteador MANET, la identificación y el direccionamiento
de la interfaz. (Corson & Park, 1999).
El protocolo IMEP proporciona servicios que TORA requiere, como lo es la detección
del estado de la conexión, la fiabilidad de la difusión y la agregación de mensajes.
IMEP implementa un envío de enrutamiento de mensajes de control en orden fiable de
un nodo a cada uno de sus vecinos, enviando periódicamente una secuencia de
mensajes entre el transmisor y los receptores.
-
29
2.4.8 Cluster Based Routing Protocol- CBRP
2.4.8.1 Descripción
En CBRP los nodos de una red inalámbrica se dividen en varios clústeres disjuntos o
superpuestos. Cada clúster elige un nodo como el llamado clusterhead. Estos nodos
especiales son responsables del proceso de enrutamiento. Pero los clusterheads son
capaces de comunicarse entre sí mediante el uso de nodos de puerta de enlace. Un
gateway es un nodo que tiene dos o más clusterheads como sus vecinos o cuando los
clusters son disjuntos al menos un clusterhead y otro nodo de gateway (Parvathi, 2012),
en la Figura 6 se observa un ejemplo de protocolo de enrutamiento basado en clústeres.
Figura 6. Protocolo de enrutamiento basado en clústeres
Fuente: (Parvathi, 2012).
Elaboración: El autor.
CBRP tiene las siguientes características(Jiang, Li, & Tay, 1998):
Posee operación completamente distribuida.
Menos tráfico de inundación durante el proceso de descubrimiento dinámico de
rutas.
Las rutas rotas podrían ser reparadas localmente sin redescubrimiento.
Las rutas subóptimas podrían acortarse a medida que se usan.
2.4.8.2 Propiedades
El protocolo CBRP ayuda a agregar información de topología debido a que los nodos de
un clúster son más pequeños en comparación con los nodos de toda la red. Aquí cada
nodo almacena sólo una fracción de la información total de enrutamiento de la red.
-
30
El enfoque de clustering del protocolo es probablemente un enfoque muy bueno cuando
se trata de grandes redes móviles ad hoc. La solución es más escalable que los otros
protocolos, ya que usa el enfoque de clúster que limita el número de mensajes que se
deben enviar. CBRP también tiene la ventaja de que utiliza enlaces
unidireccionales.(Larson & Hedman, 1998).
2.4.9 Greedy Perimeter Stateless Routing-GPSR
2.4.9.1 Descripción
GPSR, para realizar el enrutamiento de los paquetes de datos desde un nodo origen
hacia un determinado destino, no establece una ruta por la cual circularán todos los
paquetes, sino que cada nodo intermedio decide hacia qué nodo encaminará cada
paquete recibido en base a la localización del destino final y la posición de sus nodos
vecinos (los nodos vecinos son aquellos con los que un determinado nodo puede
comunicarse directamente y de los cuales obtiene su posición a través de la transmisión
periódica de paquetes de datos denominados balizas.(B. Karp & Kung, 2000)
2.4.9.2 Propiedades
El reenvío codicioso funciona mejor en redes donde existe una gran densidad de nodos,
y su uso de información topológica local le permite recuperarse rápidamente de la
pérdida de un vecino y beneficiarse rápidamente de la adquisición de un vecino.(B. N.
Karp, 2000)
El reenvío perimetral es un mecanismo de recuperación para el reenvío codicioso.
Permiten que el envío codicioso alcance el 100% de los destinos conectados en redes
estáticas, y mejoran la solidez del reenvío codicioso en redes móviles. GPSR sigue
siendo robusto en redes de mayor diámetro y recuento de nodos, a la vez que continúa
mostrando una pequeña sobrecarga de protocolo de enrutamiento.
-
31
2.4.10 Comparación y selección entre protocolos de enrutamiento.
En la Tabla 2 se muestra las características que poseen algunos protocolos de
enrutamiento para redes móviles ad hoc:
Tabla 2. Comparación entre protocolos de enrutamiento.
DSDV AODV DSR ZRP TORA IMEP CBRP GPSR
Sin bucles Si Si Si Si No,
bucles
de vida
corta
No,
bucles
de vida
corta
Si Si
Múltiples rutas No No Si No Si Si Si No
Distribuido Si Si Si Si Si Si Si Si
Reactivo No Si Si Parc
ialm
ente
Si Si Si No
Soporte de
enlace
unidireccional
No No Si No No No Si Si
Soporte Qos No No No No No No No No
Multicast No Si No No No No No No
Seguridad No No No No No No No No
Conservación
de energía
No No No No No No No No
Emisiones
periódicas
Si Si No Si No Si Si Si
Requiere datos
confiables o
secuenciados
No No No No Si Si No No
Fuente: (Larson & Hedman, 1998),
Elaboración: El autor
Una vez realizado un breve análisis de los diferentes protocolos de enrutamiento, se
seleccionó el protocolo GPSR para su implementación debido a que es uno de los
protocolo más representativo en cuanto a protocolos basados en su posición geográfica,
existen pocas investigaciones relacionadas al protocolo en donde se realice un análisis
de su eficiencia frente a otro protocolo de enrutamiento, así mismo debido a que existen
algunas implementaciones de este protocolo en NS3 y su código se encuentra
-
32
disponible para versiones anteriores, en este trabajo de titulación se pretende
implementar el protocolo GPSR en la última versión de la herramienta de simulación
NS3.
-
33
CAPÍTULO 3
PROTOCOLO GPSR
-
34
3. Protocolo GPSR
En el presente capítulo se propone la implementación del protocolo de enrutamiento
para redes móviles GPSR (Greedy Perimeter Stateless Routing) para contribuir a la
mejora de la gestión de las redes ad hoc.
En la sección 3.1 se habla sobre la visión general del protocolo GPSR, en la sección 3.2
se detalla las características que posee el mismo, en la sección 3.3 se habla sobre los
algoritmos que usa GPSR como son Greedy forwarding, perimeter forwarding, en la
sección 3.4 se detalla el funcionamiento de los encabezados de paquetes en GPSR, en
la sección 3.5 se profundiza en las ventajas y desventajas que posee el protocolo.
3.1 Visión general de GPSR
GPSR es un protocolo de enrutamiento para redes móviles ad hoc el cual utiliza las
posiciones de los enrutadores y el destino de un paquete con el propósito de tomar
decisiones de reenvío de paquetes. GPSR toma decisiones codiciosas de reenvío
utilizando solo la información sobre los vecinos inmediatos de un enrutador en la
topología de red. (B. Karp & Kung, 2000).
En GPSR los paquetes se envían al nodo que se encuentra más cerca al nodo de
destino, antes de generar los paquetes se obtiene primero la posición del nodo de
destino (Fenhua & Min, 2010).
GPSR solo requiere una pequeña cantidad de estados de enrutamiento por nodo, tiene
baja complejidad de mensajes de enrutamiento y funciona mejor para redes
inalámbricas densas. En GPSR, los mensajes de baliza se emiten periódicamente en
cada nodo para informar a sus vecinos de su posición, lo que da como resultado una
información topológica de solo un salto minimizado en cada nodo. (Hong et al., 2002)
3.2 Características de GPSR
GPSR combina el reenvío codicioso con el reenvío perimetral para proporcionar una
mejor decisión de enrutamiento en el gráfico de red completo y planarizado al mantener
la información del vecino en la tabla de ubicación.
El protocolo GPSR posee las siguientes características (B. Karp & Kung, 2000):
El encabezado del paquete GPSR tiene la identidad del indicador que se usa
para identificar si el paquete está en el reenvío codicioso o en el reenvío
perimetral.
Contiene la dirección física del nodo de destino.
-
35
El encabezado del paquete GPSR también contiene la ubicación del paquete en
el modo perímetro y la ubicación de la nueva cara para tomar la decisión de
mantener el paquete en el modo perímetro o devolverlo al modo codicioso.
GPSR también tiene el registro de la dirección del remitente y del receptor
cuando el borde se cruza en la nueva cara.
Utiliza dos esquemas de reenvío de datos.
Permite reenvío de datos por ubicación.
Su métrica de enrutamiento se basa en la distancia más cercana.
Funciona mejor para redes inalámbricas densas
En GPSR cada nodo tiene conocimiento de su posición actual y de la posición
de sus nodos vecinos
3.3 Algoritmos
El protocolo de enrutamiento GPSR funciona bajo dos algoritmos de reenvío de datos,
según (B. Karp & Kung, 2000) son: reenvío codicioso (greedy forwarding) y reenvío
perimetral (perimeter forwarding). El primero es la estrategia principal de reenvío,
mientras que el segundo se usa en regiones donde falla el primero.
Reenvío codicioso: El reenvío codicioso funciona de la siguiente forma: cuando un
nodo recibe un paquete con la ubicación del destino, elige de sus vecinos el nodo
geográficamente más cercano al destino y luego lo reenvía. Esta elección óptima local
se repite en cada nodo intermedio hasta que se alcanza el destino.
Figura 7. Ejemplo de reenvío codicioso, y es el vecino más cercano de x a D
Fuente:(B. Karp & Kung, 2000)
Elaboración:(B. Karp & Kung, 2000)
-
36
En la Figura 7 se observa el funcionamiento básico del reenvío codicioso en donde el
nodo x quiere transmitir a un nodo destino D, debido a que el algoritmo de reenvío
codicioso busca al nodo más cercano al destino este primero llega a y, ya que y es el
vecino más cercano de x a D.
Reenvío perimetral: Cuando un paquete llega a un callejón sin salida (es decir, un nodo
cuyos vecinos están todos más alejados del destino que sí mismo), el reenvío perimetral
es realizado.
Figura 8. Ejemplo de reenvío perimetral.
Fuente:(B. Karp & Kung, 2000)
Elaboración:(B. Karp & Kung, 2000)
En la Figura 8 se observa un ejemplo de reenvío perimetral en donde D es el destino; x
es el nodo donde el paquete ingresa al modo perimetral. Los saltos de reenvío son
flechas sólidas; la línea xD está discontinua.
Cuando un paquete ingresa al modo perimetral en x, GPSR lo reenvía a lo largo de la
cara intersectada por la línea xD. x reenvía el paquete al primer borde en el sentido
contrario a las agujas del reloj sobre x de la línea xD. Esto determina la primera cara
sobre la cual reenviar el paquete. A partir de entonces, el protocolo GPSR reenvía el
paquete alrededor de esa cara usando la regla de la mano derecha la cual consiste en
reenviar al nodo más cercano a la izquierda.
3.4 Paquetes
Los encabezados de paquetes GPSR incluyen un campo indicador que indica si el
paquete está en modo codicioso o en modo perímetro. Todos los paquetes de datos
están marcados inicialmente en su nodo origen como modo codicioso. Las fuentes de
-
37
paquetes también incluyen la ubicación geográfica del destino en paquetes. Solo el
origen de un paquete establece el campo de destino de la ubicación; se deja sin cambios
a medida que el paquete se reenvía a través de la red.(B. Karp & Kung, 2000)
Al recibir un paquete de modo codicioso para el reenvío, un nodo busca en su tabla
vecina el vecino geográficamente más cercano al destino del paquete. Si este vecino
está más cerca del destino, el nodo reenvía el paquete a ese vecino. Cuando ningún
vecino está más cerca, el nodo marca el paquete en modo perímetro. Los campos de
encabezado de paquete que GPSR usa en el reenvío se muestran en la Tabla 3.
Tabla 3. Campos del encabezado del paquete GPSR utilizados en el reenvío.
Campo Función
D Ubicación de destino
Lp Paquete de ubicación ingresado en modo perímetro
Lf Apunta a la cara actual introducida del paquete xV
eo Primer borde atravesado en la cara actual
M Modo de paquete: ambicioso o perimetral
Fuente: (B. Karp & Kung, 2000)
Elaboración: El autor
Cuando un paquete ingresa al modo perímetro, GPSR registra en el paquete la
ubicación Lp, el sitio donde falló el reenvío codicioso. Esta ubicación se usa en saltos
posteriores para determinar si el paquete puede regresar al modo codicioso. Cada vez
que GPSR reenvía un paquete a una nueva cara, registra en Lf el punto en xD
compartido entre las caras anterior y nueva. Lf no necesita ubicarse en un nodo; xD
usualmente cruza los bordes. Finalmente, GPSR registra e0, el primer borde
(direcciones del remitente y del receptor) se cruza con un paquete en una nueva cara,
en el paquete.
3.5 Ventajas y desventajas
A continuación se presenta las ventajas y desventajas que presenta el protocolo GPSR
según (B. Karp & Kung, 2000) :
Ventajas:
Tiempo de descubrimiento de ruta menor y un mejor desempeño en la tasa de
entrega de paquetes.
La gran ventaja del reenvío codicioso es su dependencia solo del conocimiento
de los vecinos inmediatos del nodo de reenvío. El estado requerido es
-
38
insignificante y depende de la densidad de los nodos en la red inalámbrica, no
del número total de destinos en la red.
Los beneficios de GPSR se derivan del uso del enrutamiento geográfico de solo
la información de vecinos inmediatos en las decisiones de reenvío.
Tiene baja complejidad de mensajes de enrutamiento.
Es robusto en los cambios topológicos; un nodo puede tomar decisiones
correctas de reenvío sin necesidad de actualizar el estado (o de hecho, cualquier
estado) con respecto a los nodos más allá de un solo salto de distancia
Desventajas: