Enunciado Práctica

Anuncio
Redes Inalámbricas (RIN)
Práctica 2: Simulación de redes adhoc con ns2
Profesor: Carlos Tavares Calafate
Descripción de la práctica y objetivos :
En esta práctica el alumno aprenderá a hacer estudios con redes adhoc mediante el uso del simulador ns2. Para eso aprenderá a crear escenarios de movilidad, a generar tráfico, a configurar la simulación y a lanzar baterías de pruebas de forma automatizada. Aprenderá también a extraer resultados de simulación de forma automática, así como a representar los mismos con la herramienta gnuplot.
1. Instrucciones generales de uso
●
●
●
Arrancar el PC con el sistema operativo Kubuntu.
Entrar con cuenta de alumno UPVNET.
Iniciar una máquina virtual Linux desde innotek Virtual Box (ver Sistema → innotek Virtual box).
2. Arranque de la máquina virtual
●
●
Una vez configurada la máquina virtual RIN, haga clic en “Iniciar”.
Para acceder a la máquina virtual hay que indicar:
○ usuario: master
○ contraseña: kubuntu
3. Acceso al simulador
●
●
●
●
●
●
●
●
Abra un terminal Linux (ver Sistema → Konsole).
Entre en la carpeta ns­allinone­2.32
Verifique que están disponibles los ejecutables ns y nam dentro de la carpeta bin.
Dentro de la carpeta bin, ejecute:
ln s ~/nsallinone2.32/ns2.32/indeputils/cmuscengen/setdest/setdest
Desde cualquier directorio ejecute el comando ns. Deberá aparecer un intérprete de
comandos TCL: “%”.
Haga Ctrl+C para salir.
4. Creación de escenarios
●
Para simular redes adhoc en ns2, el primer paso consiste en generar escenarios de movilidad, ●
●
●
●
●
●
●
que no son más que trazas de movimiento para todos los nodos generadas al azar, pero cumpliendo ciertos requisitos impuestos por el usuario. En primer lugar vamos a crear una carpeta de trabajo llamada “sim”.
Dentro de esta carpeta cree una subcarpeta para almacenar las trazas de movilidad llamada “scen”.
La siguiente instrucción:
setdest ­v 1 ­n 50 ­p 0 ­M 10 ­t 300.0 ­x 1500 ­y 400
permite crear un escenario de 1500 por 400 metros dónde 50 nodos se mueven a una velocidad máxima de 10 m/s durante 300 segundos. Este formato es válido para la versión 1
del modelo de movilidad (parámetro “­v 1”).
Redireccione la salida de esta instrucción a un fichero llamado:
scen­1500x400­n50­v10­t300.
Analice el contenido del fichero. Mediante la instrucción “tail ­58 <nombre_fichero>”
analice las estadísticas que nos ofrece las herramienta.
Borre el fichero.
5. Generación automatizada de escenarios
●
●
●
●
●
De los ficheros que acompañan esta práctica, proceda a copiar el archivo genscenario.sh a la carpeta “sim”.
De permisos de ejecución al mismo mediante: chmod a+x genscenario.sh
Analice el contenido del fichero. Verá que permite generar escenarios de forma totalmente automática. En particular, el script ha sido configurado para generar 5 escenarios distintos para velocidades de los nodos iguales a 5, 10 y 15 m/s.
Ejecute el fichero (verá que tardará algún tiempo en terminar).
Verifique que los escenarios se han almacenado con éxito dentro de la carpeta “scen”.
6. Generación de tráfico
●
●
●
●
De los ficheros que acompañan esta práctica, proceda a copiar los archivos con extensión tcl a la carpeta “sim”.
Abra y analice el archivo mainudp.tcl. Verifique que contiene la instrucción “source udp­
source.tcl”
Deténgase en el apartado “#Define traffic”. Abra el archivo udp­source.tcl y analice la sintaxis de la función.
Amplíe el archivo mainudp.tcl de manera a crear conexiones similares entre los nodos 2→3, 4→5 y 6→7. Asegúrese de incrementar el parámetro index de la función de forma secuencial.
7. Arranque de la simulación
●
●
●
Desde la consola, ejecute la instrucción:
ns mainudp.tcl ­sc scen/scen­1500x400­n50­v5­t300­1
Una vez terminada la simulación, verifique que se han creado los ficheros out.tr y out.nam.
Para visualizar los resultados obtenidos, ejecute el comando “nam out.nam”. Recuerde de
que el tráfico sólo se arranca a partir del segundo 100.
8. Obtención de resultados
●
●
●
●
Los resultados de las simulaciones se obtienen a partir del fichero de traza out.tr. De los ficheros que acompañan esta práctica, proceda a copiar los archivos avg.sh, e2e_delay.pl y ns­results.pl a la carpeta “ns­allinone­2.32/bin/”.
De permisos de ejecución a esos ficheros mediante la instrucción: “chmod a+x <nombre_fichero>”
Obtenga estadísticas para la simulación que ha realizado mediante una llamada: nsresults.pl stats <fichero_traza.tr>
Analice los resultados obtenidos e indique:
a) Calcule la carga total inyectada en la red (en kbit/s). ____________________
b) ¿Cual es la tasa de pérdida? _______________________
c) ¿Cree que la red está congestionada? ¿Porqué?
d) Calcule la sobrecarga de encaminamiento normalizada:
Num.paquetesencaminamiento
N=
Num.paquetes datos
e) ¿El resultado obtenido en el apartado anterior le parece alto o bajo? A qué se debe este comportamiento? ___________________________________________________________
_________________________________________________________________________
9. Lanzamiento automatizado de simulaciones
●
●
●
●
●
Normalmente queremos lanzar de forma automática un gran número de simulaciones en un servidor dedicado. Para simplificar esa tarea se suele recurrir a un script BASH (ver práctica 1).
De los ficheros que acompañan esta práctica, proceda a copiar el archivo “startsim.sh” a la carpeta “sim”.
Utilice el comando “chmod a+x startsim.sh” para darle permisos de ejecución.
Edite el fichero mainudp.tcl y comente las lineas:
set namtrace [open $val(namfile) w]
$ns_ namtrace­all­wireless $namtrace $val(x) $val(y)
Analice el contenido del script “startsim.sh” y arránquelo.
10. Obtención de resultados de forma automatizada
●
●
●
●
Igual que en apartado anterior se vio como lanzar simulaciones de forma automática, en este apartado se pretende extraer los resultados de las simulaciones realizadas de forma automática también.
De los ficheros que acompañan esta práctica, proceda a copiar el archivo “get­results.sh” a la
carpeta “sim”.
Dele permisos de ejecución.
Revise su contenido y proceda a ejecutarlo. Verá que se crearán 3 ficheros (statss5.txt, statss10.txt y statss15.txt) con los resultados de las 5 pruebas realizadas en términos de tasa de pérdida, retardo y sobrecarga de encaminamiento.
Parte II: Representación gráfica con Gnuplot
11. Instalación y verificación de gnuplot
●
●
●
●
La herramienta gnuplot permite obtener gráficas de aspecto profesional, similar a las que podemos encontrar en publicaciones científicas. De hecho, es una de las herramientas gráficas más utilizadas en este ámbito.
Para instalar gnuplot ejecute la siguiente instrucción:
sudo apt­get install gnuplot
A continuación introduzca la contraseña de root (kubuntu) y responda sí a todas las preguntas.
Una vez terminada la instalación ejecute gnuplot para verificar que se ha instalado correctamente. Para probar el buen funcionamiento de la herramienta obtenga una gráfica de
forma automática (por ejemplo, con el comando “plot x”).
12. Obtención de resultados
●
La herramienta gnuplot tiene un lenguaje propio para generar gráficas, lo que le otorga mucha flexibilidad y potencia. Dentro de la carpeta results, dónde se encuentran los ficheros statss*.txt, arranque gnuplot y ejecute los siguiente comandos:
set xlabel 'Simulation number'
set ylabel 'Packet arrival ratio (%)'
set key bottom right
plot [0.5:5.5] [90:100] 'statss5.txt' u 1:2 title 'Speed=5m/s' w lp ps 3
●
Cree un fichero llamado plot.gp. Copie estos comandos e ese fichero, y amplíe su funcionalidad de manera a generar una gráfica similar a la que surge a continuación. Para más detalles acerca de este lenguaje consulte la documentación de gnuplot en http://www.gnuplot.info.
●
Proceda de forma similar para el retardo y la sobrecarga de encaminamiento, de manera a generar gráficas similares a las que se muestran a continuación.
13. Interpretación de resultados
●
Analizando las gráficas que has obtenido, indica:
○ Para una misma velocidad, ¿los resultados obtenidos en los distintos escenarios son estables en términos de tasa de llegada, retardo y sobrecarga de encaminamiento? ¿Porqué? _______________________________________________________________
_______________________________________________________________________
○ Comparando los resultados para distintas velocidades, ¿es fácil distinguir para cual se han obtenido mejores prestaciones? ¿Porqué?
_______________________________________________________________________
_______________________________________________________________________
14. Obtención de valores medios y generación de gráficas
●
A partir de los ficheros stats­s*.txt que has utilizado anteriormente, genera un nuevo fichero
llamado statsfinal.txt con tres lineas de datos dónde, en cada línea, esté presente:
<velocidad> <porcentaje de llegada medio> <retardo medio> <sobrecarga de enc. media>
●
A partir del fichero creado, genere gráficas para el porcentaje de llegada de paquetes, retardo y sobrecarga de encaminamiento usando gnuplot. Las gráficas deberán asemejarse a las siguientes:
15. Interpretación de los resultados obtenidos
●
●
A partir de las gráficas obtenidas para el porcentaje de llegada de paquetes y retardo, indique a qué conclusión llegó:
__________________________________________________________________________
__________________________________________________________________________
Analizando la gráfica obtenida para la sobrecarga de encaminamiento, indique a qué conclusión llegó:
__________________________________________________________________________
__________________________________________________________________________
Posibles ampliaciones a la práctica
En la pagina web: http://nsnam.isi.edu/nsnam/index.php/Contributed_Code
podemos encontrar muchísimos módulos adicionales para ns­2 que permiten probar una gran variedad de protocolos y tecnologías.
El alumno puede proponer un trabajo de asignatura basado en cualquiera de estas mejoras propuestas.
Ejemplos de trabajos:
1. Comparar las prestaciones obtenidas en situaciones similares con otros protocolos de
encaminamiento (ej: DSR, OLSR, DYMO, etc.).
2. Comparar las prestaciones obtenidas con tráfico TCP con distintos protocolos de
encaminamiento (ej: DSR, OLSR, DYMO, etc.)..
3. Probar la eficiencia de diferentes implementaciones de TCP.
4. Comparar las prestaciones obtenidas mezclando tráfico de vídeo/voz con TCP aplicando en
redes 802.11e con respecto a redes 802.11.
5. Hacer un análisis comparativo de prestaciones de las tecnologías 802.11 y 802.15.4.
6. Hacer un análisis comparativo de prestaciones de las tecnologías 802.11 y 802.16.
7. Comparación de prestaciones entre los protocolos UDP y DCCP.
8. Comparación de prestaciones entre los protocolos TCP y SCTP.
9. Análisis de prestaciones de protocolos multicast para redes adhoc.
10. Análisis de las prestaciones de TCP con distintas políticas de encolamiento.
Descargar