introduccion a la programacion de protocolos · capitulo 5 herramientas de diseÑo y anÁlisis ......

24
INTRODUCCIÓN A LA PROGRAMACIÓN DE PROTOCOLOS DE COMUNICACIONES CON NETWORK SIMULATOR 2. Autores: Oscar Martinez Bonastre Carlos Palau Salvador

Upload: truongdan

Post on 03-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

INTRODUCCIÓN A LA PROGRAMACIÓN DE PROTOCOLOS

DE COMUNICACIONES CON NETWORK SIMULATOR 2.

Autores: Oscar Martinez Bonastre

Carlos Palau Salvador

Page 2: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Título: Introducción a la programación de protocolos de comunicaciones con Network Simulator 2. Autores: © Oscar Martínez Bonastre e-mail: [email protected] © Carlos Palau Salvador e-mail: [email protected] I.S.B.N.: 84-8454-348-X Depósito legal: A-XXX-2004 Edita: Editorial Club Universitario Telf.: 96 567 38 45 C/. Cottolengo, 25 - San Vicente (Alicante) www.ecu.fm Printed in Spain Imprime: Imprenta Gamma Telf.: 965 67 19 87 C/. Cottolengo, 25 - San Vicente (Alicante) www.gamma.fm [email protected]

Reservados todos los derechos. Ni la totalidad ni parte de este libro puede reproducirse o transmitirse por ningún procedimiento electrónico o mecánico, incluyendo fotocopia, grabación magnética o cualquier almacenamiento de información o sistema de reproducción, sin permiso previo y por escrito de los titulares del Copyright.

Page 3: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

INDICE DE CONTENIDO PROLOGO ..................................................................................................11 CAPITULO 1 INTRODUCCIÓN ......................................................................................13

1.1 Introducción........................................................................................15 1.2 Objetivos.............................................................................................16 1.3 Motivación. Porqué usar NS-2 ...........................................................17 1.4 Estructura del libro .............................................................................18

CAPITULO 2 INSTALACIÓN DE NS-2 ..........................................................................21

2.1 Introducción........................................................................................23 2.2 Requerimientos ...................................................................................23 2.3 Descarga del programa. ......................................................................24 2.4 Instalación automática e instalación personalizada ............................26

CAPITULO 3 EL LENGUAJE TCL .................................................................................33

3.1 Introducción........................................................................................35 3.2 Conceptos básicos sobre Tcl...............................................................36

3.2.1 Variables ......................................................................................37 3.2.2 Comentarios.................................................................................38 3.2.3 Comillas y llaves..........................................................................38 3.2.4 Evaluación de comandos .............................................................38 3.2.5 Expresiones matemáticas.............................................................39 3.2.6 Control del Flujo..........................................................................40 3.2.7 Procedimientos ............................................................................42 3.2.8 Ámbito de las variables ...............................................................43 3.2.9 Arrays ..........................................................................................45 3.2.10 Listas..........................................................................................45 3.2.11 Carga de Ficheros ......................................................................47 3.2.12 Ficheros Entrada / Salida ...........................................................48

CAPITULO 4 FUNCIONAMIENTO EXTERNO DE NS-2 ...........................................49

4.1 Introducción........................................................................................51 4.2 Componentes del simulador. ..............................................................52 4.3 Inicio del simulador ............................................................................54

Page 4: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

4.3.1 Obtención de una salida...............................................................55 4.3.2 Configuración de eventos ............................................................57

4.4 Nodos..................................................................................................59 4.5 Enlaces ................................................................................................61

4.5.1 Distribución de los enlaces ..........................................................64 4.6 Colas ...................................................................................................67

4.6.1 Tipos de colas. .............................................................................68 4.6.2 Configuración de colas. ...............................................................73

4.7 Agentes ...............................................................................................74 4.7.1 Agentes de transporte ..................................................................77 4.7.2 Agentes de aplicación ..................................................................80

4.8 Encaminamiento (routing) ..................................................................85 4.8.1 Encaminamiento unicast ..............................................................85 4.8.2 Encaminamiento Multicast ..........................................................87

4.9 Redes de área local. ............................................................................89 4.10 Pérdidas.............................................................................................91 4.11 Trazas y monitores............................................................................93

