The proposed work is divided into four phases. First isthe increasing of the network stability and energy efficiency in MANETs. This is done using a weight-based clustering scheme that focuses on electing a Cluster Head (CH) by using a weighted approach based on energy and node mobility. In the second part, efficient data traffic management is provided in heterogeneous networks when MANETs are connected to external networks. This is achieved using the data offloading mechanism. The data is offloaded in cases where the nodes in the network either have low data rate or low energy. This results in reduced energy consumption, traffic and better throughput in heterogeneous MANETs. Third is the increasing of the network lifetime and enhancing robustness to failure. This is done by designing a node-disjoint weighted multipath routing protocol where optimal paths are selected from the multiple paths chosen on the basis of a weighted scheme. The final phase issecuring the network against malicious attacks. This is achieved by designing a secure cryptography-based mechanism for MANETs that employs an Elliptic Curve Cryptography (ECC) encryption mechanism that provides security against malicious attacks and gives high throughput. Throughput in MANETs is increased considerably if protected against malicious attacks.
Phase1 –Weight-based Energy-Aware Clustering Scheme
Firstly, a clustering approach is designed which enables energy conservation, low communication traffic and overhead, and provides high network stability [65]. It is designed to set threshold valuesfor various parameters in dynamic ad-hoc environment. Environments like these haveunrestrained node movement and low bandwidth wireless channels along with energy limitations. The mechanism proposes the use of two types of CHs:primary and secondary for stable communication in spite of mobility of the nodes. It is an energy-aware and stable clustering mechanism. Here, the CH is chosenusing a weight-based approach that uses ideal energy and mobility parameters. The proposed scheme operates in the following phases:
- Initialization of the network.
- Selection of theCluster Head and formation of cluster.
- Re-clustering and Re-association.
The following sub-sections elaborate these three phases.
The network is broken down into clusters which are made of CHs and cluster member nodes. All the cluster nodes have a unique number called the cluster ID. Every node stores its updated status value i.e., energy and mobility values. At the time of initialization, all the network nodes send HELLO messages. This message is a broadcast message. The objective of the HELLO message exchange is the identification of the transmission range of nodes. The strength of signal obtained between any node pair estimates the distance between them. It allows every node to determine its neighboring nodes, which are within the defined transmission range. It also defines the various messages exchanged during the process. The various steps involved in the initialization phase are as follows:
Step 1
In the beginning, HELLO messagesare periodically sent between network nodes. This process is used to notify neighbors about a node’s presence. These messages contain the node ID, and its energy and mobility value.
Step 2
During neighbor discovery, every node creates a list of its neighbors on the basis of HELLO messages received from different nodes.
Step 3
After the discovery of neighbors, the process of selection of the Cluster Head begins.
Cluster Head Selection
The proposed technique uses a weighted metric for the CH selection [38]. The parameters used to calculate the weight are the mobility and energyof a node [96]. Based on the application using the network, the parameters are assigned suitable weights. The sum of the weights of a node must always be equal to 1.
The weight of every node (ni)presentin the network can be expressed by Eq. (1).
Weight ( n i ) =∑ wn* Pn(ni) (1)
where for every noden i :
wn= weight assigned to nth parameter
Pn= nth parameter value of the node
In the proposed design, P1is the energy parameter, andP2 is the mobility parameter.
Hence, for the proposed scheme, Eq. (1) can be redefined by Eq. (2).
Weight ( n i ) = w1* Energy (ni) + w2* Mobility (ni) (2)
Once the Weight (ni) values are calculated for all nodes, the node with the highest weight amongst its neighbors is chosen as the primary Cluster Head,and a cluster is formed.
The energy and mobility parameters used for the weighted metric calculation can be explained as follows:
1. Energy (P 1 ): The ad-hoc network devices have fixed inbuilt energy sources. The battery provides support to the nodes for a limited time. If the nodes have low energy, the network lifetime and throughput is reduced drastically. Therefore, an energy-efficient node’s selection as CH is necessary for a stable clustering.
Energy model
Every node’s energy is majorly dependent on the followingenergy used in receiving and sending data.
The scheme uses the following energy model for calculating the energy parameters P1 [70]:
In time t, energy spent for transmission at a given node is given by Eq. (3) (in Joules).
E send (ni) = esend (ni) * q / Bw(ni) * total Bandwidth (3)
where,
Esend (ni), esend(ni ), Bw(ni): For node i- energy used for transmitting q bits in time t, energy required for sending a single bit in time t and available bandwidth at time t.
And esend(ni ) and Bw(ni) are given by Eq. (4) and Eq. (5).esend(ni ) = Initial energy(ni) * (data rate/packet size)
* t (4)
Bw(n i ) = Sum of packets transferred till time t /Total time (t) (5)
Similarly, in time t, energy spent for reception at a given node is given by Eq. (6)
E rcv (ni) = ercv (ni) * k / Bw(ni) * total Bandwidth (6)
where
Ercv(ni), ercv(ni) : same as above.
Hence, total energy Etotal at any time for a given node (ni)can be calculated as given in Eq. (7)
E total (ni) = Esend (ni) + Ercv (ni) (7)
Thus, remaining energyrεm at a node ni, at any time t, is given by Eq. (8)
rεm(n i ) = Energy at the start(n i ) - E total (ni) (8)
The initial energy is the energy of any node before it joins the network.
2. Mobility (P 2 ): The ad-hoc network supports node mobility so, frequent path breakages and connection losses occur. For stable clustering, less mobility nodes are required as CH, which can provide continuous connectivity among the nodes.
Mobility Model
To define mobility, it is assumed that in a real-time scenario, the speed of the host will be dependent on its previous speed and that there are no sharp changes in direction. For modeling this scenario, a temporal dependency approach, Gauss-Markov Mobility Model which uses node’s correlated velocity is followed [71]. In the model, a mobile node’s velocity should be related to time and can therefore be represented as a Gauss-Markov stochastic model. Simulating under a 2D field, this stochastic process can be modeled by Eq. (9)
Vt ,Vt−1: velocity of the node at two time instances t and t-1.
\(W\)t−1: Random Gaussian process that is uncorrelated and exhibits 0 mean along with σ2variance.
µ: Asymptotic mean.
σ: Standard deviation which is asymptotic.
α: Level of memory defined by dependency degree.
The value of α is between 0 and 1. α can be varied to model different mobility scenarios.
Once the parameter values have been calculated, the weight of a node is assigned as follows:
-
The mobility and energy value parameters areP1 and P2.On the basis of a predefined scale, these parameters are assigned a value from 1 to 10. The mobility and energy values are calculated from the equations mentioned above. They are then assigned a fixed number depending on the energy and mobility ranges.
-
A higher number is assigned when the residual energy value is high. For low values of mobility, a higher number is given.
-
The final values of P1 and P2with their corresponding weights w1 and w2 are substituted in Eq. 3.1. The sum of these weights is always equal to 1. The weights’ values depend on the behavior of the network and the node.
-
Under conditions where the network is energy-strained, the energy parameter is assigned a higher weight. In a highly mobile network, a higher weight is assigned to the mobility co-efficient.
For every set of nodes, their CH is selected using the weighted approach discussed above.
Cluster Formation
In the proposed approach, every node in the cluster is at one-hop distance from the CH. All the nodes that fall under a particular range (predefined) of the selected CH become members of that cluster. The nodes lying outside initiate an iterative CH election process which continues till all the nodes either become part of a cluster or become the Cluster Head (CH) themselves. A threshold is also predefined for residual energy of the CH. Once this energy falls below the threshold, a new CH is assigned. Figure 2 below illustrates the flow of CH selection.
Phase 2 - Data Offloading in Clustered MANET for Data Synchronization
Figure 3 illustrates the proposed data offloading mechanism with energy efficient clustering. Initially, once the network has been created, the neighbors exchange messages and a neighbor table is created. Clusters are created after the CH selection using the weighted scheme. Single-hop clusters with maximum capacity cluster head are designated to transform data received according to the data rate specifications.
To decide if offloading is needed, the following conditions are checked:
The CH after receiving data from the external cellular network, has to convert the processing rate of data correspondence to the value ofthe data rates of the nodes that are a part of the cluster. The data is brokendown on the basis ofmember nodes’ data requirements and the MTU size of the connecting link. Before any data transmission, the CH checks if the value of the available link data forwarding rate matches the defined data rate specifications. The data continues until there is no data left at the CH in the offloading queue.
The algorithm for the proposed scheme can be illustrated through the steps below:
Step 1 Initially, the specifications of the nodes are gathered while forming the clusters as described in Section 3. These include the energy parameter, mobility parameter, data rate, and link bandwidth.
Step 2 The CH verifies the data processing rate and energy of the corresponding member node.
Offloading condition:
Node data processing rate < CH data processing rate (10)
Or
Node residual energy < 10% initial energy (11)
If either Eq. (10) or Eq. (11) are true, i.e., the nodes have lower data rate than their CHs or if the node’s energy is getting low, the process of data offloading begins.
Step 3
The data is downloaded by the CH and stored in its own buffer.
Step 4
According to the data processing rate and link rate of the receiver, the CH later offloads the data to the remaining nodes.
Step 5
The CH takes control of partitioning the data packet, depending on the node requirements. It is done by checking the Maximum Transfer Unit (MTU) of the destination link. It then forwards data stored to the requesting node.
Step 6
Data transmission continues till the buffer at CH becomes empty.
Data Traffic Management using Offloading:
Next, the management of the network traffic with data forwarding is done utilizing the data offloading mechanism.
Figure 4 illustrates data traffic management in MANETs. The cluster includes different types of hostswith different data processing rate requirements. In a cluster, a member initializes communication by requesting data coming from the server host passing via the CH. The CH will then be able to receive data coming from the server by utilizing a 4G connection of about 30 Mbps. A mobile device processing capacity is between 2 and 7 megabits per second. In such case, the cluster must perform the data transmission based on the node’s requirements as well as the processing power.
To conserve energy and bandwidth of the CH, the nodes with similar requests are grouped together by the CH in order to retrieve data from the server. It can thus avoid wastage of bandwidth and data traffic.
Phase 3 - Weighted Multipath Energy-Aware Routing
With the movement, clustering and reorganization of nodes in MANETs, topology changes are inevitable. The rapid dissipation of energy and changes in nodes’ topology leads to breakdown of paths. An optimal solution to this problem is missing in the existing schemes as explored in the last section.
The proposed multipath process uses a weighted approach for selection of paths in networks with clusters, and has the following features:
-
It is an energy-aware multipath routing protocol with the objective of establishing multiple optimal paths between node pairs.
-
It maintains the backup paths in case of route failures or network breakdown.
-
Energy and mobility values are used with weights for the multipath and CH selection. Thus, the network created is more stable and energy-efficient leading to increased network lifetime.
-
The energy model uses the energy metric that helps in formation of a network that consumes less energy.
-
Mobility of nodes is addressed through the Gauss-Markov mobility model whichhelps in attaining less restructuring of clusters and forming a stable network. This is achieved by choosing relatively fewer mobile nodes for the paths.
-
Multiple paths are discovered using the weighted metric discussed in clustering, which is based on the energy and mobility parameters. Optimal paths out of these multiple paths are chosen considering the paths with lower weights.
-
The Energy Efficient Clustering Approach (EECA), defined in Chap. 3 and 4, is used as the clustering technique. For routing, traditional Ad-hoc On-demand Multipath Distance Vector (AOMDV) is applied as the base protocol.
In a clustered network, for transmission of data, the cluster member passes the packet it wants to transmit to some other node, to the CH first. If both the source and destination nodesare in the same cluster, intra-cluster routing is applied. If it is part of another cluster, then inter-cluster routing is used. It uses three types of messages, like in other multipath routing frameworks: Route Request Message (RREQ),Route Error Message (RERR), and Route Reply Message (RREP) and [42].
Intra-cluster Routing
In cases where both the destination and source are a part of the same cluster, the CH which receives the RREQ message from the sender node uses its neighbor table to get the destination details. It then sends back a reply RREP message to the sender node. A list of intermediate nodes between the sender and the receiver is maintained by the RREP message. Therefore, the sender gets the path to the destination which passes through the CH. Inintra-cluster routing, multipath routing is not feasible due to the one-hop distance between the CH and the member nodes.
Inter-cluster Routing
In cases of the source and destination being parts of different clusters, the CH that receives the RREQ message from the source passes it to every neighbor CH. It is then further passed to neighbor CHs. In the process, addresses are collated, and paths are established following the information logged in at the previous node. On the route, links are set up using the route information of the previous path. The Cluster Head that gets the RREQ message looks for the destination address in its parent cluster. Once any CH finds it, the complete path is formed to the destination and stored. Finally, the RREP data packetat the destination CH uses the reverse path established to reach the source CH. This route goes through the previous neighboring CH on the way back.
In situations where the RREQ packetgets lost or dropped at some point in the network, the route discovery is redone a fixed number of times (depending on the network conditions). If it is still unsuccessful, the process is not repeated and the destination is stored as unreachable [79] [80, 85]. The steps involved used in finding multiple paths and selection of optimal paths during route discovery are described in detail below
Multipath Selection
Step 1
The route discovery process is initialized by the source node. It sends the RREQ message to the CH of its own cluster.
Step 2
When a RREQ is received by a CH which is destined to a node in the same cluster, it will uni-cast the RREP message to the sender. If it is for a node outside this cluster however, the RREP is broadcasted to neighbor CHs.
Step 3
Every CH receiving a RREQ message checks its neighbor table for the destination in its own cluster. If it is not in its cluster, it further broadcasts the RREQ message to the neighboring CHs. The CHs during this process will store alist of all nodes that the packets have travelled through in their routing tables. This helps in sending the RREP packets back from the destination to the source with the help of the cumulative reverse path. A given CH can receive the same RREQs from different neighboring CHs. It forwards all such packets to its next neighboring CHs.
Step 4
TheCH that has the destination node in its table transmits back the RREP to the sender CH through the cumulative reverse path.
Step 5
This reverse path is then stored in the CH’s table.
Step 6
In case the RREP doesn’t reach the source within the estimated round-trip time, the RREQ is considered to be lost or damaged.
The lost RREQ is handled by resending the same RREQ. In case of three consecutive unsuccessful attempts, the RREQ is discarded and the destination node is marked as unreachable by the source.
Step 7
During this process, an intermediate Cluster Head can receive multiple RREQs from different neighbors, thus generating multiple routes to the destination. The destination CH forwards all the RREP messages generated on the reverse paths as mentioned in the RREP message.
Step 8
The source CH receives all the multiple RREPs and sends them to the source node.
Optimal Path Selection
In a fixed time period, all the RREPs received are categorized into eithershortestor optimal paths. The shortest paths are those which have the minimum number of hop counts. The optimal paths are generated using a weighted metric-based on energy valueand mobility coefficient as described by Eq. (1) and Eq. (2).
Parameters (P1 and P2) are assigned appropriate weights that are application-dependent. In applications where more energy saving is required, weight (w1) assigned to energy parameter, (P1) is given higher value, e.g., in military applications. In applications supporting high mobility node e.g., vehicular applications, the weight (w2) assigned to the mobility parameter (P2) is assigned higher values. In totality, the summation of w1 and w2 must be 1.
The total weight of any path is given by the sum of all nodes’ weights lying on that path. As mentioned below, the weight W of path pi, denoted by W(pi) is defined by Eq. (12) below:
W(p i ) = ∑ Weight (n i ), for all nodes on the path p i (12)
All the paths having weight,W(pi)above the defined threshold are accepted,and the paths not satisfying a particular predefined threshold for the path weights are rejected. Hence, the selected paths are those paths which satisfy the following weight condition.
Let the weight of the path with maximum weight value be denoted as Max(W(pi).The path pi with weight w(pi) is selected only if it satisfies the Eq. (13):
W(p i ) > 0.7 * Max (W(p i )) (13)
All the other received paths are rejected. The various steps for the selection of optimal paths are shown in a flow diagram in Fig. 5.
Figure 5.Flow of the Proposed Weighted Multipath Routing.
Phase 4- Secure Routing Through Cryptography
The primary aim of the proposed method is to increase the security of MANETs by implementing signature generation and cryptographic mechanisms. The working process of the proposed Secure Cryptography-based Clustering Mechanism (SCCM) can be described briefly in the steps below:
Step 1
Cluster formation using the weight-based energy efficient approach as discussed in Phase 1 and multipath formation using the Weighted Multipath approach.
Step 2
Public key generation
Step 3
Packet encryption using Elliptic Curve Cryptography (ECC) at the sender side
Step 4
Signing the encrypted message using Schnorr’s digital signature
Step 5
Signature verification and message decryption using a private key at the receiver side.
Once the cluster members register themselves with the CH, the key generation and sharing processes are performed in each cluster. When the data transmission request is initiated by the source towards the destination, a secure route is established between them. It uses the proposed weighted multipath routing protocol as the base routing technique.
Before transmission, the original packet is encrypted using the Elliptic Curve Cryptography (ECC) technique. ECC belongs to the category of asymmetric public key encryption that generates smaller and more efficient keys very fast compared to other techniques. It is based on the elliptic curve theory that uses the properties of elliptic curve equation. ECC creates keys by simply generating a random integer in a certain range though securely. These can be used as private keys. The ECC points i.e., pairs of integers coordinates lying on the curve are used as public keys.
Next, the signature is produced for the encrypted data using Schnorr’s signature generation technique. Schnorr’s digital signature is known for its simplicity. It is based on Schnorr’s algorithm and its security is built on the property of un-traceability of discrete logarithmic problem. The ECC encrypted and Schnorr’s signed data packet is sent to the destination through the respective Cluster Heads. The destination node on accepting the packet, regenerates the signature for decrypting the original data. During this process, the received packet is verified for correctness. The destination node discards the received packet, and transmits the error report to its CH. Thus, the proposed scheme ensures message confidentiality, integrity and authentication.
Figure 6.1 below illustrates the flow of various steps through which the proposed protocol works:
Secure Data Routing
The WMECS protocol is used to perform the multipath routing among the source node and destination node, where multiple paths are selected during data transmission. This provides an alternate path if there is any fault or failure on the selected path. It also reduces the data loss and delay in the network by using multiple paths.
Encryption at the Sender
After establishing the secured path between the source and destination, the Elliptic Curve Cryptography technique is utilized to encrypt the data to be sent. ECC offers fast computation and reduced resource consumption for cryptographic operations at minimum cost. The power of the ECC algorithm is fully based on the key and the alphabetical table. It also gives a possible outcome for the data by enabling the secure transmission of keys between the communication entities. Different characteristics are symbolized in this technique as the coordinates of the curves. Because of its capability to generate the complex encrypted data that is difficult to decipher by unauthorized user, ECC has been selected for the proposed technique.
Signature Generation at the Sender
After data encryption, the Schnorr’s signature generation algorithm is used for the generation of the signature for the encrypted data. It is a kind of key generation mechanism that integrates both digital signature and public key encryption schemes. It analyzes the discrete logarithmic problem for generating the digital signature, which increases the security of the network. The signature generation process has the following steps:
In this technique, the source verifies the public key of the packet using the digital certificate. The keys for generating the cipher text are generated using a random integer. The one-way key hash function is deployed in the mechanism to create an encrypted text which is transmitted to the destination with the generated signature. The one-way keyed hash function alters input messages of several lengths into output series of fixed length, called a hash value, which is usually shorter than the input length. Hash values are often used to spot input sequences, i.e., to allot to them some distinctive values that illustrate them.