Instalación De Ns-3

Preview only show first 6 pages with water mark for full document please download

Transcript

SIMULACIÓN DE PROTOCOLOS DE ENRUTAMIENTO PARA REDES MÓVILES AD-HOC MEDIANTE HERRRAMIENTA DE SIMULACIÓN NS-3 INSTALACIÓN DE NS-3 Introducción a la herramienta • NS-3 es un simulador de redes de eventos discretos • Cada evento ocurre en un instante determinado y modifica el estado del sistema • La simulación no recorre de forma progresiva el tiempo • (simulador de tiempo continuo), sino que va saltando en el tiempo de un evento al evento siguiente Las simulaciones son más rápidas • Aplicaciones: usos en investigación y educación • Software abierto, de uso público, desarrollado en común a través de las contribuciones de sus usuarios • El Proyecto ns-3 arrancó su andadura en 2006 • Trata de sintonizar con las líneas de investigación más actuales en materia de redes de comunicaciones • Bajo nivel de compatibilidad con ns-2 Simulación de Redes Loja - 2014 2 1 Introducción a la herramienta • Objetivo: construcción de un núcleo de simulación sólido (validado), sencillo de depurar y bien documentado (relativamente) • Facilita la extracción de los resultados de simulación (trazas) para su posterior análisis • Sistema operativo: Linux (nativo o máquina virtual) • El núcleo de simulación soporta redes estructuradas sobre el modelo IP y también no basadas en IP: • • • • Wi-Fi WiMAX LTE Redes de sensores, redes cableadas TCP/IP, aplicaciones, etc. • Ejemplo de su evolución: • Agosto 2013  ns-3.18 • Diciembre 2013  ns-3.19 Simulación de Redes 3 Loja - 2014 Introducción a la herramienta Compilación y ensamblado • Se realiza mediante WAF para configurar, compilar, limpiar, instalar y desinstalar programas. • Está desarrollado en el lenguaje PYTHON (instalar antes de su uso) • Se ejecuta desde línea de comandos: ./waf antenna bridge core aodv config-store csma dsdv energy network point-to-point sixlowpan tap-bridge uan wave csma-layout dsr emu fd-net-device internet mobility Simulación de Redes applications buildings flow-monitor lte mpi mesh netanim (no Python) nix-vector-routing point-to-point-layout spectrum test (no Python) virtual-net-device wifi olsr Módulos incluidos propagation stats topology-read visualizer wimax Loja - 2014 4 2 Introducción a la herramienta Los scripts se pueden desarrollar principalmente en dos lenguajes: • CPP • PYTHON Un ejemplo de ejecución de un programa en ns3 es: ./waf --run scratch/scratch-simulator El ejecutable se encuentra en el directorio build, si se quiere ejecutar directamente sería necesario actualizar enlaces simbólicos (sudo ln…). El fichero scratch-simulator.cc es: Cabecera típica de C Utilizado para depuración Programa principal Muestra mensaje en pantalla Simulación de Redes Loja - 2014 5 Prerrequisitos  Instalación de C++ $ sudo apt-get install gcc g++ python ¿Instalar estos paquetes sin verificación [s/N]? → y  Instalación de Python $ sudo apt-get install gcc g++ python python-dev  Instalación de Mercurial $ sudo apt-get install mercurial  Instalación de Bazaar $ sudo apt-get install bzr  Depurador $ sudo apt-get install gdb valgrind  Librería GSL (GNU Scientific Library) $ sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl Simulación de Redes Loja - 2014 6 3 Prerrequisitos  Analizador flex y generador bison $ sudo apt-get install flex bison libfl-dev  Instalación de tcpdump (lectura de salidas pcap) $ sudo apt-get install tcpdump  Instalación de librerías estadísticas $ sudo apt-get install sqlite sqlite3 libsqlite3-dev  Instalación de librerías XML $ sudo apt-get install libxml2 libxml2-dev  Sistema GTK (toolkit basado en objetos) $ sudo apt-get install libgtk2.0-0 libgtk2.0-dev  Máquinas virtuales en ns-3 $ sudo apt-get install vtun lxc Simulación de Redes Loja - 2014 7 Prerrequisitos  Chequeo de código python $ sudo apt-get install uncrustify  Documentación (doxygen) $ sudo apt-get install doxygen graphviz imagemagick $ sudo apt-get install texlive texlive-extra-utils texlive-latexextra  Visualización de manuales y tutorial (con sphinx y dia) $ sudo apt-get install python-sphinx dia  Instalación de visualizador pyviz de ns-3 $ sudo apt-get install python-pygraphviz python-kiwi pythonpygoocanvas libgoocanvas-dev  Módulo openflow $ sudo apt-get install libboost-signals-dev libboost-filesystemdev  Soporte de emulador MPI (Message Passing Interface) $ sudo apt-get install openmpi-bin openmpi-common openmpidoc libopenmpi-dev Simulación de Redes Loja - 2014 8 4 Prerrequisitos  Enlaces modificados con python $ sudo apt-get install gcc-multilib Simulación de Redes Loja - 2014 9 Instalación usando Bake $ $ $ $ $ $ $ $ $ $ mkdir workspace cd workspace hg clone http://code.nsnam.org/bake export BAKE_HOME=`pwd`/bake export PATH=$PATH:$BAKE_HOME export PYTHONPATH=$PYTHONPATH:$BAKE_HOME cd bake ./bake.py check ./bake.py configure –e ns-3.18 bake .py show qt4 - missing $ sudo apt-get install qt4-dev-tools $ ./bake.py show qt4 - OK Simulación de Redes Loja - 2014 10 5 Instalación usando Bake $ cd ../.. $ ./bake.py download –v Centro de Software: instalar gccxml $ ./bake.py build -vvv Simulación de Redes Loja - 2014 11 Loja - 2014 12 Prueba de funcionamiento $ cd source/ns-3.18 $ ./test.py –c core $ ./waf –run hello-simulator Simulación de Redes 6 Instalación de aplicaciones • Gnuplot en Centro de Software  Prueba de funcionamiento $ gnuplot gnuplot> exit • Wireshark en Centro de Software  Aparecerá el icono en la barra lateral Simulación de Redes Loja - 2014 13 7