Efficiency-complexity evaluation methods of routing algorithms in mobile ad hoc networks

Routing in multidomain and multilayer networks is the subject of constant theoretical research, with special emphasis on routing optimization algorithms based on several criteria. Such research results in new proposals. The basic task of the algorithm is to perform the given task in a finite and reasonable period of time and with reasonable resource requirements. When new solutions are compared with previous solutions, it is necessary to consider as much information as possible about the characteristics and differences between these algorithms, which ultimately determines the degree of success of the algorithm. Routing algorithms depend on the goals to be achieved and most often solve a certain group of problems with certain simplifications of the overall problem and to the detriment of performance that are not crucial for a given routing optimization problem. Therefore, it is necessary to have acceptable methods for efficiency-complexity evaluation methods of routing algorithms with certain, universally applicable, metrics. Several theoretical approaches, including graph theory, optimization theory, complexity theory, allow approaches to compare the algorithms and the results achieved with the help of these algorithms.


Introduction
Routing is the process of finding a path between two nodes that sends messages in a telecommunications network. Nodes that participate in routing in the network perform this process according to defined rules that represent the routing protocol. Routing in mobile ad hoc networks is specific in that these networks have a variable or dynamic topology. Nodes move, appear (turn on), or disappear (turn off) from the network so the routing protocol must be able to respond quickly to changes. In the analysis of routing efficiency in mobile ad hoc networks, a special problem is the modeling of the topology and movement of nodes in the network. Ad hoc networks are not widespread and do not have known patterns of user behavior, ie nodes. The conditions in which these networks are established also complicate the process of documenting and analyzing the characteristics of the network, as exemplified by networks for rescue and military purposes. On the other hand, despite the significant differences in routing protocols used in different types of networks, most routing algorithms are based on similar problems in the field of graph theory and combinatorial optimization.

Mobile ad hoc networks and their characteristics
The term mobile ad hoc network has been used in the literature since the 1990s. In the first papers, ad hoc networks were defined as temporary networks of mobile computers, without wired connections and central administration [1], or as a set of wireless mobile terminals (hosts) that form a temporary network without any central administration and support services [2].
Mobile ad hoc network (MANET) can be defined as a wireless self-configuring network of mobile nodes without the need to establish a fixed infrastructure and centralized administration. Nodes or terminals in ad hoc networks have limited possibilities for power supply, and sometimes limited process power. Therefore, communication software at terminals should be as less demanding in terms of processing power. If the network topology changes rapidly, due to the mobility or on or off of individual nodes, then the communication protocols should have a short convergence time.
As there is no central point for network management, routing algorithms in ad hoc networks need to be distributed. With distributed algorithms, each node in the network functions autonomously in deciding how to redirect traffic to other nodes. Due to the self-organization of ad hoc networks, their sensitivity to interruptions in links or to the failure of a single node is lower than in standard fixed or mobile networks. On the other hand, autonomous data processing increases the need for process resources (CPU, memory), which is contrary to what terminals usually have.
The biggest challenges that will determine the speed of development and practical use of mobile ad hoc networks are the development of new technologies for stable terminal power supply and solving communication security. Security is a special challenge as user traffic passes through the network of other terminals and is therefore exposed to greater security risk. Solutions such as data encryption require significant processing resources, which is one of the fundamental disadvantages of mobile ad hoc networks. Mobile ad hoc networks are being supported by the increasingly rapid development of mobile terminal devices (such as smartphones) that enable the processing and storage of ever-increasing amounts of data. The ability to transmit multimedia information is crucial for the commercial use of these networks, which entails the need to establish a quality of service (QoS).
From this brief overview of open issues, it can be seen that there is a lot of room for research in the field of mobile ad hoc networks not only in terms of communication protocols and algorithms, but also in areas such as reliability, security, QoS and other elements. Until these issues are adequately addressed, mobile ad hoc networks will remain in use for rescue, military, conference, research and other related applications 3 Routing protocol classification in mobile ad hoc networks Routing protocols define the rules of communication between nodes, the data structure, and the algorithms used. All nodes in the network that participate in routing must follow protocol rules. This means that routing protocols are essentially distributed. Through the analysis of these protocols, special attention will be paid to the algorithms that establish routing paths between nodes in the network. Due to the specifics present in mobile ad hoc networks such as unstable and limited node power supply, low processing power, high mobility, the algorithms used for routing in these networks differ significantly from the algorithms in other networks. This chapter will present the most important protocols for routing in mobile ad hoc networks through two classifications ( Table 1).
The first classification, which is most commonly found in the literature, is on proactive, reactive, and hybrid protocols, and refers to the principle of how nodes form and update their routing tables. In proactive protocols, nodes have up-to-date routing tables at all the time, while in reactive protocols, the data in the routing tables on a node are updated only when the need for routing arises. Hybrids have the characteristics of both.
The second classification refers to protocols that rely on hierarchical division of nodes in the network and those without hierarchical organization (it is common to use the term flat for such organization of nodes). The hierarchical organization facilitates routing in networks with a large number of nodes, but at the same time introduces additional traffic and data processing due to the formation and maintenance of the hierarchical organization. In addition to the two listed classifications, the literature often includes a division into protocols based on link-state and distance-vector. Link state protocols provide each node with a complete network topology at all the time, so that messages about interruptions or connections between nodes are immediately distributed throughout the network. In distance vector-based protocols, nodes exchange routing tables with their neighbors, thus updating data relevant to routing. With these protocols, the nodes do not have a picture of the complete network, but for each destination they know which is the next node to which the message is forwarded.

