/adian

ADIAN - A Distributed Intelligent Ad-hoc Network - A new routing protocol for mobile ad-hoc networks. (Repository contains the implementation of ADIAN in NS2 [Network Simulator] ).

Primary LanguageC++MIT LicenseMIT

ADIAN

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>
  • 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 the ns-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>