Publicado el 10 de Agosto del 2017
946 visualizaciones desde el 10 de Agosto del 2017
313,5 KB
7 paginas
Creado hace 11a (29/01/2014)
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
Loja - 2014
3
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 aodv applications
bridge buildings config-store
core csma csma-layout
dsdv dsr emu
energy fd-net-device flow-monitor
internet lte mesh
mobility mpi netanim (no Python)
network nix-vector-routing olsr
point-to-point point-to-point-layout propagation
sixlowpan spectrum stats
tap-bridge test (no Python) topology-read
uan virtual-net-device visualizer
wave wifi wimax
Módulos incluidos
Simulación de Redes
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
Loja - 2014
5
Simulación de Redes
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-latex-
extra
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 python-
pygoocanvas libgoocanvas-dev
Módulo openflow
$ sudo apt-get install libboost-signals-dev libboost-filesystem-
dev
Soporte de emulador MPI (Message Passing Interface)
$ sudo apt-get install openmpi-bin openmpi-common openmpi-
doc 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
Prueba de funcionamiento
$ cd source/ns-3.18
$ ./test.py –c core
$ ./waf –run hello-simulator
Simulación de Redes
Loja - 2014
12
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
Comentarios de: INSTALACIÓN DE NS-3 (0)
No hay comentarios