Proactive protocols
Proactive protocols are also called table-driven routing protocols, because the nodes that participate in routing always have up-to-date routing tables for each destination in the network. The advantage of these protocols is that, when the need for routing arises, the nodes react immediately, ie they have information on how to participate in routing. The disadvantage of proactive routing is that there is a constant exchange of messages of the protocol itself (control traffic) due to changes in topology.
A typical representative of proactive protocols is the DSDV (Destination-Sequenced Distance Vector) [3] protocol. Like other distance-based protocols, DSDV uses the distributed Bellman-Ford algorithm [4] and is basically an adaptation of RIP (Routing Information Protocol) [5] from fixed networks to work in wireless networks.
In these protocols, a node in a network forms its own routing table based on its neighbors' routing tables. Each routing table next to the destination address contains information about the next step (node) to that destination and the distance to the destination. To support rapid topology changes, DSDV introduces two types of messages to update routing tables. If the topology changes faster, then the nodes send incremental changes to the routing tables much more often. Another adjustment for ad hoc networks in DSDV refers to the data in routing tables, where, among other metrics, a sequence number is introduced as one of the parameters for each route, based on which the route is up to date. With these improvements, the classic distance vector-based protocol becomes usable for mobile ad hoc networks.

Reactive protocols
Reactive protocols are also called on-demand protocols, because routes to a destination are determined only when a routing request occurs. This reduces the data flow generated by the protocol itself in the network, but the response to routing requests is slower than with proactive protocols. The first example of a reactive routing protocol to be analyzed is AODV (Ad hoc Ondemand Distance Vector) [6] . With this protocol, in the event that there is no routing request, the only activity that the nodes perform is to periodically update the neighbor list.
When a node receives a request to forward traffic to a destination for which there is no known route, the AODV initiates a route establishment mechanism via broadcast messages [7]. The AODV always selects the shortest route from source to destination, so originally there is no option to select the route with the highest bandwidth. It is also susceptible to abuses generated by simple changes to routing protocol messages [8].

Hybrid protocols
Hybrid routing protocols aim to combine the good features of proactive and reactive protocols. In proactive protocols, this refers to the speed of response in the case when it is necessary to direct the data flow, because these protocols always have up-to-date routing tables, while reactive protocols do not burden the network with the data of the protocol itself. Combining proactive and reactive characteristics in one protocol in a network usually means that the routing basis is a proactive component and that each node keeps the routing tables up to date for part of the network or for the network as a whole.
The most well-known example of a hybrid protocol is the ZRP (Zone Routing Protocol) [9] [10]. The principle of operation of the ZRP is based on the fact that in the immediate vicinity of the node it acts as a proactive protocol, and for remote nodes as a reactive protocol. The ZRP itself does not define which proactive protocol is used, but can be arbitrarily selected for a specific application.
This chapter presents routing protocols in mobile ad hoc networks, with an emphasis on the process of forming routing tables, both in the case of network establishment and in cases of network topology change. In this sense, with proactive protocols, the most important way to exchange messages is to change the topology. Given the limited resources in mobile ad hoc networks, in most cases the goal of proactive protocols is to reduce the amount of messages generated by the protocol itself, without losing the accuracy of routing tables. Reactive protocols differ in whether they establish one or more routes, whether they take into account the quality of individual connections or not, and whether the route is established "end to end" or each node on the route can route according to its own algorithm. Hybrid protocols seek to combine the best features of proactive and reactive protocols.

