The Network Simulator - NS 2

From Web
Revision as of 18:14, 13 February 2007 by Acorni (talk | contribs)
Jump to navigation Jump to search

From [1], Ns is a discrete event simulator targeted at networking research. Ns provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless (local and satellite) networks.

Configuration hints

To get the software running you must

  • setup your system to compile the NS
  • download the NS source
  • compile the sources
  • set up the user environment to run the NS

In the following are described these steps.

Ubuntu Linux installation

As root the commands are the following. To setup the linux machine:

   useradd -c "ns, NS network simulator user, " \
       -d /home/$name  \
       -g users \
       -m -k /etc/skel \
       -s /bin/bash \
   passwd $name
   apt-get update; apt-get update
   apt-get dist-upgrade --show-upgraded
   apt-get install  g++ gcc tk8.4 tcl8.4 libc6-dev \
                    libx11-dev libx11-dev xlibs-dev make

To install the software,

Logout and login as ns user, download the source code from

You need the file ns-allinone-2.30.tgz or newer. Here are example steps:

mkdir ns
cd ns
wget http:/..../ns-allinone-2.30.tgz
tar xzvf ns-allinone-2.30.tgz
cd ns-allinone-2.30
#  compile the software

At the end of this step the software should be compiled with no errors.

Environment setup

these command should be executed before running the ns.

export NS_HOME
export PATH

For example, you can put them into the file


Patch WiMax for ns 2.30

The WiMax patch is from, this was for the 2.29 version, and we ported it to the 2.30 version.

Download the patch here: Media:ns2.30_wimax.tgz

patch installation instuctions

  • uncompress the zipped file into the the ns2.30 directory
  cd ..../ns2.30
  tar xzvf ns2.30_wimax.tgz
  • Makefile changes:
    after the line containing
    add these ones:
       mac/802_16/packet-802_16.o \
       mac/802_16/timer-802_16.o \
       mac/802_16/mac-802_16.o \
       mac/802_16/traffic/UGS_traffic.o \
       mac/802_16/traffic/ertPS_traffic.o \
       mac/802_16/traffic/rtPS_traffic.o \
       mac/802_16/traffic/nrtPS_traffic.o \
       mac/802_16/traffic/BE_traffic.o \
  • recompile the package with make