1 Introduction

MANET is a network of wireless mobile nodes that is self-configuring and self-location changing to allowing people and devices to transmit data in absence of any pre-existing network infrastructure. Each node of the network performs the job of a router, i.e. sending, forwarding and receiving data packets. The movements of the nodes in MANETs and the change in topology occur arbitrarily. In addition, nodes have limited transmission range. Due to these limitations, no direct transmissions can be performed by the same node [1, 2]. Multiple hops are needed for finding an optimal path that should consume less bandwidth and offers minimum overhead. These networks are further classified as infrastructure-based and infrastructure-less networks. In Infrastructure based networks, an access point, router or personal computer running application software is involved. Nodes within the range communicate with each other through the nearest access point. During the movement of nodes, the access point handovers the control of that node to another access point that is within its coverage area. In infrastructure-less networks or ad-hoc networks, a direct wireless link is established among the nodes of a network. The nodes are capable of operating in ad-hoc mode without involving any wireless Access Point (AP) or routers. The adaptive collection of self-organizing devices and wireless links without any centralized control is known as ad-hoc network. In either type of the MANETs, efficient routing is a core issue under the constraints of network size, packet delivery ratio, end-to-end delay, throughput and the residual energy of nodes. Therefore, the optimal configuration of network parameters and an appropriate tradeoff between the constraints must be ascertained.

In this paper, we perform a critical analysis and comparison of the three commonly used MANET routing protocols, i.e., DSR, AODV and DSDV. We compare the performance of these protocols under different conditions and parameter settings and identify the conditions in which a given protocol performs better. Relevant literature demonstrates some comparative studies for various routing protocols. The analysis carried out in [3] compares and evaluates four routing protocols in various network sizes and by varying pause time. In contrast, we create three network sizes by keeping nodes static and results are measured by varying send interval time. In another analysis carried out in [4], the authors compare performance of AODV, DSR, TORA and DSDV routing mechanisms in terms of packet delivery fraction, number of packets dropped and average end-to-end delay [4]. However, our comparative analysis presented in this paper primarily focuses on packet delivery ratio, end-to-end delay, average residual energy and average throughput.

The rest of the paper is organized as follows. Section 2 provides different aspects of routing mechanisms used by MANETs. In Sect. 3, we discuss our simulation setup for the comparison of the routing protocols for different scenarios. Section 4 provides the detailed analysis of our simulation results. Section 5 concludes the paper.

2 Routing Mechanisms in MANET

In MANETs, the awareness of network topology is an important issue. To achieve efficient routing, multiple routing protocols have been proposed. Every protocol performs different tasks such as discovering a route or maintaining existing known routes. The mechanisms of the selected protocols in our study are described as follows.

2.1 Ad hoc on-Demand Distance Vector (AODV) Protocol

The routing mechanism of AODV depends on the combined features of DSR and DSDV. The route establishment for uni-casting is performed by route discovery procedure. When a source node needs to transmit a packet to the destination node, it first checks its routing table for route entries for that destination node. If an entry regarding that route is available in the routing table, it transmits the packet to the appropriate neighbor. On the other hand, if the required route is not available, the procedure of discovery for obtaining the route is initiated by sending a Route Request (RREQ) packet from the source node. This packet contains source’s IP address, destination’s IP address, current sequence number, last sequence number and broadcast ID. Every time a route request is initiated by the source node, it increments the broadcast ID. The IP address and the broadcast ID are combined to make a unique identifier for RREQ packet. For making timeliness of every data packet, sequence numbers are used. Every node maintains a reverse path to the source node in its routing table during the process of RREQ. This helps to forward RREP to the source. Lifetime is entered with reverse route entry in the routing table. If the route is not used within that time, the entry is deleted. AODV also allows initiating the route discovery process in case if RREQ is lost during transmission [5, 6]. Figure 1 illustrates route discovery procedure in AODV routing protocol. In Fig. 1, the Source node broadcasts RREQ to all its neighbor nodes. The neighbor nodes further broadcast that RREQ until it reaches its destination. Every node also maintains a reverse path towards the source node and stores that path information in its routing table.

Fig. 1
figure 1

PREQ diagram for AODV when source S sends a request to destination D

Due to the mobility in ad-hoc networks, the route discovery process can be re-initiated by the source node in case if the source node has moved from one position to another within the network. During the movement of neighboring nodes or destination nodes, their upstream nodes will initiate RERR (route error message) and broadcast it to its active predecessor nodes that are affected by the movement. After receiving route error message, the source node either re-initiates the route discovery process or stops the transmission of data depending upon the requirement of the route [6, 7]. Figure 2 shows the reverse path generated from the destination to the source for sending a RREP packet.

