The project is based on the implementation of AODV
, DSR
and DSDV
protocols along with TCP agents such as Reno, New Reno, Fack, Sack1, and Linux.The goal of the project is to find the correct combination of routing protocol and TCP variant. Routing in an Ad-hoc network is a challenging task because the source and destination nodes are mobile and thus routing decisions are to be changed dynamically when link failure or packet delay is encountered. As TCP protocols were initially designed for wired networks, so they are not able to deliver optimized performance, in the case of ad-hoc networks. For ensuring a reliable transfer, various variants of TCP must be used such as TCP-Reno
, TCP-Vegas
, TCP-Westwood
, TCP-New Reno
, TCP-Tahoe
, TCP-Sack
etc. Mobile ad-hoc network is a decentralized network consisting of various mobile nodes.
Refer to the project report pdf file (project report file.pdf), available on the root folder for more details
These steps will help you to run the project on your local machine for testing purposes. The project is tested on Ubuntu 16.04 LTS and MAC operating system.
- NS 2.35
- Gnuplot build with X-11 or qt5
- Perl for running file for additional parameters graph file (optional)
- Latest Xcode
- NS 2.35
- Gnuplot with Qt
- Xquartz
- Perl for running file for additional parameters graph file (optional)
You need to install all the required pre-requisites and set their environment path respectively. then
- First of all go to project folder in a terminal by
cd
project command - Type
ns start_program.tcl
- Provide the input on the screen as required for example 1 for
AODV
and then 1 forTCP/RENO
- The resulting files will be generated in folders pdr_files, delay_files, nam_files
- Change directory to pdr_files or delay_files to generate files
- Type
ns rp_graph_generator_delays.tcl
for graphs plotting of same Routing protocol with different TCP agents. If an error comes then make a folder namedrp
in delay_files and then "graphs" inrp
- Type
ns tcp_graph_generator_delays.tcl
for graphs plotting of same TCP protocol with different routing protocols. If the error comes then make a folder namedTCP
in delay_files and then "graphs" in Tcl folder. - Change directory to pdr_files
- Type
ns rp_graph_generator_pdr.tcl
for graphs plotting of same Routing protocol with different TCP agents for calculatingpdr
. if an error comes then make a folder namedrp
in pdr_files and then graphs inrp
- Type
ns tcl_graph_generator_pdr.tcl
for graphs plotting of same TCP protocol with different routing protocols for calculatingpdr
. if an error comes then make a folder namedrp
in pdr_files and then "graphs" inrp
Network Simulator 2 - The network simulator used NAM - Network animator for viewing the simulation animation Gnuplot - The open source graph plotting framework TCL - scripting language for network simulation AWK - Scripting language for manipulating and analyzing data
Amarjit Dhillon Ranjit Singh Saini
Packet Drop ratio, throughput, and other parameters can be calculated for the generated trace file
We would like to thank people on stackoverflow.com who guided us in solving some initial problems like the correct format of trace file and solutions to Perl
conversion of graph file which can be used for additional parameters like throughput. Lastly, we would like to thanks our professor Dr. Melike Erol-Kantarci to guide us at every step.
Some of imperative files in this simulation are as below
- Start_program.tcl
- Mobility.tcl
- Topology.tcl
- rp_graph_generator_pdr.tcl
- tcp_graph_generator_pdr.tcl
- rp_graph_generator_delay.tcl
- tcp_graph_generator_delay.tcl
- delay_calculator.awk
- pdr_caculator.awk
- pdr_drop.awk