A Distributed Intelligent Ad-hoc Network
ADIAN is a new routing protocol for Mobile Ad-hoc Networks. A Mobile Ad-hoc Network (MANET) is a network consisting of wireless devices that makes a self-configured network together.
In ADIAN protocol, network nodes are considered as intelligent agents and the agents discover routes to deliver information. In this system, the routing overhead, which has an important impact on the performance of the MANETs, is aimed to be minimized.
Note: This repository contains the implementation of ADIAN protocol in Network Simulator (NS2). Using this implementation in NS2, the actual performance of ADIAN can be studied and analysed.
####Implementation :
Resource Reference : Implementing new MANET protocol
NS2 is implemented in c++ and tcl scripts can be used to simulate various networks. Hence ADIAN is implemented in c++. To integrate it in ns2, some files of ns2-codebase needs to be updated. Those files are in ns-allinone-2.35/ns-2.35
directory.
##Setting up Local development enviornment/Testing
Notes :
- Use a separate installation of ns2 for development/testing purpose. Some of the source files of ns2 are also modified and can lead to inconsistencies with your current ns2 installation.
- Configurations steps are in accordance with ubuntu 14.04.
- Implementation is based on
ns-allionone-2.35
.
####Instructions:
-
Install dependencies : To compile ns2, these dependencies must be installed.
sudo apt-get install tcl8.5-dev tk8.5-dev gcc-4.4 g++-4.4 build-essential autoconf automake perl xgraph libxt-dev libx11-dev libxmu-dev
-
Get
ns-allinone-2.35
:- Download
ns-allinone-2.35.tar.gz
file from here . - Extract
ns-allinone-2.35.tar.gz
.tar -xzvf ns-allinone-2.35.tar.gz
- The path where you extracted the
ns-allionone-2.35.tar.gz
will be refered to as<path/to/local/ns-allinone>
- Download
-
Clone the repo:
git clone https://github.com/GautamAnghore/adian adian-master
The repository will be cloned to
adian-master
directory. -
Configure:
cd adian-master
./configure <path/to/local/ns-allinone>
( This will create hard links of the files in the repository to thens-allinone-2.35
directory. Now the changes in the files in repository will be reflected in ns2 source-code directory )
-
Compile:
cd <path/to/local/ns-allinone>
./install
-
Test:
To run the simulation through this NS installation
<path/to/local/ns-allinone>/ns-2.35/ns <simulation.tcl>