Fig. 2
figure 2

PREP diagram for AODV when destination D sends reply to source S

AODV supports uni-cast and multicast transmission of packets. Instead of shortest route, AODV favors least congested paths. In case of topological changes, AODV gives quick response to its effected active paths. Although valid route expiration is possible in AODV, however, finding the expiry time is not trivial. The performance of different metrics may decrease as the size of network increases [57].

2.2 Dynamic Source Routing (DSR) Protocol

DSR is an on-demand routing protocol. It creates routes on demand bases instead of hop-by-hop routing. DSR permits a network to be self-configuring and self-organizing and is not dependent to the given topology or infrastructure. The route discovery and route maintenance are the two main procedures of this protocol. Information about the discovered path/route is stored in a cache which is maintained by each node of the network. When the source node S needs to send a packet, it starts broadcasting RREQ to the neighboring nodes for an available route to the destination. At the discovery of the required route, the sender node waits for route-reply from the destination node [5].

Until the route is discovered, the sender node is free to perform other transmissions to different nodes. When the neighbor nodes receive route request, they check their cache to find whether the required route to destination is available or not. If a node has route information in its cache, it sends the route reply packet to the source. It then inserts an entry about that route in its cache so that it can be used in future. When the intended packet transmission starts and the packet is received by an intermediate node, it checks the address stored in the packet. If it finds a matching entry, it receives the data. In other case, it forwards it according to the route information attached with the packet. The discovery of the route procedure is described in Fig. 3 where the source node S broadcasts a RREQ packet to its neighbor nodes. Every node stores route information in its cache. The route maintenance procedure is available in DSR algorithm because an ad-hoc network’s routes can fail any time. The route maintenance procedure monitors the whole network constantly. If there is any route failure, it changes its route cache entries. Figure 4 illustrates route reply procedure between the source node and the destination node using DSR protocol. Figure 4 also shows the RREP path generated from destination node D to source node S. With the help of route information available in the route caches, RREP packet is sent from D to S.

Fig. 3
figure 3

Route discovery diagram for DSR when source S sends a request to destination D

Fig. 4
figure 4

RREP diagram for DSR when source S receives route reply from destination D

By using intelligent caching techniques at the network nodes, the overall overhead can be reduced at the expense of more memory consumption and higher usage of CPU resources. The main problem of DSR is scalability. When the route queries arise at nodes, they use a route cache that causes repetitive updates and uncontrolled replies at caches on host nodes. The flooded propagation of all query massages cannot be stopped by using earliest queries. As the size of the network increases, the size of the control packets and massage packets also increases. This results in the performance degradation of the protocol over time [6].

2.3 Destination Sequenced Distance Vector (DSDV) Protocol

DSDV protocol monitors the whole network consistently by maintaining a routing table at each node. The routing tables contain the periodically updated routing information. New route broadcasts contain destination address, number of hops required to reach the destination, destination sequence number, and a sequence number of new broadcast. A fresh route receives a new sequence number and if the sequence numbers of the two routes are found to be same, a new route is selected by considering a better metric. DSDV uses distance vector shortest path routing algorithm that creates a single link to the destination. It uses two types of packet updates in order to minimize the overhead: (1) full-dump packet to carry the available routing information, and (2) incremental packet that carries current information only. As compared to the full-dump packets, higher number of incremental packets is sent.

Regardless of the network traffic, DSDV needs to transmit the updated packets about the routing table periodically. Therefore, it still has large overhead of the complexity O(N2). Due to the scalability of the network, more bandwidth and larger size of routing tables are required. DSDV is not efficient in large networks because when the network topology changes, routing loops can occur [6, 8]. Figure 5 illustrates the working of DSDV protocol and the broadcasting of hello messages among nodes. Hello message broadcasting is required for maintaining routing table by keeping the whole network in view consistently. Nodes store that route information in their routing tables.

Fig. 5
figure 5

Example of DSDV

In DSDV protocol, each node of the network maintains a routing table that contains addressing information of every other node in the network. In order to reach the destination node, each node of the network contains address of the next hop node in addition to its address in routing table. Figure 5 shows bi-directional connection of DSDV network, where node 1 is the source and node 3 is the destination. Node 1 transmits a packet for forwarding to node 4. Node 4 will look for the address of the destination in its routing table. Node 4 then takes next hop to transmit packet towards node 5 in this case. This procedure is repeated consistently until a packet reaches its destination.