4.11.1 Trazas.........................................................................................93 4.11.2 Monitores...................................................................................97

CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS.......................................99

5.1 Introducción......................................................................................101 5.2 Generadores de topologías de red.....................................................102

5.2.1 GT-ITM .....................................................................................102 5.2.2 BRITE........................................................................................105

5.3 Network animator (NAM) ................................................................109 5.4 GAWK..............................................................................................114 5.5 Xgraph ..............................................................................................116 5.6 GNUPlot ...........................................................................................117

CAPITULO 6 PROGRAMACIÓN DE UN NUEVO AGENTE ...................................119

6.1 Introducción......................................................................................121 6.2 Estructura interna de NS-2................................................................121 6.3 Decidir la posición del nuevo agente en la jerarquía........................123 6.4 Definir la nueva clase .......................................................................124 6.5 Implementación de los métodos. ......................................................126 6.6 Implementación de los mecanismos de enlace .................................130 6.7 Añadir los cambios en el código de NS-2 ........................................132 6.8 Recompilación de NS-2....................................................................134

Page 5: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

CAPITULO 7 SIMULACIONES .....................................................................................137

7.1 Introducción......................................................................................139 7.2 Consideraciones previas ...................................................................139 7.3 Simulación I (TCP básica)................................................................141 7.4 Simulación II (Análisis de pérdidas) ................................................148 7.5 Simulación III (Estimación ancho de banda consumido).....................157

CAPITULO 8 COMPARACIÓN DE NS-2 CON OTRAS HERRAMIENTAS DE SIMULACIÓN ...................................................................................165

8.1 Introducción......................................................................................167 8.2 OPNET .............................................................................................167 8.3 Ventajas y desventajas de NS-2 frente a Opnet................................168

CAPITULO 9 CONCLUSIONES ....................................................................................171

9.1 Conclusiones.....................................................................................173

Page 6: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

APÉNDICE

Índice de figuras

Figura 2.1. Acceso FTP a los ficheros de NS-2 con sus distintas versiones...................25 Figura 2.2. Principales paquetes de la distribución de NS-2 (vista parcial) ...................27 Figura 2.3. Componentes de NS-2 ..................................................................................28 Figura 2.4. Búsquedas en NsNam. ..................................................................................30 Figura 3.1. Operadores aritméticos. ................................................................................40 Figura 3.2. Tipos de accesos a ficheros según el valor del argumento acceso. ..............48 Figura 4.1. Estructura del proceso de simulación en NS-2. ............................................52 Figura 4.2. Parámetros SFQ. ...........................................................................................69 Figura 4.3. Parámetros DRRS.........................................................................................70 Figura 4.4. Parámetros RED. ..........................................................................................71 Figura 4.5. Parámetros CBQ/WRR.................................................................................72 Figura 4.6. Grupos de agente. .........................................................................................74 Figura 4.7. Variables de estado de un agente..................................................................75 Figura 4.8. Parámetros de los objetos de la clase TCP ...................................................79 Figura 4.9. Variables de estado de los objetos de la clase TCP ......................................80 Figura 4.10. Variables de estado de la clase Application/Traffic/Exponential.................82 Figura 4.11. Variables de estado de la clase Application/Traffic/Pareto..........................83 Figura 4.12. Variables de estado de la clase Application/Traffic/CBR ............................84

Page 7: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Figura 4.13. Modelo de canal compartido utilizado por NS-2..........................................89 Figura 4.14. Parámetros de make-lan................................................................................90 Figura 4.15. Esquema de información del archivo de traza..............................................94 Figura 4.16. Tipos de evento del simulador NS-2 ............................................................95 Figura 4.17. Traza generada entre nodos n0 a n1 (vista parcial) ......................................97 Figura 4.18. Variables de estado de los objetos de la clase Queue Monitor.....................98 Figura 5.1. Herramientas relacionadas con simulaciones de NS-2...............................102 Figura 5.2 Topología generada con GT-Itm ................................................................104 Figura 5.3: Ventana principal de BRITE ......................................................................106 Figura 5.4. Tipos de Topología en BRITE....................................................................107 Figura 5.5. Progreso de la generación de topología en BRITE.....................................107 Figura 5.6. Visualización con NAM de la topología generada con BRITE..................109 Figura 5.7. Interfaz de NAM.........................................................................................110 Figura 5.8. Funcionamiento de NAM ...........................................................................113 Figura 5.9. Gráfica generada con XGraph ....................................................................116 Figura 6.1. Estructura interna NS-2 (Vista parcial) ......................................................122 Figura 6.2. Jerarquía de clases en NS-2 (Vista parcial) ................................................123 Figura 6.3. Posición en la jerarquía de clases del nuevo agente. ..................................124 Figura.- 7.1. Topología propuesta primero.tcl.................................................................142 Figura 7.2. Visualización con NAM del escenario de simulación I..............................145

