Tesis Robero Esparza Delgadillo Ver 2015_RB1
-
Upload
jaime-delgado -
Category
Documents
-
view
11 -
download
0
description
Transcript of Tesis Robero Esparza Delgadillo Ver 2015_RB1
INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería
Mecánica y Eléctrica
T E S I S
“ESTUDIO DEL DESEMPEÑO DEL PROTOCOLO DSDV EN UNA
RED AD-HOC MEDIANTE UN SIMULADOR DE EVENTOS
DISCRETOS”
QUE PARA OBTENER EL GRADO DE
LIC. EN INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA
PRESENTA:
ROBERTO ESPARZA DELGADILLO
ASESOR:
M. EN C. ERIC GÓMEZ GÓMEZ
JUNIO 2015
Agradecimientos a mi Familia
A mi familia fuente de apoyo constante incondicional en toda mi vida y más aún en mis
duros años de carrera profesional y en especial quiero expresar mi más grande
agradecimiento a mi abuelita Manuela y a mi abuelito Vicente que fueron los precursores
de este proyecto de vida, junto con mi mama, sin la ayuda de ellos nada de esto hubiese
sido posible…
Agradecimientos a mis Amigos
Cuando pienso en mis amigos quisiera nombrar a tantas personas que de alguna u otra
forma aportaron un granito de arena para lograr este objetivo. Sergio Gómez, Arq.
Gonzalo, Jaime Delgado, Rubén Abasolo, el profesor Rubén Cabrera, Familia García, Alex,
Roció y compañía.
ESIME: Víctor, Jorge y Damián.
Héctor, Alonzo, Yaz, Ponchito, Chester, José Luis, Fredy y mi primo Luis que siempre está
para aportar motivación para mi vida y carrera profesional un abrazo.
Interexport: Miguel Mendoza por el apoyo y la confianza, Manuel Téllez gracias por el
empujón que necesitaba, Israel Hernandez un enorme agradecimiento por la ultima
revisión y por las conversaciones tan amenas.
Ya en la recta final y no menos importantes Familia Coronel un gran abrazo para todos
especialmente para Aline Coronel por su apoyo compresión y compañía.
Agradecimientos a mi Asesor
Mi más sincero agradecimiento a mi asesor Profeso Eric Gómez Gómez por su esfuerzo y
dedicación, sus conocimientos, su manera de trabajar y su paciencia han sido
fundamentales para mi formación de Ingeniero desde que lo conocí me ha inculcado a su
manera, sentido de seriedad, responsabilidad y rigor académico sin los cuales no podría
tener una formación completa.
Roberto Esparza Delgadillo
Objetivo
EVALUAR EL DESEMPEÑO DEL PROTOCOLO DSDV EN UN ENTORNO
INALÁMBRICO AD-HOC UTILIZANDO TÉCNICAS DE SIMULACIÓN
ASISTIDA POR COMPUTADORA
Índice de Contenido
Abstract .................................................................................................................................................... 1
Resumen ................................................................................................................................................... 2
Introducción General. ............................................................................................................................. 3
Objetivo del Trabajo. .............................................................................................................................. 4
Método de Investigación. ........................................................................................................................ 5
Contribución del Trabajo. ...................................................................................................................... 6
Capítulo 1 Estudio de los protocolos de enrutamiento en redes inalámbricas. ................................. 7
1.1 Introducción. .................................................................................................................................................7
1.1. Protocolos de enrutamiento proactivos, reactivos e híbridos. .................................................................9
1.3. Algoritmo Vector-Distancia (Bellman - Ford). .......................................................................................10
1.4. Enrutamiento en redes ad hoc. .................................................................................................................12
1.5. Enrutamiento ideal en una red Ad-hoc. ...................................................................................................13
1.6. Protocolo Destination - Sequenced Distance Vector (DSDV). ...............................................................14
Capítulo 2. Características de otros protocolos de enrutamiento .................................................... 21
2.1. Introducción. ..............................................................................................................................................21
2.2. Comparación de los protocolos de enrutamiento. ..................................................................................21
2.3 Estadísticas y Comparación de protocolos de enrutamiento. .................................................................26
Capítulo 3. Metodología de análisis. .................................................................................................... 30
3.1. Generalidades. ...........................................................................................................................................30
3.2. Elección del método de análisis. ...............................................................................................................34
3.3. Linux Ubuntu 14.04. ..................................................................................................................................35
3.4. Simulador de Redes Network Simulator (NS-2). ....................................................................................36
3.5. Instalación de NS-2. ...................................................................................................................................38
3.6. Instalación de NS-2 en Linux distribución Ubuntu. ...............................................................................38
3.7. Funcionamiento del NS-2. .........................................................................................................................41
3.8. Tool Command Lenguage (Tcl)................................................................................................................43
3.9. Script OTcl. ................................................................................................................................................44
3.10. The Network Animation (NAM) ............................................................................................................44
3.11. Archivos de Traza de NS-2. ....................................................................................................................47
3.12.- Modelo de propagación utilizado para la simulación. ........................................................................49
3.13. TraceGraph. .............................................................................................................................................50
3.14. Características de TraceGraph. .............................................................................................................51
Capítulo 4. Evaluación del desempeño DSDV. ................................................................................... 52
4.1. Medidas de desempeño. .............................................................................................................................53
4.1. Escenario 1 simulación del protocolo DSDV con 5 nodos. .....................................................................55
4.2. Escenario 2 simulación DSDV con 10 nodos. ..........................................................................................60
4.3 Escenario 3 simulación DSDV con 20 nodos. ...........................................................................................64
4.4. Escenario 4.- simulación DSDV con 40 nodos. .......................................................................................68
Capítulo 5. Resultados y Conclusiones. ............................................................................................... 72
5.1 Conclusiones. ...............................................................................................................................................76
Índice de Términos................................................................................................................................ 78
Acrónimos. ............................................................................................................................................. 82
Bibliografía ............................................................................................................................................ 84
Referencias. ............................................................................................................................................ 85
Índice de Figuras y Tablas
Capítulo 1 Estudio de los protocolos de enrutamiento en redes inalámbricas. ................................. 7
Figura 1.1.-Clasificación básica de los protocolos de enrutamiento de las redes inalámbricas [2]. 9
Figura 1.2.- Identificadores para el algoritmo Bellman-Ford [3]. 11
Figura 1.3.- Señalización del protocolo DSDV [4]. 17
Figura 1.4.- Envío de paquetes de señalización DSDV del Nodo B al nodo A. 18
Figura 1.5.- Estado de las tablas de enrutamiento durante el proceso de actualización. 19
Figura 1.6.- Estado de las tablas de enrutamiento durante la integración de un nuevo nodo. 19
Figura 1.7.- Estado de las tablas de enrutamiento durante la pérdida de un nodo. 20
Capítulo 2. Características de otros protocolos de enrutamiento .................................................... 21
Figura 2.1.- Numero de paquetes recibidos escenario 1. 26
Figura 2.2.- Throughput del escenario 1 27
Figura 2.2.- Visualización del escenario 2 27
Figura 2.3.- Visualización del escenario 2 28
Figura 2.4.- Visualización del escenario 2 29
Figura 2.5.- Visualización del escenario 2: DSR 29
Capítulo 3. Metodología de análisis. .................................................................................................... 30
Tabla 3.1. Comparación de los simuladores (Características generales) 32
Tabla 3.2. Ventajas y Desventajas de los simuladores 33
Figura 3.1.- Funcionamiento interno de Network Simulator 2[14]. 41
Figura 3.2.- Jerarquía general de clases de Network Simulator 2[14] 42
Figura 3.3.- Interface de Network Simulator (NAM) [14] 45
Figura 3.4.- Ejemplo de Network Simulator de una Red Cableada 46
Figura 3.5.- Ejemplo de Network Simulator de una Red inalámbrica 47
Figura 3.6.- Estructura General de un archivo de traza 47
Figura 3.7.- Muestra de datos de un archivo de Traza 47
Capítulo 4. Evaluación del desempeño DSDV. ................................................................................... 52
Tabla 4.1.- Características de los escenarios a simular. 52
Figura 4.1.- Simulación en la NAM de 5 nodos, enviando y recibiendo paquetes. 56
Figura 4.2.- Detalles de la simulación, instantánea tomada del archivo de Tracertgraph. 57
Figura 4.3.- Grafica del Throughput de los paquetes recibidos contra el tiempo de simulación. 57
Figura 4.4.- Grafica del Throughput de los paquetes enviados contra el tiempo de simulación. 58
Figura 4.5.- Grafica de los DroppedPackets (paquetes caídos). 58
Figura 4.6.- Grafica que muestra la Frecuencia de Distribución. 59
Figura 4.7.- Grafica que muestra da Distribución acumulativa 59
Figura 4.8.- Simulación en la NAM de 10 nodos, enviando y recibiendo paquetes y mostrando paquetes perdidos
durante la simulación. 60
Figura 4.9.- Detalles de la simulación con 10 nodos, instantánea tomada del archivo de Tracertgraph. 61
Figura 4.10.- Grafica del Throughput de los paquetes recibidos contra el tiempo de simulación. 61
Figura 4.11.- Grafica del Throughput de los paquetes enviados contra el tiempo de simulación. 62
Figura 4.12.- Grafica de los DroppedPackets (paquetes caídos). 62
Figura 4.13.- Grafica que muestra la Frecuencia de Distribución. 63
Figura 4.14.- Grafica que muestra da Distribución acumulativa. 63
Figura 4.15.- Simulación en la NAM de 20 nodos, enviando y recibiendo paquetes 65
Figura 4.16.- Detalles de la simulación con 20 nodos, instantánea tomada del archivo de Tracertgraph. 65
Figura 4.17.- Gráfica del Throughput de los paquetes enviados contra el tiempo de simulación. 66
Figura 4.18.- Grafica del Throughput de los paquetes recibidos contra el tiempo de simulación. 66
Figura 4.19.- Grafica que muestra los Paquetes Caídos (Dropped Packets). 67
Figura 4.20.- Grafica que muestra la Frecuencia de Distribución. 67
Figura 4.21.- Grafica que muestra la Distribución Acumulativa. 68
Figura 4.22.- Simulación en la NAM de 40 nodos, enviando y recibiendo paquetes 69
Figura 4.23.- Detalles de la simulación con 40 nodos, instantánea tomada del archivo de Tracegraph. 69
Figura 4.24.- Grafica del Throughput de los paquetes enviados contra el tiempo de simulación. 70
Figura 4.25.- Grafica del Throughput de los paquetes recibidos contra el tiempo de simulación. 70
Figura 4.26.- Grafica que muestra los Paquetes Caídos (Dropped Packets). 71
Figura 4.27.- Grafica que muestra la Frecuencia de Distribución. 71
Figura 4.28.- Grafica que muestra la Distribución Acumulativa. 72
Capítulo 5. Resultados y Conclusiones. ............................................................................................... 72
Tabla 5.1.- Comparación de los diferentes parámetros contra el número de nodos en cada una de las
simulaciones. 73
Figura 5.1.- Paquetes Enviados contra el número de nodos. 74
Figura 5.2.- Paquetes Recibidos contra el número de nodos. 74
Figura 5.3.- Paquetes Perdidos contra el número de nodos. 74
1
Abstract
The purpose of this Thesis is to analyze a routing protocol in a wireless network by using a
computer simulation program, in order to evaluate its advantages and disadvantages, specifically in
Ad-Hoc wireless technologies in their different environments and working conditions. Due to the need
users have with their terminals and equipment, which are required to maintain in communication while
providing mobility as well (such as Notebooks, Smartphones, etc.). For this analysis I have defined
different types of scenarios with fixed dimensions on the three Cartesian axes to simulate an operational
network, where parameters are constantly changing, such as the mobility of those nodes in a real time
basis, changes on nodes positions considered in this scenario and quantity of nodes working
simultaneously. My goal for this computer simulation is to obtain accurate results that could help to
demonstrate service quality and speed operation of DSDV protocol. It means, my main goal is to meet
its performance by measuring parameters such as packets sent, packets received, packets lost, and
throughput, as well as other parameters.
Although historically applications tools such as this computer simulation Network Simultor-2
(NS-2) hasn’t been used as it was meant to, I think that this kind of applications can be useful for
specialized users as researchers, academics, network administrators, etc. This Thesis is intendment to
serve as a reference to revisit and explore new ways of research in wireless networks, wired networks,
hybrid networks, satellite networks, etc, since the power of this software simulation used in this projects
is so extended. Therefore in Chapter 3 entitled “Analysis Methodologies”, we offer all computerized
databases to implement this simulator in personal computers with basic features or in lab computers for
networking practices
2
Resumen
El objetivo de esta Tesis es realizar un análisis acerca de un protocolo de enrutamiento para redes
inalámbricas usando técnicas de simulación por computadora, con el propósito de evaluar las ventajas y
desventajas de este protocolo en redes de datos Ad-Hoc, específicamente en tecnologías inalámbricas de
tipo Ad-hoc para diversos ambientes y condiciones de trabajo. Esto debido a que los usuarios requieren
que sus equipos personales tengan movilidad y comunicación al mismo tiempo (Notebooks, Smartphones,
etc.). Dentro de este análisis he planteado diferentes escenarios de simulación para una red virtual con
dimensiones definidas en los tres ejes cartesianos y sobre los cuales se variaron algunos parámetros de
operación como son la movilidad de los nodos en tiempo real, cambio en las posiciones de los nodos que
se integran en el escenario y hasta la cantidad de nodos trabajando al mismo tiempo. El objetivo del
análisis es que la simulación por computadora obtenga datos precisos de la prueba, lo que servirá para
evaluar la calidad del servicio y la velocidad de la operación del protocolo DSDV. Es decir, el objetivo
primario es conocer su desempeño general, midiendo algunos parámetros como son los paquetes
enviados, paquetes recibidos, paquetes perdidos, y rendimiento.
Si bien históricamente las aplicaciones de simulación por computadora como el Network
Simulator NS-2 han sido poco aprovechadas, considero que este tipo de aplicaciones pueden ser útiles
para los usuarios especialistas como son investigadores, personal académico, administradores de red, etc.
Esta Tesis servirá también como una plataforma de referencia para retomar y explorar nuevas
investigaciones en redes inalámbricas, redes cableadas, redes híbridas, redes satelitales, etc, dado que el
potencial del software de simulación y los criterios de análisis utilizados son muy amplios. Por tal motivo
en el capítulo 3, titulado Metodologías de Análisis, ofrecemos las bases informáticas que pueden ser
implementadas junto con el simulador desde una computadora personal de características básicas o hasta
en un laboratorio de cómputo para prácticas de redes de computadoras.
3
Introducción General.
El presente trabajo muestra tópicos relacionados con las telecomunicaciones y más
específicamente con las redes de computadoras. También establece la importancia del estudio en los
protocolos de enrutamiento de las redes de datos ya que estos son de suma importancia para que una red
sea cada vez más eficiente y cumpla su objetivo primordial, que es transmitir la información completa,
sin errores.
En este trabajo se ofrece información sobre varias herramientas informáticas montadas sobre una
plataforma Linux, mismas que también son compatibles con sistemas operativos Windows. En este
trabajo se usan técnicas de simulación por computadora debido a que realizar este análisis con otras
técnicas como la analítica o la práctica que implican mayor complejidad, alto costo y requiere demasiado
tiempo. La simulación nos facilita también evaluar diferentes escenarios en donde el modificar
parámetros y datos como el número de nodos, dimensiones de los escenarios, tamaño de paquetes es
relativamente fácil.
Se evaluará el protocolo de enrutamiento DSDV (Destination - Sequenced Distance Vector) utilizando
un Simulador de eventos Discretos llamado Network Simulator 2 (NS-2), el cual se ha instalado sobre
una plataforma Linux distribución Ubuntu. La finalidad es evaluar el comportamiento de una red Ad-hoc
en diferentes escenarios, modificando el número de nodos y transmitiendo datos en todos ellos de forma
simultánea con el objetivo de recabar datos estadísticos, como son el número de paquetes enviados,
paquetes recibidos, paquetes caídos, fluctuaciones (jitter), y rendimiento (throghput), comparando todos
estos conjuntos de datos obtenidos en cada uno de los diferentes escenarios propuestos, con objeto de
verificar la calidad de este protocolo.
4
Objetivo del Trabajo.
El objetivo principal de este trabajo es evaluar el desempeño de un protocolo de enrutamiento del
tipo proactivo o también llamado “basado en tablas” para redes inalámbricas. Dicho protocolo consiste
en el descubrimiento de rutas a partir del algoritmo matemático llamado Bellman-Ford, denominado
específicamente como DSDV (Destination Sequenced Distance Vector), generado a partir de un análisis
basado en una simulación por computadora.
Se presentan a la comunidad docente y académica herramientas para el análisis de redes de datos,
proponiendo el uso de un software libre (freeware), es decir software que es de fácil acceso y que
mantiene la flexibilidad de un código fuente abierto, para que en algún determinado momento los
usuarios de estas herramientas de computadora puedan implementar y modificar nuevos protocolos y
redes de datos, cableadas e inalámbricas para su posterior evaluación.
Se muestra a la comunidad que la simulación de redes de datos es una forma muy segura, económica
y rápida de evaluar ciertas tecnologías antes de su implementación.
Los resultados de las evaluaciones realizadas en esta Tesis nos brindaran la facultad de apreciar las
ventajas y desventajas que se presentan al utilizar cierto tipo de protocolos en determinados tipos de
redes de datos, así como orientarnos en la validación de utilizar cierta tecnología de enrutamiento en
determinadas redes de datos o bien, determinar el protocolo más factible de acuerdo a las necesidades de
la red.
5
Método de Investigación.
Para realizar esta Tesis de investigación se tomaron en cuenta las siguientes bases.
Estudio sobre los antecedentes de las redes inalámbricas.
Técnicas de comunicación de las redes inalámbricas Ad-hoc.
Documentación sobre los tipos y formas de trabajo de los protocolos de enrutamiento
enfocados a las redes inalámbricas y específicamente los basados en algoritmo matemático
Bellman-Ford.
Propuesta de escenarios de simulación, así como la determinación de los parámetros a medir
necesarios para evaluar la eficiencia de un protocolo de enrutamiento.
Implementación de los escenarios a simular en código de línea basados en Tcl para su
posterior evaluación en el simulador. Creación de los scripts para NS-2.
Análisis y evaluación de los protocolos de enrutamiento a través de simulador de eventos y
discretos Network Simulator 2.
Evaluación visual en tiempo real de los eventos ocurridos durante la presentación del
simulador gráfico “The Network Animation”.
Interpretación de los resultados obtenidos por el simulador con la herramienta TraceGraph.
Conclusiones e interpretación de los resultados obtenidos.
6
Contribución del Trabajo.
Con esta investigación pretendo dar a conocer a la comunidad académica, docente y de
investigación, un software simulador de eventos discretos que puede facilitar el análisis y estudio de las
características de la redes de datos inalámbricas, cableadas, satelitales e hibridas.
Para logarlo satisfactoriamente documente los antecedentes críticos de la evolución de las redes
inalámbricas y el comportamiento de las redes Ad-hoc, así como la viabilidad de los protocolos
empleados en estas. Posteriormente, genere una metodología tendiente a construir una simulación por
computadora tras analizar varios métodos alternativos; con el conjunto de herramientas utilizadas en el
desarrollo de este trabajo, es posible evaluar el rendimiento del protocolo de enrutamiento dejando
propuesta una plataforma paralela de despegue útil para futuras investigaciones que retomen esta
propuesta.
Una ventaja adicional es que las herramientas empleadas para el análisis de este protocolo no solo pueden
aplicarse para este tipo de proyectos, sino que son susceptibles de aplicarse en otros estudios que integren
análisis de protocolos reactivos o híbridos y aplicados en redes cableadas o satelitales, así como ir
adaptando el contexto a las necesidades del análisis.
Esta investigación no debe considerarse como un tema cerrado sino que dada su configuración, es
aplicable como punto de partida para otros estudios cuyo interés final sea perfeccionar el software en pro
de nuevas aplicaciones técnicas y tecnológicas.
7
Capítulo 1 Estudio de los protocolos de enrutamiento en redes inalámbricas.
1.1 Introducción.
El enrutamiento (encaminamiento o ruteo) es la función de dirigir los paquetes destinados a redes
locales y remotas mediante la determinación del mejor camino para enviar y reenviar paquetes de datos,
apoyado muchas veces en una “tabla de enrutamientos”. Cuando se requiere la transmisión de un
paquete, se examina la dirección destino y selecciona la mejor coincidencia con una dirección de la red
en la tabla de enrutamiento [1].
El diseño de protocolos de enrutamiento para redes inalámbricas se ha convertido en un aspecto
muy importante debido a la escasez de recursos y a la topología dinámica que caracteriza a este tipo de
redes de datos.
Los algoritmos usados regularmente en las redes fijas no pueden ser implementados en las redes
inalámbricas debido al frecuente envío de mensajes y el cambio constante de la posición de emisor y
receptor. Debido a esto, los recursos necesarios para recopilar información que contenga la topología de
red y realizar la definición que ayude a para optimizar el intercambio de datos son muy grandes, lo que
ocasiona la necesidad de implementar y optimizar protocolos diseñados específicamente para redes
inalámbricas.
En ocasiones, los estudios e investigaciones de los protocolos de enrutamiento comúnmente
encontrados en la web se centran en redes homogéneas, donde todos los dispositivos (nodos) tienen los
mismos recursos y capacidades, olvidándose que las redes inalámbricas son muy diversas en cuanto a las
características de los nodos y topologías de red.
8
La mayoría de los protocolos de enrutamiento han sido diseñados con base a dos
importantes algoritmos:
- Algoritmo de estado de enlace, basado en el modelo matemático de Dijkstra
- Algoritmos vector-distancia, basados en el modelo matemático de Bellman-Ford.
Cuando se diseña un protocolo de enrutamiento para redes inalámbricas se deben considerar los
siguientes puntos:
El intercambio de información sea mínimo.
La complejidad del algoritmo de cálculo de rutas debe ser baja.
Fácil adaptación a una topología dinámica.
Los protocolos de enrutamiento para redes inalámbricas se pueden clasificar mediante distintos
criterios. La primera clasificación está relacionada con la construcción de rutas bajo demanda o no, la
segunda clasificación está vinculada al soporte de calidad de servicio. Estas dos clasificaciones no son
las únicas existentes; también es posible considerar otras clasificaciones pensando si el protocolo de
enrutamiento es unicast (camino único) o multicast (camino múltiple).
9
1.1. Protocolos de enrutamiento proactivos, reactivos e híbridos.
En general podemos clasificar los protocolos de enrutamiento en tres categorías diferentes:
Protocolos proactivos o basados en tablas (también denominados como globales).
Protocolos reactivos o de baja demanda.
Protocolos híbridos.
En la Figura 1.1 se pueden observar esta clasificación de los protocolos de enrutamiento,
mencionando los protocolos más importantes.
Figura 1.1.- Clasificación básica de los protocolos de enrutamiento de las redes inalámbricas [2].
Los protocolos de enrutamiento proactivos o basados en tablas son aquellos algoritmos que
intentan capturar el estado global de la red de cada instante. Dicha información se halla almacenada en
las denominadas tablas de enrutamiento. Este tipo de aproximación presenta un problema básico: deriva
recursos a una captura de información en muchos casos inútil. Debido a que se trata de una topología
dinámica la información de estas tablas se invalida cada cierto tiempo, por lo tanto para realizar un buen
cálculo de rutas solo es relevante el estado de la red en el instante de realizar la transmisión. Toda la
información previamente recogida solo supone un gasto de recursos.
10
Este protocolo opera en redes en las cuales se hace necesario que el procedimiento de
descubrimiento de ruta no sea excesivamente lento en referencia al tiempo de convergencia y que la red
pueda asumir el gasto derivado de mantener una estructura global.
A continuación se presentan una descripción y funcionamiento del protocolo de enrutamiento DSDV
proactivo, del mismo tipo sobre el que realizare la implementación en el simulador. Empezare por
describir el funcionamiento del algoritmo vector-distancia basado en Bellman-Ford y después se realizará
un análisis de cómo funcionan estos, es decir cuál es el proceso de descubrimiento de rutas.
1.3. Algoritmo Vector-Distancia (Bellman - Ford).
Dadas las necesidades de este trabajo de investigación, el enfoque se centra en los algoritmos
basados en el Vector-Distancia, que a su vez está desarrollado a partir del modelo matemático de
Bellman-Ford.
El algoritmo Vector-Distancia a través de un procedimiento simple es capaz de determinar las
rutas para enrutamiento identificando las rutas de menor costo con respecto a su medida de desempeño
específico. Con este algoritmo cada nodo de la red estima el costo de las posibles rutas para comunicarse
con el nodo receptor, basado en los costos proporcionados por sus nodos aledaños. Periódicamente cada
nodo intercambia con los nodos más cercanos su tabla de ruteo. De este modo, cada nodo es capaz de
calcular cuál de los nodos vecinos es el mejor candidato para comunicarse con el nodo receptor. En este
algoritmo, cada nodo i administra una tabla de enrutamiento en la cual almacena el nodo inmediato, el
cual permite alcanzar al nodo receptor j de manera óptima. El mecanismo que permite determinar el
nodo inmediato para crear la ruta de comunicaciones es el siguiente:
11
Considere Dj,i como el costo de la ruta óptima para comunicar a nodo i con el nodo j y km se define como
di,km. Asumiendo que los costos de los enlaces son aditivos, la ruta con el menor costo para comunicar
los nodos i y j pueden ser obtenidas tras resolver las ecuaciones del Bellman-Ford [3]:
𝐷𝑖,𝑖 = 0, ∀ 𝑖 Ec. 1.1
𝐷𝑖,𝑗 = min(𝑑𝑖,𝑘𝑚+ 𝐷𝑘𝑚,𝑗)𝑝𝑎𝑟𝑎𝑖 ≠ 𝑗 Ec. 1.2
Con la condición inicial.
𝐷𝑖,𝑗 = ∞ + 𝑝𝑎𝑟𝑎 𝑖 ≠ 𝑗 Ec. 1.3
Para resolver la ecuación 1.1, cada nodo i de la red utiliza la información proveniente de sus m nodos
vecinos, recabando información acerca de las distancias optimas Dkm,j, como se observar en la figura 1.2.
El nodo i añade los costos del enlace di,km a la distancia recolectada Dkm,j y estima el conjunto de m costos
para comunicarse con el nodo j. El nodo vecino que proporcione el menor costo total para la trayectoria,
será seleccionado como el salto inmediato para comunicarse con el nodo j. Este procedimiento es
realizado periódicamente y de manera distribuida en la red; la sucesión de nodos elegidos de este modo
selecciona la trayectoria que minimiza el costo de la ruta. La complejidad computacional de este
algoritmo para hallar las rutas de menor costo desde un nodo fuente hacia todos los posibles destinos de
la red, es N3 donde N es el número de nodos que componen la red.
Figura 1.2.- Identificadores para el algoritmo Bellman-Ford [3].
12
1.4. Enrutamiento en redes ad hoc.
El enrutamiento de una red inalámbrica Ad-hoc tiene como objetivo principal el establecimiento
de trayectorias de comunicación entre los dispositivos inalámbricos que conforman la red. Sin embargo
se deben tomar en cuenta las características de las redes Ad-hoc como son el movimiento constante de
los nodos, la constante adición y separación de los nodos, el enrutamiento enfrenta retos complejos entre
los que se destacan:
-Topología dinámica: Este es uno de los aspectos más problemáticos para un protocolo de
enrutamiento en redes Ad-hoc. El movimiento aleatorio de los nodos que componen la red origina
cambios constantes en la red, demandando la existencia creciente de paquetes de señalización que
permiten detectar y responder oportunamente a dichos cambios.
-Enlaces asimétricos: El medio inalámbrico de las redes Ad-hoc tiende a sufrir un comportamiento
asimétrico y a presentar variables de las propiedades en lo que son los enlaces. Este comportamiento
surge de las diferencias cualitativas del medio, es decir la calidad del enlace entre dos nodos. Por
ejemplo, la calidad entre los nodos 1 y 2 puede arrojar valores diferentes si evaluamos la calidad de la
comunicación en el sentido del nodo 1 al nodo 2 en comparación a valorar la calidad de la comunicación
en el sentido del nodo 2 al nodo 1.
-Interferencia: La interferencia entre las transmisiones de los nodos que componen la red es otra
de las dificultades a las que se enfrenta un protocolo de enrutamiento para las redes Ad-hoc. Dado que
los enlaces inalámbricos son inestables y la topología de la red cambia constantemente, la interferencia
entre transmisiones se vuelve común bajo estos efectos de las redes de datos.
13
-Escalabilidad: Las redes Ad-hoc pueden ser conformadas por una gran cantidad de nodos. Esta
propiedad demanda que la convergencia de un protocolo de enrutamiento no sea significativamente
afectada por el número de nodos o elementos existentes o bien, de los que se van anexando a la red.
1.5. Enrutamiento ideal en una red Ad-hoc.
Idealmente un protocolo de enrutamiento debe poseer diferentes propiedades que le permitan
adaptarse a las necesidades presentes en una red inalámbrica, tales como adaptarse al movimiento
constante de los nodos en la red, o bien que la eficiencia de la red no se vea significativamente afectada
por el incremento de elementos en la red [4]. Algunas de las propiedades más representativas para
mencionar son las siguientes:
-Funcionamiento distribuido: Debido a que en las redes ad hoc se carece de un dispositivo
centralizado similar a un Access point, el enrutamiento debe ser ejecutado de manera distribuida entre
las computadoras de la red.
-Libre de bucles: Un protocolo de enrutamiento debe optimizar los recursos de la red, de tal forma
que las rutas de comunicación deben evitar la presencia de bucles, debido a que tener este tipo de
afectación representa una pérdida considerable en el ancho de banda y obviamente en la eficiencia de
esta.
-Adaptabilidad al medio: El medio inalámbrico induce efectos negativos en los enlaces (es
unidireccional, tiene asimetrías, presenta pérdidas de conectividad, padece reducción en el ancho de
banda, etc.), motivos por los que un protocolo de enrutamiento debe ser capaz de utilizar de manera
inteligente estos efectos, o bien minimizar su efecto negativo sobre las comunicaciones.
14
-Mínimo consumo de energía: Una de las características limitantes de los nodos que componen
una red Ad-hoc es la limitante energética. La movilidad de los nodos requiere que la energía individual
de estos dispositivos provenga de contenedores propios. El protocolo de enrutamiento debe tomar en
cuenta esta limitante y reducir al mínimo el consumo de energía.
-Sencillez: La capacidad de procesamiento de los dispositivos móviles que conforman la red es
limitada. A consecuencia de esto, un protocolo de enrutamiento debe contar con una baja demanda de
procesamiento, la cual debe ser fácil de implementar y tener una baja latencia
-Escalabilidad: El aumento considerable en la cantidad de nodos que interactúan en una red no
debe afectar la calidad de las prestaciones de una red. El protocolo de enrutamiento debe ser capaz de
ser funcional aún con la tendencia a crecer de la red.
1.6. Protocolo Destination - Sequenced Distance Vector (DSDV).
El protocolo DSDV ha sido uno de los protocolos proactivos más populares para redes ad hoc
que se han utilizado en los últimos tiempos. Esta propuesta de enrutamiento fue presentada por Perkinsy
Bhagwat en 1994. Independientemente de la eficiencia de este protocolo, se conoce que presenta varios
problemas, uno de los más conocidos es el hecho de que puede ocasionar la creación de bucles. Una de
las principales causas que propician este problema es que los nodos seleccionan basados en la
información que obtienen de manera distribuida al nodo inmediato, el cual permite enviar un paquete de
datos hasta un nodo destino. Esta decisión puede estar basada en información antigua y muy
seguramente, incorrecta. Cuando esto sucede, un paquete puede ser enviado por un bucle y continuar
transitando en el mismo aun cuando el nodo destino a donde va dirigido es inalcanzable en la red y su
ausencia no fue detectada a tiempo.
15
Regularmente, la movilidad y los cambios constantes de la topología de las redes ad hoc requieren que
cada nodo sea capaz de detectar oportunamente la ausencia de un nodo, con el fin de evitar el envío de
información a través de bucles en las trayectorias.
Es por eso que en este trabajo he agregado a algunos de los nodos la propiedad de desplazamiento en el
área de trabajo durante la simulación. De esta manera será posible observar la eficiencia del protocolo
en condiciones más reales.
Para darle una posible solución al problema de los bucles, el protocolo DSDV utiliza números de
secuencia y al mismo tiempo mantiene la simplicidad del algoritmo de Bellman-Ford. Como este
protocolo es de carácter proactivo, tanto el intercambio de información de enrutamiento como el cálculo
de rutas de comunicación se realizan de manera periódica, de este modo cada nodo obtiene y procesa la
información actualizada y confiable de la organización de la red. De esta manera, el funcionamiento
distribuido del protocolo demanda que todos los nodos que componen la red compartan su tabla de
enrutamiento con los nodos más cercanos o dentro de su alcance. De este modo cada nodo puede calcular
una ruta para cada destino dentro de la red, seleccionando así al nodo más cercano que proporcione la
mejor ruta de comunicaciones.
Cuando un nodo desea transmitir información, es necesario que conozca un camino óptimo para
hacerla llegar al nodo receptor. El procedimiento para definir una ruta óptima utiliza información acerca
de la forma en que está organizada la red de datos y así determinar el camino óptimo, pudiendo enviar la
información desde el nodo destino hasta el nodo origen. El protocolo DSDV utiliza tablas de
enrutamiento para almacenar y compartir las rutas óptimas de comunicación. Cada uno de los nodos que
componen una red de datos administra su propia tabla de enrutamiento y en esta se almacenan todos los
posibles destinos de la red, el costo del camino para llegar a cada uno de estos nodos así como al nodo
inmediato, lo que permite comunicarse con cada nodo destino de manera inmediata.
16
Para poder construir esta tabla de enrutamiento tan detallada es necesario conocer la topología de red.
Una forma de hacerlo es a través de la cooperación de los elementos que la componen. El protocolo
DSDV exige que cada uno comparta su visión de la red con sus nodos vecinos y al mismo tiempo la
reciba de estos. Cuando este procedimiento se realiza en repetidas ocasiones, cada nodo puede tener una
visión global. Con esta información, cada nodo puede determinar cuál es el nodo vecino que ofrece el
mejor camino de comunicación hacia el nodo destino; este resultado es almacenado en tablas de
enrutamiento y compartido de nueva cuenta con los nodos vecinos. Cada una de las rutas que se almacena
en esta tabla de enrutamiento es etiquetada con un número de secuencia. Este número de secuencia es
un contador, administrado por cada nodo receptor, el cual es adjuntado e incrementado por cada paquete
de señalización enviado por este nodo. Este identificador permite discernir la información actualizada
de aquella que no lo está.
Para mantener actualizada la información sobre la topología de red en cada nodo, el protocolo
DSDV requiere que estos nodos compartan periódicamente los datos que residen en su tabla de
enrutamiento. Para que este procedimiento sea relevante, la frecuencia con la que comparten información
debe ser suficiente como para detectar los cambios que suceden en la red, cambios como la nueva
posición de un nodo en determinado momento o como el agregar/eliminar nodos en la red. En la Figura
1.3 se ejemplifica de forma gráfica la señalización necesaria para la utilización del protocolo DSDV en
una red compuesta por 9 nodos. Cada mensaje de señalización en su forma básica está compuesto por
los siguientes puntos:
- Su número de secuencia actualizado, correspondiente al nodo que envía el paquete de
señalización.
- El identificador del nodo destino.
- El número de saltos necesarios para llegar al nodo destino.
- El número de secuencia actualizado y correspondiente al nodo destino.
17
Cada que un nodo recibe la tabla de enrutamiento de sus nodos vecinos, almacena o actualiza la ruta de
comunicaciones tomando como base las siguientes condiciones:
- Cualquier ruta con un número de secuencia más reciente, comparada con la misma ruta
almacenada, será seleccionada.
- Si una ruta tiene el mismo número de secuencia pero menor costo de almacenamiento, entonces
dicha ruta será seleccionada.
Figura 1.3.- Señalización del protocolo DSDV [4].
Haciendo referencia a la Figura 1.4, cuando el nodo A recibe información proveniente de B sobre la ruta
de comunicación con C, y asumiendo que el último número de secuencia de C visto por A es Ac y el
último visto por B es Bc, el proceso de actualización de la ruta deberá satisfacer las siguientes condiciones:
- Si Ac>Bc, la información de enrutamiento se ignora recibida por B.
- Si Ac = Bc, se toma en consideración el costo de la ruta. Aquella cuyo costo sea el menor será
almacenada en la tabla de enrutamiento.
- Si Ac<Bc, selecciona a B como el salto para alcanzar a C y se asigna a Ac, el valor de Bc.
18
Figura 1.4.- Envío de paquetes de señalización DSDV del Nodo B al nodo A.
Cuando un enlace de comunicación se pierde, ocasionado principalmente por movilidad de los
nodos, la distancia hacia este nodo se define como infinita. Si este nodo es un nodo vecino que sirve de
salto inmediato para llegar a otros nodos, la distancia hacia estos nodos también se considera infinita. La
información de este nodo se envía inmediatamente para que se propague en la red y altere a los otros
nodos. La movilidad, es un evento que puede provocar la pérdida de enlaces de comunicación, en un
entorno altamente dinámico sus efectos serían desastrosos debido a que la cantidad de mensajes de
señalización para dar aviso de estos eventos se incrementa al grado de consumir una gran porcentaje del
ancho de banda disponible en la red. Una posible solución para este tipo de eventos resulta de utilizar
dos tipos de mensajes de control: el primero (full duplex) contiene toda la información de la tabla de
enrutamiento y el segundo (Incremental Dump) solo los cambios menores que han sufrido la tabla de
enrutamiento desde el ultimo full dump enviado.
Para clasificar el proceso de actualización de las tablas de enrutamiento, se muestra en la figura
1.5 un ejemplo básico de este proceso. En la Figura 1.5a podemos observar el estado de la tabla de
enrutamiento de los nodos A, B y C, antes de la actualización. En este ejemplo podemos ver al nodo B
incrementar su número de secuencia y enviar su tabla de enrutamiento hacia sus nodos vecinos dado que
ha detectado un cambio en el costo de un enlace.
En el momento en que los nodos A y B reciben este paquete, se verifica que el número de secuencia del
mensaje recibido es más reciente que el número de secuencia respectivo en su tabla de enrutamiento.
19
En este momento los nodos A y C actualizan su tabla de enrutamiento y almacenan el nuevo número de
secuencia correspondiente al nodo que envío el paquete, tal como se muestra en la Figura 1.5b.
(a) Estado previo de la actualización (b) Estado después de recibir la actualización
Figura 1.5.- Estado de las tablas de enrutamiento durante el proceso de actualización.
Cuando un nuevo nodo se integra a la red difunde su tabla de enrutamiento a sus nodos vecinos,
como se muestra en la figura 1.6a. En este ejemplo, el nodo D ingresa a la red y difunde su tabla de
enrutamiento al nodo C. El nodo C al momento de recibir esta información, incluye al nodo D en su
tabla de enrutamiento y difunde a su nodo vecino B esta nueva información, no sin antes incrementar su
número de secuencia, tal y como se muestra en la Figura 1.6b. El mismo proceso lo realiza el nodo B y
envía la información al nodo A, de modo que todos los nodos en la red detectan la presencia del nodo D.
a) Estado previo de la actualización (b) Estado después de recibir la actualización
Figura 1.6.- Estado de las tablas de enrutamiento durante la integración de un nuevo nodo.
En la Figura 1.6 se muestra el procedimiento que hace el algoritmo DSDV al momento de atender
la pérdida de conectividad en la red con algún nodo.
20
En la figura 1.7a se muestra como el nodo D pierde conectividad con su nodo vecino C. Al momento en
que el nodo C detecta que no existe el enlace de comunicación con el nodo D, en su tabla de enrutamiento
se asigna el costo ∞ a esta trayectoria y de inmediato se envía la notificación a sus nodos vecinos, como
se muestra en la Figura 1.7b. Aun cuando el nodo C reciba notificación de la ruta hacia D, éste las ignora
debido a que cuenta con un número de secuencia actualizado para la secuencia de esta trayectoria. Los
nodos A y B, al momento de recibir la notificación de la ausencia del nodo D inmediatamente le asignan
el costo ∞ a la ruta, lo cual indica que dicho nodo es inalcanzable en la red.
(a) Estado a la notificación (b) Estado después de recibir la notificación
Figura 1.7.- Estado de las tablas de enrutamiento durante la pérdida de un nodo.
21
Capítulo 2. Características de otros protocolos de enrutamiento
2.1. Introducción.
Las principales características de las redes Móviles Ad-hoc (MANET), es que todos los
dispositivos que forman parte de la red, además de funcionar como terminales finales, realizan también
funciones de retransmisión de paquetes típicamente asociados a routers.
Esta cualidad nos permite encaminar paquetes a destinos sin cobertura directa a través de otros
nodos intermedios que se encuentren en la red. De este modo se nos ofrece la posibilidad de incrementar
de una manera descomunal la movilidad y el tamaño de una red de datos inalámbrica. Las características
principales de estas redes es crear de una manera eficaz y eficiente una red temporal en lugares carentes
de infraestructura de red. Las principales aplicaciones para las que estas redes fueron desarrolladas son
la operación de búsqueda y rescate de emergencia (bomberos), entornos militares (campos de batalla),
redes de sensores, creación de vehículos y carreteras inteligentes.
Para que lo descrito en el párrafo anterior sea una opción para implementarse en la vida real, se hace
completamente necesaria la inclusión en la red de protocolos de enrutamiento que nos permitan crear
rutas hacia los destinos deseados. Los protocolos de redes fijas mencionados en el capítulo anterior no
se adaptan bien a este tipo de entornos tan dinámicos, por lo tanto es necesario el diseño específico de
protocolos, mismos que proporcionaran un comportamiento eficiente a la red.
2.2. Comparación de los protocolos de enrutamiento.
Dependiendo de sus características, se pueden tener las siguientes comparaciones entre los protocolos:
• Proactivos vs. Reactivos (o bajo demanda) como ya se había mencionado en el capítulo anterior: Esta
es la clasificación más importante. Por una parte, en los protocolos proactivos, periódicamente se envía
22
información de enrutamiento para que en cualquier momento cualquier nodo pueda comunicarse con otro
de los nodos de la red. Esta característica proporciona una rápida respuesta ante solicitudes de ruta y
ofrece un buen comportamiento en situaciones donde la tasa de movilidad es alta. Sin embargo la
sobrecarga que se introduce en la red con información de control también es alta. Entre estos protocolos
podemos destacar el protocolo DSDV (Destination-Sequenced Distance Vector) [5]. Por otra parte, los
protocolos reactivos sólo crean rutas cuando es necesario. Son protocolos que operan en una modalidad
que podemos considerar bajo demanda, donde la sobrecarga es mucho menor aunque los retrasos de
establecimiento de rutas son mayores. Podemos nombrar AODV (Ad hoc On-Demand Distance Vector)
[6] como un ejemplo de protocolo reactivo. Existen algunos protocolos híbridos en los que se mantiene
una filosofía proactiva en un ámbito local y reactiva a nivel más global, como el protocolo ZRP (Zone
Routing Protocol) [7].
• Jerárquico vs. Plano: En los protocolos jerárquicos, los nodos pertenecen a diferentes niveles y su
función en la retransmisión depende del nivel en el que operen. En este caso, normalmente las redes se
dividen en grupos de nodos llamados clusters. En los protocolos planos, todos los nodos se considera
están al mismo nivel, tienen las mismas funciones y responsabilidades. Uno de los protocolos jerárquicos
más destacables es CGSR (Clusterhead Gateway Switch Routing) [8].
• Geográficos vs. No Geográficos: En los protocolos geográficos, se tiene en cuenta la posición
geográfica exacta de cada nodo para realizar los enrutamientos. Su gran inconveniente es la necesidad
de dispositivos de posicionamiento global (GPS), ya que estos todavía no lo suficientemente comunes en
todos los sitios. Entre estos protocolos podemos encontrar DREAM (Distance Routing Effect Algorithm
for Mobility) [9].
• Enrutamiento en el origen vs. Enrutamiento salto a salto: En los protocolos con enrutamiento en el
origen, cada paquete de datos lleva incorporado el camino que debe seguir en la red hasta el destino.
23
Por esta característica, la necesidad de proceso en los nodos intermedios es prácticamente nula, en cambio
se incrementa el volumen de los paquetes. Por el contrario, en el enrutamiento salto a salto, en cada nodo
únicamente se decide cuál será el nodo siguiente. El protocolo más conocido y extendido que utiliza
enrutamiento en el origen es DSR (Dynamic Source Routing) [10].
• Multipath vs. Singlepath: Los protocolos singlepath sólo mantienen una ruta única hacia cada destino,
en cambio los multipath mantienen varias. El protocolo TORA (Temporally-Ordered Routing
Algorithm) [11] es un ejemplo de protocolo multipath.
Con el fin de ofrecer una base teórica al estudio práctico realizado, presentamos aquí brevemente las
características más relevantes de los protocolos analizados en las simulaciones:
A. Destination - Sequenced Distance Vector (DSDV)
El protocolo DSDV [6] es esencialmente una modificación del algoritmo de enrutamiento Vector
Distancia Bellman-Ford, bien conocido por su utilidad en redes fijas, como por ejemplo en el protocolo
RIP [8]. En este algoritmo proactivo, los nodos vecinos intercambian periódicamente sus tablas de
enrutamiento enteras para estimar la distancia a la que se encuentran los demás nodos no vecinos. Las
modificaciones introducidas por DSDV proporcionan básicamente la obtención de rutas sin bucles
mediante la introducción de números de secuencia para determinar cuáles son las rutas más nuevas.
Aunque DSDV sólo proporciona un camino para cada destino, siempre elige el camino más corto
basándose en el número de saltos hacia este. DSDV utiliza dos tipos de mensajes de actualización, uno
más grande (full-dump) y otro mucho más pequeño (incremental).
24
Los mensajes incrementales pueden utilizarse para actualizaciones intermedias entre envíos periódicos
(fulldump) de la tabla entera de enrutamiento. Además se realizan estimaciones de los tiempos de
establecimientos de ruta que retrasarán el envío de mensajes incrementales para evitar envíos en cadena
de estos mensajes.
B. Optimized Link-State Routing Algorithm (OLSR)
El protocolo OLSR incorpora la filosofía utilizada en protocolos tradicionales como OSPF de ‘Estado de
los Enlaces’. En este algoritmo todos los nodos se intercambian mensajes para formarse una visión
consistente de toda la red y así poder decidir el enrutamiento de paquetes. El protocolo OLSR adolece
del mismo problema que el protocolo DSDV debido a la necesidad de intercambio de un gran número de
mensajes periódicos. Aquí, el problema podría llegar a ser mayor, ya que además de mensajes HELLO
a los vecinos envía mensajes de control TC (Topology Control), los que se retransmiten a todos los nodos
de la red. Sin embargo se ha conseguido una gran optimización en la retransmisión de estos mensaje con
la incorporación de la Técnica de Retransmisión Multipunto, a través de la cual, los mensajes sólo son
retransmitidos por el mínimo número de nodos necesarios para alcanzar a todos los demás. Estos nodos
son conocidos como Grupo de Retransmisores Multipunto (MPR's).
C. Dynamic Source Routing (DSR)
El protocolo DSR [10] se fundamenta en el enrutamiento desde el origen, es decir, los paquetes de datos
incluyen una cabecera de información acerca de los nodos exactos que deben atravesar. No requiere
ningún tipo de mensajes periódicos (reactivo), disminuyendo así la sobrecarga con mensajes de control.
Además ofrece la posibilidad de obtener, con la solicitud de una ruta, múltiples caminos posibles hacia
25
el destino. Tampoco son un problema, a diferencia de la mayoría de protocolos de enrutamiento en este
tipo de redes, los enlaces unidireccionales. Para poder realizar el enrutamiento en el origen, a cada
paquete de datos se le inserta una cabecera DSR de opciones que se colocará entre la cabecera de
transporte y la IP. Entre dichas opciones se incluirá la ruta que debe seguir el paquete nodo a nodo. Cada
nodo mantiene una memoria caché de rutas en la que se van almacenando las rutas obtenidas a través de
procesos de descubrimiento de rutas ya sean propios u obtenidos a través de escuchas en la red. En los
procesos de descubrimiento de rutas se generan mensajes de solicitud, respuesta y error siendo estos
mensajes ROUTE REQUEST, REPLY y ERROR respectivamente.
D. Ad Hoc On-Demand Distance Vector (AODV)
En el protocolo AODV [6] los nodos mantienen una tabla de enrutamiento para los destinos conocidos
(empleando el algoritmo vector distancia). Inicialmente esta tabla estará formada por sus vecinos.
Solamente se le añadirán destinos nuevos cuando sea necesario, es decir, cuando un nodo necesita
comunicarse con otro que no está en su tabla, iniciando un proceso de descubrimiento de ruta (reactivo)
hacia el destino concreto. Para ello se emiten mensajes de descubrimiento de ruta RREQ que se van
propagando entre todos los nodos de modo similar al DSR. En respuesta, aquí los nodos generan una
tabla de enrutamiento inversa para que puedan regresar las contestaciones RREP a las solicitudes de ruta
al nodo que la originó. Se recomienda el uso de mensajes HELLO entre vecinos para determinar la
conectividad, aunque para reducir el volumen de estos mensajes, sólo debe permitirse su envío a los
nodos que estén transmitiendo datos. Debemos destacar además la utilización de las técnicas de
"búsqueda secuencial por anillos" y "reparación local del enlace", ya que así es como es capaz de
proporcionar soporte multicast.
26
2.3 Estadísticas y Comparación de protocolos de enrutamiento.
En otros estudios realizados con la misma herramienta de simulación de redes NS-2 realizado por
Roberto Subiela Durá y el Dr. Antonio León Fernández de la Universidad Politécnica de Valencia, se
encontraron los datos que se observan en la figura 2.1, haciendo un primer escenario de simulación en
donde someten una red de datos a diferentes cambios durante 100 segundos. La red está compuesta por
tres dispositivos, dos de los cuales se comunican utilizando protocolo de transporte TCP. En unos
instantes se comunica de forma directa, en otros a través de un nodo intermedio mientras que en otros
momentos es imposible la comunicación. La figura 2.1 muestra los paquetes recibidos. Los mejores
resultados los ofrece el protocolo AODVUU debido a su apoyo en el servicio de mensajes HELLO, el
cual le proporciona una rápida detección de vecinos. Sin embargo, el protocolo DSDV para este caso
ofrece los peores resultados debido a que utiliza un periodo de actualización muy alto.
Figura 2.1.- Numero de paquetes recibidos escenario 1.
Otro análisis destacable es el del rendimiento o Througput. En la figura 2.2 podemos ver los resultados
obtenidos donde se observa como éstos oscilan en torno a dos valores que se corresponden con los casos
en que los protocolos logran establecer comunicación directa o indirecta.
27
Figura 2.2.- Throughput del escenario 1
En un segundo escenario, más simple, dos nodos sin cobertura directa intentan sin éxito comunicarse
utilizando el protocolo de transporte UDP (Ver Figura 2.3a), para posteriormente comunicarse vía un
dispositivo intermedio (Ver Figura 2.3b).
Figura 2.2.- Visualización del escenario 2
28
La figura 2.3 muestra el tiempo trascurrido desde que se establece la comunicación hasta el momento en
que cada protocolo logra establecer la comunicación. El estudio se ha realizado para todos los protocolos,
aquí se presenta los correspondientes al protocolo OLSR. La línea vertical negra muestra el instante
desde que existe conectividad y las azules corresponden a los intercambios de dos mensajes periódicos
para establecer la comunicación. Este hecho es debido a que en un primer intercambio cada nodo da a
conocer a sus vecinos y así todos los nodos eligen sus MPR’s, mientras que en el segundo estos se
comunican con los demás y así pueden crearse todas las tablas.
Figura 2.3.- Visualización del escenario 2
En un tercer escenario, se estudió una situación contraria al caso anterior que también utilizo una
transmisión UDP. En primer instancia, los nodos tienen conectividad directa (Ver Figura 2.4a). En un
movimiento pierden la conectividad directa y deben restablecer la conectividad a través de un nodo
intermedio, este movimiento se puede observar en la Figura 2.4b.
En el estudio del comportamiento de todos los protocolos mostrado en la figura 2.5, se puede observar
que solicita la nueva ruta hacia el destino sólo cuando intenta establecer la comunicación. Podemos ver
la representación de los mensajes de solicitud y respuesta de la ruta.
29
En el momento de perdida de conectividad, observamos como la reacción del protocolo es instantánea.
El motivo principal es que el DRR detecta instantáneamente la perdida de la conectividad a través de la
capa de enlace y solicita un nuevo descubrimiento de ruta de inmediato.
Figura 2.4.- Visualización del escenario 2
Figura 2.5.- Visualización del escenario 2: DSR
Debido a los pobres resultados ofrecidos por el protocolo DSDV, procederé en este trabajo de Tesis a
una revisión más concreta utilizando otras herramientas de simulación.
30
Capítulo 3. Metodología de análisis.
3.1. Generalidades.
Para el estudio de los métodos y parámetros planteados en el desarrollo de esta investigación fue
necesaria la utilización de una herramienta de medición que se acople a las necesidades que se requerían
para el análisis del protocolo. Seguido de esto, tuve la necesidad de buscar opciones y elegir la más
viable. A continuación se plantean mis opciones, eligiendo la más adecuada para lograr el objetivo
planteado.
La evaluación del desempeño es muy importante a la hora de analizar un protocolo, este me
permitirá elegir uno sobre otro en determinados tipos de redes o dependiendo de las necesidades de los
usuarios. Esto con el fin de optimizar el funcionamiento de los sistemas y proveer un servicio más
eficiente de la red a los usuarios terminales.
Para este propósito existen tres técnicas para la evaluación:
- Medición Física (Práctico).
- Modelos Analíticos (Matemático).
- Simulación (por Computadora).
Las medición práctica es la forma más recomendada para el estudio pero solo si se cuenta con la
infraestructura, software y equipos de medición especializados. Este método de evaluación es más
preciso, menos flexible y más costoso con respecto a los métodos por simulación y al modelo analítico.
El modelado analítico resulta conveniente cuando se pretende hacer abstracciones de fenómenos físicos,
construyendo, inicialmente un modelo matemático que se aproxime al fenómeno de estudio en cuestión.
31
Por último, la simulación incorpora más detalles que permiten obtener una mejor descripción del objeto
en estudio con relación al modelo analítico o matemático y es muy funcional aun cuando no se cuenta
con la infraestructura o se disponga del tiempo, el cual es considerable para el estudio.
Con respecto a la simulación, existen varios tipos: Emulación, Simulación Monte Carlo,
Simulación trace-driven y Simulación de eventos discretos.
Una simulación estática o sin variable en el tiempo es llamada simulación Monte Carlo. Este tipo
de simulación se utiliza para fenómenos de modelo probabilístico 1 , mismo que no cambia sus
características con el tiempo a diferencia de las simulaciones dinámicas que requieren la generación de
números pseudo-aleatorios. Las simulaciones Monte Carlo también son usadas para evaluar expresiones
no - probabilísticas usando métodos probabilísticos.
Una simulación trace-driven se maneja generalmente por un archivo de traza. Este tipo de
simulación se utiliza usualmente en el análisis o valoración de los algoritmos de administración de
recursos, análisis de cache, algoritmos de planificación y algoritmos para dinámicas de asignación de
recursos de la red. Estos son algunos ejemplos de casos donde simulaciones trace-driven han sido usadas
satisfactoriamente.
Una simulación utilizando un modelo de estado discreto del sistema es llamada simulación de
eventos discretos contrariamente a la simulación de eventos continuos. Los modelos de estado continuo
son usados en simulaciones químicas, donde el estado del sistema es descrito por la concentración de una
substancia química. En sistemas computacionales, se utilizan modelos de eventos discretos cuando el
estado de sistema es descrito por el número de tareas en varios dispositivos.
1 Son aquellos fenómenos en los que se desconocen algunas variables, pero si se reúnen las conocidas, tendrán la posibilidad de presentarse o no manifestarse.
32
La siguiente tabla muestra una breve descripción de algunos de los simuladores existentes.
Tabla 3.1.- Comparación de los simuladores (Características generales)
SIMULADOR TIPO DE
LICENCIA
REQUERIMIENTOS
S.O.
PROTOCOLOS Y
TECNOLOGÍAS
CARACTERÍSTICAS
GENERALES
NS-2 Software
libre
-Plataforma Unix (Free
BSD, Linux, SunOS,
Solaris) y plataformas
Windows.
-Procesador Pentium II
de 200 Mhz, 32 MB
-Espacio H.D. 20MB
HTTP, FTP, CBR,
TCP, UDP, RTP,
SRM, entre otros.
Es una herramienta con un amplio
rango de uso, soporta una gran
cantidad de protocolos de las capas de
aplicación y transporte, además de
otros utilizados para el enrutamiento
de los datos. Permite simular redes
cableadas, inalámbricas, satelitales: y
aplicaciones a grandes redes con
topologías complejas y generadores
de tráfico.
Opnet Licencia
(OPNET)
- Plataforma Windows
NT, 2000, XP y tipo
UNIX
- Procesador Pentium II
de 250 MHz o
equivalente
- RAM 32 MB
- Espacio H.D. 20 MB
HTTP, TCP, IP
OSPF, BGP, RIP,
RSVP,
FrameRelay, FDDI,
Ethernet, ATM,
LAN 802.11,
PNNI, DOCSIS,
UMTS, IP,
Multicast,
CircuitSwitch,
MANET, IP Móvil,
entre otras
Permite diseñar y estudiar redes
dispositivos, protocolos y
aplicaciones brindando escalabilidad
y flexibilidad, cualidades que les
permiten ofrecer a sus usuarios
trabajar en procesos de investigación
y desarrollo.
Está basado en la teoría de redes de
colas e incorpora librerías para
facilitar el modelado de las topologías
de red
Packet Tracer Licencia
(CISCO)
- Plataforma Windows
98, ME, XP y
Macintosh
- Procesador Pentium II
de 250 MHz o
equivalente
- RAM 64 MB
- Espacio H.D. 30 MB
Tecnologías
Ethernet, Fast
Ethernet, Gigabit
Ethernet,
inalámbricas,
VLAN, NAT, PAT,
Protocolos DHCP,
RIP
PacketTracert es un simulador de
entorno de redes de comunicaciones
de fidelidad media, que permite crear
y configurar redes incluyendo los
dispositivos como computadoras,
router y swicht.
Detecta los errores en las topologías
de redes de comunicación
NCTUns Software
Libre
- Plataforma Red hat,
Fedoracore 3.0
- Procesador Pentium II
de 250 MHz o
equivalente
- RAM 256 MB
- Espacio H.D. 200 MB
Protocolos creados
por el usuario
Es un simulador y emulador de redes
y sistemas de telecomunicaciones
avanzado, permite desarrollar,
evaluar y diagnosticar el desempeño
de protocolos y aplicaciones en
diferentes redes (LAN, WAN)
familiarizando al usuario con
interfaces similares a las de los
sistemas reales. Genera resultados de
simulación de alta fidelidad
SSFNet Software
Libre
- Plataforma UNIX
- Procesador Pentium II
de 450 MHz o
equivalente
-RAM 64MB
- Espacio H.D. 20 MB
TCP, UDP,
Sockets, OSPFv2,
OSPF, BGP4,
HTTP, NetFlow;
IP, NIC
Es una colección Java SSF basadas en
componentes para el modelo y
simulación de protocolos de internet y
de redes por encima del nivel de
paquetes IP
J-Sim 1.3 Software
Libre
- Plataforma Windows
NT, 2000, XP y tipo
UNIX
Proporciona soporte
a la gran mayoría
de protocolos
Multicast y QoS
Simulador desarrollado con apoyo de
NSF, DARPA, CISCO. J-Sim provee
un ambiente de simulación compuesto
basado en componentes. La entidad
básica en este simulador son los
33
- Procesador Pentium II
de 400 MHz o
equivalente
- RAM 128 MB
- Espacio H.D. 250 MB
componentes y su comportamiento
está definid en términos de contratos.
Tabla 3.2.- Ventajas y Desventajas de los simuladores
SIMULADOR VENTAJAS DESVENTAJAS
NS-2
Este programa contiene módulos que cubren un
extenso grupo de aplicaciones, protocolos de
ruteo, transporte, diferentes tipos de enlaces,
estrategias y mecanismos de ruteo; entre otros.
Algunos de estos son: http, TcpApp, telnet,
CBR (Constat Bit Rate), TCP, RTP, algoritmos
de ruteo, enrutamiento jerárquico y
enrutamiento manual.
Por ser uno de las más antiguas herramientas
de simulación, el NS se ha convertido en un
estándar de su área, esto ha llevado a que sea
ampliamente utilizado y a que se encuentre en
internet un gran número de ayudas y proyectos
realizados sobre NS.
La configuración de las simulaciones es a través de
código, esto hace que sea mayor el tiempo de
desarrollo. Además también se incrementa el tiempo
necesario para el aprendizaje del software.
NS requiere varios componentes adicionales
instalados para su correcto funcionamiento.
OPNet
El programa incluye las librerías para acceder
a un extenso grupo de aplicaciones y
protocolos como HTTP, TCP, IP, OSFD, BGP,
EIGRP, RIP, RSVP, FrameRelay, FDDI,
Ethernet, ATM, LNAs 802.11, aplicaciones de
voz, MPLS, PNNI, OCSIS, UMTS, IP,
Multicast, CircuitSwitch, MANET, IP móvil;
entre otras.
Tiene interfaces para visualización del modelo
en 3D. Los APIs de simulación permiten
acceder libremente al código fuente, lo cual
facilita la programación de nuevos protocolos
de red. Maneja topologías de red complejas
con subredes anidadas ilimitadas. Permite
mostrar el tráfico por la red a través de una
animación durante y después de la simulación.
Los resultados se exhiben mediante gráficos
estadísticos.
Es un software propietario, lo cual lo hace costoso
para ambientes universitarios. Es necesario obtener
la licencia para poder utilizar el software ya que no
existen versiones académicas o de prueba.
La determinación de los intervalos de confianza es
complicada
El tiempo de aprendizaje es elevado.
Packet
Tracert
El enfoque pedagógico de este simulador hace
que sea una herramienta muy útil como
complemento de los fundamentos teóricos
sobre redes de comunicaciones.
El programa posee una interfaz de usuario muy
fácil de manejar, e incluye documentación y
tutoriales sobre el manejo del mismo. Permite
ver el desarrollo por capas del proceso de
trasmisión y recepción de paquetes de datos de
acuerdo con el modelo de referencia OSI.
Permite la simulación del protocolo de
enrutamiento RIP V2 y la ejecución del
protocolo STP y el protocolo SNMP para
realizar diagnostico básicos a las conexiones
entre dispositivos del modelo de la red.
Es un software propietario, y por ende se debe pagar
una licencia para instalarlo.
Solo permite modelar redes en termino de filtrado y
retransmisión de paquetes. No permite crear
topologías de red que involucren la implementación
de tecnologías diferentes a Ethernet, es decir que con
este programa no se pueden implementar
simulaciones con tecnologías de red como
FremeRelay, ATM XDSL, Satelitales, telefonía
celular entre otras.
Ya que su enfoque es pedagógico, el programa se
considera de fidelidad media para implementarse con
fines comerciales.
NCTUns Es un software libre, con distribución de
código abierto. Utiliza directamente el
Solamente funciona en sistemas Fedora Core, para
otras distribuciones Linux es necesario hacer pruebas
34
conjunto de protocolos TCP/IP de Linux, por
consiguiente se generan resultados de
simulación de alta fidelidad y permite que la
configuración y el uso de una red simulada, sea
exactamente igual a los usados en redes IP del
mundo real.
Pueden ser utilizados como emulador. Esto
permite un host externo conectado a una red del
mundo real, puedan intercambiar paquetes con
nodos (por ejemplo: hosts, enrutadores o
estaciones móviles celulares) en una red
simulada en NCTUns. Puede utilizar cualquier
aplicación de UNIX existe en la vida real,
como un generador de tráfico, además puede
utilizar las herramientas de configuración y
monitoreo de UNIX. Puede simular redes fijas,
inalámbricas, redes celulares, redes GPRS,
redes ópticas.
y configuraciones adicionales. Existe muy poca
información sobre el funcionamiento y
configuraciones de software. El anterior punto lleva
a que sea mayor el tiempo de aprendizaje del
simulador. El servicio de soporte proporcionado por
los autores del proyecto NCTUns es deficiente y en
algunas ocasiones no funciona.
SSFNet
Es un software libre hasta cierto punto, esta
codificado en C++ y Java. Proporciona dos
interfaces.
Es altamente escalable y permite el uso de
prácticamente todos los protocolos en internet.
Existen varios errores en la implementación y a
última instancia los usuarios son responsables de
verificar la validez de los resultados.
Presenta una falta de rendimiento considerable en las
versiones gratuitas, ya que la versión optimizada es
comercial.
J-Sim 1.3
J-Simesta implementado completamente en
Java, pero también provee una interfaz de
script para la integración con diferentes
lenguajes de script como Perl, Tcl o Python.
La extensión para usar J-Sim con Tcl se llama
Jacl.
A diferencia de NS-2, en J-Sim las clases,
métodos y ”fields” no necesitan ser exportados
explícitamente para ser accesibles en el
ambiente Tcl.+
Simulador en tiempo real y discreto, permite el
uso de casi todos los protocolos, tiene la
capacidad de simular mediante scripts.
No ha recibido una actualización importante por los
desarrolladores desde el 2005, a pesar de contar con
patrocinadores importantes.
Cuenta con muy poca información como tutoriales
guía lo que sigue haciendo al NS-2 más viable.
3.2. Elección del método de análisis.
Después de analizar las características de cada uno de los métodos descritos, se concluyó que el
uso de un simulador sería la herramienta más útil ya que nos permite asemejarnos a la realidad, sin tener
que contar necesariamente con la infraestructura, lo que lo hace económico y al alcance de todos.
Gracias a las Tablas 3.1 y 3.2 podemos observar una comparación y un resumen de los simuladores, así
como las ventajas y desventajas de cada uno de ellos. Una vez estudiados estos simuladores, analizando
que cumplieran con mis requerimientos y presupuestos, se eligió el simulador NS-2. Resumiendo el
porqué de su elección, podemos asegurar que NS-2, es un simulador de eventos discretos, de libre acceso,
35
alta flexibilidad, y aunque no es muy amigable o fácil de utilizar en internet existe bastante información
sobre este simulador. Esto nos permite realizar una gran variedad de aplicaciones, además de estar
avalado por comunidades de investigación de Internet quienes utilizan estas herramientas desde hace
varios años y que también se ha llegado a usar para probar el funcionamiento de nuevos sistemas de
gestión de buffers. Este software simulador será montado sobre una plataforma Linux, específicamente
la distribución UBUNTU ya que los desarrolladores recomiendan sea usado preferentemente sobre
LINUX.
3.3. Linux Ubuntu 14.04.
Ubuntu es una distribución GNU/Linux basada en Debian GNU/Linux, que proporciona un
sistema operativo actualizado y estable para el usuario medio, con un fuerte enfoque en la facilidad de
uso e instalación del sistema. Al igual que otras distribuciones como Redhat, Mandrake, SuSE etc., se
compone de múltiples paquetes de software normalmente distribuidos bajo una licencia libre o de código
abierto.
Está patrocinado por Canonical Ltd., una compañía británica propiedad del empresario
sudafricano Mark Shuttleworth que en vez de vender la distribución con fines lucrativos, se financia por
medio de servicios vinculados al sistema operativo y la venta de soporte técnico. Además al mantenerlo
libre y gratuito, la empresa es capaz de aprovechar los desarrolladores de la comunidad en mejorar los
componentes de su sistema operativo. Canonical también apoya y proporciona soporte para cuatro
derivados de Ubuntu: Kubuntu, Xubuntu, Edubuntu y la versión Ubuntu orientada a servidores.
Cada seis meses se publica una nueva versión de Ubuntu la cual recibe soporte por parte de
Canonical, durante dieciocho meses, por medio de las actualizaciones de seguridad, parches para bugs
críticos y actualizaciones menores de los programas. Las Versiones LTS (Long Term Support), que se
36
liberan cada dos años reciben soporte durante tres años en los sistemas de Escritorio y cinco para versión
orientada a servidores.En el desarrollo de este trabajo elegí una versión LTS, para ser más preciso la
Ubuntu 10.04. Cabe mencionar que se realizó un pedido a la empresa directamente en su página de
internet y lo enviaron a la dirección proporcionada sin ningún costo.
3.4. Simulador de Redes Network Simulator (NS-2).
Network Simulador 2 o mejor conocido como NS-2 es un simulador de eventos discretos pensado
para el desarrollo de redes con un gran nivel de detalle [14], y es utilizado principalmente en ambientes
académicos debido a que está escrito en código abierto. Es capaz de simular tanto protocolos unicast
como multicast y regularmente es utilizado para la investigación de redes Ad-hoc. Puede simular una
amplia gama de protocolos tanto para redes cableadas o redes inalámbricas, así como redes mixtas, redes
vía satélite con una gran cantidad de protocolos a distintos niveles, la capa de trasporte (tcp, udp, etc...),
la capa de aplicación (ftp, cbr, http, etc.) o la capa de enlace de datos (como el CSMA/CA). Además de
que utiliza diversos algoritmos para la planificación de colas (como el DDR (Deficit Round Robin), FIFO
(First In First Out), FQ (encolamiento justo), o SFQ (encolamiento estocástico justo) en caso de que se
produzca un cuello de botella en algún nodo.
Este proyecto, surgió a finales de los 80's, a partir de REAL network simulator. A mediados de
los 90's, recibió el apoyo de DARPA, a través del proyecto VINT (Virtual Inter Net Testbed), lo cual le
proporciono un empuje definitivo. Actualmente ha quedado en manos de un grupo de investigadores y
desarrolladores de la universidad de Berkeley, LBL (Lawrence Laboratory), USC/ISI (University of
Souther California/Information Sciences Institute) y Xerox PARC (Palo Alto Research Center). La
versión actualmente en desarrollo es la 2 (de la cual existen múltiples subversiones) y la 3. NS-2 es un
simulador gratuito que se suministra con el código fuente completo. El principal cambio desde la versión
1 ha sido una mejor subdivisión de las clases de los objetos que componen un núcleo del simulador, lo
cual permite un mejor desarrollo del mismo.
37
Aunque la herramienta se encuentra implementada en C++, se usa un segundo lenguaje llamado Tcl que
se implementa mediante una modificación de este denominada Otcl, que en realidad es la versión
orientada a objetos de Tcl. Esto hace que deba de existir una interacción entre ambos lenguajes dentro
de la propia herramienta. Sin embargo, se puede optar por usar únicamente Tcl cuando se tenga que
implementar mediante scripts la configuración de las topologías y usar C++ cuando queramos modificar
directamente la herramienta. Consideramos un script como un conjunto de líneas de comandos o
programa, que simula el funcionamiento de la topología de una red.
La distribución del NS-2 para Linux se acompaña de varias herramientas para complementar el análisis,
dentro de ellos un visualizador de las diferentes topologías que se crean en NS-2, así como la simulación
de los flujos que recorren dichas topologías. Esta utilidad se conoce como Network Animator (NAM),
y está diseñada con Tcl/Tk. El funcionamiento de esta utilidad resulta muy simple de usar, ya que
únicamente es necesario pasarle como parámetro en la llamada del programa de la vía de acceso del
fichero que contiene la traza que queremos visualizar.
Los usos más habituales que se le dan a este simulador son los siguientes:
Simulación de estructuras y protocolos de redes.
Desarrollo de nuevos protocolos y comprobar su funcionamiento utilizando las herramientas que
lo acompañan (NAM Xgraph).
Comparar distintos protocolos en cuanto a prestaciones.
Comparación de resultados a través de herramientas externas utilizando las trazas generadas por
NS-2 como lo es TraceGraph
38
3.5. Instalación de NS-2.
El simulador está pensado para ejecutarse en cualquier distribución de Linux, pero también existe
una versión diseñada para ejecutarse sobre Microsoft Windows 9x/ME/2000/XP/Vista/Seven. Sin
embargo esta última versión no está probada tanto como la original, por lo cual puede contener errores
de funcionamiento. Sabiendo esto trabajare sobre una distribución Linux, para ser específico una versión
Ubuntu.
3.6. Instalación de NS-2 en Linux distribución Ubuntu.
Esta versión de NS-2 está basada en la distribución del simulador “ns-allinone-2.34” este
paquete es un compendio de las herramientas que trabajan en conjunto con NS como el NAM, Xgraph y
se trata de una versión todo en uno.
Paso a seguir:
1.- Descargar el archivo ns-allinone-2.34.tar.gz de la siguiente dirección de internet.
http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.34/
2.- Una vez descargado se necesita tener instalado en Ubuntu los compiladores gcc, g++ y cpp. Para esto
iniciamos la consola de comandos de Ubuntu y ejecutamos las siguientes líneas de comandos.
$ sudo apt-get update
$ sudo apt-get install build-essential
Con estos comandos actualizan los repositorios de Ubuntu y se instalan los compiladores necesarios para
ejecutar el NS.2.
39
3.- Crear una carpeta llamada “simulador” en la siguiente dirección: /home/Nombre_Usuario/
4.- Dentro de la carpeta “simulador”, pegamos el archivo descargado en el paso 1.
5.- Abrimos la Terminal de Ubuntu y ejecutamos las siguientes líneas de comandos para entrar a la
carpeta “simulado”, de esta forma se accede a los archivos necesarios para la instalación de NS-2.
$ cd /home/Nombre_Usuario/simulador
$ tar -xvf ns-allinone-2.34.tar
6.- Descargamos e instalamos los paquetes de los repositorios
$ sudo apt-get install build-essential autoconf automake libxmu-dev
7.- Entramos a la carpeta que descomprimimos con el paso 5 e instalamos el NS-2 con las siguientes
líneas de comandos.
$ cd ns-allinone-2.34
$ ./install
8.-Abrimos y editamos el archivo Makefile.in que está en la dirección:
/home/Nombre_Usuario/simulador/ns-allinone-2.34/ns-2.34
En este archivo, hay que sustituir las siguientes líneas:
De: CC=@CC@ a CC=gcc-4.3
9.- Modificar los Paths del archivo bashrc con la siguiente líneas de comando, las que son ejecutadas en
la terminal de Ubuntu cuando se abre el archivo:
$ gedit ~/.bashrc
40
Los Paths deben quedar como se muestra:
# LD_LIBRARY_PATH
OTCL_LIB=/home/Nombre_Usuario/simulador/ns-allinone-2.34/otcl-1.13
NS2_LIB=/home/Nombre_Usuario/simulador/ns-allinone-2.34/lib
X11_LIB=/usr/X11R6/lib
USR_LOCAL_LIB=/usr/local/lib
export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB
export
LD_LIBRARY_PATH=/home/Nombre_Usuario/Escritorio/Tracegraph205UNIX/bin/glnx86/:$LD_LIB
RARY_PATH
# TCL_LIBRARY
TCL_LIB=/home/Nombre_Usuario/simulador/ns-allinone-2.34/tcl8.4.18/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=/home/Nombre_Usuario/simulador/ns-allinone-2.34/bin:/home/roberto/simulador/ns-
allinone-2.34/tcl8.4.18/unix:/home/Nombre_Usuario/simulador/ns-allinone-2.34/tk8.4.18/unix
NS=/home/roberto/simulador/ns-allinone-2.34/ns-2.34/
41
NAM=/home/Nombre_Usuario/simulador/ns-allinone-2.34/nam-1.13/
export PATH=$PATH:$XGRAPH:$NS:$NA
10.- Una vez editado este archivo lo actualizados los Path con las siguientes líneas de comandos en la
Terminal de Ubuntu.
$ source ~/.bashrc
11.- Entramos a la carpeta ns-2.34 y validamos con las siguientes líneas de comando.
$ cd ns-2.34
$ ./validate
3.7. Funcionamiento del NS-2.
El simulador consta de un núcleo principal escrito en C++ que se puede ejecutar simplemente
tecleando ns en las líneas de comandos. Para actuar sobre el simulador se utiliza un interfaz específico.
Este interfaz es Otcl que deriva del Tcl pero orientado a objetos. En la figura siguiente se muestra de
manera gráfica el funcionamiento a grandes rasgos del simulador.
Figura 3.1.- Funcionamiento interno de Network Simulator 2[14].
42
Los objetivos de NS-2 son por una parte manejar todos los protocolos de simulación, manejando
bytes y grandes volúmenes de datos en un tiempo de ejecución corto. El lenguaje C++ se encarga de
manejar este volumen de datos de forma rápida a la hora de realizar simulaciones de protocolos de
comunicación. Por otro lado, es necesario realizar los scripts de los escenarios, estos se plantearan en
Capitulo 4. Los scripts se realizan en el lenguaje OTcl que es de ejecución más lenta pero permite realizar
cambios de forma más rápida e interactiva, lo que facilita hacer cambios como numero de nodos,
topologías, protocolos de enrutamiento, tipo de paquetes que se enviaran, tamaño de paquetes etc.
Para poder separar la parte de datos de la parte de la configuración, el NS-2 utiliza un mecanismo
que concede en control de los objetos escritos en C++ a Otcl. Esto quiere decir que se pueden escribir
scripts de simulación de una red sin tener que escribir nada en C++. Véase la figura 3.1 Funcionamiento
interno del simulador.
Esto cambia cuando se quiere implementar cualquier clase o protocolo que estuviera previamente
introducido en NS-2, de tal manera que se deberá escribir en C++ y posteriormente compilar el programa
para que la modificación quede establecida. Véase la figura 3.2 Jerarquía parcial de clases del NS-2.
Figura 3.2.- Jerarquía general de clases de Network Simulator 2[14]
43
El simulador NS-2 interpreta los scripts escritos en Otcl, el cual tiene un planificador de eventos
de simulación, librerías, objetos de componentes de red y librerías de módulos de instalación de red,
como se muestra en la siguiente figura 3.2.
3.8. Tool Command Lenguage (Tcl).
El Tcl o Lenguaje de herramientas de comando, es un lenguaje de scripts que ha sido concebido
con una sintaxis sencilla para facilitar su aprendizaje sin deteriorar la funcionalidad y la expresividad.
Se utiliza principalmente para el desarrollo rápido de prototipos, aplicaciones “script”, interfaces gráficas
y pruebas.
El Tcl es un lenguaje interpretativo y su código puede ser creado y modificado dinámicamente.
Sus reglas sintácticas son extremadamente simples y posee reglas de alcance dinámico. Los “script” son
a menudo más compactos y legibles que los programas funcionales equivalentes que existen entre otros
lenguajes de programación. Es un lenguaje de programación multiplataforma, con intérpretes que se
ejecutan sobre Linux, Unix, MacOS, Windows y OSX e incluso en microprocesadores PIC.
Una de las características más usadas de Tcl es su extensibilidad. Por ejemplo, si una aplicación
requiere algo de funcionalidad no ofrecida por Tcl pueden ser implementados utilizando lenguaje C, un
integrado sumamente fácil. El Tcl es extensible a través de C, C++ y java. Mediante una extensión,
permite la programación orientada a objetos.
Con leguaje C, C++ es posible crear nuevos comandos o dispositivos o incluso protocolos de
enrutamiento para Network Simulator 2, una vez creado tan solo hay que invocarlo en el script que se
esté desarrollando.
44
3.9. Script OTcl.
Contiene toda la información necesaria para desarrollar la simulación en NS-2, ya que permite
especificar todos los elementos que participan en el escenario de simulación como son los nodos, el tipo
de enlace que se utilizara, el tipo de tráfico que fluirá en la red, topología de red, que en este caso para
una red inalámbrica regularmente es de malla, además que aquí es donde se agregan los agentes que son
los encargados de generar y recibir los paquetes.
Es importante mencionar que dentro de este script se encuentra especificada la creación de los
archivos de traza o de los archivos que permiten correr la simulación gráfica. También es posible
mediante líneas de comandos establecer el inicio y fin que se considere debe durar un evento en segundos
dentro de un tiempo determinado en la simulación. Por ejemplo es posible indicar en que momento de
la simulación un nodo transmite a otro, o también es posible especificar el momento exacto en donde un
nodo se desplaza a otro sitio dentro o fuera del área de trabajo, dando las coordenadas X, Y y Z.
El script está escrito utilizando lenguaje OTcl como ya antes lo habíamos mencionado, por lo que
la extensión de este archivo es *.tcl, Para abrir un script se puede utilizar la línea de comandos en la
Terminal de Ubuntu.
Ejm.
“nsnombre_del_script.tcl”
3.10. The Network Animation (NAM)
Es un software que viene incluido en el paquete del NS-2, aunque es externo al desarrollo del
simulador. Esta herramienta está basada en lenguaje Tcl y nos permite ver de una manera gráfica en la
computadora como se va desarrollando la simulación.
45
En esta dicha grafica se pueden observar los nodos, los paquetes enviados y los paquetes caídos, todo
esto gracias al archivo que genera el NS-2. En la figura 3.3 Se puede observar la interfaz de la NAM; en
esta podemos ver claramente como cuenta con botones muy intuitivos para la simulación grafica de algún
escenario. También es posible simular adelantos y atrasos en el tiempo de simulación para poder
observar a detalle que es lo que ocurre en cada uno de los eventos que se programaron, gracias a que la
visualización no está ocurriendo en tiempo real nosotros podemos seleccionar y observar un momento
exacto de la simulación las veces que sea necesario, ya que fueron procesados y almacenados en un
archivo con extensión *.nam. Para poder ejecutar el archivo que se genera al finalizar la simulación en
el NS-2 se ejecuta un comando “nam” desde la Terminal de Ubuntu.
Figura 3.3.- Interface de Network Simulator (NAM) [14]
Con la NAM es posible simular los siguientes elementos que intervienen en una simulación:
46
a) Los nodos con su respectiva numeración.
b) Los rangos de cobertura para redes inalámbricas
c) Los enlaces entre los nodos para las redes cableadas.
d) Flujo de información que cruza entre cada nodo de la red.
e) Colas de paquetes que se forman en cada nodo.
f) Envío y caída de paquetes.
g) Caídas y levantamientos de enlaces para redes cableadas.
En la figura 3.4 Podemos observar un ejemplo de una simulación en la NAM, consistente de 5 nodos
conectados a través de una red cableada en donde podemos ver claramente cómo se simboliza la cola de
un paquete en el nodo 2 y como se envían paquetes UDP en azul y TCP en rojo. En la Figura 3.5 Se
aprecia una red inalámbrica de cuatro nodos en la que cada círculo alrededor del nodo representa el rango
de cobertura del mismo.
Figura 3.4.- Ejemplo de Network Simulator de una Red Cableada
47
Figura 3.5.- Ejemplo de Network Simulator de una Red inalámbrica
3.11. Archivos de Traza de NS-2.
Uno de los archivos más importantes de salida que se generan al finalizar la simulación es el
llamado archivo de traza con extensión *.tr, el cual registra los eventos que se desarrollan en la red. Este
tipo de archivo es una especie de tabla de datos con varias columnas que principalmente indican cada
evento de recepción y envío de paquetes, incluyendo la información, desde que nodo se envía y en cual
nodo se recibió. La estructura general de un archivo de traza tiene la siguiente configuración.
Evento Tiempo Nodo
Origen
Nodo
Destino
Tipo de
Paquete
Tamaño de
paquete
Flags ID de
Flujo
Dirección
de origen
Dirección de
destino
Numero de
secuencia
ID del
paquete
Figura 3.6. Estructura General de un archivo de traza
Figura 3.7.- Muestra de datos de un archivo de Traza
48
1.- El evento puede ser clasificado para dos tipos de redes cableadas o inalámbricas:
r = recibido en el extremo del link
+ = enqueued o puesto en cola
- = dequeued o sacado de cola
d = dropped o caído
s = enviado
f = trasmitido
2.- Representa el tiempo en que ocurre el evento.
3.- Es el nodo inicial del enlace en el cual ocurre el evento.
4.- Es el nodo al otro extremo del enlace en el cual ocurre el evento.
5.- Corresponde al tipo de paquete que puede ser, un ejemplo de TCP, CBR, UDP, ACK, entre otros
que se pueden seleccionar en el script de entrada.
6.- El tamaño de paquetes en bytes.
7.- Algunas banderas, que no son muy usadas y pueden no constar en el registro.
8.- El identificador de flujo es definido para ipv6, por lo que se usara en el futuro para análisis.
9.- Es la dirección origen que maneja internamente el simulador.
10.- Es la dirección destino manejada de igual manera que el anterior campo.
49
11.- Corresponde al identificador de secuencia de paquetes de la capa de red. Aun cuando UDP no
utiliza número de secuencia, este campo siempre tiene un valor para fines de análisis por parte del
simulador.
12.- Inicia el identificador único de paquete.
3.12.- Modelo de propagación utilizado para la simulación.
El simulador NS-2 tiene la opción de manejar diferentes modelos de propagación, lo que permite
determinar el nivel de energía o potencia con la que es recibida la señal de un paquete en la capa física
del receptor inalámbrico.
Dentro del simulador, cada capa física de los diferentes nodos inalámbricos tiene una variable que
corresponde al umbral de energía con la que debe ser recibida una señal. Se considera que la transmisión
no fue exitosa cuando la señal posee potencia por debajo del valor de dicho umbral, entonces la capa
física envía esta información a la capa MAC y esta se encarga de reportar un error y descargar el paquete.
Existen tres modelos de propagación que pueden ser implementados en el simulador NS.2.32 y
son los siguientes:
- Free Space
- Two-Ray Ground Reflection
- Shadowing
Para este trabajo elegí el segundo modelo denominado Two-Ray Ground Reflection, dado que es un
modelo mucho más realista que Free Space debido a que en la práctica muchas veces existen más de dos
caminos entre el receptor y el emisor, parámetro que no considera el modelo Free Space.
50
3.13. TraceGraph. Hoy en día la simulación de redes es una increíble utilidad para saber con exactitud el desempeño
y el comportamiento de casi todos los tipos de redes (LAN, Wireless, Satelitales, Sensoriales, etc.).
Ahora bien los simuladores existen en el mercado pueden llegar a ser muy complejos y costosos como
es el caso de OPNET ya sea por sus capacidades de uso, su sintaxis para crear simulaciones y su
interpretación de resultados. Es por esto que se hace necesario el uso de una herramienta que nos facilite
la interpretación y el entendimiento de los resultados generados por las simulaciones; TraceGraph se
encarga de esto. TraceGraph es una herramienta libre, para traficar y especialmente analizar las trazas
generadas (*.tr) por el simulador de redes NS-2.
Para el funcionamiento de TraceGraph es necesario tener instalado en nuestro sistema ciertas
librerías de Matlab y un convertidor de archivos tr (generados por el simulador), para manejar archivos
TraceGraph. Esta librería es llamada TraceConvert. La gran problemática que ha existido en el ámbito
de analizar los resultados generados por las simulaciones es que los graficadores utilizados como el
Xgraph, no soportan en su estado normal los distintos tipos de trazas existentes, sin existir tampoco
ningún tipo de convertidor de formato de archivos que sea automático.
Los tipos de traza que TraceGraph soporta, gráfica y analiza son los siguientes:
- Wired.
- Satellite.
- Wireless (old and new trace).
- New trace.
- Wired-wireless.
51
Actualmente TraceGraph existe en su versión 2.05, pero en su página oficial es posible descargar la
versión compilada 2.02. La versión con la cual se realizó este trabajo fue la 2.05.
3.14. Características de TraceGraph. Las características más importantes de TraceGraph 2.05 son las siguientes:
Posibilidad de exportar la información a cientos de tipos de gráficos 2D.
Posibilidad de exportar la información a 12 tipos de gráficos 3D.
Algunos de los gráficos y análisis que se pueden realizar son los siguientes:
Delays (retrasos).
Jitters (variaciones).
Tiempos de procesamiento.
Round Trip Times (RTT).
Throughput.
Estadísticas.
Es posible obtener información y estadísticas de la red entera y relaciones entre los nodos (links)
con una aplicación del TraceGraph llamada “Network Information”.
Información en los ejes X, Y y Z como mínimos, máximos y desviaciones.
Todo script al ser procesado es analizado automáticamente.
52
Capítulo 4. Evaluación del desempeño DSDV.
Se analiza el comportamiento de varios nodos móviles y estáticos con una red inalámbrica
utilizando un protocolo de enrutamiento vector distancia, para ser más específicos el protocolo DSDV
(Destination-Sequenced Distance-Vector), en un área 600 por 600 metros trabajando sobre una red Ad-
hoc. La siguiente tabla muestra el resumen de los parámetros utilizados para el análisis, mostrando las
variantes en los escenarios las cuales serán el número de nodos, la posición de los nodos y los
movimientos que estos realicen durante el tiempo de la emulación.
Tabla 4.1.- Características de los escenarios a simular.
Nombre del
Parámetro Valor Descripción
ChannelType Channel/WirelessChannel Tipo de Canal Inalámbrico
Netif Phy/wirelessPhy Modelo de Radio-Propagación
MAC Protocol Mac/802_11 Tipo de Interfaz de Red
Number of Nodes 5/10/20/40 Numero de Nodos a analizar
RoutingProtocol DSDV Protocolo de enrutamiento
GridSize 600x600 Tamaño del área de trabajo
PacketSize 512 Tamaño de Paquetes
Simulation Time 150 Tiempo de Simulación
Topology Random Topología Dinámica
Es importante mencionar que la característica de los enlaces en todos los nodos es la siguiente; una
conexión TCP con un flujo de datos FTP y un tamaño de paquete máximo de 512Mb y este modelo se
repite en cada uno de los nodos.
53
4.1. Medidas de desempeño.
He realizado un extracto de las medidas de desempeño de una red inalámbrica obtenidas de una
gran cantidad de trabajos libros, tesis y artículos, obteniendo las ecuaciones necesarias para calcular las
medidas de desempeño más representativas dentro de las redes inalámbricas.
En este capítulo agrego las ecuaciones necesarias para calcular las medidas más representativas, aunque
no haremos estos cálculos de forma analítica dada la complejidad de estos. Los mostramos para una
mejor compresión de lo que se está calculando en el simulador junto con su complemento Tracergraph y
agregamos un análisis de la distribución del tráfico y pérdidas dentro de una red Ad-hoc. Para evaluar el
desempeño de los protocolos de enrutamiento propuestos utilizamos las siguientes medidas de
desempeño.
Throughput
El rendimiento o Throughput se define como la máxima taza de transferencia que se puede
alcanzar en una transmisión entre elementos terminales (end-to-end) [10]. En otros palabras, es la
cantidad total de información que es recibida en los nodos receptores por unidad de tiempo y se mide en
bits por segundos (bps).
𝑇ℎ𝑟𝑜𝑢𝑔ℎ𝑝𝑢𝑡 =𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑐𝑖ó𝑛
𝑅𝑇𝑇[𝑘𝑏𝑝𝑠]
RTT = Round Trip Time (Tiempo que tarda un paquete en ir y volver del cliente servidor)
Tasa promedio de entrega
La tasa promedio de entrega es la fracción de paquetes que llegan a su destino por el número total
de paquetes enviados en la red, regularmente medida en porcentaje.
𝑇𝑎𝑠𝑎 𝑑𝑒 𝑒𝑛𝑡𝑟𝑒𝑔𝑎 = 𝑃𝑎𝑞𝑢𝑒𝑡𝑒𝑠 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑜𝑠
𝑃𝑎𝑞𝑢𝑒𝑡𝑒𝑠 𝑒𝑛𝑣𝑖𝑎𝑑𝑜𝑠𝑥 100
54
Retardo promedio de extremo a extremo
El retardo promedio de extremo a extremo se expresa como el tiempo promedio que requieren
todos los paquetes de datos que han sido entregados en su destino. Donde el retardo del paquete i-ésimo
se expresa como Tri – Tsi. Asumiendo que j paquetes son entregados en destino.
𝑅𝑒𝑡𝑎𝑟𝑑𝑜 = ∑ 𝑗𝑇𝑟𝑗 − 𝑇𝑠𝑗
𝑃𝑎𝑞𝑢𝑒𝑡𝑒𝑠 𝐸𝑛𝑡𝑟𝑒𝑔𝑎𝑑𝑜𝑠[𝑠]
Latencia
La latencia representa el tiempo promedio que le toma a los protocolos de enrutamiento reactivos
para realizar el descubrimiento de una trayectoria de comunicaciones.
En este capítulo se presentan los resultados entregados después de evaluar el protocolo de
enrutamiento DSDV en el simulador y a través del uso de la herramienta TraceGraph. Analizando los
archivos de traza de extensión *.tr con TraceGraph y visualizando de una forma gráfica los escenarios
con la herramienta NAM, esto es ingresando los archivos con exención *.nam. También evaluaremos el
desempeño del DSDV tomando en cuenta el número de nodos como parámetro. La herramienta NAM
(Network Animador Simulation) es un software incorporado en el paquete NS- 2 Allinone. Con esta
evaluación también sabremos si todos los paquetes han llegado a su destino correctamente o se han caído
en el medio. De forma gráfica se puede observar en la simulación como los paquetes van llegando uno
a uno a su destino y como algunos paquetes terminan perdidos. La NAM puede ser directamente
invocada desde el archivo script o desde la terminal del Sistema Operativo, teniendo previamente el
archivo con extensión *.nam. Con estas herramientas es posible analizar la simulación DSDV con
diferente número de nodos en el mismo escenario, apoyándose de gráficos realizados en dos o tres
dimensiones. Estos gráficos se generan con un programa llamado TraceGraph ya antes mencionado.
55
La secuencia de comandos de la NAM se almacenan en un archivo con exención *.nam y los archivos
de traza para TraceGraph se almacenan en un archivo con exención *.tr. Es importante mencionar que
el simulador “Network Simulator 2” genera los archivos de traza para las demás herramientas. La
Simulación se divide en cuatro partes sobre la base del número de nodos, este es el parámetro que varía
con cada uno de los escenarios como se muestra en la tabla 5.1, donde indica que se evaluaran 5, 10, 20,
40 nodos.
La comparación del rendimiento de este protocolo, se hará basado en el número de nodos y en
los siguientes parámetros: Paquetes enviados, paquetes recibidos, paquetes perdidos, paquetes
entregados, productividad y promedio de retraso.
4.1. Escenario 1 simulación del protocolo DSDV con 5 nodos.
Como primera instancia se realiza la simulación con tan solo cinco nodos, los cuales tiene una
posición inicial que va variando conforme avanza la simulación. Esto permite probar dicho protocolo en
calidad a diferentes distancias del emisor o receptor según sea el caso. Los nodos transmiten su
información siempre y cuando estén bajo la cobertura del rango de comunicación. Cuando un nodo en
particular esta fuera del rango, sus paquetes pueden ser recibidos por otro nodo que este en el área de
cobertura y reenviarlos al nodo destino. En la figura 4.1 se puede ver claramente que el ruteo entre varios
nodos en un particular instante puede retrasmitir los datos entre ellos. Por ejemplo el nodo 0 envía un
paquete al nodo 1, por lo que utiliza el nodo 4 para retransmitir esos datos, como se muestra en la Figura
4.1.
Algunos de los nodos cambian de posición aleatoriamente. Esta propiedad fue asignada en el script del
simulador para dar un mayor realismo a la hora de simular el escenario, lo que propicia que algunos
56
nodos quedaran fuera del rango de cobertura2. A su vez, esto provoca que los paquetes enviados por los
nodos que están fuera del área de cobertura no sean enviados completamente, creando un efecto llamado
“PacketsDropped” (paquetes caídos). Durante la simulación dichos paquetes se mostraran de forma
gráfica sobre la NAM, pudiendo observarse en tiempo real como los paquetes caídos salían del nodo
representado por cuadrados negros, de forma que el simulador indica que dicho nodo tiene paquetes
caídos. Es importante mencionar que el problema de los paquetes caídos no solo se presentó en los nodos
que estaban fuera del área de cobertura sino también en los nodos que se encontraban dentro del rango
de cobertura, aunque en mucho menor porcentaje.
En la figura 4.2 muestra una imagen tomada con la herramienta TracertGraph de la simulación hecha de
150 segundos donde podemos observar varios parámetros captados durante dicha simulación, parámetros
como el total de paquetes generados, paquetes enviados, paquetes recibidos, paquetes perdidos y
promedio de retraso entre otros. En la Figura 4.3 podemos ver una gráfica que muestra la evolución del
Throughput (rendimiento) de los paquetes recibidos durante el tiempo de la simulación.
Figura 4.1.- Simulación en la NAM de 5 nodos, enviando y recibiendo paquetes.
2 El estándar 802.11 b tiene un alcance máximo de transmisión de datos de 100 metros en espacios libres.
57
Figura 4.2.- Detalles de la simulación, instantánea tomada del archivo de Tracertgraph.
Figura 4.3.- Grafica del Throughput de los paquetes recibidos contra el tiempo de simulación.
58
Figura 4.4.- Grafica del Throughput de los paquetes enviados contra el tiempo de simulación.
La Figura 4.4 muestra de extremo a extremo el retraso de la Frecuencia de Distribución. La frecuencia de
distribución es el pico en el arranque, conforme va transcurriendo el tiempo en la simulación, esta se va reduciendo
de extremo a extremo aumentando el tiempo de demora.
Figura 4.5.- Grafica de los Dropped Packets (paquetes caídos).
59
En la Figura 4.5, nos muestra la distribución acumulada. Cuando el tiempo de retraso es cada vez mayor,
el retraso acumulado aumenta invariablemente hasta los 15 segundos, y luego se hace constante.
Figura 4.6.- Grafica que muestra la Frecuencia de Distribución.
Figura 4.7.- Grafica que muestra da Distribución acumulativa
60
4.2. Escenario 2 simulación DSDV con 10 nodos.
Para este caso, se realizó una simulación con 10 nodos. Aquí también se analizaron los archivos
de la NAM y el archivo dsdv10-simple.tr, que fueron generados cuando se ejecutó el archivo dsdv10-
wrls.tcl, el cual es un script es que contiene todos los parámetros en forma de línea de comandos,
necesarios para poder generar la evaluación dentro del NS-2 y poder generar los archivos de traza.
La figura 4.6 muestra el flujo de los paquetes entre distintos nodos, se puede ver en esta figura los
paquetes perdidos, como es el caso del nodo 5. También se puede ver como los nodos cambiaron de
posición respecto a la simulación anterior, además de ir modificando está según va avanzando la
simulación para dar a esta simulación un ejerció cercano a la realidad. La Figura 4.7 muestra los detalles
de la simulación con diez nodos. Las Figuras 4.8 y 4.9 Muestran la productividad de los paquetes
recibidos y de los paquetes enviados, los cuales están graficados contra en tiempo que duro la simulación
respectivamente. La Figura 4.12, muestra los paquetes perdidos en varios nodos.
Figura 4.8.- Simulación en la NAM de 10 nodos, enviando y recibiendo paquetes y mostrando paquetes
perdidos durante la simulación.
61
Figura 4.9.- Detalles de la simulación con 10 nodos, instantánea tomada del archivo de Tracertgraph.
Figura 4.10.- Grafica del Throughput de los paquetes recibidos contra el tiempo de simulación.
62
Figura 4.11.- Grafica del Throughput de los paquetes enviados contra el tiempo de simulación.
Figura 4.12.- Grafica de los Dropped Packets (paquetes caídos).
63
Figura 4.13.- Grafica que muestra la Frecuencia de Distribución.
Figura 4.14.- Grafica que muestra da Distribución acumulativa.
En la figura 4.13, podemos observar la frecuencia de distribución; la figura 4.14 muestra la
distribución acumulativa a lo largo de la simulación de inicio a fin en donde se puede observar como el
retraso se hace constante cerca del segundo 5.
64
4.3 Escenario 3 simulación DSDV con 20 nodos.
Una vez realizadas las evaluaciones del en los scripts del protocolo DSDV con 5 y 10 nodos, se
aumentará considerablemente el número de nodos al doble. Al tratarse de 20 nodos, se incrementa
considerablemente el tráfico con el objetivo de poder observar la afectación en la calidad del servicio.
Considerando parámetros como el Througput, el retraso de extremo a extremo y los paquetes caídos para
20 nodos.
En la Figura 4.15 podemos observar el área de cobertura de cada uno de los nodos, el flujo de
paquetes entre los diferentes nodos y el descubrimiento de las rutas; en la simulación de la NAM también
pudimos observar cómo se transmitían y retransmitían los paquetes a través de los nodos, mientras que
varios de los nodos cambiaban de posición en el área de trabajo dentro de los ejes X, Y y Z. En la Figura
4.16 podemos observar en detalle cada uno de los parámetros obtenidos por el analizador de trazas
TraceGraph. Los datos más representativos son la longitud del tiempo de simulación, el número de nodos
analizados, la cantidad de paquetes generados y los paquetes enviados, entre otros. En las Figuras 4.17
y 4.18 podemos observar dos gráficos en 2D, en los que nos es posible analizar el Througput
(Productividad) de los paquetes enviados y los paquetes recibidos.
La Figura 4.19 nos muestra un gráfico en 3D en donde podemos observar entre que nodo y que
nodo hubo perdida de paquetes o paquetes caídos. Las figuras 4.20 y 4.21 muestran la Frecuencia de
distribución y la Distribución Acumulativa respectivamente, en donde podemos observar que
aproximadamente al minuto 8 alcanza un máximo y se mantiene constante para el resto del tiempo de la
simulación.
65
Figura 4.15.- Simulación en la NAM de 20 nodos, enviando y recibiendo paquetes
Figura 4.16.- Detalles de la simulación con 20 nodos, instantánea tomada del archivo de Tracertgraph.
66
Figura 4.17.- Gráfica del Throughput de los paquetes enviados contra el tiempo de simulación.
Figura 4.18.- Grafica del Throughput de los paquetes recibidos contra el tiempo de simulación.
67
Figura 4.19.- Grafica que muestra los Paquetes Caídos (Dropped Packets).
Figura 4.20.- Grafica que muestra la Frecuencia de Distribución.
68
Figura 4.21.- Grafica que muestra la Distribución Acumulativa.
4.4. Escenario 4.- simulación DSDV con 40 nodos.
Por último, se ha incrementado el número de nodos a 40. Para esta simulación del protocolo
DSDV en Network Simulator, se midieron los mismos parámetros como lo hicimos en las tres
simulaciones anteriores, el Througput y el retraso que se presentan en cada uno de los escenarios. Ahora
se muestra en la Figura 4.22 una instantánea tomada a la simulación grafica de la NAM, esta vez con los
40 nodos. La Figura 4.23 muestra el resumen de todos los parámetros obtenidos gracias a TraceGraph.
En las figuras 4.24 y 4.25 podemos observar dos graficas en 2d que muestran el Througput de los
paquetes enviados y los paquetes recibidos durante el transcurso de la simulación. Las Figuras 4.24 y
4.25 muestran la Frecuencia de Distribución y la Distribución acumulativa respectivamente.
69
Figura 4.22.- Simulación en la NAM de 40 nodos, enviando y recibiendo paquetes
Figura 4.23.- Detalles de la simulación con 40 nodos, instantánea tomada del archivo de Tracegraph.
70
Figura 4.24.- Grafica del Throughput de los paquetes enviados contra el tiempo de simulación.
Figura 4.25.- Grafica del Throughput de los paquetes recibidos contra el tiempo de simulación.
71
Figura 4.26.- Grafica que muestra los Paquetes Caídos (Dropped Packets).
Figura 4.27.- Grafica que muestra la Frecuencia de Distribución.
72
Figura 4.28.- Grafica que muestra la Distribución Acumulativa.
Capítulo 5. Resultados y Conclusiones.
A medida que fuimos aumentando el número de nodos para llevar a cabo la simulación del
protocolo de enrutamiento DSDV, el número de paquetes enviados y recibidos fue cambiando y a su vez
este fue modificando el rendimiento del protocolo en cada una de los escenarios simulados. El Througput
se define como la relación de paquetes entregados al destino, entre los paquetes enviados por cada uno
de los nodos fuente. El promedio de retraso de extremo a extremo de la simulación es el tiempo promedio
que tarda un paquete el llegar a su destino. La tabla 5.1 muestra la diferencia entre los parámetros que
consideramos más importantes para evaluar la eficiencia del modelo DSDV, los parámetros estudiados
son los paquetes generados, paquetes enviados paquetes perdidos paquetes caídos y Througput, en los
cuales se puede observar cómo cambian conforme se aumenta el número de nodos en cada uno de los
diferentes escenarios.
73
Comparación de Nodos VS Parámetros 5n 10n 20n 40n
Paquetes Generados 32163 27581 27855 28529
Paquetes Enviados 32055 27339 27472 27948
Paquetes Perdidos 38 62 123 170
Paquetes Caídos 145 305 501 750
Paquetes Entregados 31980 27214 27231 27609
Productividad 0.994 0.987 0.978 0.968
Promedio de Inicio a Fin de Retraso 0.19 0.67 0.93 1.33
Tabla 5.1.- Comparación de los diferentes parámetros contra el número de nodos en cada una de las
simulaciones.
En la figura 5.1 podemos observar el número total de paquetes enviados. Estos van disminuyendo
conforme aumenta el número de nodos, mientras que el número de paquetes 100% entregados es mucho
mayor a menor cantidad de nodos. Aunque es posible observar que la medida se mantuvo constante en
los escenarios de 10 y 20 nodos, también se hizo evidente la reducción en la eficiencia del protocolo
DSDV a mayor cantidad de dispositivos.
Un aspecto similar se presenta en la cantidad de paquetes recibidos, ya que se confirma que hay
un mayor porcentaje de paquetes recibidos a menor cantidad de nodos. Este caso se puede ver reflejado
en la figura 5.2.
La grafica de la figura 5.3 muestra los paquetes perdidos a lo largo de la simulación y su comparación
contra el número de nodos en cada una de las simulaciones. En este podemos ver a simple vista como
hay una mayor cantidad de paquetes perdidos a medida que se incrementa la cantidad de nodos.
Con respecto al promedio de retraso en la entrega de paquetes entre nodos, podemos ver en la
figura 5.4 como el promedio de retraso en la simulación de cinco nodos fue de 0.19 segundos y el la
simulación de 40 nodos fue de 1.33 segundos, habiendo un incremento de 1.14 segundos, los que nos
permite asegurar que este protocolo es mucho más eficiente a menor cantidad de nodos.
74
Figura 5.1.- Paquetes Enviados contra el número de nodos.
Figura 5.2.- Paquetes Recibidos contra el número de nodos.
Figura 5.3.- Paquetes Perdidos contra el número de nodos.
75
Figura 5.4.- Promedio de retraso contra el número de nodos.
Figura 5.5.-Througput contra el número de nodos.
El resultado en la figura 5.5 resulta ser el más conciso debido a que muestra una gráfica del
Througput evaluando el número de nodos en aumento con respecto a cada escenario de simulación. En
esta grafica se ve claramente como la efectividad del protocolo de enrutamiento inicia en un valor de
99.4% en la simulación de 5 nodos, mientras que en la de 10 y 20 nodos va disminuyendo paulatinamente
hasta llegar a 96 %.
76
5.1 Conclusiones.
Es claro que los protocolos de enrutamiento en las redes móviles inalámbricas son un aspecto
muy importante para ayudarnos a evaluar el desempeño de una red, los puntos que planteamos en el
Capítulo 1 y 2 de este trabajo nos permitieron tener una visión más amplia del funcionamiento de las
redes inalámbricas en modo de trabajo Ad-hoc. Además de presentar un estudio de protocolos y una
herramienta para el análisis de eventos discretos en las redes de datos, logré comparar el desempeño del
protocolo de enrutamiento DSDV en varios escenarios, midiendo parámetros como paquetes enviados,
paquetes recibidos, Througput y promedio de retraso de los paquetes de inicio a fin en la simulación.
Corroboré el comportamiento de las redes y los resultados de operación, mientras se incrementaba el
número de nodos en cada uno de los escenarios de simulación planteados, además, de recrear un escenario
más apegado a un entorno real que permitiera simular el movimiento de algunos nodos aleatoriamente
para hacer de los resultados más confiables.
Los resultados obtenidos gracias a las herramientas utilizadas y descritas aquí, me permiten
concluir lo siguiente:
- El número de paquetes generados va disminuyendo conforme va aumentado el número de nodos
involucrados en la red, con 5 nodos se generaron 32163 paquetes y disminuyo hasta 28528.
- A medida que fueron incrementando la cantidad de nodos en los diferentes escenarios, el
porcentaje de paquetes que se enviaron en relación a los paquetes que se generaron fue de 99.66%
en una red con 5 nodos hasta llegar a 97.96 en la red de 40 nodos. Con estos valores se puede
comprobar que el protocolo DSDV tiene porcentajes eficientes en lo que se refiere a la cantidad
de tráfico con la que puede trabajar en diferentes dimensiones de red. Por lo cual es recomendable
este protocolo cuando se trabaja con redes de hasta 40 nodos.
- El número de paquetes perdidos y paquetes caídos va en incremento conforme se incrementa el
77
número de nodos.
- La eficiencia del protocolo DSDV disminuye con el aumento del número de nodos. La tasa de
paquetes entregados en relación al número paquetes enviados es baja cuando el número de nodos
es grande.
- El retraso promedio que tarda un paquete de datos en llegar a su destino es menor para un gran
número de nodos.
- El protocolo de enrutamiento DSDV se comporta de forma efectiva en términos de promedio de
retraso en la entrega de paquetes entre nodos, resultando muy eficiente independientemente del
incremento en el número de nodos.
- Otro punto, no menos importante, fue la elección del sistema operativo para instalar el simulador.
La Tesis “Propuesta de implantación de un laboratorio de simulación para redes de
telecomunicaciones”, propone una distribución de Linux llamada Red Hat Enterprise 5, que
resulta ser una distribución muy robusta y compleja para instalar y manipular por los usuarios.
Dicho trabajo dedica cuarenta hojas solo para explicar cómo instalarlo, nosotros proponemos usar
Linux Ubuntu debido a que es un sistema operativo mucho más intuitivo, con soporte constante,
que permite a los usuarios adaptarse rápidamente si cuando cuentan con experiencia en utilizar
plataformas Microsoft.
- Considero que este trabajo puede fungir como plataforma de despegue para futuros trabajos
relacionados con el análisis y evaluación de todo tipo de redes de datos, como parte fundamental
en el análisis, implementación y creación de nuevos protocolos de enrutamiento.
78
Índice de Términos.
Access Point: También llamado punto de acceso inalámbrico (WAP o AP por sus siglas en inglés:
Wireless Access Point), es un dispositivo que interconecta dispositivos de comunicación alámbrica para
formar una red inalámbrica. Normalmente un WAP también puede conectarse a una red cableada y
puede transmitir datos entre los dispositivos conectados a la red vía cable y dispositivos inalámbricos.
Ad-hoc: En redes de comunicación, una red ad hoc es aquella (especialmente inalámbrica) en la que no
hay un nodo central, sino que todos los dispositivos están en igualdad de condiciones. Ad hoc es el modo
más sencillo para el armado de una red. Sólo se necesita contar con 2 placas o tarjetas de red inalámbricas
de la misma tecnología. Una vez instaladas en los PC se utiliza el software de configuración del
fabricante para establecer el modo Ad-hoc, definiendo el identificador común que utilizarán (SSID).
Backbone: Es la infraestructura de la transmisión de datos en una red o un conjunto de ella. Es el nivel
más alto en una red jerárquica.
Bluetooth: Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal
(WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace
por radiofrecuencia en la banda ISM de los 2.4 GHz.
End-to-End: Punto a punto, se refiere a un tipo de conexión existente entre los extremos de una red, es
decir, entre dos dispositivos. También es utilizado en la simulación para describir que se analiza este de
inicio a fin y no un determinado momento en toda la escena.
Enrutamiento: Enrutamiento o ruteo es la función de buscar un camino entre todos los posibles en una
red de paquetes cuyas topologías poseen una gran conectividad. Dado que se trata de encontrar la mejor
ruta posible, lo primero será definir qué se entiende por mejor ruta y en consecuencia cuál es la métrica
que se debe utilizar para medirla.
79
Gateway: Puerta de enlace, acceso, pasarela. Nodo de una red que sirve de punto de acceso a otra red.
Jitter: Variación en cuanto a la cantidad de latencia entre paquetes de datos que se reciben en un nodo.
Latencia: En redes informáticas de datos se denomina latencia a la suma de retardos temporales dentro
de una red. Un retardo es producido por la demora en la propagación y transmisión de paquetes dentro
de la red.
Matlab: Es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje
de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple
(Mac OS X).
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y
funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI), la comunicación
con programas en otros lenguajes y con otros dispositivos hardware.
Multicast: Es la comunicación de un solo emisor y varios receptores dentro de una red.
Peer-to-peer: Red de pares, red entre iguales, red entre pares o red punto a punto (P2P, por sus siglas en
inglés) es una red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores
fijos, sino una serie de nodos que se comportan como iguales entre sí. Es decir, actúan simultáneamente
como clientes y servidores respecto a los demás nodos de la red.
Router (Enrutador): Dispositivo hardware para interconexiones de redes de computadoras que opera
en la capa 3 del modelo OSI. El router interconecta segmentos de red o redes enteras. Hace pasar
paquetes de datos entre redes tomando como base la información de la capa de red.
80
Simulación por eventos discretos: Es una técnica informática de modelado dinámico de sistemas, esta
se caracteriza por un control en la variable del tiempo que permite avanzar a éste a intervalos variables,
en función de la planificación de ocurrencia de tales eventos a un tiempo futuro.
Script: Se refiere en informática a un guion, archivo de órdenes o archivo de procesamiento por lotes,
vulgarmente referidos con el barbarismo script. Es un programa usualmente simple, que por lo regular
se almacena en un archivo de texto plano. Los guiones son casi siempre interpretados, pero no todo
programa interpretado es considerado un guion. El propósito habitual de los guiones es realizar diversas
tareas como combinar componentes, interactuar con el sistema operativo o con el usuario. Por este uso
es frecuente que los shells sean a la vez intérpretes de este tipo de programas.
Switch (conmutador): Dispositivo que permite la interconexión de redes, pertenece a la capa 2 del
modelo OSI.
Telnet: Sistema que permite conectarse a un host o servidor donde la computadora cliente hace de
terminal virtual de la computadora del servidor. Entre otras palabras, Telnet es un protocolo que permite
acceder mediante una red a otra máquina y manejarla siempre en modo terminal, no contiene interfaz
gráfica.
Throughput: Volumen de información que fluye en un red de datos, volumen de información por unidad
de tiempo que se entrega, mediante un medio físico o lógico.
Tiempo de simulación: Es el valor del tiempo que el simulador puede avanzar a una velocidad superior
a la habitual de un reloj común, evolucionando así el estado de un sistema de forma acelerada.
Unicast: Protocolos o dispositivos que pueden transmitir paquetes de datos de una dirección IP a otra
directamente.
81
Wireless: Termino usado para describir las telecomunicaciones en las cuales las ondas electromagnéticas
(en vez de cables) llevan la señal sobre parte o toda la trayectoria de la comunicación.
82
Acrónimos.
ADSL: (Asymmetric Digital Subscriber Line), Línea de Suscriptor Digital Asimétrica.
ATM: (Asynchronous Transfer Mode), Modo de Transferencia Asíncrono.
ARPANET: (Advanced Research Projects Agency Network), Agencia de Proyectos de Investigación
para la Defensa.
CBR: (Constant Bit Rate), Tasa de Transferencia Constante.
DSDV:(Destination-Sequenced Distance Vector), Destino-Secuencia Vector Distancia.
FDDI: (Fiber Distributed Data Interface), Interfaz de Datos Distribuida por Fibra.
FIFO: (First In, First Out), Primero en entrada, Primero en salir.
FTP: (File Transfer Protocol), Protocolo de transferencia de Archivos.
HTTP: (Hyper Text Transfer Protocol), Protocolo de Transferencia de Archivos.
IEEE: (Institute of Electrical and Electronics Engineers), Instituto de Ingenieros Eléctricos y
Electrónicos.
IP: (Internet Protocol), Protocolo de Internet.
ISO: (International Standard Organization), Organización Internacional para la Estandarización.
ITU: (International Telecommunication Union), Unión Internacional de Telecomunicaciones.
LAN: (Local Area Network), Red de Área Local.
MANET: (Mobile Ad-hoc Network), Redes Móviles Ad-hoc.
NAM: (The Network Animation), Simulador de Redes.
NS: (Network Simulator), Simulador de Redes.
OSI: (Open System Interconnection), Modelo de Interconexión de Modelos Abiertos.
PAN: (Personal Area Network), Redes de Área Personal.
PDA: (Personal Digital Assistant), Asistente Digital Personal.
SFQ: (Stochastic Fairness Queuing), Encolamiento Justo Estocástico.
TCL: (Tool Command Language), Lenguaje de Herramientas de Comando.
TCP: (Transmission Control Protocol), Protocolo de Control de Transmisión.
83
RTT: (Round Trip Time) Tiempo que tarda un paquete en ir y volver del cliente al servidor.
UBR: (Unspecified Bit Rate), Tasa de Transferencia no especifica.
UDP: (User Datagram Protocol), Protocolo de nivel de transporte basado en el intercambio de
datagramas.
WAN: (Wide Area Network), Red de Área Amplia.
84
Bibliografía
2003
ANDREW S. TANENBAUM,
Redes de computadoras, Editorial Prentice Hall, Cuarta Edición, págs. 21-26,350-360
2004
WILLIAM STALLINGS, Comunicaciones y Redes de Computadoras, Editorial Prentice Hall, Séptima
Edición, págs. 109-126, 398-401, 642-675, año.
2004
MARTINEZ BONASTRE Y CARLOS PALAV SALVADOR, Introducción a la Programación de
Protocolos de Comunicaciones con Network Simulator 2, Oscar, “Editorial Club Universitario”.
2007
FABIÁN CAMACHO LOYOLA, TraceGraph y sus Numerosas Utilidades, Universidad Tecnológica
Metropolitana, Ingeniería Civil en Computación.
1991
RAJ JAIN, The Art of Computer Systems Performance analysis, Editorial Wiley & Sons, Inc.
2005
ROBERTO SUBIELA RULA, Simulación de protocolos de enrutamiento en redes móviles Ad Hoc
con NS-2, Universidad Politécnica de Valencia.
2004
STEFANO BASAGNI, MARCO CONTI, SILVIA GIORDANO, IVAM STOJMENOVIC, Mobile
Ad Hoc Networking, Editorial Wiley Interscience, págs. 275-296
2009
BRISEÑO ALBARES EDWIN, MARIEL LOPEZ OMAR, SANCHEZ GOMEZ FIDEL, Tesis:
Propuesta de implementación de un laboratorio de simulación para redes de telecomunicaciones, Instituto
Politécnico Nacional, 2009.págs. 13-52
RAMIRO PERALTA Y FELIX MASAO, Interferencia y control de potencia de redes ad hoc.
Datos y descarga del Sistema operativo Ubuntu
http://doc.ubuntu-es.org/Sobre_Ubuntu
Tutorial de NS-2
http://www.isi.edu/nsnam/ns/tutorial/index.html
85
Referencias.
[1] Cisco Networking Academy, CCNA Exploration, Conceptos y Protocolos de enrutamiento, Versión 4,
Pag. 6 y 7.
[2] Anuj K. Gupta, harsh Sadawarti, Anil K. Verma, Review of Various Routing Protocols for
MANET’s, International Journal of Information and Electronics Engineering, Vol. 1, Pag. 251-258,
2011.
[3] Martha Steenstrup. Routing in Comunications Networks, Prentice Hall, Pag. 84-87 y 135-138,
1995.
[4] G. Jayakumar and G. Ganapathy, Performance Comparison of Mobile Ad hoc Network Routing Protocol,
International Journal of Computer Science and Network Security, Vol 7, No. 11 pag. 77-74, Noviembre 2007.
[5] C. E. Perkins, P. Bhagwat. "Highly Dynamic Destination-Sequenced Distance-Vector Routing
(DSDV) for Mobile Computers". Proceedings of ACM SIGCOMM'94. Londres, Oct. 1994, pp. 234-244.
[6] C. Perkins, E. Belding-Royer, S. Das. RFC 3561 "Ad hoc On-Demand Distance Vector (AODV)
Routing", Jul. 2003.
[7] Z. J. Haas, R. Pearlman. "Zone Routing Protocol for Ad-Hoc Networks". IETF Internet Draft,
draftietf-manet-zrp-02.txt, 1999.
[8] C.-C. Chiang. "Routing in Clustered Multihop Mobile Wireless Networks with Fading Channel".
Proceedings of IEEE SICON '97, Abr. 1997, pp. 197-211.
[9] S. Basagni, I. Chlamtac, V. R. Syrotivk, B. A. Woodward. "A Distance Effect Algorithm for
Mobility (DREAM)", Proceedings of the Fourth Annual ACM/IEEE International Conference on Mobile
Computing and Networking (Mobicom '98), Dallas, Texas, 1998.
[10] D. B. Johnson, D. A. Maltz. "DSR: The Dynamic Source Routing Protocol for Multihop Wireless
Ad Hoc Networks".
[11] V. D. Park, M. S. Corson. "A Highly Adaptive Distributed Routing Algorithm for Mobile Wireless
Networks". Proceedings INFOCOM '97, Abr. 1997.
[12] Eduardo Magaña, Edurne Izkue, Manuel Prieto, Jesús Villangos, Comunicaciones y redes de
Computadoras, Problemas y ejercicios resueltos, Editorial Prentice Hall, Año 2003, Pag. 88-91.
[13] Ramiro Peralta Y Felix Masao, Interferencia y control de potencia de redes ad hoc, Universidad
Nacional de Asunción, Paraguay.
[14] Martínez Bonastre y Carlos Palav Salvador, Introducción a la Programación de Protocolos de
Comunicaciones con Network Simulator 2, Oscar, Editorial “Editorial Club Universitario”.