Pedro Vale Estrela - NS2 IP Mobility Page

 

VERY IMPORTANT UPDATE:
1 -
Iíve recently upgraded and tested my IP micro-mobility suite, named IST-CIMS to latest ns2-v2.31. This package includes the eTIMIP and TIMIP protocols, and upgraded v2.31 versions of the CIP, HMIP and HAWAII protocols from the original CIMS code (from ns2-1b5). This package also features NOAH for v2.31.

If you want to try this software, please click HERE.

2 - Iíve also added a second CIMS upgraded package for v2.29 (see below for info). If you are the author of this upgrade, please contact me.

---

This page contains information regarding IP mobility infrastructured/cellular simulation on the NS2 Simulator.

This type of mobility assumes a fixed, typically wired backbone composed of routers and base-stations, and it provides mobility services to wireless mobile terminals. Please note that examples of these networks are infrastutured 802.11, WIMAX, and UMTS networks;
in contrast, THIS IS NOT SUITED FOR AD-HOC / SENSOR NETWORKS (eg, MANETs, AODV, DSDV, Ö.), so I canít give you detailed information on those types of networks without fixed components; however, to aid in the confusion J, the IP mobility protocols are typically implemented on top of the ahdoc modules and disabling certain functions, by using the NOAH protocol (which stands for ďNO-ADHOC protocolĒ)

The first part of the page explains which options exist for simulating the IP macro and micro-mobility protocols in NS2; the second part tries to provide some tips regarding the installation of old contributed modules in NS2 (MOBIWAN, CIMS).

Contact: pedro.estrela@inesc.pt


NS2 IP Mobility options

Last recent years, the evolution of IP mobility implementations in NS2 has been a fairly complex one.

The existing projects are detailed in appendix A of this great technical report by S. Yankov and S. WiethŲlter:

S. Yankov and S. WiethŲlter, "Handover Blackout Duration of Layer 3 Mobility Management Schemes", Technical Report TKN-06-002, Telecommunication Networks Group, Technische Universitšt Berlin, May 2006.

Starting from figure A.1 of the technical report, Iíve extended that figure with some other projects that Iím aware and some other important details:

 

 

As it illustrated from the figure, Iím working on an updated CIMS version that includes the TIMIP and eTIMIP protocols, is upgraded for NS2.26, and includes additions to NOAH to simulate hard handovers. I plan to make this software available right after I finish writing my PhD thesis.

 

Regarding these modules, these are the most updated links that Iím aware, and a local mirror of the available code:

Mobiwan for ns2-1b6: www.inrialpes.fr/planete/mobiwan/  (local mirror)

Mobiwan for Ns2-2.26: www.ti-wmc.nl/mobiwan2/ (local mirror)

NOAH for 1b6:  http://www.icsi.berkeley.edu/~widmer/mnav/ns-extension/†† copy from archive.org(local_mirror)

NOAH for 2.26: icapeople.epfl.ch/widmer/uwb/ns-2/noah/(local_mirror)

Other CIP implementation with multiple GWs: dcl.ee.ncku.edu.tw/~aga/index.htm (local mirror)

FHMIP for 1b7: mobqos.ee.unsw.edu.au/~robert/nsinstall.php copy from archive.org(code local mirror) (doc local mirror)

FHMIP for 2.31: This is the code that Iíve upgraded myself for ns2.31. See instructions below:ns2.31_fhmip.patch.gz

CIMS for 1b7: (CIMS+NS2) www.comet.columbia.edu/micromobility/ (local_mirror)

CIMS for 1b7: (CIMS only) www.comet.columbia.edu/micromobility/ (local_mirror)

CIMS for 2.29: <no original source> (local mirror)

CIMS for 2.31: My own upgraded version of CIMS and eTIMIP. For getting it, just click HERE. More info below.


PRELIMINARY FHMIP upgraded for ns2.31

Iíve upgraded the Robert Hsiehís FHMIP code in order to compile in latest ns2.31. Iíve also added to it the modifications detailed in appendix B of this report. However, when Iíve tried the HMIP part of the extension (the MAP), the simulation crashes in a failed assert (see this post); the FMIP part seems to run OK.