Page 8: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Figura 7.3. Resultados del escenario de simulación I. ..................................................148 Figura 7.4. Topología propuesta segundo.tcl ................................................................149 Figura 7.5. Visualización con NAM del escenario de simulación 2. ............................154 Figura 7.6. Bytes perdidos en el escenario de simulación II.........................................155 Figura 7.7. Bytes recibidos en el escenario de simulación II........................................156 Figura 7.8. Topología propuesta tercero.tcl ..................................................................158 Figura 7.9 Visualización con NAM del escenario de simulación III. ..........................161 Figura 7.10. Resultados del escenario de simulación III. ...............................................164 Figura 8.1. Comparativa NS-2 Vs OPNET...................................................................169

Page 9: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

11

PRÓLOGO

El mundo de las redes de comunicaciones está continuamente

evolucionando con la finalidad de aportar nuevas soluciones que posteriormente pueden ser comercializadas. Lógicamente, cualquier innovación en un protocolo de comunicaciones previamente ha de ser diseñada, programada, implementada así como estudiada de manera exhaustiva en un entorno adecuado de simulación.

En este libro presentamos una introducción práctica a un simulador

de redes dirigido por eventos denominado Network Simulator, consecuencia del proyecto VINT (Virtual InterNet Testbed). Network Simulator proporciona una buena plataforma para la investigación en redes ya sean alámbricas o inalámbricas avalada por una amplia difusión entre investigadores y que posee especial interés en interacciones multiprotocolo tales como protocolos de transporte, sesión, aplicación, algoritmos de encaminamiento y control de congestión.

Así pues, el propósito de este libro es introducir práctica y

rápidamente a los usuarios noveles las ideas básicas de cómo trabaja este simulador de redes, cómo diseñar las simulaciones, cómo interpretar los resultados obtenidos en la simulación y dónde encontrar más información sobre los componentes de red.

Además, todos los conocimientos son transmitidos mediante una

didáctica basada en ejemplos prácticos utilizando conceptos básicos de la simulación de redes de comunicaciones y que permiten al lector obtener una experiencia rápida para comenzar a usar Network Simulator.

Por último, en la preparación de este libro ha participado un valioso

conjunto de colaboradores. Los distintos comentarios aportados han sugerido numerosos cambios que han contribuido a la mejora del texto. No obstante, de cara al lector, cualquier posible errata así como comentarios dirigidos a mejorar esta primera edición serán bienvenidos y pueden ser enviados por correo electrónico a cualquiera de los autores.

Page 10: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Prólogo

12

Convenciones usadas en este libro:

Este símbolo identifica las partes del texto en que se especifican aclaraciones que el lector ha de tener en cuenta para la comprensión global del libro.

Este símbolo identifica que las órdenes escritas son propias de Network Simulator, necesarias para la correcta comprensión de conceptos teóricos explicados a lo largo del libro.

Este símbolo identifica las simulaciones resueltas, donde se consolidan de manera práctica los conceptos teóricos explicados a lo largo del libro.

Este símbolo identifica direcciones de Internet recomendadas al lector para obtener más información.

Page 11: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

13

Capítulo 1

INTRODUCCIÓN

Page 12: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

15

1.1 Introducción

El objetivo de este libro es el estudio de la herramienta de simulación de redes conocida como Network Simulator 2 (en adelante NS-2). NS-2 es un simulador pensado para el desarrollo de redes con un gran nivel de detalle. Entre sus características, podemos reseñar la simulación de TCP, enrutamiento e incluso implementación de protocolos multicast sobre redes inalámbricas (tanto locales como por satélite).

La idea original de este proyecto, surgió a finales de los años 80, a

