BorrowBits
Si Albert Einstein todavía viviera, leería BorrowBits
Portada » Blog » Telecomunicaciones » WSN » Instalación de NS2 para redes de sensores inalámbricos

Instalación de NS2 para redes de sensores inalámbricos

Nam de NS2, una herramienta de simulaciónEn los últimos meses y como ya os conté en el post sobre Redes de sensores inalámbricos (Wireless Sensor Networks) estoy trabajando en mi Proyecto Fin de Carrera. Este post incluirá los pasos que debemos seguir para la instalación de ns2.34 en Ubuntu 11.10. Asimismo incorporaré una serie de enlaces en los que se explica detalladamente como instalarlo en versiones anteriores.

Actualmente hay muchos investigadores trabajando en redes de sensores inalámbricos puesto que su campo de aplicación es amplísimo y de ahí que multitud de universidades, estados y empresas a lo largo y ancho del planeta estén destinando grandes sumas de dinero a desarrollar esta tecnología.

NS2 es un simulador de redes basado en eventos discretos muy utilizado en investigación a lo largo de los últimos años para cualquier protocolo de red. Al ser muy popular y eso unido a que se trata de software libre hace que tenga una gran acogida y que haya multitud de protocolos de cualquier tipo implementados y con soporte en este simulador. Por eso que yo personalmente me decanté por esta elección para la realización de mi PFC.

Como desventajas citar que es muy inestable arrojando multitud de errores inesperados y también que para la depuración en esta herramienta debes usar depuradores externos relegándote a un nivel primitivo.

NS2 no es ni mucho menos la única herramienta para simulación que se está empleando en WSN y tenemos OMNeT++, con un entorno más moderno y que incorpora depurador, de ahí que haya cada día más proyectos de investigación desarrollados usando este software.

Desde el lado de software propietario tenemos OPNET, pero precisamente el hecho de que no sea libre hace que no posea para WSN tantos protocolos implementados como los dos anteriores.

Vista esta pequeña introducción a NS2 y debido a la ausencia en castellano de tutoriales para su instalación me he animado a escribir los pasos que debemos seguir para la instalación de NS2.34 en Ubuntu 11.10.

1.- Instalación de los ficheros de desarrollo para Windows W y del compilador g++, necesario para ns2.

sudo apt-get install xorg-dev g++ xgraph

2.- Corregir el error en la vinculación de otcl mediante la edición de la línea 6304 en otcl-1.13/configure de manera que quede así:

SHLIB_LD="gcc -shared"

donde antes teníamos:

SHLIB_LD="ld -shared"

3.- A continuación, editamos el fichero ns-2.34/tools/ranvar.cc y cambiamos la línea 219 donde tenemos

return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

y la sustituimos por:

return GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

4.- Luego, cambiamos las líneas 183 y 185 en el archivo s-2.34/mobile/nakagami.cc y ponemos:

resultPower = ErlangRandomVariable(Pr/m, int_m).value();

y

resultPower = GammaRandomVariable(m, Pr/m).value();

5.-Añadimos una línea después de la línea 64 en ns-2.34/mac/mac-802_11Ext y ponemos:

#include stddef.h

6.-Ahora compilaremos usando la orden

./install

. Sin embargo, puede ocurrir que la orden ns no se pueda ejecutar todavía. Si tienes un error que ha sido de este tipo *** buffer overflow detected ***. Entonces necesitamos realizar lo siguiente para que la instalación termine con éxito:

6.a Instalar gcc-4.4 y g++-4.4 incluyendo sus dependencias, para ello usamos el siguiente comando:

$ sudo apt-get install gcc-4.4 g++-4.4

6.b Cambiamos la línea 270 en tcl8.4.18/unix/Makefile.in y ponemos:

CC = gcc-4.4

en lugar de:

CC = @CC@

7. Instalamos usando en comando

./install

en la carpeta ns-allinone-2.34.

8. Una vez que la instalación ha sido un éxito, añadimos las rutas al fichero ~/.bashrc
Para ello abrimos un editor de texto, por ejemplo gedit.

$ gedit ~/.bashrc

9. Añadimos las siguientes líneas a dicho fichero.

# LD_LIBRARY_PATH
OTCL_LIB=/home/usuario/ns-allinone-2.34/otcl-1.13
NS2_LIB=/home/usuario/ns-allinone-2.34/lib
X11_LIB=/usr/X11R6/lib
USR_LOCAL_LIB=/usr/local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB

# TCL_LIBRARY
TCL_LIB=/home/usuario/ns-allinone-2.34/tcl8.4.18/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB

# PATH
XGRAPH=/home/usuario/ns-allinone-2.34/bin:/home/usuario/ns-allinone-2.34/tcl8.4.18/unix:/home/usuario/ns-allinone-2.34/tk8.4.18/unix

NS=/home/usuario/ns-allinone-2.34/ns-2.34/
NAM=/home/usuario/ns-allinone-2.34/nam-1.14/
PATH=$PATH:$XGRAPH:$NS:$NAM

10. Para que dichos cambios, surtan efecto inmediatamente, insertamos:

$ source ~/.bashrc

Si tenéis otra distribución de Linux los pasos son ligeramente diferentes, para ello os dejo estos enlaces:

Instalación NS2 Ubuntu 10.10
Instalación NS2 Ubuntu 11.04

Para la realización de este tutorial me he basado en este enlace.

Vicente

CoFundador JITKey.com. De formación Ingeniero Telecomunicación. Interesado en las últimas novedades tecnológicas por las que desde muy temprana edad, sentí una gran atracción. Apasionado del mundo de empresa, finanzas.

Un comentario

Vicente

CoFundador JITKey.com. De formación Ingeniero Telecomunicación. Interesado en las últimas novedades tecnológicas por las que desde muy temprana edad, sentí una gran atracción. Apasionado del mundo de empresa, finanzas.

Suscríbete

¡Sácale el máximo partido a BorrowBits!

Apúntate para seguir recibir por email las nuevas publicaciones, noticias sobre Blockchain pre-filtradas y material exclusivo para suscriptores. De momento es gratis:

{subscription_form_1}

Categorías

Bits del pasado

Sitio patrocinado por:

JitKey rentabilización apartamentos turísticos

JITKey.- Startup enfocada en la gestión de alojamientos turísticos.