sabato, ottobre 13, 2007

Network Simulator 2 (Ns2) - aggiornamento alla versione 2.32

Ormai da tempo seguo il progetto del simulatore di rete. Ultimamente è uscita la nuova versione del simulatore ns2 (ns2.32). Quindi modifico la guida al fine che permetta l'installazione su Ubuntu. Io personalmente l'ho testata su Ubuntu Gutsy Gibbon 7.10.
Questa guida contiene la procedura di installazione della versione stabile più recente dell'applicazione, la 2.32, uscita il 3 Settembre 2007.

Introduzione

Network Simulator 2 è un simulatore orientato al networking. La popolarità di ns2 è essenzialmente dovuta all' eterogeneità di uso ed alla varietà di modelli messi a disposizione. Infatti ns consente di simulare molte tipologie di reti IP (LAN/WAN) implementando

  • protocolli di rete a vari livelli (MAC, routing, trasporto)

  • modelli di sorgenti di traffico (es. CBR, FTP)

  • meccanismi di gestione delle code (es. FIFO, RED)


Requisiti

Di seguito sono elencati i pacchetti necessari alla compilazione dei sorgenti:


  • build-essential

  • make

  • tcl8.4-dev

  • tk8.4-dev

  • autoconf

  • automake

  • libxmu-dev


Per installare i pacchetti con apt-get, è sufficiente aprire una finestra di terminale e digitare:

sudo apt-get install build-essential make tcl8.4-dev tk8.4-dev autoconf automake libxmu-dev


Installazione


Download del pacchetto

Posizionari nella propria Home e creare al suo interno una cartella .ns2:


cd ~
mkdir .ns2
cd ~/.ns2

Una volta creata la directory, scaricare al suo interno l'archivio contenente i sorgenti da qui oppure lanciando il comando

wget http://nchc.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.32.tar.gz


Compilazione

Estrarre il file ~ns-allinone-2.32.tar.gz:


cd ~/.ns2
tar xzfv ns-allinone-2.32.tar.gz

Ora si può procedere con la compilazione:

cd ns-allinone-2.32
./install





Il tempo necessario al completamento dell'opeazione dipende dalla propria configurazione hardware.


Una volta terminato il processo di compilazione, è possibile provare il corretto funzionamento dell'applicazione digitando il seguente comando:

cd ns-2.32/
./ns

Come output si dovrebbe ottenere:


%

L'applicazione è stata correttamente installata.


È possibile lanciare l'eseguibile senza doversi ricordare il percorso completo. Per far ciò è sufficiente modificare il file .bashrc presente nella propria cartella Home con un qualsiasi editor di testo


gedit ~/.bashrc

Aggiungere le seguenti righe alla fine del file, sostituendo la dicitura UTENTE con il proprio nome utente:


# LD_LIBRARY_PATH
OTCL_LIB=/home/UTENTE/.ns2/ns-allinone-2.32/otcl-1.13
NS2_LIB=/home/UTENTE/.ns2/ns-allinone-2.32/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/UTENTE/.ns2/ns-allinone-2.32/tcl8.4.15/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=/home/UTENTE/.ns2/ns-allinone-2.32/bin:/home/UTENTE/.ns2/ns-allinone-2.32/tcl8.4.15/unix:/home/UTENTE/.ns2/ns-allinone-2.31/tk8.4.15/unix
NS=/home/UTENTE/.ns2/ns-allinone-2.32/ns-2.32/
NAM=/home/UTENTE/.ns2/ns-allinone-2.32/nam-1.13/
PATH=$PATH:$XGRAPH:$NS:$NAM


Per attivare le modifiche fatte al file .bashrc, si deve lanciare il seguente comando
 source ~/.bashrc 

Avvio dell'applicazione

Per verificare il corretto funzionamento del simulatore di rete e dei suoi componenti, si possono scaricare alcuni esempi presenti sul sito ufficiale del progetto, per poi eseguirli con il programma appena installato:

cd ~
cd ns2-example
wget http://www.isi.edu/nsnam/ns/tutorial/examples/example2.tcl
ns example2.tcl

La schermata seguente è un esempio di output di simulazione, elaborato con nam :





Allo stesso modo, si può visualizzare un esempio elaborato con xgraph:


cd ~
cd ns2-example
wget http://www.isi.edu/nsnam/ns/tutorial/examples/example4.tcl
ns example4.tcl

La schermata seguente è un esempio di output di simulazione, elaborato con xgraph :





Eliminare i file utilizzati per l'installazione

Eseguire i seguenti comandi per eliminare i file utilizzati per l'installazione e non più utili:


cd ~
rm ~/.ns2/ns-allinone-2.31.tar.gz
rm -Rf ~/ns2-example

Ulteriori risorse





9 commenti:

Fabio ha detto...

ciao,

innanzitutto grazie per la guida.l'ho seguita passo passo ma quando tento di lanciare un progetto tcl da bash mi da in risposta "retens2.tcl does not exist, try again"

suggerimenti?

Davide ha detto...

Ciao,
grazie per i complimenti. Cmq quanto mi sembra vedere dal tuo errore, il problema non evidenzia un errore d'installazione di ns, ma una mancanza del file retens2.tcl. Prova a digitare ns e poi scrivi rete e premi tab per completare. Se trova il file allora significa che il file è presente. Cmq postami ls e il codice di retens2.tcl e vedo cosa può essere.

Ciao
Davide

fabio ha detto...

ciao

ho risolto venerdi notte alle 2, e poi dicono che la notte non porta consiglio,comunque era saltata qualche dipendenza,ho tolto tutto, ripristinato il bashrc e reinstallato da zero, ora è tornato a funzionare

grazie lo stesso :)

Anonimo ha detto...

ciao, sto installando la v 2.26 (perchè mi serve proprio quella in quanto è stata modificata...) su ubuntu 8.04... ho installato tutti i pacchetti prerichiesti e poi ho anche aggiornato... solo che quando faccio ./install mi da errore su un file checking system version (for dynamic loading)... ./configure: 1: Syntax error: Unterminated quoted string
tcl8.3.2 configuration failed! Exiting ...
Tcl is not part of the ns project. Please see www.Scriptics.com
to see if they have a fix for your platform.
e l'installazione non prosegue...

Sapresti aiutarmi?

Riccardo ha detto...

ciao
rinnovo anche io i ringraziamenti per la guida.. molto utile e finalmente sono riuscito a installare sto benedetto simulatore.. Funziona tutto, ma dopo aver editato il file /.bashrc sostituendo al nome UTENTE il mio nome ovvero riccardo, dopo aver eseguito anche il comando source, dovrei essere in grado di far partire il simulatore da qualunque cartella no? invece quando provo a lanciare l'esempio l'output è il seguente:

riccardo@riccardo-laptop:~/ns2-examples$ ns example2.tcl
Il programma «ns» non è attualmente installato. È possibile installarlo digitando:
sudo apt-get install host
bash: ns: command not found

sai dirmi qualcosa?

Davide ha detto...

Ti ringrazio per i complimenti, ma purtroppo non posso verificare il setting delle variabili d'ambiente.Prova ad utilizzare la versione 2.33. Penso che per quella il setting delle variabili sia corretto.

Ciao
Davide

Fabio ha detto...

anche a me dava un problema simile, ma il mio errore era dovuto al fatto che avevo installato il simulatore come superadmin, prova a vedere se è lo stesso problema.

Anonimo ha detto...

imparato molto

Anonimo ha detto...

molto intiresno, grazie