{'fraction_non_alphanumeric': 0.024806496637482554, 'fraction_numerical': 0.005709935287400076, 'mean_word_length': 4.800367985280589, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Multicast routing strategy for SDN-cluster based MANET

Received Aug 16, 2019 Revised Mar 2, 2020 Accepted Mar 12, 2020 The energy limitation and frequent movement of the mobile Ad hoc network (MANET) nodes (i.e., devices) make the routing process very difficult. The multicast routing problem is one of the NP-complete problems. Therefore, the need for a new power-aware approach to select an optimum multicast path with minimum power consumption that can enhance the performance and increase the lifetime of MANET has become urgent. Software defined network (SDN) is a new technique that can solve many problems of the traditional networks by dividing the architecture into data part and control part. This paper presents three power-aware multicast routing strategies for MANET. First one called a Reactive Multicast routing strategy for Cluster based MANET by using SDN (RMCMS), second one called Proactive Multicast routing strategy for Cluster based MANET by using SDN (PMCMS) and third one represents Modification of PMCMS called M-PMCMS. Moreover, it produces a new mathematical model to build a multicast tree with minimum power consumption and takes into account the remaining power in each node. All proposed multicast strategies operate based on this mathematical model and aim to maximize the MANET lifetime by exploiting the advantages of SDN and clustering concepts. They consider the multicast tree with minimum power consumption as an optimal one. The simulation results illustrated that RMCMS is better than PMCMS, M-PMCMS, and MAODV in terms of power consumption and network overhead while M-PMCMS is the best one in terms of dropped packets ratio (DPR) and average end to end (E2E) delay.


INTRODUCTION
MANET is a special wireless network and has unique characterizes such as limited energy, free movement of nodes without limitations, bandwidth limitation and participating of nodes with each other to perform the routing process [1]. The establishment of the connection session in this network needs to share many nodes that play the roles of the host (i.e. source or target) or router (i.e. intermediate nodes) [2,3]. MANET is widely used in several applications like civilian, industrial, and military [4]. However, there are many issues associated with MANET and need to be investigated, such as routing, energy consumption, overhead, scalability, and security [5].
To solve the overhead and scalability issues, MANET in sometimes is partitioned into smaller sub-networks (i.e. clusters) by using various clustering strategies based on several effected factors such as available energy, mobility speed, etc. Each one of these sub-networks contains three special types of nodes that differfrom each other in the role that play. First one is the cluster head (CH) node that works as a manager to control the connections and manage all nodes in the cluster. Second one is the gateway nodes that work as an interface between the related clusters to exchange the information. Third one is the normal nodes [6]. The routing process in MANET as in many other wireless networks can be unicast, multicast, or broadcast. Unicast is a one-to-one mode; multicast is one-to-many mode, and broadcast is one-to-all [7]. The multicast mode is used in some situations to transfer information from the sender to a group of target nodes named multicast group [8]. The multicast with quality of service constraints likes bandwidth, energy, and delayis an NP-complete problem [9]. The common multicast routing technique used in ad hoc networks is multicast ad hoc on-demand distance vector (MAODV) [10]. In MAODV, to build new a multicast route (or a multicast tree as it is called) from the source to target nodes, the source broadcasts a route request (RREQ) message to its neighbors which store in their routing table the IP address of the transmitted node of the RREQ message and then rebroadcast this RREQ to their neighbors. This process is stopped when the RREQ message reaches to one of the multicast targets which start the establishment of the reverse path to the source by sending a route reply (RREP) message through unicast mode [11]. However, MAODV with the high node mobility suffers from the high overhead and delay that associated with the broken link [12].
SDN is a new innovated technique to enhance the performance of the real-time applications and solve the scalability, vendor dependence, and inability to scale problems of the traditional networks. The primary conception of SDN is separating the data forwarding and network control functions, therefore, it allows network control to be more programmable for different types of services and applications [13]. It is also manageable, adaptable, cost-effective, and dynamic in nature [14]. Moreover, SDN can play a significant role in improving the routing operation of data in the ad hoc networks [15,16].
In MANET, the traditional multicast routing strategies do not take into account the energy consumption when building the multicast tree. Therefore, the sending of data in multicast mode can consume the energy of nodes and reduce the lifetime of the network. This paper focuses on this problem and integrates the concepts of SDN and clustering to simplify the building operations of the multicast tree. Moreover, it provides three multicast routing strategies to build the multicast route with the lowest energy based on the proposed mathematical model.
The contributions of this article as follows:  Integrating the SDN concept with cluster based MANET.  Producing a new reactive multicast routing strategy in cluster based MANET.  Developing a new proactive multicast routing strategy in cluster based MANET  Presenting a modification for the proactive multicast routing strategy by applying the full dump and incremental approaches.  Exploiting the capabilities of SDN to improve the multicast routing operation.  Using SDN agent to build the multicast tree locally by the CH node.  Producing a new clustering method to select the CH nodes depending on the mobility speed, supporting LTE and Wi-Fi connections and remaining power in each node.  Producing a new mathematical model to construct a multicast tree with minimum power consumption and takes into consideration the remaining power in the mobile nodes. This paper composed of the following sections: Section 2 discusses the previousresearch works, section 3 shows the network architecture, the system model is presented in section 4, section 5 explains the proposed multicast strategies, section 6 shows the simulation and results, and the conclusions are presented in section 7.

RELATED WORKS
In the last few years, the multicast problem in MANET has been investigated by many researchers [17][18][19][20][21][22][23][24][25]. T. Lu et al. [17] presented an energy-aware genetic mechanism to solve the NP-complete problem of multicast routing and takes into account the delay and energy cost as the quality of service requirements in the building operation of multicast tree. However, they did not take into consideration the cost of bandwidth that is a more critical factor and did not present any efficient solution for the link broken problem. Also, there is not any strategy to add a node to an active multicast session. S. Gopinath et al. [18] proposed a reliable multicast routing algorithm takes into consideration the remaining energy to increase the forwarding ratio, packet delivery ratio, and lifetime of the MANET. However, their proposed algorithm selects only one reliable path. Therefore, its problems occur in the link failure cases since the source needs to re-initiate the multicast route discovery that causes high delay and energy consumption. S. Zhou et al. [19] proposed multicast routing strategy takes into account the multicast session delay constraint for MANET with large scale. The sender must transmit the data to the multicast targets within a predefined time-slot. However, the authors assumed similar time slot constraint and data volume for all multicast sessions. N. Anwar et al. [20] produced a multicast approach based on ant colony optimization in MANET. This approach builds the optimal multicast tree based on the pheromone value delivered from  [21] presented a clustering technique depending on the remaining energy, available bandwidth, and node connectivity to improve the multicast routing. Moreover, they used the shortest path approach to construct the multicast tree. B.H. Al Qarni et al. [22] presented a new power-aware and reliable protocol for multicasting problem based on tone system and clustering principle to provide better performance. However, the overhead and bandwidth consumption of multicast route discovery is high. S. Dahal et al. [23] presented an enhanced multicast approach depending on MAODV and consists of two phases: multicast tree building and multicast tree correction. It selects the multicast path by taking into account the number of hops to the multicast target and node lifetime. A. Chakrawarti et al. [24] merged the genetic algorithm with K-nearest-neighbour to produce a new multicast approach for MANET. They exploit the genetic algorithm for the processing stages while the K-nearest-neighbour for the distance measurement. B. Yang et al. [25] design multicast algorithm depending on two-hop relay technique and cooperative probability. The relay nodes forward the data packet to the multicast targets while the collaborative prospect may use to exchange the data packets among these targets. The authors in [26][27][28] merged SDN with MANET. M. Mendonca et al. [26] focused on adapting SDN for heterogeneous networks. They assumed two networks (i.e., MANETs) connected viathe Internet: first MANET is traditional while the second one is based on SDN concept. In the first one Bob's device works as a gateway. MANET's service provider is not aware of the existence of Alice. Internet Service Provider (ISP) can't manage the bandwidth of devicesand cannot perform the rules of Quality of Service in MANET. As Bob works as a gateway, he is made responsible for the traffic of Alice. In the second one, the controller takes care of runtime needs of the MANET nodes. The division of control plane from forwarding hardware allows it to be flexible to enhance performance due to the progreammility of the controller. The Internet connection makes it a networking environment found in the fully connected and real world. This network explains how the SDN helps to separate network controlling functions to improve the performance.M. Mendonca et al. [27] produce a similar type of research work.M. Albanese et al. [28] added the SDN to MANET to increase its reliability and flexibility. Moreover, they presented a moving target defense technique to protect the MANET from the Sybil attack.P. Bellavista et al. [29] suggested architecture and a model that loosely federate FiWi and MANET domains according to the interaction between the FiWi and MANET controllers. M. O. Kalinin et al. [30] produced a method to the build of a hierarchical security management system to wide-range dynamic connection networks (WSN, FANET, VANET, MANET, etc.) with utilizing SDN approaches. K. Poularakis et al. [31] proposed flexible protocols that separate the control of the network into a centralized SDN controller and the data plane nodes. They measure the benefits of elastic SDN on traditional OpenFlow.
The authors in [32][33][34][35][36] applied SDN with vehicular ad hoc network (VANET). Y. Liu et al. [32] designed a suitable GeoBroadcast protocol for the VANET's safety application based on SDN to transmit safety messages in the emergency cases to neighbor vehicles located in a limited geographical area. The SDN controller in their proposed architecture uses two components: first one used to collect information about the location of the RSU named RSU Location Management Component while the second one called GeoBraodcast Component used to build the routing paths to broadcast safety messages. X. He et al. [33] used the SDN capabilities and fog computing environment to provide mobility support and location awareness in the Internet of Vehicle network. Also, they produced a modification for the particle swarm optimization algorithm to enhance the total network performance based on SDN. Z. He et al. [34] provided an SDN-based framework for improving the link stability in the vehicular network. In this paper, the network bandwidth can be assigned by the logically centralized control plane, which provides the excellent capability of network management. X. Ji et al. [35] suggested geographic routing technique for SDN-based VANET depends on a digital map, vehicles density, and node location. Their proposed approachbased on two algorithms: first one used to discover the shortest forwarding track named optimal forwarding path algorithm while asecond one used to determine next hop in a packet forwarding process called packet forwarding algorithm. B. Dong et al. [36] exploited the SDN concept to provide on-demand routing protocol for VANET. They used two levels: global and local. The first one is global and used to find the position of the vehicle and calculates the global route based on the vehicles information while the second one is local and used to compute the route for every vehicle. H. Shafiq et al. [37] they explain in details the concept of SDN-based VANET, its benefits, security threats, services, applications, and its work, and it's compared with previous methods. M. Chahalet al. [38] presented the software-defined vehicular network utilizing heterogeneous wireless interfaces. They proposed the data post methods that used the concept of layering link duration and controllers on the selected network. K. L. K. Sudheera et al. [39] introduced a new routing framework to link connectivity of SDVN network. The routing protocol consists of distributed and centralized routing techniques and utilizes the store, forward, carry, broadcast, and unicast concepts.

THE NETWORK ARCHITECTURE
This paper aims to improve the multicast routing operation by producing three new efficient multicast routing strategies for cluster based MANET by exploiting the advantages of SDN. Therefore, first we must explain how to integrate the SDN with cluster based MANET. The proposed network architecture composed of three layers: infrastructure layer (MANET nodes), control layer (SDN controller), and application layer as illustrated in Figure 1. The MANET nodes composed of clusters of mobile nodes. The CH node in each cluster has SDN agent and works as a local SDN controller in some situations to control the cluster, build multicast tree, correct broken links, and generates flow tables. In this paper, we assume that some of the mobile nodes have both LTE and Wi-Fi connection interfaces, while the other nodes support just the Wi-Fi communication. Only the nodes that support Wi-Fi and LTE can work as CH nodes.
The CH node is selected depending on three parameters that are: remaining power, supporting Wi-Fi and LTE connections and mobility speed. The selection procedure of CH node is applied for each group of nodes that found in a specific geographical area as follows. Each node broadcasts to its neighbors; some messages contains information about the remaining power, mobility speed, and is it supports both Wi-Fi and LTE connections or not. If there is only one mobile node in this group supports both Wi-Fi and LTE connections, then it will be selected as a CH. Otherwise, (i.e., there is more than one node supporting the Wi-Fi and LTE connections), the CH node is chosen depending on the trade-off between the remaining power and mobility speed. However, if there is no any node supports both Wi-Fi and LTE connections, then this group of mobile nodes will be managed and controlled by the CH node of the closest cluster via multi hops connections. The CH node connects to the nodes that found in its own cluster through Wi-Fi connection while uses the LTE connection to connect to the SDN controller.
Each CH saves in its own database completed cluster information such as the number and IP addresses of the gateway and normal nodes, available node's energy, and connection links among the nodes. It transfers this information to the SDN controller periodically, on-demand, or in full dump and incremental approaches based on the used strategy as described in section 5. Therefore, the SDN controller has a central and global view of the MANET. In the application layer, the suggested multicast routing strategies are applied and use the information that saved in the SDN database.

SYSTEM MODEL
To achieve the multicasting of data, we model MANET by a weighted indirect graph G = (V, L). In this graph, the MANET nodes are denoted by V, and the communication links by L. Other notations are as shown in Table 1. The goal of RMCMS, PMCMS, and M-PMCMS are to transmit data of size Z from the sender node s to the target nodes T with minimum power consumption and takes the remaining power constraint into consideration. Therefore, the objective function of these multicast routing strategies can be defined as follows: The sender of multicast session. The set of target nodes of the multicast session. The total data size that must be transmitted to every one of the target nodes. The data size that must be sent from node i to j. The required power to transmit one bit of data from node i to j. Remaining power in node i. The threshold of remaining power. The set of neighbor nodes of node i.
Several constraints limit the computation of optimal multicast tree. They are as explained bellow:  The data amount that must be transmitted by the sender node s is equal to Z as shown below:  The data amount that must be arrived to every one of the target nodes T is equivalent to Z. It is defined as follows: When a flow of data is transmitted from node i to j, this flow must not transmit from j to i to avoid the loop situations.Thus, the variable xij is defined for this purpose and can take the value of 1 or 0, as illustrated in the following: The constraint of avoiding loop situations is as follows:  The intermediate devices that found in the multicast tree must have an acceptable amount of power to perform the multicasting efficiently and decrease the dead (shut down) nodes situations. The constraint of the remaining power in each node i is defined as follows:  Normally, the intermediate nodes are not the targets of the data; they must forward this data to the neighbor nodes when receiving it. Moreover, the inherent property of multicast transmission must be taken into account in which a data packet may be delivered to one intermediate node and many copies of it are transmitted to other nodes. Therefore, the size of transmitted data from an intermediate node must be greater than or equal to the size of data flow received by it. The below function shows that:  The data flow between every two nodes cannot be negative value because if there is no transmitted data flow between two devices, its value is equivalent to zero; else its value is positive as shown below:

THE PROPOSED MULTICAST ROUTING STRATEGIES
This paper produces three central strategies to solve the multicast routing problem in cluster based MANET by using SDN as follows:

Reactive multicast routing strategy
The strategy is called RMCMS and aims to decrease the number of times of the transmission of cluster information from the CH nodes to SDN controller to minimize the power consumption in the CH nodes and reduce the total network overhead. It works based on demand. Therefore, there is no periodic sending of information from the CH nodes to SDN controller.
When a source node wishes to send data to more than one target nodes in multicast mode, it sends a multicast route request (MRREQ) packet to the closest CH node which uses the SDN agent and works as a local SDN controller to compute the multicast tree based on the proposed mathematical model that described in section 4 if all target nodes found in its own cluster. Otherwise, it forwards MRREQ to the SDN controller. After that, the SDN controller sends info_req to all CH nodes. Each one of them responses to this request by sending info_msg that contains the completed information about its own cluster includes the nodes, links and available energy in each node. The SDN controller after receiving this information constructs the multicast tree by using the mathematical model that illustrated in section 4. Then it forwards the flow tables to the intermediate CH nodes which foundin the constructed multicast tree. The intermediate CH nodes send these tables to other intermediate nodes that belong to this multicast tree. Finally, the sender will start the data sending operation after receiving multicast route reply (MRREP) packet from the closest CH node.
In the case of a link failure, the closest node transfers a multicast route error (MRERR) packet to the nearest CH node thatsends it to the SDN controller if it cannot correct this failed link. The SDN controller will send info_req only to the CH nodes that are near to the geographical area of the failed link. After receiving info_msg from these CH nodes, it will correct this failure and send updated flow tables. Unfortunately, there is a high delay associated with this multicast routing strategy and represents its primary problem.

Proactive multicast routing strategy
It is called PMCMS, and its goal is to decrease the delay. To perform this strategy, we assume that each CH node periodically transfers completed information about its own cluster to the SDN controller. Therefore, this controller has completed-refreshed information and acknowledge about the network.
When a sourcelikes to transmit data in multicast form, it sends an MRREQ to the closest CH node. If all target nodes found in the coverage area of this CH node, it will work as a local SDN controller to compute the multicast tree depending on the mathematical model described in section 4. Otherwise, it forwards MRREQ to the SDN controller, which calculates the multicast tree based on it's completed and refreshed acknowledge of the network by using the mathematical model that explained in section 4. After that, it forwards the generated flow tables to all intermediate devicesfound in the computed multicast tree. At arriving of MRREP to the source node, it will send the data in multicast mode.
In the case of a link failure, the affected node sends MRERR to the closest CH node, which checks can it correct the broken link or not. If it cannot, then it forwards MRERR to the SDN controller which will correct the broken link quickly because it has completed information about other available links. After that, it gives new flow tables to the new selected intermediate nodes. This protocol is efficient, but it suffers from the power consumption and high overhead resulted from periodic exchanging of information between the CH nodes and SDN controller.

Modification of PMCMS (M-PMCMS)
This strategy is presented to solve the problems of PMCMS that are overhead and power consumption by minimizing the number of times and amount of transmitted information from the CH nodes to SDN controller. Also, it aims to decrease the delay of RMCMS. This strategy works in a similar way of PMCMS in computing the multicast tree or correcting the broken links. But there is no periodic transmission of clusters information to the SDN controller. In M-PMCMS, the CH nodes send the cluster information to the central SDN controller by using the full dump and incremental strategies. The full dump is used only one time after each construction operation of a new cluster to send all cluster information while the incremental method is used only when there is a change in the cluster to send only the changed information. The changed information may be about the shutdown of a particular node, exiting of a node from the cluster, entering of a new node to the cluster, moving a node to another location inside the cluster and changing the connection links, etc. These strategies can decrease the number of sending times and the amount of cluster information that is sent to the central SDN controller and as a result of which reduce the power consumption in the cluster heads and network overhead.

SIMULATION AND RESULTS
The simulator OMNeT++ V.5.0 running on Windows 7 is used to build the simulation environment. Table 2 shows the parameters of the suggested simulation environment. In this paper, various scenarios are used to study the behavior of RMCMS, PMCMS, M-PMCMS, and MAODV and compare them with each other in terms of DPR, average E2E delay, power consumption, and network overhead. These scenarios are as follows:

Scenario 1: Network density
This scenario investigates the behavior of RMCMS, PMCMS, M-PMCMS, and MAODV with network density. The numbers of nodes in this scenario are 100, 150, 200, 250, and 300 nodes move at the speed 5m/s. The number of multicast sessions (The multicast session refers to the sending operation of data from the sender to destination nodes) is 5 and each session has 5 destinations. Figure 2 shows that the average E2E delay of RMCMS, PMCMS, M-PMCMS, and MAODV decreases with increasing the network density, and M-PMCMS presents better results than other multicast routing strategies because the SDN controller always has completed-refreshed information about MANET that enables it to compute the multicast tree quickly without any waiting to the gathering MANET's information. Moreover, the nodes in the SDN based networks use the flow tables to forward the data packets without any delay to search in the routing table as in the traditional networks. Besides, most of the multicast route requests can be handled locally by the CH nodes (local SDN controller). Therefore, the response will be quicker. Figure 3 illustrates that the power consumption of RMCMS, PMCMS, M-PMCMS, and MAODV increases with increasing the network density due to the increase in exchanging of control packets among nodes. Also, this figure shows that RMCMS is better than PMCMS and M-PMCMS because it works on demand and avoids the transmission of redundant control packets and it is better than MAODV because it builds the multicast trees with lowest power consumption.Moreover, M-PMCMS consumes low energy as compared with PMCMS and MAODV. This will due to using full dump and incremental approaches in forwarding the information. Figure 4 describes the performance of RMCMS, PMCMS, M-PMCMS, and MAODV in term of DPR that decreases with increasing the network density due to increasing of the available link between nodes. M-PMCMS is the better one because it can build and correct the multicast tree quickly by the local SDN controller or central SDN controller.  Figure 5 explains that increasing the network density increases the number of exchanging control packet among the mobile nodes and as a result increases the network overhead. However, RMCMS is better than MAODV because the clustering concept reduces the overhead, and it is better than PMCMS and M-PMCMS since it works only when there area need and avoids the periodic transmission of information. Also, this figure shows that the overhead that generated from using M-PMCMS is low than that produced from using of MAODV and PMCMS because it decreases the number of transmitted data packets by using full dump and incremental methods. All these performance metrics increase with increasing the speed due to the high broken cases of communication links that increase the exchanging requests to correct the broken links of the multicast tree. Figure 6 explains that M-PMCMS produces lowest average E2E delay than RMCMS and MAODV since it decreases the effect of mobility speed by correcting the failed communications links of the multicast tree quickly based on the refreshed database of SDN controller. Moreover, it produces better results than PMCMS because the transmitted information to the SDN controller is less than that in PMCMS, and as a result, it performs little processing operations. Therefore, it is faster than PMCMS. Figure 7 shows that RMCMS is the best because it does not transmit periodic information to the SDN controller unless there is no need to build a new multicast tree or correct a failed link in the active multicast sessions.  Figure 9 shows that RMCMS is the optimal multicast routing strategy in term of network overhead due to the efficiency of the building and correcting operations of multicast trees locally as well as the capabilities of SDN controller.  Figure 10 shows that the average E2E delay of RMCMS, PMCMS, M-PMCMS, and MAODV increases with increasing multicast sessions due to increasing of the network traffic and the shortest paths may be full. Therefore, the multicast routing strategy must select other paths even they are long and as a result, increases the average E2E delay. M-PMCMS is better than RMCMS and MAODV since it is proactive and better than PMCMS because the SDN controller receives little information, and as a result, it performs little processing operations. Therefore, it responses to the multicast request faster than PMCMS. Figure 11 illustrates that RMCMS is the best multicast routing strategy in term of power consumption than PMCMS, M-PMCMS, and MAODV because it works on-demand only. The power consumption increases with increasing the multicast sessions since it increases the generation and transmission operations of requests to construct multicast trees to these sessions. In addition, increasing the requests to maintain the multicast trees that have broken links.  Figure 12 explains that DPR for all multicast routing strategies increases with increasing the multicast sessions due to the network traffic and an inability to respond to a large number of correction requests efficiently. However, M-PMCMS produces good results than others. Figure 13 shows that increasing the multicast sessions increases the number of discovery and maintenance requests of the multicast trees, and as a result, increase the overhead. However, RMCMS works on demand. Therefore, it is better than PMCMS and M-PMCMS. In addition, it is better than MAODV because more of the route discovery and route correction requests can be handled in the local controller by the CH nodes that reducesthe forwarding operations of requests to the central SDN controller.

CONCLUSIONS
New central multicast routing strategies are produced in this paper for the SDN-cluster based MANET. First, one works reactively based on demand. The second one works proactively depending on the network information stored in the database of SDN controller. The final one is presented to solve the problems of the first and second strategies. All these strategies select the multicast tree with less power consumption as an optimal one. Moreover, they take into consideration the constraint of the remaining power in each MANET node in the computation process of the multicast tree. From the simulation results of various scenarios using OMNeT++, we found that M-PMCMS is more powerful than RMCMS, PMCMS, and MAODV in terms of DPR and average E2E delay while RMCMS is more efficient than other multicast routing strategies in terms of power consumption and overhead.Moreover, M-PMCMS consumes low energy and generates low overhead as compared with PMCMS and MAODV due to using of the full dump and incremental mechanisms in forwarding the information.