Norwegian University of Science and Technology


Extensions to ns-2 [PH06,PH08]

Download! (patch for ns-2.34)

In short, these extensions aim to provide a more flexible and better integrated support for wireless and mobile networks and to support multi-* networks, that is networks where nodes may have multiple interfaces, possibly of different types, where nodes may communicate over multiple channels, where multiple routes to a destination may be available, where nodes may be interested in reaching a given resource/function/service rather than a specific node. Examples of such networks include wireless mesh and sensors networks.

These extensions provide a generic network layer architecture and a generic framework for implementing routing and forwarding protocols over one or more interfaces and regardless of their type. All the new objects are integrated in the standard ns-2 Node. A unique object and layout is used regardless of the type of interfaces and the routing/forwarding protocols running on the node. Capabilities (e.g. mobility) are added to the standard ns-2 Node by means of modules.

Documentation

FAQ

How to apply a patch to ns-2.34

Move to ns-2.34 directory.

If you have already installed ns, run:

make distclean

Apply the patch and recompile ns:

patch -p1 < patch_file && ./configure && make

(Re-)Install ns: [Optional. ns is not installed by running the install script provided with ns-allinone.]

make install

To validate the installation, run:

./validate

Other resources

Patch for the dei80211mr library (1.1.4)

Download!

This patch enables to make use of the dei80211mr library (included in ns-allinone-2.34) once the extensions presented above have been installed. This patch also includes corrections of compilation warnings generated when the -Wall option is actually used.

The script q2s_infrastruct_rate_adaptation.tcl in q2s_test shows how to modify the simulation script infrastruct_rate_adaptation.tcl to use the new objects. Run test-infrastruct_rate_adaptation.sh to validate that the outputs of both scripts are equivalent.

Install:
cd path_to_dei80211mr-1.1.4
if [ -f Makefile ]; then make distclean; fi
patch -p1 < patch_file
./configure --with-ns-allinone=`pwd | sed 's/\/dei80211mr-1.1.4//g'`
make && make install
chmod u+x q2s_test/test-infrastruct_rate_adaptation.sh

Patch for ns-Miracle (1.2.2)

Download!

This patch enables to compile ns-Miracle once the extensions presented above have been installed and the dei80211mr library has been patched. This patch also includes corrections of compilation warnings generated when the -Wall option is actually used.

Install:
cd path_to_nsmiracle-1.2.2
if [ -f Makefile ]; then make distclean; fi
mv mac802_11/802.11-module.cc tmp && awk '{sub("\r$", "");print}' tmp > mac802_11/802.11-module.cc
rm -f tmp
patch -p1 < patch_file
./configure --with-ns-allinone=path_to_ns-allinone
make && make install


2009/07/30 15:39, Laurent Paquereau
NTNU, NO-7491 Trondheim. Telephone: +47 73 59 50 00. Contact us
Editorial responsibility: Director of Information Christian Fossen