Virtual backbone formation in mobile ad hoc networks and classification algorithms
In telecommunication networks with a hierarchical organization of nodes, the backbone consists of nodes of the highest hierarchical level that connect all parts of the network into a single whole. An example of the backbone for one network is given in Figure 1. A group of other nodes of a lower hierarchical level is connected to each backbone node. The backbone of the network is of the utmost importance for the routing process. Backbone formation in ad hoc networks is not possible in the way it is done in networks with fixed infrastructure, for the following reasons. Ad hoc networks are not designed, but are established, usually in specific circumstances, they do not have a hierarchical structure because all nodes are equal, and due to the mobility and instability of nodes, ad hoc networks have a variable topology. However, the concept of the backbone is still used in ad hoc networks so as to form a virtual backbone. In routing algorithms in ad hoc networks, the establishment of a virtual backbone at the level of the entire network is sometimes called a static approach [11] to routing. This means that the virtual backbone is formed independently of the data flow in the network and depends only on the topology.
One of the synonyms for virtual backbone routing is cluster-based or cluster routing. Clusters are groups of nodes that can communicate directly with each other using the same protocol, frequency, encoding, or other parameter.
Another division of algorithms for forming a virtual backbone is centralized and distributed. With centralized algorithms, it is necessary to know the topology and characteristics of the entire network. In distributed algorithms, each node participates in processing and determines its status in the network.
The second class of distributed algorithms consists of those that are also executed on all nodes, but in which the virtual backbone or CDS is built from one center in the network -the initiator node (leader) [12]. These algorithms are also called distributed serial or sequential processing algorithms.
Distributed algorithms with parallel processing can be further divided into two groups as well. The first group includes algorithms in which the status of a node is determined independently of the status of its neighbors. An example of such an algorithm is WuLi [13] which defines that a node becomes part of a virtual backbone if it has two neighbors that are not interconnected.
The second group of algorithms are locally dependent, ie those in which the status of a node may depend on the status of its neighbors. An example of such an algorithm is LCA2 [14] in which a node becomes a cluster carrier if it has no neighbor that is a cluster carrier and if it has a smaller index than all neighbors that are not bound to a cluster carrier. The classification into centralized and distributed algorithms, and the structure of distributed algorithms is shown in Figure 2. The essential difference between locally independent and locally dependent algorithms can be explained by the example of a tree with a maximum degree of node two, which is shown in Figure 3. In locally independent algorithms, all nodes participate in backbone formation immediately after switching on and determine their status that is, belonging to a virtual backbone (as with the WuLi algorithm). Whereas with locally dependent algorithms in the case of an unfavorable topology, this process can have a similar flow as with distributed serial processing algorithms, starting from a single node and expanding by one step in each time cycle.

Metrics for evaluating the efficiency of algorithms
Like routing protocols, the algorithms used in mobile ad hoc networks must take into account the specific nature and limitations of these networks. For example, in fixed networks, one of the common goals in the routing algorithm is to determine the shortest route between two nodes, which means that the number of steps between these two nodes should be as small as possible. However, in mobile ad hoc networks, such a goal would mean that it is desirable that every two neighbors on the shortest route are as far apart as possible, which can be a problem in radio communication due to signal attenuation and increased distance between nodes. The metrics most commonly used to evaluate the performance of algorithms for mobile ad hoc networks are: time complexity, message complexity, and memory complexity [15] [16].
Time complexity is the maximum number of unit time cycles required for the algorithm to execute in the most unfavorable situation (topology) for the algorithm. Time complexity can be calculated for a network-wide algorithm, as is the case, for example, for an algorithm that forms a virtual backbone, and the same term is used to determine the local complexity of data processing at a single node.
Message complexity is the maximum amount of messages that are exchanged in the network during the operation of the algorithm, also in the most unfavorable situation. This complexity relates to the number and size of messages. Algorithms for routing or forming a virtual backbone generate messages that are not useful from the perspective of network users, so this complexity needs to be minimized.
Memory complexity is the maximum computer memory used to store data relevant to the algorithm. This complexity depends on the data structures that are defined as mandatory for an individual node. As with communication complexity, with the right choice of data structures, memory complexity can be significantly reduced.
All three types of described complexity are most often expressed as a function of the number of nodes, connections, maximum or average degree in the network in the form called Big O notation. These three metrics are collectively also called the construction cost of the virtual backbone and represent the most comprehensive assessment of the performance of the algorithm.

