Improving Aodv Efficiency

63 views
Skip to first unread message

sathvik kote

unread,
Jul 23, 2020, 1:35:28 PM7/23/20
to ns-3-users
Hello everyone,

My professor and I are working on the aodv protocol improving its delay. We are modifying the existing Aodv by adding few extra implementation to improve the efficiency. Our methodology is prioritizing the packets based on the distance of the destination. I mean packets which are required to travel larger destination have higher priority compared to the packets travelling smaller request. The number of hops are used as a distance variable. Greater the hops greater the distance. So destination whose hops are greater get higher priority.

For aodv the hops might change with respect to time. So at constant interval we update the priority based on hops. A variable is added to the routing table entry of Aodv routing table.

The main idea is packets travelling larger distance are sent first than the ones which are required to travel shorter distance. 

When the packets are sent, we append priority into the packets up looking into the routing table using the destination address. These priority values are used in the traffic controller queues. The packet with higher priority is sent first.

Below code segment will give small idea about that

TrafficControlHelper tchBottleneck;
  uint16_t handle = tchBottleneck.SetRootQueueDisc ("ns3::PrioQueueDisc", "Priomap",
                                                        StringValue ("0 1 2 3 0 0 0 0 0 0 0 0 0 0 0 "));
      TrafficControlHelper::ClassIdList cid = tchBottleneck.AddQueueDiscClasses (handle, 4, "ns3::QueueDiscClass");
      tchBottleneck.AddChildQueueDisc (handle, cid[0], "ns3::PfifoFastQueueDisc");
      tchBottleneck.AddChildQueueDisc (handle, cid[1], "ns3::PfifoFastQueueDisc");
      tchBottleneck.AddChildQueueDisc (handle, cid[2], "ns3::PfifoFastQueueDisc");
      tchBottleneck.AddChildQueueDisc (handle, cid[3], "ns3::PfifoFat stQueueDisc");
    tchBottleneck.Install(adhocDevices);

These are the various queues being used.

To demonstrate we are using a On/Off Application with 0 off time. But the delay doesn't seem to change for existing Aodv and modified aodv.
Is there any idea why it is happening so?

Mobility -> Random

Hope you get the question.

Thank You

Hemant Saini

unread,
Aug 10, 2020, 5:42:28 AM8/10/20
to ns-3-users




r u on ns3 what actually you want to modify share the code on drive to simulate
Reply all
Reply to author
Forward
0 new messages