partir de REAL network simulator. A mediados de los años 90, recibió el apoyo de DARPA, a través del proyecto VINT (Virtual InterNet Testbed), lo cual le proporcionó un empuje definitivo. Actualmente ha quedado en manos de un grupo de investigadores y desarrolladores de la Universidad de Berkeley, LBL (Lawrence Berkeley Laboratory), USC/ISI (University of Southern 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). 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 objetos que componen el núcleo del simulador, lo cual permite un mejor desarrollo del mismo.

El simulador está pensado para ejecutarse en cualquier distribución

de Linux, pero también existe una versión diseñada para ejecutarse sobre Windows 9x/ME/2000/XP. Sin embargo esta última versión no está testada tanto como la original, por lo que puede contener errores de funcionamiento.

Aunque la herramienta se encuentra implementada en C++, se usa un

segundo lenguaje interpretado llamado Tcl. Realmente lo que se usa es OTcl, que es la versión orientada a objetos de Tcl. Esto hace que deba existir una interacción entre ambos lenguajes dentro de la propia herramienta.

Sin embargo, podemos optar por usar únicamente Tcl cuando

debamos implementar mediante scripts la configuración de las topologías y usar C++ cuando queramos modificar la propia herramienta. Consideraremos un script como aquel programa que simula el funcionamiento de la topología de la red.

Page 13: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Capitulo 1. Introducción.

16

Debido al amplio abanico de posibilidades que ofrece el simulador, en este libro nos centraremos en la forma en la que se puede diseñar una pequeña red, y en ver cómo se distribuye el tráfico entre los nodos de la red.

Para ello veremos algunos de los comandos básicos para la creación

de los elementos que configuran la red, para posteriormente ir avanzando hasta finalmente crear una topología más compleja y ver el tráfico fluir a través de ella. Para este último paso utilizaremos una herramienta de libre disposición, que viene en la distribución del simulador.

La distribución de NS-2 para Linux se acompaña de un visualizador

de las diferentes topologías que creemos con NS-2, así como de la simulación de los flujos que recorran dichas topologías. Esta utilidad se conoce como Network Animator (NAM), y está diseñada con Tcl/Tk. El funcionamiento de esta utilidad es muy simple, ya que únicamente necesita pasarle como parámetro en la llamada del programa el path del fichero que contiene la traza que queremos visualizar. 1.2 Objetivos

NS-2 se puede ver de maneras muy distintas aun desde un mismo punto de vista. Podemos verlo (si programamos en C++) como una colección de clases orientadas a la creación de programas que simulen el funcionamiento de redes de datos, o, si preferimos programar las simulaciones con Tcl (que es lo mas recomendable) como un simple interprete al que se le han añadido unos bloques que simulan el funcionamiento de diversas partes de una red de datos.

Si nos quedamos con la segunda visión de NS-2 su uso es bastante

más sencillo. La configuración de una simulación consistirá en crear una serie de objetos (nodos de conmutación, fuentes de tráfico, etc.) y asociarlos convenientemente. Tras ello se comenzará la simulación y se podrán realizar toda clase de medidas a partir de los datos que devuelve el simulador.

Sin embargo, aunque existe bastante documentación en la red sobre

el uso de NS-2, prácticamente toda está escrita desde el punto de vista de un usuario avanzado de dicho simulador de redes.

Page 14: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Introducción a la programación de protocolos de comunicaciones con Network Simulator 2

17

Así pues, uno de los principales objetivos de este libro es garantizar un aprendizaje rápido del simulador de redes NS-2 mediante prácticas de laboratorio que posteriormente son resueltas y estudiadas en detalle paso a paso.

1.3 Motivación. Porqué usar NS-2

Actualmente, existen programas comerciales tales como Opnet

http://www.opnet.com/ que permiten realizar simulaciones de redes de comunicaciones.

Además, muchas de ellas permiten realizar estudios bastante completos y de gran calidad; por contrapartida, un número elevado de estas herramientas poseen un coste económico elevado y la imposibilidad de acceso a su código interno.

Consecuentemente, se puede decir que la capacidad ofrecida a un

usuario interesado en la implementación de nuevos protocolos de comunicaciones con estas herramientas comerciales es bastante limitada.