__Please note that I did not test this extension any further__

To install: first, install NS-allinone-2.31; then, uncompress and apply the patch (here), then reconfigure and recompile ns2 again. The original FHMIP example is located in /tcl/ex/fhmip

ns2.31>cat ns2.31_fhmip.patch | patch -p1

ns2.31>./configure --enable-debug

ns2.31>make

ns2.31/tcl/ex/fhmip>../../../ns fhmip_simula.tcl


MobiWan and NS2 1b6 in new systems

Personally, Iíve never tried Mobiwan. For recent systems, check this info:

http://www.infotech.tu-chemnitz.de/~knoll/NS2/Installing_old_NS2_version_ns-allinone-2_1b6a_on_RedHat_8_0.php (local mirror)

http://140.116.72.80/~smallko/ns2/Mobiwan%20install%20instruction.txt (local mirror)


CIMS (Columbia IP Micro mobility suite) installation options

Currently there are three options for installing CIMS + NOAH in ns2.

You can either use my own version for 2.31 that also includes eTIMIP and a common test script; or a 2.29 upgraded version; or the original 2b7 version.

IST-CIMS for NS2 v2.31:

This is the version which Iíve upgraded myself from the original CIMS version. This package includes the eTIMIP and TIMIP protocols, and upgraded v2.31 versions of the CIP, HMIP and HAWAII protocols from the original CIMS code (from ns2-1b5). This package also features NOAH for v2.31.

If you want to try this software, please click HERE. Please note that currently CIP semi-soft is not supported.

 

CIMS v2.29 (MMpatch.patch):

Matias Oberlin has sent me a 2.29 patch of what seems to be the original CIMS code upgraded to 2.29, and with the c++ and tcl files rearranged to more proper directories.

 

If you are the author of this upgrade, please contact me.

 

CIMS 1b6 (original version).

The third option is to try to install the original version of CIMS 1b6 in recent systems. For this:

 a) unpack and install ns-allinone-2.1b6-gcc32.tar.gz as explained in 
http://www.infotech.tu-chemnitz.de/~knoll/NS2/Installing_old_NS2_version_ns-allinone-2_1b6a_on_RedHat_8_0.php. 
Don't proceed until 1b6a is working 100% fine in your system.
 
 b) upack ns-2.1b7-micro.tar.gz from http://www.comet.columbia.edu/micromobility/software.htm
 
 c) replace the original 1b6 with the 1b7-micromobility
            mv ns-2.1b6 ns-2.1b6-original
            cp -a ns-2.1b7-micro ns-2.1b6
 
more details:
http://www.isi.edu/nsnam/archive/ns-users/webarch/current/msg02506.html
 
            
 d) reinstall the complete package using the "install" script. the compilation will make errors on NS2 only (eg, not on TCL, etc)
 e) apply the patches on the files that don't work, then try recompiling NS2, eg:
            make 
                        (error on tfrc.cc)
            patch < ../tfrc.patch
            make 
            ...
 
 f) add the "class" keyword in the friend declarations, as explained here
http://www.infotech.tu-chemnitz.de/~knoll/NS2/Installing_old_NS2_version_ns-allinone-2_1b6a_on_RedHat_8_0.php
 Don't proceed until 1b6a is working 100% fine in your system.
 
 b) __gxx_personality_vo problem?
compile it by hand with gcc-3.3 with the -lstdc++ flag
http://www.cs.vassar.edu/~priestdo/emacspeak/list.archive.2003/msg00277.html
 
e) __gxx_personalyty_vo problem?
compile it by hand with gcc-3.3 with the -lstdc++ flag
http://www.cs.vassar.edu/~priestdo/emacspeak/list.archive.2003/msg00277.html
 
 

Contact: pedro.estrela@inesc.pt

www.terraview.org Programa de apoio cartogrŠfico (SIG) para planeamento agricola, florestal e ambiental