Post on 08-Jan-2016
description
Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009
Tema 7.- Redes inalámbricas Ad Hoc. Simulación de Redes inalámbricas con NS-2
Tema 7.- Redes inalámbricas Ad Hoc. Simulación de Redes inalámbricas con NS-2
Jae Chung, Mark Claypool Worcester Polytechnic Institute
Ya Xu y Haobo Yu USC/ISI
Polly Huang AT&T Labs Research
Hao-Li Wang Department of Electrical and Computer Engineering, Iowa State University
Sung Park Network and Embedded Systems Lab (NESL) - Electrical Engineering, UCLA
K. Sridharan Iyer, Texas A&M University
agradecimientos/acknowledgments
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
El simulador ns-2
El ns-2 es una herramienta software gratis disponible para Linux y Windows (no recomendado)
Funcionamiento en modo consola
Orientado a eventos, tiempo simulado (no real)
Combina C++ con TCL C++ para el nucleo → ejecución rapida
TCL para la configuración del simulador y para lanzar
las simulaciones
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
3
NS input & output
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
4
What is NS
Discrete event simulator The VINT project : Virtual InterNet Testbed UC Berkeley, Lawrence Berkeley National Lab, USC/ISI, Xerox PARC,
AT&T Research Packet-level Link layer and up Wired and wireless
Object-oriented Mixed C++ and Otcl
Most UNIX and UNIX-like systems FreeBSD Solaris Linux
Window 95/98/NT/2K Works, but with an effort
http://www.isi.edu/nsnam/ns/
Download source: current release 2.31 (released Mar 10, 2007)
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
El simulador ns-2
Es el simulador más utilizado en el mundo científico (MANETs)
dónde obtenerlo: http://www.isi.edu/nsnam/ns/
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
El simulador ns-2: limitaciones / problemas
La configuración de cada simulación se hace de forma manual
Las simulaciones son algo lentas – especialmente para la parte inalámbrica
Las trazas de salida puden llegar a ser muy grandes
No ofrece herramientas para el tratamiento y visualización de resultados Herramientas del grupo (modo consola) Herramientas externas:
http://www.tracegraph.com/
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Simulación de redes inalámbricas en ns-2
Modelos sencillos de canal inalámbrico: TwoRayGround, Shadowed...
Algunas tecnologías inalámbricas: TDMA, 802.11 (DCF) Existen ampliaciones para:
PCF, 802.11e HCF (EDCA / HCCA)
Diferentes procolos de encaminamiento: DSR, AODV, TORA, DSDV, (ninguno) Existen implementaciones externas de otros protocolos:
OLSR, MDSR, AODV-UU, DSR-UU, DYMO y otros
Movilidad de los nodos: Random waypoint (setdest), otras herramientas
(grcmob, ...)
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Simulación de redes inalámbricas en ns-2
Tecnologías IEEE 802.11 utilizadas: Valor por defecto: 802.11b a 2 Mbit/s Con un pequeño cambio: 802.11b a 11 Mbit/s Recompilando: 802.11a/g a 54 Mbit/s
Tiempo típico de simulación: entre 300 y 900 segundos Se puede introducir un periodo previo para activar el
encaminamiento y descubrir las rutas necesarias entre fuente y destino, obteniendo así resultados en "caliente”
Recomendado: 802.11g Tiempo de simulación de 100 s (preparación) + 300
segundos (efectivos) + 20 segundos (finalizar) =420 segundos
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Simulación de redes inalámbricas: selección escenarios
Forma Cuadrado / rectangular
Tamaño Debe de estar relacionado con el numero de nodos Determina el numero medio de saltos
Numero de nodos / densidad de nodos Problemas por baja / alta densidad Relación con el tiempo de simulación
Valores propuestos Cuadrado (870x870 m con 50 nodos) Rectangular (1900x400 con 50 nodos) Para otros tamaños, mantener el ratio de ~ 66 nodos por
km2
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Sim. redes inal.: selección patrones movilidad
Random waypoint (más utilizado) Movimiento rectilíneo a velocidad fija hasta el destino Pausa de N segundos en el destino Nuevo movimiento
Problemas: Poco realista Los nodos empiezan por la pausa (setdest) Tiempo de convergencia elevado El intervalo de velocidades utilizado empieza por cero
Consecuencias: Los resultados son poco estables, se requiere muchas
simulaciones
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Sim. redes inal.: selección patrones movilidad
Disponibles con la herramienta del grupo: Movilidad por grupos Manhattan Movilidad para vehículos Downtown …
Herramientas de otros grupos Steady-state random waypoint (Tracy Camp, U. Colorado)
Recomendado para publicar Random waypoint modificado (GRC):
Velocidad constante (1-12 m/s)Colocar tiempos de pausa a cero
Downtown Steady-state random waypoint
También sin tiempos de espera, y con velocidad constante
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Sim. redes inal.: selección patrones trafico
Tráfico FTP/TCP (transferencias masivas de datos) puede originar problemas Ocupa todo el ancho de banda del canal Dificulta el encaminamiento si no hay QoS (con wi-fi
estándar) Genera trazas muy grandes
Tráfico UDP A una tasa baja permite comprobar la eficacia de los
distintos protocolos de encaminamiento Trafico CBR es poco realista Otras variantes (Pareto) permiten simular VoIP Con trazas se puede simular transmisión de video
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Sim. redes inal.: trazas de salida
2 formatos: Antiguo – más sencillo Nuevo – más completo y adecuado para redes inalámbricas
3 niveles de información MAC (no se suele utilizar – trazas muy grandes) Routing (aplicaciones + protocolos encaminamiento) Agente (sólo para aplicaciones)
Información variada MAC, IP, puerto para fuente / destino Tiempo relativo al evento Identificador único de paquete (sirve para calcular e2e
delay) Tipo y tamaño de paquete (sirve para calcular throughput)
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Automatización: lanzamiento param. de sims.
El lenguaje de consola Linux (bash) permite programar lotes de simulaciones de forma sencilla
La herramienta nohup permite realizar tareas en background
Si alteramos el fichero de configuración de las simulaciones logramos cambiar valores dinámicamente
Ejemplo: Cambiar el protocolo de encaminamiento utilizado Cambiar el escenario utilizado Cambiar el numero de nodos etc.
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Automatización: lanzamiento param. de sims.
Ejemplo
FIN=420SCEN=scen-s5-x1000-y1000-1
for NUM_NODES in 30 50 70; do for i in `seq 1 10`; do for RT_PROT in DSR AODV OLSR; do RES=0; while [ $RES -ne 1 ]; do ../../ns base_script.tcl -sc $SCEN -nn $NUM_NODES -stop $FIN
-trfile res-n$NUM_NODES-r$RT_PROT-$i.tr && RES=1 done done donedone
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Automatización: lanzamiento param. de sims.
Requisitos:
set val(rp) AODVset val(nn) 50 ;# how many nodes are simulatedset val(cp) "find-route.tcl" ;#conection patterset val(sc) "unknown" ; #scenario
proc getopt {argc argv} { global val lappend optlist cp nn sc rp
for {set i 0} {$i < $argc} {incr i} { set arg [lindex $argv $i] if {[string range $arg 0 0] != "-"} continue
set name [string range $arg 1 end] set val($name) [lindex $argv [expr $i+1]] }}
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
17
The setdest mobility generator
Mobile Movement Generator./setdest [-n num_of_nodes] [-p pausetime] [-s maxspeed] [-
t simtime] [-x maxx] [-y maxy] > [outdir/movement-file] Example: ./setdest -n 20 -p 2.0 -s 10.0 -t 200 -x 500 -y 500
>scen-20-testand the output will be written in a file called scen-20-test.
Random movement$node start
See ns-2/indep-utils/cmu-scen-gen/setdest/
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
18
The traffic patterns generators
ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [-mc connections] [-rate rate]
Generating CBR traffic patterns ns cbrgen.tcl -type cbr -nn 10 -seed 1 -mc 8 -rate 4.0
Generating TCP traffic patterns ns cbrgen.tcl -type tcp -nn 25 -seed 0 -mc 20
See ns-2/indep-utils/cmu-scen-gen/
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Automatización: obtención de resultados
A partir de las trazas de salida del simulador podemos extraer la información que deseemos
Ejemplos de información importante: Throughput para una conexión FTP/TCP o CBR/UDP Tasa de paquetes perdidos para una conexión VoIP Retardo extremo-a-extremo (e2ed) para una conexión Routing overhead
Número total de paquetes de routingNúmero total de bytes de routing
Routing overhead normalizadopaquetes de routing / paquetes de datos
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Automatización: obtención de resultados
Se puede automatizar también el proceso de obtención de resultados (y el de generación de escenarios)
Recomendación: pasar todos los resultados de un mismo estudio a una hoja de cálculo Centralizar todos los resultados Sacar valores medios, desviación estándar, intervalos
de confianza, etc. Podemos pre-visualizar los resultados de forma gráfica Podemos exportarlos de forma sencilla para su
representación via gnuplot
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Automatización: representación con GNUPLOT
Estándar de-facto para generación de gráficasLas graficas se generan mediante instruccionesAdecuado para representación de resultados en
forma de lineasPoco adecuado para gráficas de barras,
sectoriales, etc.Permite generar gráficos en formato eps
(necesario para los papers: latex)
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Automatización: representación con GNUPLOT
Ejemplo:
resetset terminal x11set xlabel 'Number of legacy 802.11 nodes (%)'set ylabel 'Throughput per AC (Mbit/s)'set key top rightset xtics 10
plot [0:100] [0.10:0.9] 'Hyb-def_br.txt' u 1:($2*512*8/60e6) title 'AC_VO (Voice)' w lp,\'Hyb-def_br.txt' u 1:($4*512*8/60e6) title 'AC_VI (Video)' w lp,\'Hyb-def_br.txt' u 1:($6*512*8/60e6) title 'AC_BE (Best effort)' w lp,\'Hyb-def_br.txt' u 1:($8*512*8/60e6) title 'AC_BK (Background)' w lpset terminal postscript epsset out 'Hyb-def_br.eps'replot
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Metodología para realizar trabajos
Realizar unos pocos experimentos de pruebaLanzar un lote de experimentos, verificando que
todo está funcionando como planeadoVerificar el método para extraer resultados de un
experimentoExtraer todos los resultados por lotesVisualizar en Office si los resultados obtenidos
son válidosPasar a gnuplot los resultados importantes Incluir las gráficas en el paper
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Metodología para simular en garibaldi
1 PC con 2 procesadores de 32 bitsLanzar 2 simulaciones en paralelo
se puede hacer tratamiento a 1 traza en simultaneo sin retrasar las simulaciones de forma significativa
Otras opciones: una simulación → tratamiento de 2 trazas en
simultaneo ninguna simulación → tratamiento de 3/4 trazas en
simultaneo
Red
es I
nalá
mb
ricas
M
IC
20
08/2
009
Metodología para simular en mozart
4+1 equipos (videos), cada una con 2 procesadores de 64 bits
Lanzar 2 simulaciones en paralelo en cada video Total de 8 en simultaneo
El tratamiento de trazas se debe realizar en el front-end (mozart) → almacenamiento en red simulaciones → CPU bounded tratamiento de trazas → I/O bounded no más de 2 trazas a la vez → I/O de los videos via
NFS ¡Cuidado! - la compilación de ns-2 en mozart no
funciona (64 bits) → de momento