Laboratorio de Redes de Telecomunicaciones
Actividad 5
Actividad 5
Esta semana hicimos una simulación con el programa Network Simulator, que ofrece actualmente dos versiones estables, 2 y 3, conocidas mejor como NS-2 Y NS-3, con las cuales se pueden hacer simulaciones de redes.
La versión que yo he instalado es la NS-2 la cual he logrado instalar de dos formas distintas, la primera involucra escribir varios comandos en una terminal, y la segunda con los comandos de siempre para instalar paquetes en Ubuntu, en mi caso la versión 12.04.
Página del simulador: The Network Simulator: NS-2
Instalación
Estoy usando Ubuntu 12.04 versión de 64 bits para la instalación de este paquete. Veamos el método clásico para la instalación más reciente de este simulador, en este caso la versión 2.35.
Primero hay que descargar la carpeta comprimida de NS-2, de la siguiente liga: Descarga de ns-allinone-2.35.tar.gz
Una vez descargado, hay que asegurarse de que tenemos instaladas todas las actualizaciones:
~$ sudo apt-get update
~$ sudo apt-get install build-essential autoconf automake libxmu-dev
~$ tar zxvf ns-allinone-2.35.tar.gz
~$ cd ns-allinone-2.35
~/ns-allinone-2.35$ ./install
~/ns-allinone-2.35$ cd ns-2.35 ~/ns-allinone-2.35/ns-2.35$ ./ns %
La segunda forma de instalación, que es la forma más fácil y rápida, se hace escribiendo y ejecutando las siguientes dos líneas:
~$ sudo apt-get install ns2 ~$ sudo apt-get install nam
Correr un programa en NS-2
Como sucede con varios lenguajes, por ejemplo python, es posible entrar en la consola de forma interactiva o ejecutar archivos con el código escrito.
Veamos un ejemplo desde la consola de forma interactiva. Esta sería una versión del clásico Hola Mundo.
ramon@pavilion:~$ ns % set ns [new Simulator] _o4 % $ns at 1 "puts \"Hola Mundo!\"" 1 % $ns at 1.5 "exit" 2 % $ns run Hola Mundo! ramon@pavilion:~$
La forma más habitual es escribir por separado el código en un archivo con la extensión .tcl, y ejecutarlo directamente en la consola.
ramon@pavilion:~$ ns ejemplo.tcl Hola Mundo! ramon@pavilion:~$
Simulación de prueba
Para ver como era el funcionamiento del simulador NS-2 junto con NAM busqué en Internet un ejemplo, para poder probar y entender que significa cada acción, así que de la siguiente liga descargue el ejemplo y lo probé.
Página de donde obtuve el ejemplo: Simple Simulation Example
El código descargado fue el siguiente, y como pueden ver es de gran ayuda ya que explica para que sirve cada línea:
La visualización del mismo es la siguiente.
Y claro, se ve muy bien la simulación pero que significa estos cuadros de color pasando de un nodo a otro. Bueno como podemos ver tenemos 4 nodos, el 0 envía paquetes mediante conexión TCP visualizados como cuadros azules, y el 1 envía paquetes mediante conexión UDP visualizados con cuadros rojos. EL nodo 2 los recibe y retransmite al nodo 3, donde el nodo 3 es el que, para el caso de los paquetes que vienen a través de TCP, envía una respuesta ACK hasta el nodo 0 cuando recibe estos cuadros azules. En el nodo 3 también podemos ver como se forma una cola por la llegada de muchos paquetes, y en el transcurso algunos de ellos se pierden, y se visualiza como cuadros grandes cayendo.
Cuando tenemos la visualización de la simulación en NAM se crean archivos de salida con el nombre de out.tr y out.nam, con un resumen de la simulación. Yo estoy usando el archivo out.tr porque la estructura del archivo es más entendible. Este archivo tiene las siguientes columnas:
Del resultado obtenido de la simulación obtuve los tiempos para poder conocer el tiempo que tardaba entre un paquete y otro, y después hice esta gráfica.
Una prueba más que hice fue calcular el número de paquetes enviados y recibidos mediante el protocolo TCP, y calculando la diferencia obtenemos el número de paquetes perdidos.
Referencias:
Instalar NS-2.35 en Ubuntu 12-04
Tutorial NS-2
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.