Sin embargo, NS-2 es una herramienta de libre distribución que

ofrece código abierto. Además, NS-2 funciona en múltiples plataformas de sistema operativo tales como Unix (BSD, Linux, Solaris) o Windows (9x/2000/XP).

Consecuentemente, nos encontramos con una herramienta con fácil

acceso en Internet y que permite un estudio exhaustivo de la misma. Con respecto a la documentación existente sobre NS-2, es de

destacar que ya existe un manual completo disponible en diferentes formatos tales como PDF, Poscript y HTML

http://www.isi.edu/nsnam/ns/ns-documentation.html

Page 15: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Capitulo 1. Introducción.

18

No obstante, es importante matizar que dicho manual no aporta casi ningún ejemplo práctico por lo que no se considera una guía útil para aprender a manejar rápidamente NS-2.

En consecuencia, el motivo principal de este libro es servir de

introducción y de guía completa para comprender el funcionamiento de NS-2; todo ello mediante sencillos ejemplos prácticos.

1.4 Estructura del libro

En este libro abordaremos el diseño completo de simulaciones con NS-2 para posteriormente representar y estudiar los resultados obtenidos. El libro se estructura de la siguiente manera:

El capítulo 2 trata sobre la descarga de NS-2 de Internet para a

continuación proceder a explicar la instalación del simulador. El capítulo 3 trata sobre el lenguaje Tcl, básico para la

implementación de simulaciones en NS-2. El capítulo 4 trata sobre el uso de NS-2. Además, aprenderemos a

crear, configurar y programar los objetos fundamentales que ofrece el simulador.

El capítulo 5 trata sobre las herramientas necesarias para la

generación de topologías de red, análisis y representación visual de resultados.

El capítulo 6 trata sobre el diseño y programación de un nuevo

agente, aplicando los cambios necesarios en NS-2. El capítulo 7 trata sobre la implementación de una colección de

simulaciones resueltas, desde la más sencilla hasta otras más complejas. El capítulo 8 trata sobre la comparación de NS-2 con otras

herramientas de simulación de redes.

Page 16: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Introducción a la programación de protocolos de comunicaciones con Network Simulator 2

19

El capítulo 9 trata sobre la exposición de resultados generales y conclusiones a todos los conceptos aprendidos en el libro. Además, se exponen líneas futuras en la simulación de redes.

Page 17: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

21

Capítulo 2

INSTALACIÓN DE NS-2

Page 18: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

23

2.1 Introducción

En este capítulo abordaremos los conocimientos necesarios para instalar con éxito la herramienta de simulación de red NS-2, desarrollada por la Universidad de California en Berkeley.

Concretamente, se explican los requerimientos que son necesarios

para instalar la herramienta, dónde conseguirla, cómo construirla una vez obtenida, y por último qué problemas pueden surgir y cómo encontrarles solución.

Las instrucciones a seguir están basadas en diversas fuentes de

información que se especifican más adelante y en la experiencia de haber instalado esta herramienta para la realización de los laboratorios de prácticas que forman parte de este libro.

2.2 Requerimientos

La herramienta NS-2, puede ser instalada en cualquier PC compatible que tenga instalado un compilador de C++. Con respecto a requerimientos hardware, se recomiendan los siguientes mínimos:

o 4GB de disco duro. o 128Mb de memoria RAM, aunque es preferible superior a

256MB. o Procesador Pentium, a ser posible, de última generación.

En principio, es posible instalar la herramienta NS-2 en estaciones de trabajo que funcionen bajo Unix (BSD, Linux, Solaris, HP_UX,…) o Windows (9x/2000/XP).

Es preferible, aunque no indispensable, disponer de un buen interfaz

gráfico ya que muchas de las herramientas que complementan a NS-2 lo requieren. Más adelante, en el proceso de instalación, se hablará de

En este libro, se van a explicar los pasos necesarios para instalar NS-2 en plataformas LINUX.

Page 19: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Capitulo 2. Instalación de NS-2.

24

requisitos de espacio en disco y de la necesidad de disponer de otros componentes software además del simulador.

2.3 Descarga del programa.

La fuente principal por la que se puede descargar el simulador NS-2, es el lugar donde fue desarrollada ya que disponemos de una página dedicada al simulador.

http://www.isi.edu/nsnam/ns/