Figure 5 shows connection of DSDV network, where node S is the source and node D is the destination. Node S transmits a packet for forwarding to node B. Node B will look for the address of the destination in its routing table. Node B then takes next hop to transmit packet towards node E in this case. This procedure is repeated consistently until a packet reaches its destination D.

3 Simulation Setup

We have used OMNeT++ simulation tool and INETMANET [9] library for creating different networks. This library contains useful components and protocols for wireless communication network simulations [911]. The simulation setup is given in Table 1.

Table 1 Values of various simulation parameters

We perform different simulations using the parameters mentioned in Table 1. Subsequently, we evaluate the performance of AODV, DSR and DSDV protocols for the following scenarios.

  • Scenario 1: random deployment with static nodes and high traffic

  • Scenario 2: random deployment with static nodes and low traffic

We increase the number of nodes in each scenario. In first simulation setup, we create the network of 25 nodes out of which 5 nodes continuously generate packets towards the sink node which is placed at the center of a playground area. Additionally, we model the network by increasing the number of nodes by 50 and 75 where packets are transmitted by 10 and 15 nodes respectively towards a single sink. Apart from varying network topology with static nodes, we also use traffic generator module Constant Bit Rate (CBR) that implies data of UDP type. This traffic agent generates packets of equal length at a fixed time interval. The traffic moves in one direction from the source to the destination without getting any acknowledgement from the destination. All the source nodes transmit new packets with a mean time interval of 0.5 s for high traffic and 1.0 s for low traffic.

4 Results and Discussion

We compare the performance of ad-hoc routing protocols by taking following qualitative and quantitative metrics in consideration.

4.1 Interpretation in Terms of Packet Delivery Ratio

Packet Delivery Ratio (PDR) is the ratio of total amounts of packets received successfully at the sink node and the number of packets transmitted by the source node [5]. PDR is calculated by Eq. (1) [12].

$$ {\text{PDR}} = {\text{P}}_{\text{r}} /{\text{P}}_{\text{s}} *100 $$
(1)

Figure 6 shows packet delivery ratio for scenario 1. Figure 6a shows PDR of all three protocols in 25 nodes of network. Figure 6b shows PDR of three protocols in 50 nodes of network and Fig. 6c shows PDR of three protocols in 75 nodes of network. In Fig. 6a, AODV gives high PDR as compared to DSR and DSDV due to maintaining routing tables as well as working on demand basis when a route is not available. On the other hand, DSR and DSDV generate almost same PDR in smaller networks. In Fig. 6b, AODV has high PDR than DSR and DSDV, but less as compare to Fig. 6a. It is because as the network size increases, more alternate nodes are available for route discovery and maintenance procedure that causes efficient working of on-demand procedure but does have the drawback of collisions. DSR also gives same PDR as DSDV in smaller networks with high traffic. However, when the network size increases, distance among the nodes decreases so its PDR remains almost stable for all networks.

Fig. 6
figure 6

Packet delivery ratio for scenario 1. a Network of 25 nodes. b Network of 50 nodes. c Network of 50 nodes

Figure 7 shows PDR for scenario 2. Figure 7a shows PDR of all the three protocols in 25-nodes network. Figure 7b shows PDR of three protocols in 50-nodes network and Fig. 7c shows PDR of the three protocols in 75-nodes network. By increasing send interval time in scenario 2, PDR of AODV is dropped as compared to scenario 1 due to the generation of packets with high time interval in all network sizes. In Fig. 7a, DSDV generates same PDR as given by AODV in 25-nodes network, but its PDR decreases as the size of the network increases as shown in Figs. 2c and 7b.The scalability is one of the major limitations of DSDV protocol. DSR also gives stable performance in small and medium networks, but its PDR reduces as the network size grows.

Fig. 7
figure 7

Packet delivery ratio for scenario 2. a Network of 25 nodes. b Network of 50 nodes. c Network of 50 nodes

4.2 Interpretation in Terms of Average End-to-End Delay

Average End-to-End Delay is defined as the time a packet takes to be transmitted from a source to a destination’s application layer. The delays occurring due to the queue in transmission of data packets and route-discovery process are also included in end-to-end delay. All the delays including the transmission time of packet and waiting time in queue within the network are called end-to-end delays [13].

Figure 8 shows the average end-to-end delay for scenario 1 and Fig. 9 shows the average end-to-delay for scenario 2. Figures 8a and 9a shows the end-to-end delay generated by all protocols in 25-nodes network. Figures 8b and 9b shows the end-to-end delay generated in 50-nodes network. Similarly Figs. 8c and Fig. 9c shows the end-to-end delay generated in 75-nodes network.

