Instalar ns2 en Ubuntu

NS-2 es uno de los simuladores más utilizados en temas didácticos debido a su flexibilidad y relativamente fácil configuración.

Se pueden simular distintos protocolos y parámetros de una red. Usualmente se pueden configurar y obtener estadísticas de:

- Retrasos
- Gestión de colas
- Módulos de pérdidas
- Errores

Se puede escribir el código que simulara nuestra red directamente en la consola de ns, representada por el símbolo "%" o cargar un archivo en el que se encuentre toda la configuración, de la siguiente manera: #ns Mired.tcl.

Permisos y usuarios

Ya que Ubuntu no trae por defecto un usuario root, crearemos uno para evitar el comando sudo y también para utilizar la variable $DISPLAY sin problemas para el NAM y el Xgraph.

$ sudo passwd root

Tiper y re-tipear el password que le darás al usuario root.

Descarga e Instalación

Nos logueamos como usuario root

$ su -
password:

Descargamos el archivo, lo movemos a /usr/src/, nos ubicamos en esa carpeta, lo descomprimimos

# wget http://nchc.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.31.tar.gz
# mv ns-allinone-2.31.tar.gz /usr/src/
# cd /usr/src/
# tar -xzvf ns-allinone-2.31.tar.gz

Instalamos las librerías necesarias para poder compilar el ns:

# apt-get install build-essential autoconf automake libxmu-dev

Sólo si nos aparecen errores reiniciamos la PC y luego instalamos

# sudo apt-get install -f build-essential libxt-dev libxt6 libsm-dev libsm6 libice-dev libice6 libxmu-dev

Ahora instalamos el paquete ns-2, esto demora un buen tiempo, así que pueden dejarlo compilando.

# cd ns-allinone-2.31
#./install

Setear las variables de entorno
Podemos usar, vi o nano en lugar de gedit si fuese necesario.

$ gedit ~/.bashrc

Una vez dentro del bashrc le agregamos las siguientes líneas y reemplazamos /your/path/ por /usr/src/.

# LD_LIBRARY_PATH
OTCL_LIB=/your/path/ns-allinone-2.31/otcl-1.13
NS2_LIB=/your/path/ns-allinone-2.31/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=/your/path/ns-allinone-2.31/tcl8.4.14/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB

# PATH
XGRAPH=/your/path/ns-allinone-2.31/bin:/your/path/ns-allinone-2.31/tcl8.4.14/unix:/your/path/ns-allinone-2.31/tk8.4.14/unix
NS=/your/path/ns-allinone-2.31/ns-2.31/
NAM=/your/path/ns-allinone-2.31/nam-1.13/
PATH=$PATH:$XGRAPH:$NS:$NAM

Luego actualizamos el bashrc con el siguiente comando:

# source ~/.bashrc

Si hemos seguido los pasos anteriores y no hemos tenido contratiempos deberíamos obtener el símbolo "%" al escribir ns en la consola de linux.

# ns
%
Si queremos salir del shell de ns pulsamos las teclas control+c.

Condiciones para correr el NAM y el Xgraph

Si corremos algún archivo nam o xgraph de hecho nos saldrán los siguientes errores:

nam: no display name and no $DISPLAY environment variable
xgraph: cannot open display

"Pueden ser por dos cosas. Si entras en root con 'su -' tendrás que darle
permisos para que acceda a tu display y definir la variable $DISPLAY.

usuario $ xhost + localhost
usuario $ su -
root $ export DISPLAY=localhost:0.0

Si entras a root como 'su' sin el '-' entonces la variable $DISPLAY
la hereda de tu entorno de usuario y no tendrás que especificarla."

Escoger la segunda es lo más recomendable.

Rutas dentro de los archivos .tcl

puts "iniciando nam..."
exec nam 2nodos.nam &

puts "iniciando xgraph..."
exec xgraph x2nodos.tr &

Según la configuración que hemos realizado NO DEBE colocarse ninguna ruta después del exec, como por ejemplo: exec ../nam-1.31/nam 2nodos.nam &, lo correcto es exec nam 2nodos.nam &, como se muestra líneas más arriba.

Hay formas más "fáciles" de instalar ns-2 pero no en su totalidad, la forma descrita en este post es, la manera más completa de instalación, descrita, además, en gran parte en la página oficial de ns-2.

NS2 instalado en Ubuntu

Bibliografía

http://ing.edujose.org/2007/08/instalando-ns2-en-ubuntu-704-faisty_14.html
http://greenw.blogspot.com/2005/12/install-ns226-in-ubuntu.html
http://ns-2.blogspot.com/2006/08/howto-install-ns-2-allinone-onto.html
http://www.isi.edu/nsnam/nam/nam-problems.html
http://nsnam.isi.edu/nsnam/index.php/Installing_ns2.31_on_Ubuntu7.04
http://www.mail-archive.com/debian-user-spanish@lists.debian.org/msg75859.html

Etiquetas : , , , , , , , , ,

item rate
Total de Votos: 5 - Rating: 3.80

Vota por este artículo:


Ingrese su correo electrónico para suscribirse a los comentarios de este artículo:

Ingrese los caracteres de la imagen y presione el botón "Suscribirse":

Comentarios

SK escribió:

no funciona el "sudo su" ?
sábado 15 noviembre 21:53

juan.vera escribió:

Hola SK, si funciona el "sudo su", pero la idea era evitar el sudo. Para muchas aplicaciones se utiliza necesariamente el usuario root y aproveché para indicar como se activa en Ubuntu.

Un ejemplo de aplicación se da cuando te quieres pasar archivos desde windows con el Winscp. Si no te logeas como root o con algún usuario que tenga los privilegios de root, no podrás añadir archivos, por los permisos que esto implica.

Saludos.
domingo 16 noviembre 01:01

Añadir Comentarios

:

: (obligatorio)



(obligatorio)

Su comentario deberá ser aprobado antes de ser publicado. Gracias!