Desde esta ubicación se puede obtener el simulador de diferentes formas:

o ns-src-2.26.tar.gz: Contiene el código fuente del simulador. Una vez compilado, pueden ejecutarse scripts de instalación para empezar a trabajar con el mismo. Esta distribución es la más indicada para aquellos que deseen modificar internamente el programa o desarrollar extensiones para soportar tipos de redes no soportados nativamente por NS-2.

o ns-allinone-2.26.tar.gz: Contiene, además de lo visto en el punto anterior, todas las librerías y programas necesarios para la compilación y uso de ns, tales como OTcl. Es posible que todas o algunas de estas librerías no estén disponibles en el sistema en un momento dado. Este paquete las suministra todas en un fichero autocontenido.

o ns-2.26-win32.zip: Binarios precompilados para plataformas Win32. En esta plataforma es más común encontrar errores al instalar o configurar, la herramienta, de ahí que se suministre el programa ya compilado, para aquellos que únicamente deseen simular y no modificar el código fuente del simulador. Además, en está página puede encontrarse (en inglés) todo tipo de

información relativa a NS-2 con información más completa sobre la instalación de la herramienta.

La descarga puede hacerse vía ftp o http, siguiendo los enlaces de la

página de descarga

Page 20: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Introducción a la programación de protocolos de comunicaciones con Network Simulator 2

25

ftp://ftp.isi.edu/nsnam/

http://www.isi.edu/nsnam/dist/ http://www.isi.edu/nsnam/ns/ns-build.html

En estas páginas se explica cómo la herramienta NS-2 consta de

varias piezas, algunas de las cuales son obligatorias (requeridas) y otras optativas (recomendadas). Es por ello, que la descarga puede realizarse por piezas o por completo.

Las consecuencias de elegir una u otra opción son diferencias en la

construcción de la herramienta y el espacio ocupado. La opción que hemos elegido para la explicación de la instalación, ha sido la de descarga completa de NS-2 versión 7, cuyo tamaño no supera los 50MB. Posteriormente, una vez descomprimido el archivo e instalado el simulador, se comprueba que este tipo de instalación requiere un espacio disponible en disco de 250MB aproximadamente.

En la figura 2.1 se muestra un fragmento de pantalla, al acceder a

Internet para descargar NS-2:

Figura 2.1.- Acceso FTP a los ficheros de NS-2 con sus distintas versiones.

Page 21: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Capitulo 2. Instalación de NS-2.

26

2.4 Instalación automática e instalación personalizada

Una vez que hemos descargado el fichero completo de NS-2, procederemos a su instalación. En nuestro caso, explicaremos los pasos a seguir para instalar NS-2 (por primera vez) en estaciones LINUX.

Para empezar hemos de descomprimir el fichero fuente (utilizando

para ello las herramientas tar y gzip) en el directorio en el que se desea instalar la herramienta. En nuestro caso, hemos decidido instalar NS-2 bajo el propio directorio /home/ del usuario con el que hemos iniciado sesión en nuestro sistema LINUX. Para ello, teclearemos la instrucción:

# tar zxvf ns-allinone-2.1b7a.tar.gz Una vez descomprimido el archivo, procederemos a instalar la

herramienta mediante un script denominado install que automáticamente configura, compila e instala todo el software. Para ello, teclearemos las siguientes instrucciones:

#cd ns-allinone-2.1b7a #./install >& install.out

A modo de información, indicamos que el fichero install es un script

específicamente diseñado para ejecutar (en este orden) los ficheros ./configure y make desde el directorio ns. Tras ello, el script install, hace lo mismo desde el directorio TclCL.

Por último, hemos de configurar el entorno de shell para que NS-2

funcione correctamente. A tal efecto, introduciremos las siguientes instrucciones en el fichero de configuración .tcshrc (si no existiera crear uno nuevo):

setenv NS2HOME $HOME/ns-allinone-2.1b7a setenv TCL_LIBRARY $NS2HOME/tcl-8.04/library setenv TK_LIBRARY $NS2HOME/tk-8.04/library set path = ($NS2HOME/bin $path)

Cuando haya finalizado la instalación, revisaremos el contenido del archivo install.out para comprobar si hubiera ocurrido algún error en el proceso de instalación.

