Lecture 11 - AODV - Part 1
Todays topic on AODV protocol
AODV - Adhoc Ondemand Distance Vector
the location of the source code for Aodv is in the folder
~ns-2.35/aodv/
My suggestion is
Always try to understand the header file first.. later you can move on to source file (.cc files)
I will go through aodv.h file first and then aodv.cc file next....
let me explain....
I should know where my work is residing, for example in AODV
should I work on
so prefer to stay at the header files first...
Now the action begins.
how do i modify the AODV protocol as per my small piece of algorithm...
I would like to print the nodes that are forwarding the packets.
Two information will be recorded in a text file separately..
Name of the file: aodv_output.dat data recorded will be: forwarded packet, node index (node number).
For this, please open the aodv.h and aodv.cc file.
Step 1:
add a variable called as pkt_count as an integer in protected scope inside the aodv.h file.
int pkt_count;
Step 2:
Initialize pkt_count with a value 0 in the aodv.cc file (preferably in the constructor)
pkt_count=0;
Step 3:
Since I am going to get the packet counts in a file, i need to create a file pointer. But first let me get the data in the terminal itself. later i will create it in the file.
Also, only during the forwarding of packets, i am going to get the count, so my code will be running inside the forward() function.
Add the following line to the forward() function of aodv.cc
printf("I am packet no %d and from node number %d\n",pkt_count++,index);
Step 4:
Now recompile ns2 using the command make
$] cd ns-allinone-2.35/ns-2.35/
$] make
Once, there are no errors, your code is compiled successfully....
Then, run any wireless tcl script that has the routing protocol as AODV.
I am running AODV.tcl file that was generated in LEcture number 9.
to run that just
$] ns AODV.tcl
$] nam AODV.nam
I need to get this output in a file called as aodv_output.dat
How to do that... Again the same step open, aodv.cc and aodv.h
Declare a file pointer inside the aodv.h file
FILE *fp;
Initialize this file pointer in aodv.cc constructor
fp = fopen ("aodv_output.dat","w");
include the following line in the forward() function of aodv.cc
fprintf(fp,"I am packet no %d and from node number %d\n",pkt_count++,index);
and run the AODV.tcl file and check for a file called aodv_output.dat is created in the same folder where the AODV.tcl is residing.
Thank you for watching..
To download the codes, visit https://www.nsnam.com
and share and subscribe to my youtube channel
Youtube.com/tspradeepkumar
Stay Tuned for more lectures...
T S Pradeep Kumar
Todays topic on AODV protocol
AODV - Adhoc Ondemand Distance Vector
the location of the source code for Aodv is in the folder
~ns-2.35/aodv/
My suggestion is
Always try to understand the header file first.. later you can move on to source file (.cc files)
I will go through aodv.h file first and then aodv.cc file next....
let me explain....
I should know where my work is residing, for example in AODV
should I work on
- Routing Table
- Energy Management
- Quality oif Service
- Link Failure
- Logs or tracing
- Neighbour management
- Attacks (Black hole, gray hole, etc...)
- Security
so prefer to stay at the header files first...
Now the action begins.
how do i modify the AODV protocol as per my small piece of algorithm...
I would like to print the nodes that are forwarding the packets.
Two information will be recorded in a text file separately..
Name of the file: aodv_output.dat data recorded will be: forwarded packet, node index (node number).
For this, please open the aodv.h and aodv.cc file.
Step 1:
add a variable called as pkt_count as an integer in protected scope inside the aodv.h file.
int pkt_count;
Step 2:
Initialize pkt_count with a value 0 in the aodv.cc file (preferably in the constructor)
pkt_count=0;
Step 3:
Since I am going to get the packet counts in a file, i need to create a file pointer. But first let me get the data in the terminal itself. later i will create it in the file.
Also, only during the forwarding of packets, i am going to get the count, so my code will be running inside the forward() function.
Add the following line to the forward() function of aodv.cc
printf("I am packet no %d and from node number %d\n",pkt_count++,index);
Step 4:
Now recompile ns2 using the command make
$] cd ns-allinone-2.35/ns-2.35/
$] make
Once, there are no errors, your code is compiled successfully....
Then, run any wireless tcl script that has the routing protocol as AODV.
I am running AODV.tcl file that was generated in LEcture number 9.
to run that just
$] ns AODV.tcl
$] nam AODV.nam
I need to get this output in a file called as aodv_output.dat
How to do that... Again the same step open, aodv.cc and aodv.h
Declare a file pointer inside the aodv.h file
FILE *fp;
Initialize this file pointer in aodv.cc constructor
fp = fopen ("aodv_output.dat","w");
include the following line in the forward() function of aodv.cc
fprintf(fp,"I am packet no %d and from node number %d\n",pkt_count++,index);
and run the AODV.tcl file and check for a file called aodv_output.dat is created in the same folder where the AODV.tcl is residing.
Thank you for watching..
To download the codes, visit https://www.nsnam.com
and share and subscribe to my youtube channel
Youtube.com/tspradeepkumar
Stay Tuned for more lectures...
T S Pradeep Kumar
Hello ,
ReplyDeleteI' do not see the printf in the terminal, can you help me please
Sir, I can not find the codes. Please help me out with a link.
ReplyDeletei also cannot find codes here. Please help me out to find codes
Deletethere is no source code for AODV simulation ns2
Deletehow can i adding function into AODV.cc file
ReplyDeletesorry to not answer your question but i am comming with another problem which is: how to implement the tesla protocol in ad hoc network in ns2.
ReplyDeleteWhy the whole procedure so error while each step i take perfectly.
ReplyDeleteSir fprintf text file not create while its recompile successfully. Any solution??
ReplyDeletei didnt find the code source aodv.tcl
ReplyDelete