lunes, 4 de marzo de 2013

Laboratorio 5: Simulacion con NS-2

Para esta entrada se pidio que realizaramos una simulacion con el programa Network simulator 2 (NS-2) o NS-3 y se mostrara en NAM (Network Animator) para mostrar la animacion de las simulaciones.

Que es ns2?
Permite simular tanto protocolos unicast como multicast y se utiliza intensamente en la investigación de redes móviles ad-hoc. Implementa una amplia gama de protocolos tanto de redes cableadas como de redes inalámbricas.

NS-2 fue desarrollado en C++ y provee una interfaz de simulación a través de OTcl, una variante Orientada a Objetos de Tcl. El usuario describe una topología de red por medio de scripts OTcl, y luego el programa principal de ns-2 simular dicha topología utilizando los parámetros definidos. ns -2 esta diseñado para sistemas operativos Linux, FreeBSD, Solaris, Mac OS X y puede ejecutarse bajo Windows utilizando Cygwin. Fue licenciado bajo GPL versión 2.

La última versión, 2.34, se presentó al público el 17 de junio de 2009.


Asi es como las muestra el NAM la simulacion

Es sencillo de entender con esta imagen

En esta entrada se escogió realizar el trabajo con NS-2, primero se realizo un ejemplo para poder entender como es que se hacia esto, y salio como resultante el siguiente código con una simulación  de un nodo con un agente UDP y un trafico CBR. El segundo nodo recibe los paquetes enviados con un agente NULL y realiza la conexión con el agente UDP.

Aquí el código:

Resultados:

En este ejemplo solo enviamos paquetes del nodo 0 al nodo 1 con UDP.

Este codigo salio de la pagina siguiente, solo se fue borrando codigo hasta llegar al que tenemos
http://nile.wpi.edu/NS/

Ahora gracias a este pequeño ejemplo se puede hacer algo mas grande y empezar a simular situaciones reales. Ahora en el siguiente ejemplo agregaremos agentes TCP, agentes UDP,  un nodo que sirva para recibir los paquetes y enviarlos

Aquí el código:

Resultados:

 
Como se aprecia en la simulación el nodo0 y nodo1 (auzl para TCP, rojo para UDP) envían paquetes, lo que hace el nodo2 recibe y envía al nodo3 este nodo lo que realiza es mandar los paquetes a los respectivos nodos con su mismo protocolo entonces el nodo4 recibe los paquetes de nodo0 y envía una respuesta, al llegar esta respuesta de regreso al nodo0 este nodo envía sus paquetes nuevamente.
En el nodo1 lo único que hace es mandar y recibe el nodo5 al final de todo



En este link se encuentran diferentes ejemplos:
http://www-sop.inria.fr/members/Eitan.Altman/ns.html
En la pagina anterior  hay un ejemplo de donde sale el segundo código de esta entrada

Referencias:
http://www.cs.bu.edu/groups/itm/SATS/simulation.html
http://nile.wpi.edu/NS/
http://es.wikipedia.org/wiki/Ns_(simulador)
http://www-sop.inria.fr/members/Eitan.Altman/ns.html