Fig. 8
figure 8

Average end to end delay for scenario 1. a Network of 25 nodes. b Network of 50 nodes. c Network of 50 nodes

Fig. 9
figure 9

Average end to end delay for scenario 2. a Network of 25 nodes. b Network of 50 nodes. c Network of 50 nodes

We observe that DSR results in high end-to-end delay as compared to AODV and DSR due to its on-demand nature. For every packet transmission, DSR needs to perform the route discovery procedure by broadcasting hello messages. After determining the route, it performs actual transmission of the packets that causes more delay. Whereas, AODV’s end-to-end delay is less than that of DSR and more than that of DSDV, because it maintains a routing table that stores single route entry per destination. DSDV has very small transmission delay due to its table-driven architecture.

4.3 Interpretation in Terms of Average Residual Energy

The metric of Average Residual Energy (ARE) is used to calculate the remaining average battery power of all nodes after performing transmission and number of remaining alive nodes in the network. The average power consumption values assumed for the simulation are given in (Table 2).

Table 2 Power consumption in different power states of a node

The input power is taken in milli-ampere per hour (mAh) and converted in milli-watt per second (mWps) by using the following formula.

$$ {\text{mWs}}\;{ = }\;{\text{mAh}}*60*60*{\text{voltage}} $$
(2)

Figures 10 and 11 show the average residual energy for scenario 1 and scenario 2 respectively. Figures 10a and 11a shows the average remaining energy of all nodes in 25-nodes network. Figures 10b and 11b shows the average remaining energy of all nodes in 50-nodes network. Similarly Figs. 10c and 11c shows the average remaining energy in 75-nodes network.

Fig. 10
figure 10

Average residual energy for scenario 1. a Network of 25 nodes. b Network of 50 nodes. c Network of 50 nodes

Fig. 11
figure 11

Average residual energy for scenario 2. a Network of 25 nodes. b Network of 50 nodes. c Network of 50 nodes

In both scenarios, AODV consumes more energy because it performs more transmissions as compared to DSDV. The remaining energy of DSR is higher due to its less PDR. Figure 10a shows that DSDV consumes less energy because its PDR is low as compared to AODV. On the other hand, Fig. 11a shows that DSDV consumes more energy than AODV because its PDR is high as AODV and also performs two types of transmissions:

  1. 1.

    Propagation of hello packets for maintaining the routing table

  2. 2.

    Actual transmission of data

With low traffic generation, AODV gives higher PDR with more average remaining energy as compared to DSR and DSDV.

4.4 Interpretation in Terms of Average Throughput

Average throughput is the ratio of the total bits received at the receiver plus sent by the sender to the time taken by the receiver to receive the last packet. It is measured in bits per second (bps). Throughput is one of the main parameters of MANET network that determines the channel capacity for transmission. It performs selection of the destination node and gives information about whether the data is delivered to the destination correctly or not.

Figures 12 and 13 show the average throughput for scenario 1 and scenario 2 respectively. Figures 12a and 13a shows the average throughput in 25-nodes network. Figures 12b and 13b shows the average throughput in 50-nodes network. Similarly Figs. 12c and 13c shows the average throughput in 75-nodes network.

Fig. 12
figure 12

Average throughput for scenario 1. a Network of 25 nodes. b Network of 50 nodes. c Network of 50 nodes

Fig. 13
figure 13

Average throughput for scenario 2. a Network of 25 nodes. b Network of 50 nodes. c Network of 50 nodes

In scenario 1, AODV has higher throughput in all network sizes. However, the throughput of DSDV is slightly reduced as compared to DSR for larger networks. By increasing send interval time in scenario 2, we find that the throughput of AODV is dropped as compared to scenario 1 due to the generation of packets with high time interval. Nevertheless, DSDV has the same throughput as AODV for 25 nodes, but its throughput is dropped as the size of the network increases. Whereas, DSR generates almost stable throughput in all the scenarios due to the reasons mentioned in Sect. 4.1.

5 Conclusion

In this paper, we have compared AODV, DSR and DSDV routing protocols for a number of parameters. Our results show that AODV maintains almost stable performance with less energy consumption in all network scenarios considered in this paper. Its relatively better performance is mainly because of maintaining a route information entry as well as on-demand procedure. Whereas, DSR performs well with grid deployment of nodes in small and large networks, but has high end-to-end delay due to its on-demand nature. DSDV works well in the networks working small or light traffic and results in high energy consumption due to broadcasting of hello packets to maintain routing tables. Our comparative analysis further shows that AODV’s performance is optimal when it comes to networks with high mobility and changing topology.