Title: Tema 7.- Redes inal
1Tema 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
- ATT 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 AM University
agradecimientos/acknowledgments
2El 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
3NS input output
4What is NS
- Discrete event simulator
- The VINT project Virtual InterNet Testbed
- UC Berkeley, Lawrence Berkeley National Lab,
USC/ISI, Xerox PARC, ATT 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)
5El simulador ns-2
- Es el simulador más utilizado en el mundo
científico (MANETs) - dónde obtenerlo http//www.isi.edu/nsnam/ns/
6El 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/
7Simulació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, ...)
8Simulació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
9Simulació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
10Sim. 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
11Sim. 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
12Sim. 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
13Sim. 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)
14Automatizació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.
15Automatización lanzamiento param. de sims.
- Ejemplo
- FIN420
- SCENscen-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
- RES0
- while RES -ne 1 do
- ../../ns base_script.tcl -sc
SCEN -nn NUM_NODES -stop FIN - -trfile res-nNUM_NODES-rRT_PROT-i.tr RES1
- done
- done
- done
- done
16Automatización lanzamiento param. de sims.
- Requisitos
- set val(rp) AODV
- set val(nn) 50
how many nodes are simulated - set val(cp) "find-route.tcl"
conection patter - set val(sc) "unknown"
scenario - proc getopt argc argv
- global val
- lappend optlist cp nn sc rp
- for set i 0 i lt 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 i1 -
17The setdest mobility generator
- Mobile Movement Generator
- ./setdest -n num_of_nodes -p pausetime -s
maxspeed -t simtime - -x maxx -y maxy gt outdir/movement-file
-
- Example ./setdest -n 20 -p 2.0 -s 10.0 -t 200 -x
500 -y 500 gt - scen-20-test
- and 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/
18The traffic patterns generators
- ns cbrgen.tcl -type cbrtcp -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/
19Automatizació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 routing
- Número total de bytes de routing
- Routing overhead normalizado
- paquetes de routing / paquetes de datos
20Automatizació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
21Automatización representación con GNUPLOT
- Estándar de-facto para generación de gráficas
- Las graficas se generan mediante instrucciones
- Adecuado para representación de resultados en
forma de lineas - Poco adecuado para gráficas de barras,
sectoriales, etc. - Permite generar gráficos en formato eps
(necesario para los papers latex)
22Automatización representación con GNUPLOT
- Ejemplo
- reset
- set terminal x11
- set xlabel 'Number of legacy 802.11 nodes ()'
- set ylabel 'Throughput per AC (Mbit/s)'
- set key top right
- set xtics 10
- plot 0100 0.100.9 'Hyb-def_br.txt' u
1(25128/60e6) title 'AC_VO (Voice)' w lp,\ - 'Hyb-def_br.txt' u 1(45128/60e6) title 'AC_VI
(Video)' w lp,\ - 'Hyb-def_br.txt' u 1(65128/60e6) title 'AC_BE
(Best effort)' w lp,\ - 'Hyb-def_br.txt' u 1(85128/60e6) title 'AC_BK
(Background)' w lp - set terminal postscript eps
- set out 'Hyb-def_br.eps'
- replot
23Metodología para realizar trabajos
- Realizar unos pocos experimentos de prueba
- Lanzar un lote de experimentos, verificando que
todo está funcionando como planeado - Verificar el método para extraer resultados de un
experimento - Extraer todos los resultados por lotes
- Visualizar en Office si los resultados obtenidos
son válidos - Pasar a gnuplot los resultados importantes
- Incluir las gráficas en el paper
24Metodología para simular en garibaldi
- 1 PC con 2 procesadores de 32 bits
- Lanzar 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
25Metodología para simular en mozart
- 41 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