How to Recompile Network Simulator 2

Assumption
I installed ns2 under the folder /opt/
The path in my system is /opt/ns-allinone2.33/ns2.33/
  • Under the above said folder there are two Makefiles (Makefile and Makefile.in)
  • Makefile.in is the input file (any addition or correction will be done in this file only). during compilation this file will be copied to Makefile. So dont try to modify Makefile.
  • Once the changes are made to the Makefile.in, execute the command ./configure at the above said folder. (/opt/ns-allinone2.33/ns2.33# ./configure)
  • Then execute make, if there are any errors during make, correct it
For Sample Examples of recompilation and how to edit the Makefile.in, comment me, so that i will put it in the next post.


Tracegraph under Windows


  1. Download tracegraph from the website.

  2. Download the Matlab run time library mglinstaller.exe

  3. unzip or untar the tracegraph.zip file.

  4. Tracegraph will be unzipped like "d:\tracegraph202"

  5. then put the mglinstaller.exe in the "tracegraph202" folder (d:\tracegraph202\)

  6. double click the mglinstaller.exe file, it will create a win32 folder and will generate .dll files under D:\tracegraph202\bin\win32

  7. Put the above directory in the PATH Variable

  8. The run trgraph.exe

Setting Root Password in MySQL and PhpMyAdmin

If you are using PhpMyAdmin as part of WAMP(Windows, Apache, MySQL and PHP), then you need to take care of the root password and hence follow the steps.

If you change, only the MySQL password or PHPMyAdmin Password, then the PHPMyAdmin screen does not show the databases, files, etc (instead it will show access denied).

  1. So Both MySQL and PhpMyAdmin password should be changed and both password should be equal.
  2. Go to mysql command window (by default the MySQL has no password)
  3. Execute the command set password=password("abc123");
  4. find the config.inc.php file under phpmyadmin folder (usually in WAMP it will be under C:\wamp\apps\phpmyadmin2.11.6) and find the following line in the config.inc.php file $cfg['Servers'][$i]['password'] = ' '; // MySQL password
  5. Replace the line to $cfg['Servers'][$i]['password'] = 'abc123'; (as the password the mysql is also "abc123".
  6. now restart the server and now open http://localhost/phpmyadmin/

How to Run TCL File in Network Simulator 2

1. Install NS2 and set the path.

2. After Installing NS2, go the $prompt and run ns filename
For example, ns tcp.tcl (if the file name is tcp.tcl)

3. after the previous statement automatically the .nam and .tr files will be created in the same folder (the tcl file should contain the provision of tracing the nam and trace file.. those examples we will discuss later in the blog)
(nam means Network Animator and tr means Trace file)

4. to see the demo in GUI, run nam tcp.nam
(a window will be opened and you can click the run button )
5. .tr file is actual file helpful to see the performance factors like(throughput, packet drop, etc).
You can parse the .tr file using softwares like tracegraph202(need to download separately) or xgraph( which comes along with ns2)

Installation Instructions for Network Simulator 2

The ns2 version taken here is 2.31, if you downloaded any other version, please modify your version during installation

1)Uncompress the ns2

tar zxvf ns-allinone-2.31.tar.gz
or
gzip -d ns-allinone-2.31.tar.gz
tar xvf ns-allinone-2.31.tar

2) cd /opt/ns-allinone-2.31 (since /opt is the folder which is unused, so i have selected that folder to install, however you can install that in any folder)

3) ./install (execute the command)

4) If the installation fails in the middle, then try to install the linux packages that are

necessary to run NS2. (In any linux (ubuntu or fedora or redhat or suse), install the TCL/TK, Perl packages during the installation of linux...)

5) Once the installation succeeded, then the path information will be provided by the NS2

6) Set the path in the /root/.bash_profile
(vi /root/.bash_profile)

or
If you are a user home//.bash_profile (for example, if your the username is tsp, then execute this command vi /home/tsp/.bash_profile)
7) set the PATH and the LD_LIBRARY_PATH according to the point number 11.

8) logout and login.

9) go to the terminal and try ns or nam

10) for running the examples comes along with the distribution of NS2
cd /opt/ns-allinone-2.31/ns-2.31/tcl/ex

11. This is how you will see once the ns2 installation is success, from this information, you can put the PATH and LD_LIBRARY_PATH variable..

////////////////This is the successful installation of the NS2 package

Ns-allinone package has been installed successfully.
Here are the installation places:
tcl8.4.14: /opt/ns-allinone-2.31/{bin,include,lib}
tk8.4.14: /opt/ns-allinone-2.31/{bin,include,lib}
otcl: /opt/ns-allinone-2.31/otcl-1.13
tclcl: /opt/ns-allinone-2.31/tclcl-1.19
ns: /opt/ns-allinone-2.31/ns-2.31/ns
nam: /opt/ns-allinone-2.31/nam-1.13/nam
xgraph: /opt/ns-allinone-2.31/xgraph-12.1
gt-itm: /opt/ns-allinone-2.31/itm, edriver, sgb2alt, sgb2ns, sgb2comns, sgb2hierns

----------------------------------------------------------------------------------

Please put /opt/ns-allinone-2.31/bin:/opt/ns-allinone-2.31/tcl8.4.14/unix:/opt/ns-allinone-2.31/tk8.4.14/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.

IMPORTANT NOTICES:

(1) You MUST put /opt/ns-allinone-2.31/otcl-1.13, /opt/ns-allinone-2.31/lib,
into your LD_LIBRARY_PATH environment variable.

If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PATH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PATH
If you are using sh, you can set it like:
export LD_LIBRARY_PATH=

(2) You MUST put /opt/ns-allinone-2.31/tcl8.4.14/library into your TCL_LIBRARY environmental

variable. Otherwise ns/nam will complain during startup.


After these steps, you can now run the ns validation suite with
cd ns-2.31; ./validate

For trouble shooting, please first read ns problems page

http://www.isi.edu/nsnam/ns/ns-problems.html. Also search the ns mailing list archive
for related posts.

Sample Files for Network Simulator 2

There are some example or sample files stored in the ns2 software itself
1. it is available in the following path

  • /opt/ns-allinone-2.31/ns-2.33/tcl/ex
  • the files can be running by issuing the command ns filename.tcl (only .tcl files can bu running using the command ns)
  • execute the command ns wireless-mitf.tcl (this will create two files in the same folder wireless_mitf.nam and wireless_mitf.tr)
  • nam files means Network Animator Files, these files can be executed by nam wireless_mitf.nam
  • the Trace files can be executed by xgraph which is an inbuilt tool in NS2.
  • But Tracegraph is a third party tool which will take .tr files as the source file and various waveforms will be plotted