1 / 25

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

lisbet
Télécharger la présentation

Tema 7.- Redes inalámbricas Ad Hoc. Simulación de Redes inalámbricas con NS-2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. NS input & output

  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)

  5. 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/

  6. 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/

  7. 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, ...)

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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)

  14. 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.

  15. Automatización: lanzamiento param. de sims. • Ejemplo FIN=420 SCEN=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 done done

  16. Automatizació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 < $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]] } }

  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-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/

  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/

  19. 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 routing • Número total de bytes de routing • Routing overhead normalizado • paquetes de routing / paquetes de datos

  20. 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

  21. Automatizació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)

  22. Automatizació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 [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 lp set terminal postscript eps set out 'Hyb-def_br.eps' replot

  23. Metodologí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

  24. Metodologí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

  25. 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

More Related