|
Home Members itmBench SaTS Archive
| |
Step-by-step ns-2 Code Installation
Note: All the code here should be running under ns-2.1b8a (04/25/2002).
We ran it under linux, and if you do the same thing, applying Tom Kelly's patch
may be helpful.
The following modules are to be added to the ns-2 original package:
- Size-aware classifier (classifier-hash.cc/h, classifier-port.cc/h),
the classifier that differentiates flows based on how many packets they have
sent.
- Proportional dropping AQMs (myred.cc/h, myrio.cc/h, PIred.cc/h,
dualPIred.cc/h), AQM schemes that provide differentiated dropping. Most of
the simulations are done with RIO-PS queue (myrio). You can write your own
if you want.
The following modules are modified for the convenience of monitoring, or
for fixing buggy implementations:
- TCP (tcp.cc/tcp.h)
- Queue Monitor (queue-monitor.cc/h)
- TCL scripts (ns-default.tcl, ns-lib.tcl)
- Web Traffic Profile (webtraf.cc/h/tcl)
Assume now you have got ns-2.1b8a package and installed it under /foo/bar/ns/,
here are the steps you need to follow to install the above packages:
- Download size-aware-v1.0.tar.gz,
and unpack it under a separate directory, say /foo/bar/size/
- Under /foot/bar/size/share/, there should be a file named dup.conf-size.
This is the configuration file for dup
operation, a convenient tool created by Haobo Yu. Put it under your home directory
and name it as .dup.conf-size (don't forget the dot in front of dup).
- Change the fields in the configuration file if you put the package
under different directories. $SRCDIR is
the directory where you put the original ns package, and the first entry in
%MYSRCDIR is where you put the source
code of the size-aware package.
- Create a duplicated ns directory as follows:
# /foo/bar/size/bin/dup size size-ns sizeaware
|
- Now you should have a directory called size-ns, which looks
almost identical to /foo/bar/ns/, but with all related files being updated.
- Compile this new package and name the executable size-ns.
We now have a ns-2 simulator that is capable of performing size-aware scheduling.
|