Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Opnet
OMNet ++
Matlab/Simulink
NS-2
Opnet
Programa para simulador de redes
Libreras y mdulos muy completos
Posibilidad de crear nuevos mdulos
programando en C.
Programa comercial
Disponible para Windows, Solaris y Linux
Opnet
OMNet ++
Entorno de simulacin basado en eventos
discretos
Dispone de mdulos bsicos para los
protocolos ms habituales
Fcilmente adaptable (programando en
C++)
Disponible para Windows y Linux
OMNet ++
NS-2
Simulador basado en eventos
TCP,
UDP,
IP,
redes
inalmbricas,
satelitales, MPLS.
Se utiliza Script en oTCL para definir los
escenarios de simulacin
Programado en C++. Uso de clases para
definir objetos de simulacin.
Utilizado
en
muchos
grupos
de
investigacin
http://www.isi.edu./nsnam/ns/
Simulador de Redes
NS-2
Descripcin del NS
Network Simulator (NS) es un simulador discreto de eventos
creado por la Universidad de Berkeley para modelar redes de
tipo IP, de tipo open source. (http://www.isi.edu/nsnam/ns).
En la simulacin se toma en cuenta la estructura (topologa)
de la red y el trfico de paquetes que posee la misma, con el
fin de crear un diagnstico que muestre el comportamiento
que se obtiene al tener una red con ciertas caractersticas.
Maneja diversos mecanismos de colas que se generan en los
routers, tales como DropTail, CQB, algoritmo de Dijkstra, etc.
Actualmente, el proyecto NS es parte de VINT (Virtual InterNet
Testbed) proyect que desarrolla herramientas para visualizar
los resultados de una simulacin (por ejemplo, una interfaz
grfica).
La versin NS 2 est escrita en los lenguajes de programacin
C++ y OTcl1.
11
Para qu se lo utiliza?
Simular estructuras y protocolos de
redes de todo tipo (satlite, wireless,
cableadas, etc..)
Desarrollar nuevos protocolos y
algoritmos
y
comprobar
su
funcionamiento.
Comparar distintos protocolos en
cuanto a prestaciones.
12
Para qu se lo utiliza?
Wired network
Traffic model and applications
Transport protocol
Routing and Queuing
QoS
LANs
Wireless network
Ad hoc routing and mobile IP
Sensor network
Propagation model/Energy model
WLAN (802.11)
Satellite
Error modules
Tracing, visualization, emulation, various utilities
13
Instalacin
Para realizar la instalacin sobre Linux o Unix se
tienen los siguientes componentes
14
Instalacin
Para desempaquetar tar xvzf nombre_archivo.tar
Una vez que se han obtenido los cdigos fuentes se
tiene que desempaquetar el OTcl,
Las fuentes de TclCL y ns en el mismo nivel del
directorio y utilizar los siguientes comandos:
15
Instalacin
16
17
19
Utilizacin de NS-2
Se crea un archivo dnde se indica que se
desea
(topologa,
nodos,
movimientos,
trfico, etc..) y se ingresa al simulador, este
genera una traza de todos los eventos que se
han generado durante la simulacin.
El archivo de configuracin es un script
realizado en TCL y la salida es un archivo de
texto (generalmente con extensin .tr),
adicionalmente se puede indicar que se
genere un archivo para el visor grfico nam o
generar archivos adicionales para visualizar
en el xgraph.
linux21% ns
simple.tcl
Hello World!
linux21%
23
Comando Puts
24
El resultado de un Comando
El resultado de la ejecucin de un comando (o de
la invocacin de una funcin) viene expresado
con [ ]:
set a [comando]
set a [funcin $variable1 $variable2]
25
26
El comando incr
El comando incr permite incrementar el valor de
una variable
incr c ;# ahora c vale 51
Se puede escribir mas comandos sobre la misma
lnea separndola por el carcter;.
27
Un procedimiento
28
Manejo de archivos
Archivos externos pueden ser abiertos
solo para lectura o para escritura:
set file [open outfile w] ;# Abre para
escritura
set file [open outfile r] ;# Abre para lectura
puts $file Se tiene tambin la I/O en Tcl!!
gets $file $valor ;# lee la lnea y la
memoriza en valor
29
Basic ns-2
31
Schedule event
$ns at <time> <event>
<event>: any legitimate ns/tcl commands
Start scheduler
$ns run
32
Creating Network
Nodes
set n0 [$ns node]
set n1 [$ns node]
33
34
Clculo de rutas
Unicast
$ns rtproto <type>
<type>: Static, Session, DV, cost, multi-path
Multicast
$ns multicast (right after [new Simulator])
$ns mrtproto <type>
<type>: CtrMcast, DM, ST, BST
35
TCP
Telnet
set telnet [new Application/Telnet]
$telnet attach-agent $tcp
38
39
41
Label
$ns duplex-link-op $n0 $n1 label "abced
$ns duplex-link-op $n1 $n2 label-color blue
42
Ejemplo 1: TCP
n0
set ns [new Simulator]
set n0 [$ns node]
set n1 [$ns node]
$ns duplex-link $n0 $n1 1.5Mb 10ms
DropTail
set tcp [new Agent/TCP]
set tcpsink [new Agent/TCPSink]
$ns attach-agent $n0 $tcp
$ns attach-agent $n1 $tcpsink
$ns connect $tcp $tcpsink
n1
Ejemplo: Nam
#Create a simulator object
set ns [new Simulator]
#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf
#Open the general trace file
set tf [open out.tr w]
$ns trace-all $tf
Ejemplo 2 de simulacin
Ejemplo 2 de simulacin
46
Ejemplo 2 de simulacin
Ejemplo 2 de simulacin
Ejemplo 3 de simulacin
49
Ejemplo 3 de simulacin
50
Ejemplo 3 de simulacin
Ejemplo 3 de simulacin
52
Ejemplo 3 de simulacin
OMNeT ++
AGENDA
INTRODUCCIN
ELEMENTOS DEL SIMULADOR
INSTALACIN
LENGUAJE NED
MDULOS SIMPLES
EJEMPLOS
INTRODUCCION
Anlisis Matemtico
Medidas
Simulacin computacional
Introduccin
t1
t2
ti
ti+1
ti+2
Rutina Evento 1
No
Rutina Evento 2
Termina?
Si
Datos de Salida
FIN
Rutina Evento k
Terminologa y componentes de
una Simulacin
Terminologa y componentes de
una Simulacin
OMNeT++
OMNeT++
La Simulacin IDE
La Simulacin IDE
Editor NED
Configuracin de la Simulacin
Instalacin
Windows 7, 8 y XP
Mac OS X 10.7 y 10.8
Distribuciones de Linux tales como:
Instalacin
Instalacin Ubuntus
Instalacin Ubuntus
Instalacin Ubuntus
Instalacin en Ubuntus
Instalacin en Ubuntus
Conceptos de Modelado
Creacin de Programas de
Simulacin
ide/
Simulation IDE
samples/
Lenguaje NED
Lenguaje NED
Lenguaje NED
Lenguaje NED
Definiciones de canales:
Lenguaje NED
Definiciones de Mdulos simples
Lenguaje NED
Definiciones de Mdulos simples
Los parmetros son variables que pertenecen a
un modulo. Puede requerir y usar algoritmos
de mdulos simples.
Por ejemplo, un modulo llamado TrafficGen
puede tener un parmetro denominado
numOfMessages que determina cuantos
mensajes se deberan generar.
Son declarados haciendo una lista de sus
nombres: seccin de descripcin de un modulo.
Lenguaje NED
Definiciones de Mdulos simples
Ejemplo:
simple TrafficGen
Parameters:
InterarrivalTime,
numOfMessages : const,
address : string;
Gates: //...
endsimple
Lenguaje NED
Lenguaje NED
Definiciones de Mdulos Compuestos
Lenguaje NED
Definiciones de Red
Lenguaje C++
void initialize()
void handleMessage(cMessage *msg)
void activity()
void finish()
Lenguaje C++
Lenguaje C++
Ficheros INI
Ficheros INI
simple computer
{
}
gates:
input in;
output out;
Demo INET