Congestion-Control-AODV

CSE 322 : Computer Networks - Project

Project By:

Kawshik Kumar Paul
Undergrad Student
BUET CSE’17
kawshik.kumar.paul@gmail.com
https://kawshikbuet17.github.io

Supervised By:

Md. Tareq Mahmood
Lecturer
Dept of CSE, BUET

Network Topologies Under Simulation

Topology for Task A - Wired

A wired topology is used which is look alike Fig 3{reference-type=”ref” reference=”fig:task_a_wired”} which is built with two LAN networks and a Point to Point network connecting the two LANs.
Packet is sent from one LAN network to another LAN network in simulation.

Wired Topology{#fig:task_a_wired}

. [[fig:task_a_wired]]{#fig:task_a_wired label=”fig:task_a_wired”}

Topology for Task A - Wireless Low Rate (Static)

IEEE standard 802.15.4 intends to offer the fundamental lower network layers of a type of wireless personal area network (WPAN) which focuses on low-cost, low-speed ubiquitous communication between devices. Here in this simulation, low rate wpan devices (lrwpan devices) are used.

Wireless Low Rate Network
Topology{#fig:task_a_wired}

. [[fig:task_a_wired]]{#fig:task_a_wired label=”fig:task_a_wired”}

Topology for Task B - MANET AODV

MANET is a dynamic wireless network that can be formed without the need for any pre-existing infrastructure. So, the network topology may be changed dynamically in an unpredictable manner since nodes are free to move.

Adhoc Network Topology{#fig:task_a_wired}

. [[fig:task_a_wired]]{#fig:task_a_wired label=”fig:task_a_wired”}

Parameters Under Variation

Parameters for Task A - Wired

In this network topology, I had to simulate a wired topology. I have varied the following parameters,

  1. The number of nodes varied as (20, 40, 60, 80, and 100)

  2. The number of flows (10, 20, 30, 40, and 50)

  3. The number of packets per second (100, 200, 300, 400, and 500)

Parameters for Task A - Wireless Low Rate (Static)

In this network topology, I had to simulate a wireless low rate (802.15.4) static network. I have varied the following parameters.

  1. The number of nodes varied as (20, 40, 60, 80, and 100)

  2. The number of flows (10, 20, 30, 40, and 50)

  3. The number of packets per second (100, 200, 300, 400, and 500)

  4. Coverage area (square coverage are varying one side as Tx_range, 2 x Tx_range, 3 x Tx_range, 4 x Tx_range, and 5 x Tx_range)

Parameters for Task B - MANET AODV

According to my selected paper, the number of nodes and sinks are varied to make the simulation.

Overview of the Proposed Algorithm

MANETs are characterized by wireless mobile nodes in a network that supports the functionality of self- configurable and independently movable nodes. These nodes in turn can be shape as hosts or clients to construct dynamic networks for package delivery from its source to their respective destinations via dynamic routing path. Regarding the network performance, routers perform a critical role of delivering the data to the appropriate destinations. Engineers have been implementing various routing algorithms to improve wireless network performance. Ad hoc On-Demand Distance Vector (AODV) routing is one of the famous routing algorithms. Tremendous amounts of research on this protocol have been done to improve the performance. In this paper, a new control scheme, named congestion control AODV (CC-AODV), is proposed to manage the described routing condition. With this table entry, the package delivery rates are significantly increased while the package drop rate is decreased, however its implementation causes package overhead. This paper uses NS3 (network simulator 3) for simulation.

What is AODV?

An Ad Hoc On-Demand Distance Vector (AODV) is a routing protocol designed for wireless and mobile ad hoc networks. This protocol establishes routes to destinations on demand and supports both unicast and multicast routing.\

Route Discovery

Route Maintenance

Issues with AODV

Though sometimes intermediate nodes are too busy to transmit data packages, yet those nodes are used since they are on the shortest path of communication. Nonetheless, when using this approach other nodes that are available are not fully utilized even if they might have low traffic, leading to a lack of bandwidth utilization. As a result, the performance is degraded as the delays in delivering packets increase as well as the number of packets delivered is reduced.

Proposed CC-AODV Mechanism

To overcome the challenge of AODV, the congestion control CC-ADOV is proposed.

Flowchart

Process of CC-AODV flow
chart{#fig:cc-aodv-algo}

. [[fig:cc-aodv-algo]]{#fig:cc-aodv-algo label=”fig:cc-aodv-algo”}

Algorithm

Implementation Guideline

New-RREP Packets{#fig:rrep-header}

. [[fig:rrep-header]]{#fig:rrep-header label=”fig:rrep-header”}

Modifications Made in the Simulator

For this project, ns-3 network simulator is used and the version of this network simulator is ns-3.35
Modifications are made in ‘src/aodv/model’ folder. These are the files where AODV models are implemented.

Add Congestion Flag in RREP Packet Header

image

image

image

image

image

image

image

Congestion Flag in RoutingTableEntry

image

image

image

Add Congestion Counter and Max Count

image

image

image

image

Drop RREQ Counter Greater than Max Count

image

Counter Increment or Decrement and Flag Operations

image

image

image

image

Paper Result vs Result of My Task B

Plot Graph

Left: Paper Result, Right: My Result

Left: Paper Result, Right: My Result

Left: Paper Result, Right: My Result

Left: Paper Result, Right: My Result

My Observation about the Result

Minor Improvement Suggestion from my side

In this paper, they suggested to add a flag in RREP packet header. The flag is only to set true or false, nothing else. But they took a 32 bit flag unnecessarily which is a waste of memory. A boolean variable can be used here. It can be improved.

Results For Task A - Wired Topology

Plot Graph

See Plot graphs from here

My Observation about the Result

Variation of Number of Nodes

Variation of Number of Flows

Variation of Number of Packets Per Second

Results For Task A - Wireless Low Rate (Static)

Plot Graph

See Plot graphs from here

My Observation about the Result

Variation of Number of Nodes

Variation of Number of Flows

Variation of Number of Packets Per Second

Variation of Tx Range

Conclusion

This project introduced us with NS-3. It is one of the leading network simulating tool. It was difficult to work with for the first time, but with the co-operations of peers and supervisors, NS3 experience has gone well. Hope to work on computer networks in future.
Source codes of this project is available in my Github Repository. https://github.com/kawshikbuet17/Congestion-Control-AODV

References

CC-ADOV: An effective multiple paths congestion control AODV
Yefa Mai, Fernando Molina Rodriguez, Nan Wang,
https://ieeexplore.ieee.org/document/8301758