Instalación del ns-2
Instalación del ns-2
El simulador ns-2
El simulador ns-2 es un software de código libre desarrollado originalmente en la Universidad de Berkeley, y mantenido por la comunidad académica del área de redes.Es un simulador de eventos discretos que incorpora el comportamiento de diferentes protocolos y fenómenos de las redes.
El simulador en sí consiste en dos paquetes:
- ns (simulador)
- nam (visualizador de resultados)
- Tcl/Tk (lenguaje de scripting)
- otcl (extensiones orientadas a objetos)
- TclCL (bibliotecas de TCL)
Instalación en Linux
Para trabajar en ns-2 se recomienda hacerlo en un entorno Linux. Para instalarlo, se deben descargar las fuentes y compilarlo, por lo que es necesario tener los paquetes de compilación gcc y make así como sus bibliotecas asociadas.A continuación se da un procedimiento de instalación para Ubuntu/Linux a modo de ejemplo. En otras distribuciones puede ser necesario actualizar gcc, make y libxmu-dev (el 1er paso) de otro modo, pero el resto es común.
1) Actualizar los paquetes de compilación:
$> sudo apt-get install build-essential autoconf automake libxmu-dev
2) Descargar el archivo de fuentes ns-allinone-2.33 (o la versión más actual; tome en cuenta esto en las instrucciones que siguen) que ya contiene todas las librerías necesarias, así como el código de ns.
3) Descomprimir el archivo (se asume que se instalará en /home/usuario):
$> tar xzvf ns-allinone-2.33.tar.gz
4) Compilar usando el script de instalación:
$> cd ns-allinone-2.33
$> ./install
$> ./install
linkstate/ls.h:137:58: error: 'erase' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
^
linkstate/ls.h:137:58: note: declarations in dependent base 'std::map<int, LsIdSeq, std::less<int>, std::allocator<std::pair<const int, LsIdSeq> > >' are not found by unqualified lookup
linkstate/ls.h:137:58: note: use 'this->erase' instead
make: *** [linkstate/ls.o] Error 1
Ns make failed!
para solucionarlo, antes de install ejecutar:
export CC=gcc-4.4 CXX=g++-4.4
sudo apt-get install gcc-4.4 g++-4.4
5) Editar las variables de entorno.
En el home del usuario, hacer:
$> gedit .bashrc
Agregar lo siguiente al final del archivo:
Atención: cambiar "/home/usuario" por el directorio donde se descomprimió el ns-allinone-2.33.tar.gz
#LD_LIBRARY_PATH
OTCL_LIB=/home/usuario/ns-allinone-2.33/otcl-1.13
NS2_LIB=/home/usuario/ns-allinone-2.33/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.33/tcl8.4.18/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=/home/usuario/ns-allinone-2.33/bin:/home/usuario/ns-allinone-2.33/tcl8.4.18/unix:/home/usuario/ns-allinone-2.33/tk8.4.18/unix
NS=/home/usuario/ns-allinone-2.33/ns-2.33/
NAM=/home/usuario/ns-allinone-2.33/nam-1.13/
export PATH=$PATH:$XGRAPH:$NS:$NAM
Atención: cambiar "/home/usuario" por el directorio donde se descomprimió el ns-allinone-2.33.tar.gz
#LD_LIBRARY_PATH
OTCL_LIB=/home/usuario/ns-allinone-2.33/otcl-1.13
NS2_LIB=/home/usuario/ns-allinone-2.33/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.33/tcl8.4.18/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=/home/usuario/ns-allinone-2.33/bin:/home/usuario/ns-allinone-2.33/tcl8.4.18/unix:/home/usuario/ns-allinone-2.33/tk8.4.18/unix
NS=/home/usuario/ns-allinone-2.33/ns-2.33/
NAM=/home/usuario/ns-allinone-2.33/nam-1.13/
export PATH=$PATH:$XGRAPH:$NS:$NAM
6) Actualizar las variables de entorno:
$> source .bashrc
7) Test:
$> ./ns-allinone-2.33/ns-2.33/validate
Atención: la validación dura mucho. Si los primeros test dan OK cortarla con CTRL+C ya que no vale la pena correrla entera, la idea es simplemente verificar que quedó instalado.
Ns-2 en Windows
Si bien el ns-2 fue diseñado para entornos UNIX/Linux, puede ser utilizado en windows habiendo versiones pre compiladas. El problema principal es que estas versiones son bastante antiguas. Los ejemplos funcionan bajo esta versión (hasta donde sabemos al menos) aunque los obligatorios no fueron testeados. En definitiva, le recomendamos fuertemente que utilice las últimas versiones disponibles bajo linux (o el emulador CygWin, si no quiere instalar un Linux).Para ejecutar el ns en windows, necesita descargar tres cosas:
Instale tcl. La manera más sencilla de ejecutar el ns-2 es poniendo los ejecutables del ns y de nam en la misma carpeta donde tiene sus scripts. Luego mediante un terminal ejecute:
C:\<dir>\>ns.exe <script.tcl>
Note que necesita cambiar el nombre del ejecutable del ns por ns.exe (igual para el nam).Última modificación: domingo, 1 de marzo de 2015, 22:06