Extensions to the ns Network Simulator
ns Extensions
- NOAH: a wireless routing agent that (in contrast to DSDV, DSR,
...) only supports direct communication between base stations and
mobile nodes. This allows for the simulation of scenarios where multi-hop
wireless routing is undesired. Furthermore, NOAH does not send any
routing related packets.
- Improvements to the ns Mobile IP implementation, support
for overlapping service areas of base stations, intelligent
selection of foreign agents, ...
- Improved handoff mechanism
- Simple distance propagation model: when parameters for the exact
CMU radio propagation model are not available (send/receive power,
...) the simple distance propagation model allows to specify the
reach of base stations as a distance (no signal attenuation). When
the necessary information is available, the exact model should
always be used instead.
Additional Tools
- Modifications to ad-hockey (the CMU visualization tool),
support for Mobile IP scenarios and some optimizations
- Plotting tool for aggregate node throughput (plot_tp.pl, and run_plot_tp.sh) and throughput of single flows (plot_flows.pl), recent version of gnuplot
required for visualization
- Scenario-generator with simple scenario
generation language facilitating the creation of large scenarios
with many base stations (and an old
version for ns versions without support for multiple
wireless channels)
Installation
It is highly recommended to either use the all-in-one installation of ns
(based on release 2.1b7a of 16-Oct-2000) that includes the extension
or to modify an existing installation manually step-by-step. The approach of directly replacing the
corresponding files as described below may work with some versions of
ns but often fails.
Installation by adding/replacing files
To install the extension, several files of the ns installation
have to be modified.
The extension was tested with some snapshots of ns 2.1b6 and
2.1b7 and may not work with other versions of ns. The following
files of the have to be added or replaced:
- install the appropriate ;-) version of ns
- make clean; rm config.cache; rm Makefile
- unzip the extension archive to
a temporary directory
- copy sdist.cc, sdist.h, wireless-phy.h,
cmu-trace.cc, mip.h, mip-reg.cc, Makefile.in, noah/ to the ns directory
- copy noah.tcl to tcl/mobility and ns-default.tcl and ns-lib.tcl
to tcl/lib
- run ./configure and make
A slightly modified version of the
extension that works with some recent daily snapshots of ns was
made available by Thomas
Schwabe. Please contact him in case of installation problems or
bugs.
Example
The extension can be tested with this simple example.
For additional information and examples see the
Tech. Report of the MNAV
project.
Note that with the extension, the ns validation test for wireless
simulations is likely to fail. This does not mean that the extension doesn't work.