Algorithms for virtual backbone formation in mobile ad hoc networks
This chapter presents the most important distributed algorithms with parallel processing for the formation of a virtual backbone [17]. As explained earlier, this type of algorithm is most suitable for use in mobile ad hoc networks because it does not require a central processing point and gives the result in an acceptable time.
The first group consists of LCA algorithms based on a dominant set, and they first appeared in mobile ad hoc networks. LCA is the first algorithm to form a virtual backbone in radio networks in general, and is notable for the fact that a number of other algorithms were later derived from this algorithm. The LCA uses the principle of forming a cluster division of the network by first determining the cluster carrier and then forming a cluster around it. LCA is a distributed algorithm and each node separately checks whether it meets the conditions to become a cluster carrier. When it becomes a carrier, the node notifies neighbors of its status. The time complexity of the LCA algorithm is O (1).
In the group of algorithms without hierarchical node organization, there are three source algorithms (WuLi, MPR CDS, and PInOut) on which all others are based. Unlike other categories of algorithms, this one does not form clusters, ie nodes do not receive the roles of carriers and connectors in the iterative process of determining roles in such a hierarchical organization. Instead, each node determines whether it belongs to the virtual backbone or not based on its local neighborhood.
The best known and most represented in the literature is the WuLi algorithm which is at the same time the simplest. In this algorithm, each node determines its status based on the interconnections of its neighbors. The time complexity of the WuLi algorithm is O (1). The algorithm is equally efficiently applied for updating or changing the virtual backbone when there are changes in the network topology. For such situations, it is sufficient to consider cases of switching nodes on and off in the network. The case of node movement can be simulated with simultaneous shutdowns at one location and switchings at another location.
MPR-based algorithms use a concept originally applied in the OLSR protocol for routing in mobile ad hoc networks. WuLi and MPR based algorithms have time complexity O (1). The EMPR (Enhanced MPR) algorithm [18] is an improvement of the MPR-CDS algorithm that aims to reduce the number of nodes in the virtual backbone while still maintaining the structure of the associated dominant set.
The performance analysis in this chapter referred in most cases to the time complexity of the algorithm. The amounts of messages, the required memory as well as the processing time are parameters that depend on the specific implementation of the algorithm, ie what are the data structures on the nodes, how this data is processed, whether it is sent exclusively to direct neighbors or further to the network, etc. In contrast, time complexity can be determined based on the concept of the algorithm itself without going into the details of a specific implementation.

Algorithm efficiency and improvement methods
This chapter will present a performance analysis of the most important distributed, locally independent algorithms for virtual backbone formation. Algorithms from this group were chosen because they have time complexity O (1), are topology-driven, and are easier to implement than message-driven algorithms.
The following algorithms were selected for analysis: DS-based LCA, WuLi algorithm and EMPR. Other algorithms that fall into the category of locally independent, mainly represent a modification of one of these three algorithms. LCA on the basis of the dominant set was selected as the first known algorithm for these purposes and most of the later algorithms were evaluated precisely on the basis of comparison with this algorithm. Due to its simplicity, the WuLi algorithm is very practical to implement and is therefore also very often present in analyzes and comparisons of performance algorithms in the literature. EMPR was selected as a representative of a group of MPR-based algorithms.
The aim of this chapter is to analyze their efficiency by comparing the performance of algorithms depending on different types of topology and different motion models. As a measure for evaluating algorithms, the size of the virtual backbone and the number of nodes that change their status over time, ie belonging to the virtual spine, are taken. It is desirable that both parameters have the lowest possible value. The performance analysis of the algorithms was performed using a simulator that allows the selection of the following scenarios: on and off nodes in the network, single walk random motion model, column mobility and pursue mobility as models of group movement. Namely, common to all three algorithms that are analyzed is that they are based on the use of index nodes. Therefore, dedicated scenarios have been developed that aim to determine the impact of the way indexes are assigned to nodes on the efficiency of algorithms.

