-
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: