Tema 3.- Redes inalámbricas Ad Hoc. Tema 3.- Redes inalámbricas Ad Hoc. Simulación de Redes inalámbricas con NS-2Simulación de Redes inalámbricas con NS-2
agradecimientos/acknowledgments
Jae Chung, Mark ClaypoolWorcester Polytechnic Institute
Ya Xu y Haobo Yu USC/ISI
Polly HuangAT&T Labs Research
Hao-Li WangDepartment of Electrical and Computer Engineering, Iowa State University
Sung ParkNetwork and Embedded Systems Lab (NESL) - Electrical Engineering, UCLA
K. Sridharan Iyer, Texas A&M University
Redes Inalámbricas Ad Hoc Máster Ingeniería de Telecomunicación, Universidad de Málaga 2008/2009Redes Inalámbricas Ad Hoc Máster Ingeniería de Telecomunicación, Universidad de Málaga 2008/2009
009
El simulador ns-2M
IT 2
008/
20
El ns-2 es una herramienta software gratis disponible
M 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 rapidaC para el nucleo ejecución rapida
TCL para la configuración del simulador y para lanzar las simulaciones
s A
d H
oc
simulaciones
alám
bric
asR
edes
In
a
009
3NS input & output
MIT
200
8/20
Ms
Ad
Hoc
alám
bric
asR
edes
In
a
009
4What is NS
MIT
200
8/20
Discrete event simulatorThe VINT project : Virtual InterNet TestbedM The VINT project : Virtual InterNet TestbedUC Berkeley, Lawrence Berkeley National Lab, USC/ISI, Xerox PARC, AT&T Research Packet-levelLink layer and upWired and wirelessWired and wireless
Object-oriented Mixed C++ and Otcl
Most UNIX and UNIX-like systemsFreeBSD
htt // i i d / / /
s A
d H
oc SolarisLinux
Windo 95/98/NT/2K
http://www.isi.edu/nsnam/ns/
alám
bric
as Window 95/98/NT/2KWorks, but with an effort
Download source: current release 2.31 (released Mar 10, 2007)
Red
es I
na
009
El simulador ns-2M
IT 2
008/
20
Es el simulador más utilizado en el mundo científicoM Es el simulador más utilizado en el mundo científico (MANETs)
s A
d H
oc
dó d bt l htt // i i d / / /
alám
bric
as dónde obtenerlo: http://www.isi.edu/nsnam/ns/
Red
es I
na
009
El simulador ns-2: limitaciones / problemasM
IT 2
008/
20
La configuración de cada simulación se hace de f lM forma manualLas simulaciones son algo lentas – especialmente
l i lá b ipara la parte inalámbricaLas trazas de salida puden llegar a ser muy grandesNo ofrece herramientas para el tratamiento y visualización de resultados
Herramientas del grupo (modo consola)Herramientas externas: http://www.tracegraph.com/
s A
d H
ocal
ámbr
icas
Red
es I
na
009
Simulación de redes inalámbricas en ns-2M
IT 2
008/
20
Modelos sencillos de canal inalámbrico:
M
TwoRayGround, Shadowed...
Algunas tecnologías inalámbricas:Algunas tecnologías inalámbricas: TDMA, 802.11 (DCF)Existen ampliaciones para:Existen ampliaciones para:
PCF, 802.11e HCF (EDCA / HCCA)
Diferentes procolos de encaminamiento: e e es p oco os de e ca a e oDSR, AODV, TORA, DSDV, (ninguno)Existen implementaciones externas de otros protocolos:
s A
d H
oc
p a o a d o o p o o o oOLSR, MDSR, AODV-UU, DSR-UU, DYMO y otros
Movilidad de los nodos:
alám
bric
as
Random waypoint (setdest), otras herramientas (grcmob, ...)
Red
es I
na
009
Simulación de redes inalámbricas en ns-2M
IT 2
008/
20
Tecnologías IEEE 802.11 utilizadas:
M
Valor por defecto: 802.11b a 2 Mbit/sCon un pequeño cambio: 802.11b a 11 Mbit/sRecompilando: 802.11a/g a 54 Mbit/s
Tiempo típico de simulación: entre 300 y 900 segundosp p y gSe puede introducir un periodo previo para activar el encaminamiento y descubrir las rutas necesarias entre fuente y d b d í l d " l ”destino, obteniendo así resultados en "caliente”
Recomendado:
s A
d H
oc 802.11gTiempo de simulación de 100 s (preparación) + 300 segundos ( f ti ) 20 d (fi li ) 420 d
alám
bric
as (efectivos) + 20 segundos (finalizar) =420 segundos
Red
es I
na
009
Simulación de redes inalámbricas: selección escenariosM
IT 2
008/
20
Forma
M
Cuadrado / rectangular
TamañoDebe de estar relacionado con el numero de nodosDetermina el numero medio de saltos
Numero de nodos / densidad de nodosProblemas por baja / alta densidadProblemas por baja / alta densidadRelación con el tiempo de simulación
Valores propuestos
s A
d H
oc
Valores propuestosCuadrado (870x870 m con 50 nodos)Rectangular (1900x400 con 50 nodos)
alám
bric
as Rectangular (1900x400 con 50 nodos)Para otros tamaños, mantener el ratio de ~ 66 nodos por km2
Red
es I
na
009
Sim. redes inal.: selección patrones movilidadM
IT 2
008/
20
Random waypoint (más utilizado)
M Movimiento rectilíneo a velocidad fija hasta el destinoPausa de N segundos en el destinoNuevo movimiento
Problemas:Poco realistaLos nodos empiezan por la pausa (setdest) Tiempo de convergencia elevadoEl intervalo de velocidades utilizado empieza por cero
s A
d H
oc Consecuencias:Los resultados son poco estables, se requiere muchas
alám
bric
as simulaciones
Red
es I
na
009
Sim. redes inal.: selección patrones movilidadM
IT 2
008/
20
Disponibles con la herramienta del grupo:Mo ilidad po g posM Movilidad por gruposManhattanMovilidad para vehículos Downtown p…
Herramientas de otros grupos Steady-state random waypoint (Tracy Camp, U. Colorado)
Recomendado para publicarR d i difi d (GRC)Random waypoint modificado (GRC):
Velocidad constante (1-12 m/s)Colocar tiempos de pausa a cero
s A
d H
oc
p p
DowntownSteady-state random waypoint
T bié i ti d l id d t t
alám
bric
as También sin tiempos de espera, y con velocidad constante
Red
es I
na
009
Sim. redes inal.: selección patrones traficoM
IT 2
008/
20
Tráfico FTP/TCP (transferencias masivas de datos)
M
/ ( )puede originar problemas
Ocupa todo el ancho de banda del canalDificulta 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
s A
d H
oc Trafico CBR es poco realistaOtras variantes (Pareto) permiten simular VoIP
alám
bric
as Con trazas se puede simular transmisión de video
Red
es I
na
009
Sim. redes inal.: trazas de salidaM
IT 2
008/
20
2 formatos:
M
Antiguo – más sencilloNuevo – más completo y adecuado para redes inalámbricasp y p
3 niveles de informaciónMAC (no se suele utilizar – trazas muy grandes)MAC (no se suele utilizar trazas muy grandes)Routing (aplicaciones + protocolos encaminamiento)Agente (sólo para aplicaciones)Agente (sólo para aplicaciones)
Información variadaMAC IP puerto para fuente / destino
s A
d H
oc
MAC, IP, puerto para fuente / destinoTiempo relativo al eventoIdentificador único de paquete (sirve para calcular e2e delay)
alám
bric
as Identificador único de paquete (sirve para calcular e2e delay)Tipo y tamaño de paquete (sirve para calcular throughput)
Red
es I
na
009 Automatización: lanzamiento param. de sims.
MIT
200
8/20
El lenguaje de consola Linux (bash) permite programar
M lotes de simulaciones de forma sencillaLa herramienta nohup permite realizar tareas en backgroundSi alteramos el fichero de configuración de las gsimulaciones logramos cambiar valores dinámicamenteEjemplo:Ejemplo:
Cambiar el protocolo de encaminamiento utilizadoCambiar el escenario utilizado
s A
d H
oc
Cambiar el escenario utilizadoCambiar el numero de nodosetc.
alám
bric
asR
edes
In
a
009
Automatización: lanzamiento param. de sims.M
IT 2
008/
20
Ejemplo
M
FIN=420SCEN=scen-s5-x1000-y1000-1
for NUM_NODES in 30 50 70; dofor i in `seq 1 10`; dofor 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=1done
s A
d H
oc
donedone
done
alám
bric
asR
edes
In
a
009
Automatización: lanzamiento param. de sims.M
IT 2
008/
20
Requisitos:M Requisitos:set val(rp) AODVset val(nn) 50 ;# how many nodes are simulatedset val(nn) 50 ;# how many nodes are simulatedset val(cp) "find-route.tcl" ;#conection patterset val(sc) "unknown" ; #scenario
proc getopt {argc argv} {global vallappend 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
s A
d H
oc set name [string range $arg 1 end]set val($name) [lindex $argv [expr $i+1]]
}
alám
bric
as }}
Red
es I
na
009
17The setdest mobility generator
MIT
200
8/20
Mobile Movement Generator/ td t [ f d ] [ ti ] [ d] [ tM ./setdest [-n num_of_nodes] [-p pausetime] [-s maxspeed] [-t
simtime] [ x maxx] [ y maxy] > [outdir/movement file][-x maxx] [-y maxy] > [outdir/movement-file]
Example: /setdest -n 20 -p 2 0 -s 10 0 -t 200 -x 500 -y 500 >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-testand the output will be written in a file called scen-20-test.
s A
d H
oc
Random movement$node start
alám
bric
as $node start
See ns 2/indep tils/cm scen gen/setdest/
Red
es I
na See ns-2/indep-utils/cmu-scen-gen/setdest/
009
18The traffic patterns generators
MIT
200
8/20
ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [-mc connections] [ rate rate]M connections] [-rate rate]
Generating CBR traffic patternsns cbrgen.tcl -type cbr -nn 10 -seed 1 -mc 8 -rate 4.0
Generating TCP traffic patternsns cbrgen.tcl -type tcp -nn 25 -seed 0 -mc 20
s A
d H
ocal
ámbr
icas
See ns-2/indep-utils/cmu-scen-gen/
Red
es I
na
009
Automatización: obtención de resultadosM
IT 2
008/
20
A partir de las trazas de salida del simulador podemos t l i f ió dM extraer la información que deseemos
Ejemplos de información importante:Throughput para una conexión FTP/TCP o CBR/UDPTasa de paquetes perdidos para una conexión VoIPRetardo extremo-a-extremo (e2ed) para una conexiónRouting overhead
úNúmero total de paquetes de routingNúmero total de bytes de routing
Routing overhead normalizado
s A
d H
oc
Routing overhead normalizadopaquetes de routing / paquetes de datos
alám
bric
asR
edes
In
a
009
Automatización: obtención de resultadosM
IT 2
008/
20
Se puede automatizar también el proceso de obtención d lt d ( l d ió d i )M de resultados (y el de generación de escenarios)Recomendación: pasar todos los resultados de un mismo
di h j d ál lestudio a una hoja de cálculoCentralizar todos los resultadosSacar valores medios, desviación estándar, intervalos de confianza, etc.P d i li l lt d d f áfiPodemos pre-visualizar los resultados de forma gráficaPodemos exportarlos de forma sencilla para su representación via gnuplot
s A
d H
oc
via gnuplot
alám
bric
asR
edes
In
a
009
Automatización: representación con GNUPLOTM
IT 2
008/
20
Estándar de-facto para generación de gráficas
M
p g gLas graficas se generan mediante instruccionesAdecuado para representación de resultados en formaAdecuado para representación de resultados en forma de lineasPoco adecuado para gráficas de barras sectoriales etcPoco adecuado para gráficas de barras, sectoriales, etc.Permite generar gráficos en formato eps (necesario para los papers: latex)los papers: latex)
s A
d H
ocal
ámbr
icas
Red
es I
na
009 Automatización: representación con GNUPLOT
MIT
200
8/20
Ejemplo:M Ejemplo:
resetset terminal x11set xlabel 'Number of legacy 802.11 nodes (%)'set ylabel 'Throughput per AC (Mbit/s)'set key top right
t ti 10set 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,\
s A
d H
oc
y _ ($ / ) _ ( ) p,\'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 eps
t t 'H b d f b '
alám
bric
as set out 'Hyb-def_br.eps'replot
Red
es I
na
009
Metodología para realizar trabajosM
IT 2
008/
20
Realizar unos pocos experimentos de prueba
M
Lanzar un lote de experimentos, verificando que todo está funcionando como planeadopVerificar el método para extraer resultados de un experimentopExtraer todos los resultados por lotesVisualizar en Office si los resultados obtenidos sonVisualizar en Office si los resultados obtenidos son válidosPasar a gnuplot los resultados importantes
s A
d H
oc
Pasar a gnuplot los resultados importantesIncluir las gráficas en el paper
alám
bric
asR
edes
In
a
009 Metodología para simular en garibaldi
MIT
200
8/20
1 PC con 2 procesadores de 32 bits
M
Lanzar 2 simulaciones en paralelose puede hacer tratamiento a 1 traza en simultaneo sin retrasar plas simulaciones de forma significativa
Otras opciones:puna simulación → tratamiento de 2 trazas en simultaneoninguna simulación → tratamiento de 3/4 trazas en simultaneo
s A
d H
ocal
ámbr
icas
Red
es I
na
009
Metodología para simular en mozartM
IT 2
008/
20
4+1 equipos (videos), cada una con 2 procesadores de
M
q p ( ), p64 bitsLanzar 2 simulaciones en paralelo en cada videop
Total de 8 en simultaneo
El tratamiento de trazas se debe realizar en el front-endEl tratamiento de trazas se debe realizar en el front end (mozart) → almacenamiento en red
simulaciones → CPU boundedsimulaciones CPU boundedtratamiento de trazas → I/O boundedno más de 2 trazas a la vez → I/O de los videos via NFS
s A
d H
oc
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
alám
bric
as funciona (64 bits) → de momento
Red
es I
na