A mobile ad hoc network (MANET) is an infrastructure-less network where mobile nodes can share information through wireless links without dedicated hardware that handles the network routing. MANETs’ nodes create on-the-fly connections with each other to share information, and they frequently join and leave MANET during run time. Therefore, flexibility in MANETs is needed to be able to handle variations in the number of existing network nodes. An effective routing protocol should be used to be able to route data packets within this dynamic network. Lacking centralized infrastructure in MANETs makes it harder to secure communication between network nodes, and this lack of infrastructure makes network nodes vulnerable to harmful attacks. Testbeds might be used to test MANETs under specific conditions, but researchers prefer to use simulators to obtain more flexibility and less cost during MANETs’ environment setup and testing. A MANET’s environment is dependent on the required scenario, and an appropriate choice of the used simulator that fulfills the researcher’s needs is important. Furthermore, researchers need to define the simulation parameters and the other parameters required by the routing protocol used. In addition, if the MANET’s environment handles some conditions where malicious nodes perform network attacks, the parameters affecting the MANET from the attack perspective need to be understood.
1. Introduction
MANETs’ nodes create on-the-fly connections with other network nodes without a need for existing infrastructure. These established connections allow all nodes to exchange information and forward packets between each other [
1]. Each node contributes to the network by acting as a router that forwards data packets between the source node and the destination node [
2].
Before researchers proceed with the setup and testing of a MANET environment, they should be able to select a suitable simulator. Researchers need to know the simulator’s key features, and the points of strength and weakness of each simulator to select the simulator which fits the required MANET environment.
After selecting the simulation tool, researchers need to understand the different parameters that affect the behavior of MANETs. The efficiency of the network’s performance is dependent on the defined environment parameter sets. Three main categories of parameter sets are defined as follows: (1) simulation parameters are the list of parameters related to the simulation tool where these parameters control the overall network definition, for example, simulation area, simulation time, and the mobility speed of nodes; (2) routing parameters control the routing protocol mechanism; and (3) attack parameters control the effect of malicious nodes on network performance. The performance measurements of a MANET are achieved using evaluation metrics used to evaluate the network’s efficiency. Figure 1 depicts the MANET simulation environment.
Figure 1. MANETs’ simulation environment.
2. Routing in MANETs
In MANETs, each node is responsible for packet forwarding on behalf of the source node, and it also initiates routing discovery mechanisms to discover its neighbors in the network, then find the best route to reach a destination node [
3]. When a new node joins the network, it announces itself by broadcasting a hello message to all neighbors and starts learning about the network [
4]. In addition, each node holds a routing table database to maintain a record of the current network nodes as well as the number of hops to reach each node inside the network [
5]. There are a multitude of routing protocols related to MANETs’ discovery and data forwarding. The three main categories for routing protocols in MANETs are as follows:
-
Proactive routing protocols: For example, OLSR, each node maintains its routing table by periodically updating its information [
6]; this increases network overhead. On the other hand, routes will always be available with a minimum delay. Proactive protocols provide better performance than reactive protocols as each node continuously updates its awareness of network changes. When a request is received, the packet forwarding procedure is directly handled.
-
Reactive routing protocols: For example, AODV and DSR, when a source node tries to perform a packet transmission, it initiates a route discovery mechanism to know how to reach the destination. After the route is determined and updated in the routing table, the packet is forwarded [
7]. Reactive protocols have minimal network overhead, but there is a delay time consumed in the route discovery.
-
Hybrid routing protocols: For example, ZRP, the close local neighbors to a node are periodically updated, and the global nodes that are not direct neighbors will be updated on demand such as in reactive routing protocols [
8].
Figure 2 shows a simple classification of the MANETs’ routing protocols.
Figure 2. MANETs’ routing protocols classification.
2.1. AODV Routing Protocol
AODV is a reactive routing protocol used for MANETs where mobile hosts provide a packet forwarding service acting as an intermediate node between source and destination. In AODV, each node acts as a router and their local routing tables are updated on demand when a request to forward a packet is received or the node is the packet originator [
9].
To maintain connectivity between a node and its neighbors, a discovery mechanism is used. AODV discovery mechanism is used to increase the response time for new requests. The route discovery mechanism is initiated by transmitting a RREQ packet to neighbors, asking them to search for the shortest path to the destination. This mechanism increases node awareness with the smallest number of hops needed to reach the destination node. When an intermediate node receives a RREQ, it rebroadcasts the RREQ to all neighbor nodes only in case it does not have a direct connectivity link with the destination node [
10].
When an intermediate node has a fresh route to the destination node and the RREQ conditions are fulfilled, the intermediate node sends a RREP in the backward direction to the source. During the forward and reverse path of RREQ and RREP packet forwarding, all intermediate nodes update their local routing table with the latest information contained in the forwarded packet [
11].
Each routing table entry contains the following information fields [
12]:
-
Destination node address;
-
Number of hop counts to reach the destination;
-
Intermediate nodes address;
-
Route entry expiry time;
-
Destination node sequence number.
When the source node receives the RREP packet, it can begin sending the data needed. If the source node is out of a MANET’s range during the active route request, it can initiate another route discovery request with a different request identification.
To ensure that connectivity is present between neighbors, each node periodically sends a hello message. A hello message is a type of RREP packet that is used to announce the node’s existence inside the network. If a node has not participated in any packet forwarding or has not sent a hello message for a specific period, the link toward this node will be considered broken. The broken node neighbors send RERR packets to their active neighbors in the network to invalidate any existing route that uses this broken node ‘as an intermediate node’ in data forwarding [
13]. The AODV routing protocol flow chart is illustrated in
Figure 3.
Figure 3. The AODV routing protocol flowchart.
A mobile node holds AODV configuration parameters with default values to control routing protocol operations. The main configuration parameters that affect the AODV protocol are as follows [
14]:
-
Network diameter: The network diameter value sets the maximum number of hop counts between two nodes in MANETs. The network diameter default value is up to thirty-five hops at most as per RFC 3561 standard.
-
Node transversal time: The node transversal time is the estimation of packet transversal time between two neighbor nodes; this estimation should consider the network, processing, and transfer delay time. The default configuration time is 40 ms.
-
Network transversal time: The network transversal time is the expected time between sending the RREQ packet and the reception of the RREP packet as per the equation [
14]:
-
Route request retry: If a route reply is not received by the source node within the maximum network transversal time, the source node can retry to request the route discovery again for a maximum route request retry times. If the route discovery exceeds the route request retry times, the destination node should be considered unreachable. The default value for the route request retry parameter is equal to 2 retries.
-
Blacklist timeout: When the RREP transmission from node A to node B fails, node A records node B in its blacklist buffer. During this blocking time, node A discards any RREQ from neighbor node B until the blacklist timeout is reached. After the blacklist timeout expires, node B is removed from the blacklist [
14].
Table 1 summarizes all AODV configuration parameters and their default values.
Table 1. AODV parameters’ default values.
3.0. Simulation in MANETs
MANET technology is rapidly changing, and new protocols and mechanisms are continuously proposed by researchers. Evaluating a network’s performance under different attacks is important to be able to propose protection mechanisms. Therefore, a cost-effective method that empowers researchers to set up and test MANETs plays a key role in research.
3.1. MANETs Simulators
Simulators are software tools used to create a virtual environment that supports researchers to set up and test a network’s performance under different conditions. Simulators are GUI-driven tools used to set up a network environment and then perform different attacks on the defined network or make comparisons between a standard routing protocol and a newly proposed protocol. Using the defined evaluation metrics, a simulator is also capable of collecting the network’s results and evaluating the overall performance [30].
There is another method for developers to define and test MANETs using testbeds. Testbeds are experimentation in-lab networks that researchers can set up using dedicated hardware sets for this purpose. Testbeds lack the flexibility to define a MANET network, as MANETs are dynamic networks where nodes continuously join and leave the network. Additionally, the cost is much higher than software simulations to define a MANET using testbeds.
To be able to select a suitable simulator, the researchers need to know the simulator’s key features [31]. Table 2 is a comparison between the widely used simulators in MANETs.
Table 2. Comparison between simulation tools in MANETs.
Simulator Name
|
Languages Supported
|
Platform Support
|
License
|
Advantages
|
Disadvantages
|
OPNET
|
C, C++
|
Windows, Sun Solaris, RedHat Linux
|
Commercial, Free Educational License
|
-User-friendly and easy to use.
-Provides additional supportive tools.
|
-Limited wireless mobility.
-Not open source and supported protocols are limited.
-Expensive.
-Lack of energy model.
|
OMNeT++
|
C++, NED
|
Windows, MacOS, and any Unix-like systems
|
Open source
|
-Used by a wide number of users.
-Extensive GUI interface.
-Intelligence support.
-Rich C++ libraries.
-Parallelly distributed simulation is supported.
|
-Documentation is poor.
-Performance measures are weak.
-Does not cover all protocols.
|
NS-2
|
C++, OTCL
|
Windows, MacOS, Ubuntu, Sun Solaris, Fedora Linux, and any Unix-like systems
|
Open source
|
-The most used simulator for research.
-Good with complex systems’ evaluation.
-Provides energy model.
-Supports wired and wireless networks.
|
-Documentation is poor.
-Simulation is not real-time.
-Lack of supporting tools.
-Not suitable for large systems.
-Difficult to use and poor GUI.
-High computational overhead and memory usage.
|
NS-3
|
C++, Python
|
MacOS, FreeBSD, Linux
|
Open source
|
-Very fast simulator where parallel simulation is supported with real-time scheduling.
-Supports emulation.
-Provides debugging traces.
-Organized source code with low-level abstraction.
-Good documentation.
|
-Lacks backward compatibility with NS-2.
-Virtualization support is limited.
-Difficult to use.
|
GloMoSim
|
C, PERSEC
|
Windows XP/7, FreeBSD, Sun Solaris, Fedora Linux
|
Free
|
-Scalable and can handle very large systems with thousands of nodes.
-Parallel simulation environment.
-Scalable simulation library.
|
-Documentation is poor.
-The simulator is outdated.
-Does not support end devices such as simulators.
|
QualNet and EXATA/cyber
|
JAVA
|
Windows NT/2000/XP/Professional, macOS, Sun Solaris, and most Unix-like systems
|
Commercial
|
-Provides animation tools.
-Scalable and can handle very large systems with thousands of nodes.
-Support wired and wireless networks.
- Realtime simulator
|
-Slow interfaces.
-Difficult to install.
-Expensive.
|
JIST/SWANS
|
JAVA, Tcl
|
Windows, macOS, Sun Solaris Linux
|
Commercial
|
-Powerful simulator and suitable for simulating real-world systems.
-Less memory usage.
|
-Features not competing with other simulators.
|
J-SIM
|
JAVA
|
Windows, Sun Solaris Linux
|
Open source
|
-Supports wired and wireless networks.
-Reusable models with good flexibility.
|
-Worst execution time.
|
3.2. Attacks on MANETs’ Routing Protocols
The MANET’s environment is dynamic, and nodes continuously join and leave. An attacker could easily take a critical location in the network to block data packets from being delivered to the destination node. Moreover, a malicious node might produce a high-power signal that covers a wide range of network nodes to introduce itself as the best routing path to forward the packet between the source node and the destination node [32]. This malicious node would then block the data packets from being forwarded to the destination node. Such malicious activity leads to increasing the loss of important data packets, and it is reducing the network’s overall throughput.
MANETs suffer from malicious activities where malicious nodes tend to impact the routing protocol mechanism. The direct impact of the attacks on routing protocols is to degrade the MANET’s performance. To disrupt the MANET routing protocol, attackers tend to use several techniques such as follows:
- Routing table overflow attack: In this attack, the attacking node tends to crowd the network by advertising several non-existing nodes to overflow the routing table [33]. This prevents legitimate nodes from being aware of network nodes and routing their packets normally.
- Flooding attack: In a flooding attack, malicious nodes tend to waste network resources such as memory, bandwidth, and battery by flooding the network with bogus packets [34]. For example, flooding RREQ packets prevents the MANET from functioning normally.
- DDoS attack: In a DDoS attack, attackers tend to keep the targeted legitimate node busy by continuously requesting RREQ messages from collaborative attackers at the same time without respecting the TTL time [35].
- False removal of working route: In this attack, the malicious node advertises a false state of the link with the destination node as if the link is broken. This enforces the source node to re-initiate route discovery protocol to find another path to reach the destination. Additionally, it slows down packet transmission. False removal of working route attack could be used with another collaborative attack to isolate the targeted legitimate node from MANET.
- Node isolation attack: Attackers isolate an innocent node by blocking routing information about this targeted node from the entire network [36]. This leads to an ignorance of the presence of this innocent node.
- Routing table poisoning: In this attack, the attacker sends false RREQ packets with a higher sequence number to force all nodes to delete the old genuine route to a destination and update this route with a corrupted one.
- Blackhole attack: The attacker tends to change the routing protocol packets to be the best route known for a targeted destination, and when it is requested to forward data packets to the destination node, it starts discarding the received packets to slow down the network performance [37].
- Grayhole attack: Grayhole attack is an instance of a blackhole attack where an attacker selectively drops some data packets and normally forwards others [38], or drops all packets but only at a certain time. This makes the attack difficult to detect.
- Wormhole attack: In a wormhole attack, two attacking nodes cooperate where one attacker at a specific location encapsulates some packets and tunnels them to the second attacker, bypassing all intermediate nodes to introduce itself as the fastest route to a destination and then drop the data packets later [39]. It can also be used to replay the received data packets in the other side of the network to disrupt the routing protocol.
- Rushing attack: In a rushing attack, the malicious node sends RREQ messages with high-power transmission to introduce itself as the shortest path to any destination with only one hop count [40], this manipulates all network nodes to use this routing path. The rushing attack is most likely used alongside another attack such as dropping the network packets that need forwarding.
4. Evaluation Metrics and Performance Analysis in MANETs
Different evaluation metrics are used to define the characteristics of the MANET performance under certain conditions. After researchers set up the simulation environment and define the parameters needed to control the MANET environment, the results of the simulation tool need to be evaluated. To analyze the network performance, some metrics are used as follows:
-
THPT: Throughput is the rate of successfully delivered packets that reached the receiver node per time slot [
43]. Throughput is affected by topology changes, noise on communication links, the power of transmission from the source node, and the existence of malicious nodes affecting the throughput ratio.
-
AETED: Average end-to-end delay is the average time taken to send a packet to the destination node [
44]. This delay is due to many reasons such as route discovery queuing and process latency, delays caused by wireless links, and processing delays at both the sender and the receiver sides.
-
PDR: Packet delivery ratio is the ratio of packets that are received by the destination across the overall transmitted packets from the source node [
45]. The packet delivery ratio represents the maximum throughput that can be achieved by the MANET network.
-
PLR: The packet loss ratio is the opposite of PDR; PLR measures the total lost packets that did not reach the destination node across the overall transmitted packets [
46].
-
ROR: Routing overhead ratio is the size of control and header packets needed by the protocol for route discovery and maintenance over the total data packets received by the destination node [
47].
-
NRL: Normalized routing load is the ratio between the total number of control packets sent by a source node over the total number of data packets received by a destination node [
48]. An increase in normalized routing load metric indicates the efficiency of the used routing protocol.
-
NL: The network load is the average amount of data packets that are being carried by the entire network over time [
49]. Increasing the network load ratio increases the possibility of data collision in the wireless medium.
Figure 5 is a conclusion of the evaluation metric terms used in MANETs.
Figure 5. The different evaluation metrics used in MANETs.
This entry is adapted from the peer-reviewed paper 10.3390/electronics12091956