Introduccion a NS2
Cristhoper Jaña Iturra.Redes De Computadores I. ELO322
Resumen
Sobre NS2 ¿Qué se puede hacer con NS2? Instalación de NS2 Network Animator NAM Primer Script en NS2 Ejemplo TCP
Sobre NS2
Simulador de redes opensource para investigacion.
Soporte para protocolos TCP, UDP, Routing, Wireless, Satelitales, etc.
Desarrollado en C++ y su interfaz en Otcl. Tutorial Otcl Tutorial C++
¿Qué se puede hacer con NS2?
Capa Aplicacion. HTTP, FTP, CBR, Telnet. Capa Transporte. TCP, UDP, RTP Capa red.
VectorDistancia, EstadoEnlace DSR, AODV, OLSR* BeeAdhoc* Filas. FIFO, RED.
Capa Enlace. 802.3, 802.11 Capa Fisica
¿Qué se puede hacer con NS2?
Crear o Modificar Nuevos Protocolos Mediciones. Throughtput, Jitter, Estado de filas Caracterizacion de Tráfico Visualizacion grafica de las simulaciones
(NAM)
Instalacion de NS2
Unix OS X Linux Solaris
Windows Cygwin
~$ tar xfz nsallinone2.XX.tar.gz
~$ cd nsallinone2.XX
~/nsallinone2.XX$ ./install
~/nsallinone2.XX$ cd ns2.XX
~/nsallinone2.XX/ns2.XX$ ./ns
Network Animator NAM
Tcl/Tk. Sencillo. Explicito.
Primer Script en NS2
set ns [new Simulator]
set f [open out.tr w]set nf [open out.nam w]$ns traceall $f$ns namtraceall $nf
set n0 [$ns node]set n1 [$ns node]
$ns duplexlink $n0 $n1 5Mb 2ms DropTail
$ns at 1.0 "exit"
$ns run
Crea objeto Simulador
Archivos de Traza
Creacion de Nodos
Creacion de Enlaces+ características
Inicio Simulacion
Ejecucíon instrucciones
Ejemplo TCP
Considerar Topología de Red. Eventos Visualizacion (monitor), tanto gráficos como
animaciones.
Ejemplo TCP
set out tcpset ns [new Simulator]
set nf [open $out.tr w]$ns traceall $nfset nt [open $out.nam w]$ns namtraceall $nt
proc finish {} { global out
exec nam $out.nam & exit 0}
$ns color 0 red$ns color 1 blue
Crea Simulador
Archivos de Traza
Método finish
Parametros extras
Ejemplo TCP
set n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]set n4 [$ns node]
$ns duplexlink $n0 $n1 1Mb 10ms DropTail$ns duplexlink $n1 $n2 0.25Mb 100ms DropTail$ns duplexlink $n2 $n3 1Mb 5ms DropTail$ns duplexlink $n1 $n4 0.512Mb 10ms DropTail
Topología de Red
Ejemplo TCP$ns queuelimit $n1 $n2 5
set tx1 [new Agent/TCP]$ns attachagent $n0 $tx1set tx2 [new Agent/TCP]$ns attachagent $n4 $tx2
set rx1 [new Agent/TCPSink]$ns attachagent $n3 $rx1set rx2 [new Agent/TCPSink]$ns attachagent $n2 $rx2
set ftp1 [new Application/FTP]set ftp2 [new Application/FTP]$ftp1 attachagent $tx1$ftp2 attachagent $tx2
$ns connect $tx1 $rx1$ns connect $tx2 $rx2
$ns at 0.0 "$ftp1 start"$ns at 0.0 "$ftp2 start"
$ns at 25.0 "finish"
$ns run
Limita tamaño buffer
Crea Agente TCPFuente
Crea Aplicacion FTP
Ejecución de órdenesdel simulador
Método finish
Se inicia la simulacion
Crea Agente TCPDestino
Conexion de Flujos
Ejemplo TCP
Script oTcl
$ ns tcp.ns Demostracion
$ nam tcp.nam
Bibliografia
[1] The Network Simulator ns2: Documentation http://www.isi.edu/nsnam/ns/nsdocumentation.html
[2] D. Vergara, R. Yañez. “Simulacion de Protocolos y Algoritmos de Redes usando NS2.” Memoria Ing. Civ. Electrónica, 2004.