Page 22: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Introducción a la programación de protocolos de comunicaciones con Network Simulator 2

27

También, podemos ejecutar las instrucciones anteriores en la sesión actual para que tomen efecto al instante, sin necesidad de reiniciar sesión.

Una vez hechos todos los pasos anteriores, es conveniente hacer una verificación de que la instalación de NS-2 ha sido correcta. Esto se hace ejecutando el fichero ns/validate, para ello, teclear las instrucciones:

# cd $NS2HOME # cd ns # ./validate Si todo está en orden, y no se presenta ningún mensaje de error, la

instalación puede darse por exitosa. Una vez descomprimido e instalado el paquete, estas son las piezas

fundamentales del NS-2 incluidas en el diagrama de la figura 2.2:

Figura 2.2. – Principales paquetes de la distribución de NS-2 (vista parcial)

Con respecto al entorno de shell, en nuestro caso, hemos usado tcsh

TK8. OTc tclTcl8. ns- na

t

e tes li

.

.

ejemplos validación

Código

Código OTcl

ns-allinone

mcas

Page 23: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Capitulo 2. Instalación de NS-2.

28

Concretamente, los componentes que conforman la herramienta de simulación NS-2 se muestran en la figura 2.3 adjunta:

Componente Requerido Opcional Comentarios de interés. Tcl release 8.3.2 X Tool command language, es

un lenguaje interpretado que contiene las ordenes a ejecutar.

Tk release 8.3.2 X Es una extensión de TCL que forma el paquete de distribución Tcl/Tk

Otcl release 1.0a8

X Se trata de una extensión de Tcl/Tk con soporte de programación orientada a objetos.

TclCL release 1.0b13

X Permite “linkar” variables de C++ con OTCL.

Ns release 2.26 X Componente principal para la ejecución del simulador.

Nam release 1.9 X Permite visualizar simulaciones animadas.

Xgraph versión 12

X Permite visualizar gráficas de parámetros de las simulaciones.

Gt-itm & sgb2ns 1.1

X Generador de topologías de red.

CWeb versión 3.4g

X Componente opcional, pero requerido para el uso de Gt-itm.

SGB versión 1.0 X Stanford Graphics Base, formato de salida de las topologías de red generadas con GT-ITM

Zlib version 1.1.4

X Componente opcional, pero requerido para el uso de Nam.

Figura 2.3.- Componentes de NS-2

Si se va a instalar el simulador por primera vez y no se sabe qué piezas de entre las optativas se utilizarán, ni si se dispone ya de las piezas requeridas, se recomienda la opción de descarga completa. Por otro lado, se recomienda la descarga por piezas si ya se tienen algunas de éstas o si se tiene claro cuáles van a utilizarse y cuáles no.

Page 24: Introduccion a la programacion de protocolos · CAPITULO 5 HERRAMIENTAS DE DISEÑO Y ANÁLISIS ... tales como protocolos de ... podemos reseñar la simulación de TCP, enrutamiento

Introducción a la programación de protocolos de comunicaciones con Network Simulator 2

29

En el caso de plataformas Windows 9x/ME/2000/XP, el procedimiento es diferente, entre otras razones porque usa Cygwin. Como no ha sido instalada la herramienta sobre tales plataformas no se hablará sobre ello; no obstante, para más información al respecto, recomendamos los siguientes enlaces en Internet:

o Construcción de NS-2 bajo Cygwin para Windows

9x/ME/2000/XP.

http://www.isi.edu/nsnam/ns/ns-cygwin.html

o Instrucciones de instalación de NS-2 para Windows 9x/2000/NT.

http://www.isi.edu/nsnam/ns/ns-win32-build.html

o Más instrucciones de instalación de NS-2 para Windows ME y Windows 2000

http://www.public.iastate.edu/~magico/nsFiles/InstallNS1.html

Durante la instalación de NS-2 lógicamente pueden surgir

problemas, y esto lo ha demostrado la experiencia propia así como los mensajes encontrados en la lista de usuarios de NS-2 de la cual hablaremos a continuación.

En caso de encontrar problemas y/o dudas, recomendamos a los usuarios, apuntarse a la lista de distribución de mensajes sobre NS-2.

http://www.isi.edu/nsnam/ns/ns-lists.html