Switching nodes on and off
The simplest scenario is the inclusion of a group of nodes in the network, ie their exclusion from the network. Figure 4 shows the characteristic simulation result for successive inclusion of several groups of nodes. 1000 nodes with a coverage radius of 45 were initially placed on the simulation surface measuring 400x400. The nodes were placed evenly over the surface by random selection of coordinates (RGG model). After that, in twenty steps, 10 new nodes were included, the coordinates of which are also random values from the range of dimensions of the simulation surface.
The simulation results show that the EMPR algorithm gives the best results because it has the fewest nodes in the virtual backbone, followed by WuLi, and the LCA includes the most nodes in the virtual backbone. The size of the virtual backbone in all three cases has certain oscillations, but they are negligible in relation to the size of the backbone itself. In this scenario, the nodes are placed evenly, by randomly selecting coordinates along a rectangular simulation surface. After that, each node moves independently of the other nodes according to the random walk pattern. In each step, the node determines a new distance that exceeds the d angle at which f moves, so that the new position of the node is defined by coordinates (x+d·cosα, y+d·sinα), where (x,y) are the initial coordinates in that step. The total number of nodes ranged from 200-1400. Each simulation lasted 20 steps. Figures  5 and 6 show the average results and the size of the virtual backbone and the number of nodes that change status. The results show that as with the inclusion of nodes in the network, EMPR provides the smallest number of nodes in the virtual backbone, while the WuLi algorithm has the most stable virtual backbone. It is important to note that EMPR has results close to those of the LCA algorithm when it comes to the number of nodes that change status. Figure 6. The average number of nodes that change status in a random gait model

Simulation of group movement of nodes
Search and movement in a row were simulated as models of group movement. An example of the start and end positions of the nodes for the search model is given in Figures 7 and 8. The reference node towards which the other nodes move is shown with its coverage range in Figure 8. Initially, the reference node is placed in the center of the simulation area, and the other nodes are placed evenly over the simulation surface. The simulation surface on which the network is placed has dimensions of 400x400, the radius of coverage of the nodes is 45, and the total number of nodes is 600. Figure 9 shows the characteristic results of a 20-step simulation for this scenario. The diagram shows the number of nodes in the virtual backbone for each algorithm as well as the number of nodes that change status (these curves are labeled _I with the name of the algorithm). It can be seen from the graph that the relative relationship between the algorithms is approximately the same as for the random walk model for individual node motion. The best results for the size of the virtual backbone are given by EMPR, and for the number of changes by the WuLi algorithm. For the EMPR algorithm, it can be observed that in most steps the number of nodes that change status exceeds the total number of nodes of the virtual backbone.

Conclusion
By researching the known methods of evaluation of routing algorithms, their classification and comparison based on the applicability to evaluation of routing algorithms, a critical analysis of these algorithms was performed with respect to the generic applicability of evaluation metrics. Distributed algorithms aim to improve routing efficiency. The basic idea of using a virtual backbone is to select a smaller set of nodes in a network of equal nodes, using a distributed algorithm, which will be in charge of routing or transmitting messages from other nodes in the network. This saves resources such as powering nodes and communication channels, while avoiding massive and multiple sending of identical messages through the network as is the case with nonselective flooding.
The paper defines mobile ad hoc networks and their characteristics, as well as methods for modeling mobile ad hoc networks. A significant aspect of modeling any mobile network are the characteristic topologies and movement models.
Part of the paper is dedicated to the analysis of existing protocols in mobile ad hoc networks. Routing protocols are first analyzed, which are divided into proactive, reactive, and hybrid. The analysis of these protocols shows that they use similar principles as the protocols in fixed networks with certain adaptations for mobile ad hoc networks.
After presenting the routing protocol, the paper provides a detailed overview of the most important algorithms for virtual backbone formation that can be found in the literature, as well as metrics for evaluating the efficiency of algorithms. An analysis of the performance of algorithms for different topologies and motion models was also presented, with special emphasis placed on the analysis of the influence of global network characteristics such as topology type and node density. Simulations were used to test the algorithms. The presented results show that the efficiency of the algorithms depends on these parameters.