A Survey on Holes Problem in Wireless Underground Sensor Networks

The paper aims to put in the forefront a survey on the problem of the existing holes in the Wireless Underground Sensor Networks (WUSNs). Anomalies in wireless sensor networks can weaken the network by impeding its functionalities. These existing anomalies commonly known as holes may cause irreversible devastating problems and may prove fatal to humans. There can be different holes in the network, such as coverage hole, routing hole, jamming hole, sink/ worm hole, etc. This paper intends to discuss various holes problems in WUSNs, reasons behind their occurrence, and different techniques to mitigate the issues. An efficient hole detection technique shall increase network lifetime, use lesser resources and give accurate results with zero false positives. To put a light on the present scenario, methods/ techniques used to cope with different types of holes have been discussed in detail presenting their analysis, constraints, and advantages. Besides, it would also touch upon the comparative analysis in terms of soundness and limitations of these techniques. The study is concluded with future research directions.


I. INTRODUCTION
Wireless underground sensor networks (WUSNs) [1]- [6] are an extension of wireless sensor networks in which wireless sensors are placed beneath the earth's surface. WUSN is an emerging and promising research area. It is a field that will make possible an extensive number of novel applications that were not doable before and shall aid in existing applications in both civilian and military lobbies. The wireless medium acts as a mainstay between sensors for collaborative computing [7]. The same is evident in agriculture monitoring, intruder detection, border patrol, sports ground upkeep, infrastructure monitoring, and environmental monitoring, etc. With shifting research trends toward IoT, WSNs and CRNs (Cognitive Radio Networks) need more attentions. Wireless Sensor Networks (WSNs) comprise small sensor nodes varying from tens to thousands. These tiny nodes are contained with battery power, sensing, communication, and The associate editor coordinating the review of this manuscript and approving it for publication was Abderrezak Rachedi . data processing abilities. To put it in another way, WSNs consist of a number of embedded systems that can interact with the environment, process the collected data and pass this information to their neighbor destination nodes.
Owing to the inherent property of energy dissipation, WSNs are prone to failure on the dissipation of the required energy via a subtle number of sensor nodes. It presents challenges, especially in WUSNs as replacing batteries or recharging sensor nodes is a very cumbersome task and not even practically possible in a few working scenarios like deserts, hostile environments, remote areas, etc. Besides energy consumption, other challenges in WUSNs include deploying sensor nodes, node heterogeneity, data agglomeration, underground structure, and fault tolerance. Other than that, in many applications of WSNs [8]- [10], sensor nodes are deployed in an ad hoc manner lacking prudent planning and thorough engineering. Distinguished from traditional wireless networks, WSNs [11]- [13] have denser node deployment, failure-prone/ unreliable nodes, complex computing, power, and memory restraints. Due to various existing anomalies, sensor nodes are unable to sense/communicate with the other nodes in the network, the issue is known as Holes. There are various factors that contribute to the generation or creation of holes. These factors can be attributed to limited battery leading to failure of a sensor and at times random deployment of sensors resulting in voids as target region remains uncovered. Besides that, holes may also be created due to unintended/ intended malicious nodes in the network. It is required to detect and patch Holes in the network, otherwise, they expand and may impair the whole network [14]. Hence, while dealing with wireless networks, it is pertinent to make a mention that the highest order of seriousness is required. For example, if a particular area remains uncovered, in the case of earthquake prediction and border patrol, the sensor malfunctioning may cost human lives and lead to security breaches, respectively.

A. MOTIVATION BEHIND THE SURVEY
Many challenges are encountered in wireless underground sensor networks owing to several factors like the number of sensor nodes deployed, types of sensor nodes (homogeneous or heterogeneous), deployment scheme, sensing and communication range of nodes, communication links, the environment in which nodes are deployed, and energy consumption by sensor nodes, etc. The holes problem is one of the key issues currently being faced in WSN. Holes can be categorized based on the reason behind their occurrence, life span, and how they affect the network. In any field where sensors are deployed, it is supposed that the sensor network fully covers the target region. Any uncovered region in the area leads to a coverage hole. Coverage holes can occur due to random deployment of sensor nodes at the beginning itself or due to failure of any node or any obstruction at a later stage.
Similarly, if nodes are not able to communicate in the desired manner, it is considered a routing hole. Routing holes can occur due to any failure or greedy forwarding issue. Other categories of holes come under security holes that may occur due to denial-of-service, jamming, or worm/ black/ sink holes. Security holes can be said attack on the network which may adversely affect the network, it can lead to losing information, giving confidential information to a third party, or jamming the communication.

Holes affect the capacity and lifetime of the network and the desired coverage, routing capacity and may present fatal security issues.
All those applications which are meant for uncontrollable/ critical environments and require the random deployment of nodes generally suffer from holes problems. Due to a vast number of applications of sensor networks, hole detection shall be of use for all arenas of sciences and engineering. Our sole focus in this paper is to identify holes in wireless sensor networks deployed beneath the earth. Researchers propose different techniques to cater to the issue, which have their pros and cons. It is required to understand the advantages and limitations of existing techniques to implement existing as well as devise new techniques.
This paper presents a survey on the problem of the holes in the Wireless Underground Sensor Network. Holes in the network have been categorized into different types based on their cause, effect, and life span. Paper details different types of the hole and their identification techniques. It also puts light on the advantages and limitations of these techniques and presents a competitive soundness analysis. Major contributions of the work are as follows.
i. Holes in WUSN, their cause and effects have been discussed. A proper categorization has been done to identify further and analyze the issue. ii. Holes have been categorized majorly into Coverage Hole, Routing Hole, and Security Hole. There are different types of algorithms to identify these holes. A literature survey has been done and various algorithms have been presented. Researchers have proposed different techniques to identify holes in the network.
Techniques are detailed in the study discussing algorithms, pre-requisites, and implementation strategies. iii. A comparative analysis of hole detection algorithms for different holes has been done, discussing constraints and advantages of every algorithm over others. Such an analysis provides insight into the usefulness of techniques in different scenarios and gives a direction towards devising a new scheme. iv. A summary of algorithms, tools used, major parameters, computation strategy, layer/ protocol on which it works, sensing model, node deployment strategy has been presented. It shall enlighten researchers about the resource requirements, protocols, working environment, and implementation strategy of existing techniques and work as a baseline for future work.
The rest of this paper is structured as follows. Section 2 presents the problem of the holes in wireless underground sensor networks (WUSNs). In section 3, the classification of the problem of the holes is provided. Section 4, concludes the paper.

II. HOLES PROBLEM IN WIRELESS UNDERGROUND SENSOR NETWORKS
Several incongruities may arise in the wireless underground sensor network and as a result of the same, their functioning can be hampered. A region in the network where sensor nodes cease to work or start behaving maliciously and stop data sensing and/ or communication is known as a hole.
Holes create hindrance in communication and primarily affect the performance of the network. Detection of Holes includes identifying damaged, attacked, or inaccessible nodes. Holes in the network [15] may cause data to be routed along the side of the boundary nodes of a hole which will cause early and untimely energy exhaustion available to a particular node and creation of more holes and enlarge the size of the hole in the network. Coverage and connectivity [7], [16] are among the significant factors causing holes problems in WSNs, the problem becomes more prevalent when it comes to wireless underground sensor networks. Coverage is a factor that determines how well and up to what extent sensor nodes cover each point in the network.
A wireless sensor network is said to be connected [16] if all nodes in the network are directly or indirectly connected and can communicate with each other. Uncovered/ disconnected areas/regions in the network are known as holes. These holes need to be identified for efficient coverage and effective communication. Holes in wireless networks may create a severe problem.
Due to random deployment of nodes [17], external attacks, and various environmental factors, holes may emerge in the networks and are unavoidable. An area in the sensor network which is not sensed or ceased to be sensed by sensors, and there is no communication in or around due to any temporary or permanent fault, drainage of battery, or any other reason, this area is known as Hole (as shown in Fig. 1). Holes damage sensing and communication functionalities of the network and therefore may create havoc and prove fatal based on their application; thus, their identification and patching are of foremost concern. Timely, hole detection refrain from further energy consumption on the boundary of holes due to congestion. It gives assurance on longevity of network life and also ensures satisfactorily good quality of service. Important factors which need to be taken into account are [3]: • An aspect such as weather, temperature, soil characteristics to include composition, moisture, and soil homogeneity directly affects the connectivity as well as communication aspect.
• In underground sensor networks, the environment has a direct and significant role in network performance.
• The interment of sensor nodes as well as frequencies of the EM wave also strongly affects underground wireless communication.

III. CLASSIFICATION OF HOLES PROBLEM
Holes are categorized (shown in Fig. 2) based on their time span, effect on the network, and reason of occurring in the network.
Life Span: Sometimes a node goes in sleep mode temporarily or there is a temporary failure due to which hole is created at the place, this hole is for that time span called a transient hole, whereas power failure of a node or random distribution of nodes in the network may create a hole which can be only healed by covering the hole region known as a persistent hole.
Effect on Network: Holes can have a different effect on the network based on their type. Few holes in the network can hamper the functionality of the network known as functional holes; others may degrade performance and create quality issues known as non-functional holes. Holes that create problems like JAMMING and Denial of Service attacks are security issues or security holes.
Source of Aberration/Anomaly: Holes are categorized into coverage holes, routing holes, and security holes based on the cause of the anomaly and the effects they have on the network. Holes in the network can lead to loss of data, premature failure of nodes, as well as the leak of confidential information. Holes' being a major issue has been addressed by many researchers. These holes, their identification techniques, solutions, and techniques to avoid/heal such holes have been discussed and detailed below to give an insight into the models used by different researchers, compare their advantages and disadvantages over each other. It will hopefully give a direction for developing the new technique to identify holes in the network with good accuracy, fewer resources, and low complexity.

A. COVERAGE HOLE IDENTIFICATION TECHNIQUES
Coverage and Connectivity [16], [18], [19] are two crucial major factors contributing holes problem in the WSNs. If the nodes deployed are far from each other, few areas remain uncovered causing holes. On the other side, if node deployment is denser, sensing accuracy will increase but it comes with a shortcoming of higher collision rate and more energy consumption thereby increasing cost and reduction in life of the network.
The coverage hole problem occurs when some areas remain uncovered in the sensing region [20], [21] due to sparse deployment or node failure. Figure 3 shows the coverage hole problem when sensors use the Unit Disk model using 1-coverage [15]. Various techniques are available (shown in Fig. 4) that are used to identify the coverage holes. These techniques are mainly based on location-based, range-based, and connectivity-based identification.
In location-based techniques, nodes in the network need to know their location. So, special hardware is required for global positioning service. Location-based methods use computational geometry approaches like the Voronoi diagram and Delaunay triangle and give an exact solution. Locationbased services like GPS require extra hardware and impose an additional cost, which is not apt for cheaper and tiny sensor nodes.
In range-based techniques, nodes need to know the relative distance between neighbor nodes which is easiest most to determine. Though the technique has lesser complexity and  cost than other techniques, it requires the denser deployment of sensor nodes and distribution must follow a statistical function that is not always practically possible. Most rangebased techniques give non-deterministic solutions.
In connectivity-based techniques, connectivity information between nodes is needed. Such an approach for finding holes is also known as the topological approach. The approach doesn't require any location-related information and is very suitable for denser networks. To manage connectivity information, synchronization is needed and flooding of messages is done.
A brief survey of these techniques is given below.

1) VORONOI BASED TECHNIQUE
Voronoi diagrams [15], [22], [23] have been used to find out the coverage holes, if any after deployment of all the sensor nodes in the intended/target area. Computation geometry is used to identify holes. Each node makes a Voronoi polygon around it to know if there is any coverage hole or not. It's required to know the location/position of the neighboring node for every node to make a Voronoi diagram [24]- [27]. The diagram divides the complete region into several Voronoi polygons. In each polygon, there is one such node closer to every point inside the polygon compared to any other node.
To find out the local coverage hole, the area of sensing disk of node contained in the polygon is compared with its corresponding Voronoi Polygon (Fig. 5).

2) DISTRIBUTED SECTOR COVER SCANNING (DSCS) AND DIRECTIONAL WALK (DW) ALGORITHMS
Authors have dealt with the coverage holes identification issue in different networks by detecting the sensor nodes located on the boundary of holes. For detecting boundary nodes and coverage holes, two algorithms, Distributed Sector Cover Scanning (DSCS) and Directional Walk (DW) algorithms [28] are used. DSCS works with the scheme that a node's sensing area is partitioned into a number of sectors by its neighbor nodes, it remodels the boundary nodes identification problem into deducing by checking if all the sensing sectors of a node are in the range of the adjoining neighbors of the sensor node. DW, based on DSCS, detects coverage holes by making a sequence of the boundary nodes which surround the same coverage hole and forming a cluster of the nodes lying on the outer boundary of Wireless Sensor Networks.
In this model, it has been presumed that each sensor node consists of a unique ID representation and is aware of its location; all the nodes can directly communicate with their neighbor nodes which are lying within their communication range and can gather information about their one-and twohop neighbor nodes. Withal, it is assumed that the sensing and communication range of sensor nodes in the network are regular disks with Rs and Rc as the radii, centered about the node. Few definitions are adopted to further proceed and divide sensing area into sectors, these are:a: Absolute angle As shown in Figure 6, a local Cartesian Coordinate System has been created with node v i ( x Vi , y Vi ) as the origin, and v j and v l belong to the one-hop neighbor list. The coordinate of v j in local CCS is ( x Vj , y Vj ). The absolute angle refers VOLUME 10, 2022  Voronoi diagram centered at x, the circle is the sensing range/disk and pqrst is the Voronoi polygon for node x [13].
to the forward angle from the x-axis positive direction to the destination ray v i v Dest and is denoted by

b: Central angle
As shown in Fig. 6, an angle formed by the two rays is called a central angle, denoted as Central Boundary nodes are calculated using DSCS (shown in Fig. 7). Note that sensing area of any node (S(v Node )) can be divided into k (k = 1, . . ., |N 1,2 (v Node )|) sectors by N 1,2 (v Node ); each sector is called a sensing sector and the kth sensing sector is denoted by S(v Node , k); if the central angle corresponding to S(v Node , k) is Central(v j , v Node , v l ),then S(v Node , k) can also be denoted by S(v j , v Node , v l ). The sectors satisfy the following formula in (1): After applying DSCS, DW is applied to demonstrate how the Boundary Nodes, BNs that surround the same coverage hole are grouped in a cluster.
Steps are as follow: -1) Set an empty queue Q to store the nodes clustered in the subsequent steps. 2) Select the node with the least coordinate value, i.e., minimum distance from the list of BNs as the start node (v st ), mark it as the current node of DW (denoted by v c ), and push into v c . Then v c checks from its those 1-hope 7856 VOLUME 10, 2022 neighbors which are included in the set of boundary nodes(N 1 (v c ) ⊂ BNs), whether there are any nodes whose absolute angles belong to [3π/2, 2π ]. If there exists any, v c selects the node which has the minimum absolute angle as it's in order successor (denoted by v su ), and v su , as the new v c , is inserted into Q. If not, the scope of the absolute angle is changed to [0, π/2] and the procedure listed above is repeated. If v su is not found in N 1 (v c ), then the same searching method is repeated for N 2 (v c ).

3)
Step 2 is repeated until v c cannot find its v su any longer; after that scope of the absolute angle is changed to [π/2, π] and the same procedure is repeated as in Step 1. Note that the v su found using this process is named the first inflection node; post this, the searching process is to be continued within the scope [0, π].

4)
If v su of v c cannot be found in Step 3, change the scope of absolute angle to [π, 3π/2] and continue the searching method as in Step 3. In this practice, the first found node is marked as the second inflection node, and then the searching process is continued within the scope [π/2, 3π/2]. 5) When v su of v c cannot be found in Step 4, the scope of the absolute angle is changed to [3π/2, 2π] and the same searching method is repeated as detailed in Step 4. If the first node found in the process is v st or the one-or two-hop neighbor of v st , then the searching process is complete. Every time the execution of steps from Step 1 to Step 5 is over, a boundary cycle formed by selected nodes is determined. Of all the identified boundary cycles, the first one is the outer boundary of the network, whereas the others are coverage holes. 6) Examine the queue Q; if there is any node in Q that has its two-hop neighbor as its v su , insert a relay node which is the one-hop neighbor of both the nodes and its v su . The relay node to be chosen should be such that, the sum of the distance between the node and this relay node and the distance between the relay node and v su is minimum.
Note that the relay node may be a non-BN. 7) Remove all the nodes in Q and their one-hop neighbors from BNs. 8) If BNs = ø, repeat the procedure from Steps 1 to 7 until the set of BNs is nil or the number of the nodes left in the set is δ (authors have taken δ = 2).

3) K-UC AND K-NC PERIMETER BASED TECHNIQUE
Two polynomial-time algorithms k-UC (Unit disk Coverage) and k-NC (Non-unit disk Coverage) [15], [29]- [31] have been given by authors to confirm whether at least k nodes cover every point in the target region or not where k is a parameter which indicates the required number of sensor nodes. It is considered that the sensing range of any sensor can be a unit or a non-unit disk. Each sensor observes how the perimeter of its sensing range is covered by looking at the location information of its neighbors. Authors have specified two algorithms; when sensing disks are uniform circular, k-UC has opted, whereas when sensor nodes have non-disk sensing range k-NC is opted. Every deployed node's location information is the only input required to be provided in the algorithm to estimate the desired multiple coverages. Ink-UC, only neighbor nodes lying within the distance that of two times the sensing range of the node is considered in calculating coverage. Ink-NC, as the sensing range of nodes, is non-uniform, there are different rules for neighbor selection in different scenarios like whether one of the sensor nodes is lying in the sensing range of the other node or both the nodes are in each other's sensing range. Its perimeter coverage is calculated by a node after detecting the sector of its coverage region which is shared by the neighbor node's sensing range. By looking at perimeter coverage, the node figures out if the whole perimeter 2π is covered by existing neighbor nodes with the desired degree of coverage or not. A central controller entity is recommended by authors to detect coverage holes; an entity that can gather the information about the regions/ areas which are not covered to the required degree from each such node. So that, the required number of nodes can be placed to get the desired coverage after detection of network voids. However, as it is a centralized approach, the approach comes with scalability constraints.

4) BLIND SWARM HOMOLOGY BASED TECHNIQUE
A coverage determination method containing blind swarm [32] of robots has been proposed which uses only distance estimation and requires no localization [33]. The method can be used for every planar region of any shape and size. Following are assumptions that state communication capabilities and take care that domain is not too haggard or pinched: --Each node consists of a unique ID and is capable of hearing its neighbors as weak (larger radius r w ) or strong signal (smaller radius r s , depending on how far is that neighbor node. -Nodes have symmetric sensing/broadcasting radius r c called covering radius. -Covering radius r c and communication radius r s , r w satisfies conditions: - -Nodes lying within a fence radius (r f ) can detect network boundaries. -Domain D-C is connected where C represents:- -Any curve within fencing radius of boundary should have injectivity radius 1 2 r s and external injectivity radius should be a minimum of r s and r f + 1 2 r s . Various graphs have been built using simplicial complexes. These graphs are communication graph G s for strong signals, communication graph G w for weak signals, fence subgraph F s for strong signals, and fence subgraph F w for weak signals. Fence subgraphs are maximal subgraphs of communication graphs for those nodes which lie in the fence radius of the network boundary. These graphs are used to generate simplicial complexes. An algebraic variant of simplicial complexes, homology [31] is been used to determine coverage and holes in the network. Homology coefficient [32], [33] has been used to avoid any round-off error.

5) TWO ANCHOR (TA) AND CYCLIC SEGMENT SEQUENCE (CSS) BASED TECHNIQUE
Authors have proposed two distributed k-coverage verification and hole detection schemes Two Anchor (TA) and Cyclic Segment Sequence (CSS) [37] without using location information. Most hole detection algorithms require location information of sensor nodes, which adds an extra burden on sensor nodes as it requires additional hardware and software capabilities. These schemes are deterministic and give assurance on detection results. In the network, the sensing radius of every sensor node has upper bound SR, and the transmission radius has lower bound TR. Nodes are unaware of their locations but they can assess their distance from neighbor nodes [38], [39]. As every node has distance information in its local vicinity, therefore coverage of a node is preserved locally independent of the coordinate system. So, a local polar coordinate system has been formed to calculate the coordinates of any node. First, a scheme has been proposed to verify 1-coverage and after that, it has been extended to verify k-coverage for k≥1.
In a two-anchor scheme, every node creates a local polar-coordinate system by selecting two of its neighbor nodes termed anchors as reference points. The location of other neighbor nodes is calculated with reference to this local coordinate system. When all neighbor coordinates are marked, then intersection points of the node's sensing boundary [40], [41] with sensing boundaries of neighbor nodes are calculated. It is verified if every intersection point is covered or not [29]. The scheme is robust to errors in measurement of the distance between nodes but is applicable only in cases when TR≥4.SR.
A cyclic segment sequence scheme is a localized method for hole detection. It works on the scheme that for any sensor node x, a segment of the sensing boundary of node x is covered by the sensing range of the neighbor sensor node. As per the scheme, there will be a cyclic sequence of such segments that sensing range boundary of another sensor node if the sensor node doesn't fall on the boundary/border of the coverage hole. It is shown that the scheme can be directly used to verify 1-coverage without having any need for the coordinate calculation of neighbor nodes. To extend the solution to verify k-coverage for any k≥1, a local polar coordinate system has been defined using the segment sequence. Coordinates of every neighbor node and the local polar coordinate system are used for k-coverage verification. CSS has relaxed transmission radius requirements in comparison to the TA scheme. It can be used where TR≥2.SR but CSS has more sensitivity toward errors occurring in measuring distance.

6) UNMANNED AERIAL VEHICLE (UAV) BASED TECHNIQUE
An Unmanned Aerial Vehicle (UAV) [15], [17], [42] deals with the issue of network deployment and ensures proper connectivity. The network can be deployed by the flying robot, named AVATAR [43] based on pre-computed network topology. It can determine connectivity gaps in the deployed network and generate a plan to repair the network and ensure complete connectivity. The sensors, after getting deployed, figure out the connectivity amid nodes and transmit the same to the airborne UAV.
The deployed network's connectivity map is computed and analogized with the required topology and the disconnections in the network are recognized. Deployment points inside the disconnected regions are evaluated to fix up the issues and refurbish the network. After the computation, UAV is set to again deploy new sensor nodes at the points where deployment is needed. Deployment of additional sensors fixes up failing sensor nodes in the network (achieving multiple coverage and connectivity) and makes it denser.
The process is implemented in three phases:-1) In the first phase, initial network deployment is put into practice. Control algorithms are developed which give direction to the flying robot during the deployment of sensor network with stated communication topology.
Having a predefined deployment scale and network topology, topology is embedded in the plane, and locations of nodes are extracted from ensuing embedding. Network topology is depicted in a graphical form where nodes in the graph represent sensors in the network and edges represent the connectivity among various sensor nodes. The nodes which are within communication range of each other showing bidirectional communication are connected by edges in the graph. Computing actual GPS coordinates are not required for deploying sensor nodes after embedding such topology in the plane. The embedding scale depends on the communication range among different nodes. After that, the resulting points are sorted and converted to the waypoints such that the required trajectory of the robot for covering the points is optimized. 2) Deployed network's connection topology is measured, and a comparison is made with the desired topology in the second phase. If topologies match, the process is complete, if not, the 3 rd step is executed. 3) A Connectivity repair algorithm is used to repair the network. The connectivity algorithm generates a connectivity graph using which new deployment locations are computed and the network is repaired generating the desired topology. Measured connectivity graph is compared with the desired topology using graph isomorphism algorithms.
Any kind of potential failure in sensor nodes of the network can be detected as well as persistence in connectivity can be assured by running the last two phases at any given point in time. Sensor density in the region can also be increased using the same approach.

7) ČECH COMPLEX AND RIPS COMPLEX BASED TECHNIQUE
Čech complex and Rips complex [45]- [47] have been adopted by authors to find out coverage holes. A comparative analysis of Čech complex and Rips complex [44] has been done in respect of coverage holes by varying ratio of communication radii (R c ) to sensing radii (R s ) of a sensor node. It has been observed that if this ratio, R c /R s is two or more than two and condition favoring that if there is any hole found in Rips complex, it will also be there in Čech complex too. Coverage holes are categorized as non-triangular or triangular based on the results.
Definition 1 (Čech Complex): Taking a collection of sets u = {U α }, Čech complex of u, Č(u), is the abstract simpli-cial complex for which k-simplices conform to a non-empty intersection of k + 1 distinct elements of u. u is sensor cover, it is the union of a set of points X of discs having radius r c .
According to Čech Theorem, for suitably good sets u α , the Čech complex Č and the union U α u α possess the same topology.
Definition 2 (Rips Complex): Having a set of points X = {x α } R n in Euclidean n-space and having a fixed radius , the Rips complex of X, R(X), is defined as the abstract simplicial complex for which k-simplices equate to unordered (k + 1)-tuples of points in X which in pair lies within Euclidean distance of each other. The Rips complex has been considered perfect for communication networks because the whole complex is figured out by pair-wise communication of data. Network connectivity is denoted by Connectivity Graph G (V, E) [44], here V depicts the set of sensor nodes, and E, the set of edges connecting these sensor nodes. It is presumed that, 1) The sensor nodes which are within Euclidean distance Rc, have an edge connecting them. 2) Target field has internal sensors as well as sensor nodes located on the boundaries known as fence sensors. Each fence sensor node is having two fence neighbor nodes. 3) Though sensor nodes don't know their location, each and every node can predict/know by using models as shown in [10] or as presented in [15] that if it is an internal node or fence node. Indeed, it is a straight supposition chosen by a good number of existing connectivity methods [14], [15] or range-based methods [10], [11]. 4) The network is connected.
Čech complex and Rips complex have been opted for characterizing coverage holes.
Čech complex and Rips complex possess relationship as below: Using the above relationship a set of corollaries can be defined. Consider, λ = Rc/Rs Corollary 1: When λ ≤ √ 3 , if there is no hole found in Rips complex R Rc (V), there must not be any hole in Čech complex ČRs (V).
Corollary 2: When λ ≥ 2, if there is no hole found in Rips complex R Rc (V), there must not be any hole in Čech complex ČRs (V).
Corollary 3: When √ 3 < λ < 2, there is no assurance of relation in between Rips complex R Rc (V)and Čech complex ČRs (V) in terms of holes.
In Figure 8, there are three coverage holes in the network; hole1is environed by nodes 1, 2, 3, hole2 by 2, 4, 5, and hole3 by 2, 3, 5, 6 respectively. It can be seen that all of the holes got detected in the Čech complex, whereas in the Rips complex, only the hole bounded by nodes 2, 3, 5, 6 is detected. Verily, as demonstrated in [32], in the Čech complex any coverage hole present in the sensor network can be detected.  The algorithm finds boundaries/ borders of the holes which have been detected/ found by the Rips complex [44]. Following steps are followed in the process.
1) Information about 1-and 2-hop neighbors is collected by every sensor node and a neighbor graph is generated using the information. This is achieved by sending broadcast messages to all the nodes. 2) Using the neighbor graph, its own status whether it is a hole boundary or not is checked by every node. If a Hamilton cycle is formed in the neighbor graph, then the node is a non-hole boundary node, if not then it is a hole boundary. Nodes have been divided into two types; internal and fence nodes. Fence nodes are those which are on network boundaries. For each internal node, the node itself is not added in the neighbor to check the Hamilton cycle whereas, in the case of fence nodes, the generated neighbor graph also contains the node itself to check if the Hamilton cycle is there in the new graph or not? 3) Using step (2), when each node has found its status whether it is a hole boundary or not. The same is broadcasted by the node to its neighbor; hence each node will know the type of its neighboring nodes. After that, a search for cycles bounding holes is initiated by some of the nodes. As it is a distributed algorithm, so no central entity is available to decide which nodes shall start the process. It is willy-nilly presumed that any hole boundary node which has the minimum id amongst all of its hole boundary neighbor nodes or doesn't have any hole boundary neighbor, the node is chosen by itself to begin the procedure/ activity.
The process is started with broadcasting a message containing two fields (shown in Table 1) by each selected node.
Nodes ID of all the nodes which have received and/or forwarded the message is contained by the 'Node_ID' attribute and type of message by the 'Type' field. The message has been categorized into three types: represented by 0, 1, and 2, here, if the last node in node sequence is a hole boundary node, then it is denoted as Type 0; if the last node is a non-hole boundary node, then it is denoted by 1 and if the last two visited nodes are non-hole boundary nodes then the message is denoted as Type 2. Some hole boundary nodes may not be discovered, if those nodes continue broadcasting then it is also possible that a few holes remain undetected. But if all the nodes in the network broadcast the message (whether these nodes are hole boundary or not), the number of messages will increase manifold and may overwhelm the network. To make a trade-off between two, a probability p is set for non-hole boundary nodes. If a type 0 message is received by a non-hole boundary node, the message type is set to 1 by the node and broadcasted with probability (1− p). If a type 1 message is received by a non-hole boundary node, the message type is set 2 by the node and broadcasted with probability (1 −2p). When a type 2 message is received by a non-hole boundary node, it will be discarded by the node. If any type of message is received by the hole boundary node the message type is set to 0 by the node and will be broadcasted.
In addition to this, any message received by non-hole boundary fence nodes will not be forwarded. Every Node will attach its ID in the 'Node_ID' field in sequence while broadcasting the message. Using this scheme, the message contains IDs of all the nodes from the beginning to the current one in sequence. Each Node needs to verify by checking all the messages it has received if there exists in any cycle. In any two messages, checking Node_ID field, if the first IDs are found matching and the last IDs are unlike and nodes are not neighbors, then it is considered that a cycle is there. The cycle is constructed by the node and kept. The cycle created may not be minimal, which can be found by the next step.
4) There are possibilities that some cycles detected using the procedure followed in step 3are not minimal or more than one cycle are bounding the same hole. So minimization is required to choose optimal ones amid all detected cycles. This is realized by each node in the cycle in a distributive manner.

B. ROUTING HOLE IDENTIFICATION TECHNIQUES
A routing hole [15], [48]- [50] is an area in the network where either there are no nodes present or the nodes available in the area are not able to take part in the actual data routing owing to certain reasons. Voids during sensor node deployment or sensor node failure can be the possible reason for these holes. Sensor nodes fail due to a number of different reasons which may include battery depletion, node malfunctioning, or any other external event which has the potential to physically 7860 VOLUME 10, 2022 destroy the nodes. Sometimes, routing holes may get created due to local minimum phenomenon which is frequently seen event in geographic greedy forwarding; a hole that does not exist at that point in time. In Fig. 9, node x wants to send data to the destination node. It searches in its 1-hop neighbors for the node which is geographically nearer (greedy forwarding) to the destination than the node itself for forwarding the traffic. The node x is unable to locate any such 1-hop neighbor node which is nearer to the destination node than the sending node itself. Hence, the process stops as there are only routes that require nodes to move the packet afar from the destination to node b or yad-interim which will not be used by x due to greedy forwarding. This is an example of local minima and normally can be seen when there is a routing hole.
Multi hope routing protocols are divided into three categories (shown in Fig. 10) based on the number of copies of a single data packet that are being forwarded to the destination at the same time; can be categorized as single-path routing, multi-path routing, and routing with greedy forwarding as geographic-based routing. In single-path routing, only one copy of any data packet is transmitted via a single path in the network. Whereas in multi-path routing, multiple numbers of copies of every single packet are forwarded in parallel via different routes to the destination.
A brief survey of these techniques is given below. VOLUME 10, 2022 FIGURE 9. A Local minimum phenomenon in greedy forwarding [13].

1) DIRECTED DIFFUSION (DD) SINGLE PATH ROUTING ALGORITHM
It is a data-centric communication protocol designed especially for wireless sensor networks i. e. all communication is on named data [15], [51]- [53]. Data is represented in form of attribute-value pairs [54]. An interest for named data is generated by the sink node which is circulated in the whole network. That interest is received by nodes by establishing a gradient towards neighboring nodes. If a node is able to produce the desired data mentioned in the interest, it starts sending exploratory data at a rate stated in the interest message to all its neighbor nodes from which interest for the data has been received. The node (sink) which initiated the interest receives this exploratory data from multipath. Data received can be cached, or transformed by the intermediate nodes as well as on the basis of previously cached data, node can direct interests. One particular neighbor is chosen by sink for receiving data via sending a unicast positive reinforcement message to the sender node. Now, the sender node, which gets the positive reinforcement message, will transfer data along the reinforced gradient at higher rates to the sink node. Directed Diffusion can be categorized as single-path or multi-path routing based on number of paths reinforced by sink node. It can also function as a multipath routing protocol if other alternate data sending routes are also kept active at different intervals to the desired neighbors. Original algorithm explained above is named Two-Phase Pull (TPP). Two new diffusion algorithms, Push and One Phase Pull(OPP)algorithms have also been applied by authors to deal with various applications. In Push diffusion, therole of senders and sinks is reversed in comparison to that of the primal algorithm proffered in Directed Diffusion which is known as Two-Phase Pull(TPP). The two-phase pull is suitable for application areas where sink nodes collecting data from the sensor network are smaller in number, for example, making a query for detecting any tracked object in a network. There is a category of applications that require sensor-to-sensor communication within the network, for example, in an application, sensor nodes might usually operate at a low duty cycle, but if any of the sensor nodes detect anything worse then it awakes nearby sensor nodes to active state and remains watchful. Two-phase pull diffusion shows poor performance for such types of applications because interest is sent by all the sensors actively and the gradient is maintained, whether anything is detected or not. Push diffusion has been devised for such applications. Though the protocol uses the same API as of two-phase diffusion (apart from a flag showing ''push''), but the functioning of source and sink nodes are interchanged in the implementation. Here, sources become active, whereas sinks become passive; without interest created gradients, exploratory data is sent all over the network. Similar to two-phase pull, where a reinforcement message is generated whenever exploratory data reach the sink node and is recursively sent back by the sink to the source creating a reinforced gradient, and only these reinforced gradients are followed by non-exploratory data.
One Phase Pull (OPP) is a subscriber-based scheme in which one phase of flooding out of two phases in TPP is removed. Similar to two-phase pull, interest messages sent by subscribers propagate all the way throughout the network, establishing gradients. Unlike TPP, the first data message is not marked as exploratory when any interest comes; rather data is sent only on the preferred gradient. The neighbor node, which has sent the matching interest first, determines the preferred gradient, thus suggesting the minimum latency path. Therefore, the reinforcement messages are not required in a one-phase pull; the lowest latency path is reinforced implicitly. There are two disadvantages of one-phase pull over two-phase pull. First, in OPP it is assumed that communication between nodes is symmetric. Second, it is required that interest messages should have a flow-ID. Though creating flow-ID is quite simple, but the size of interest will grow with the number of sink nodes by the inclusion of flow-ID. By comparison, though, the interest messages being generated an increase in number with a two-phase pull in ratio to the number of sink nodes, so here, the cost is reduced.

2) PIVOT-INITIATED PATH REPAIRING SINGLE PATH ROUTING ALGORITHM
In this approach, before data transmission, each sink node initiates a process to set the global lowest-cost path and establish an optimal path from each sensor node to the sink node. Here, energy consumption, remaining energy, delay, hop number, etc., alone or in combination may represent the cost value. Whenever a packet is to be sent to the sink, the optimal path is calculated using IDs recorded in the source node's routing tables as well as in its successor nodes and followed to transfer the data packet from the source node to the destination on its optimal path. During data delivery, transmission can be broken due to any kind of channel error or node failure on the route. The node which is forwarding a data packet is accountable for guaranteed delivery of the message and the conformance that the node next to it in the routing path has received the data packet successfully. The transmitting node may implement this by monitoring the packet through acknowledgment receiving in a time period Tf . The transmitting node keeps the message in its buffer till it doesn't get any acknowledgment/ receipt. It may be 7862 VOLUME 10, 2022 possible that acknowledgment is not received due to node or channel failure. Any temporary breakage in the path because of interference, obstacle, or collision in the channel is known as Channel error whereas a permanent breakage of the path due to energy depletion, physical damage, or malfunctioning of sensor nodes is known as node failure. When failed acknowledgment receipt is detected by the transmitter, it is assumed that its downstream node is ''dead'' and search for an alternative path is started to avoid the ''dead'' node in its neighborhood.
The node which is immediately upstream to the disrupted link (named pivot node or helped node) starts to search for an alternative path by broadcasting a Help Request (HREQ) message [55]. Every neighbor node receiving this message does the following comparisons sequentially depending upon the results of the previous step.
a) The message will be discarded if it is found that the downstream node of the receiver node is the escaped or the helped node because the motto of seeking any other path is to avoid the escaped node. b) The message will be discarded if it is a duplicate message i.e. the node has already received the same HREQ packet. c) If the comparison results do not fall in (a) and (b), then the cost of the escaped node is compared with that of the current node by the node itself. If the current node's cost is found equal to or lesser than the escaped node, it is believed that this route won't lead to an optimal path and a Help Response HREP) message to the helped node is sent. Otherwise, the node routes the HREQ message to the next downstream node, and above mentioned three steps in a to c are repeated. d) The candidate node with minimal cost will be selected as the alternative path by the helped nodeand the rout-ing table shall be updated accordingly and, the data packet is routed to its new downstream node.

3) ROBUST DISJOINT MULTIPATH (RDM) ROUTING ALGORITHM
Authors have developed a Robust Disjoint Multipath (RDM) [56] routing hole detouring approach to identify holes and keep the network in working condition despite holes. In multipath routing, there can be data collision on hole boundaries as data is concentrated on borders of the hole and the network may undergo too much energy consumption. Hole size may increase due to this energy-burning up and congestion in the network. Bigger the hole, the more problematic it is, also known as the hole growing effect. Disjoint multipath routing has been used for designing a hole detouring scheme to forward data from the source node to the destination node and solve issues. It eliminates flooding overhead to determine multi-paths. It is known that the sensor nodes in the region α 2 follow the mathematical distribution function [57] given that the wireless sensor network is having a distribution function with density ρ. Authors have supposed that all nodes in the network are aware of their location, the location of the destination node and transmission route is comprised of multiple hops and the network has a 2-D (two dimensional) Gaussian function. The network has been divided into several virtual grids to disseminate data. Every virtual grid contains parameters: reference coordinates (x r , y r ) grid size α. One or more sensor nodes lie in area A having a minimum value of α, where A is α 2 .
Different paths to the destination are determined by the source node. A continuum model has been introduced by authors to disjoint these multiple paths. There is a pipeline from the source sensor node to the destination node in which VOLUME 10, 2022 the intermediate point is called the anchor point. Even the smallest pipeline P0 consists of a continuum of the α 2 area comprising one or more sensor nodes. Disjoint paths are designed from source to destination and are rebuilt to detour holes for reaching the destination. When any hole is encountered, data transmission is toggled into perimeter mode. There exist multiple paths with pipelines P k for k=1, 2, . . . , N. If a hole is found in one pipeline then another pipeline is used bypassing the hole by avoiding virtual grid with hole. Rules to build disjoint multiple paths for hole detouring scheme are as follows: 1) For any pipeline P k having an odd value of k, the right-hand rule is followed on the hole boundary for hole detouring. 2) For any pipeline P k having an even value of k, the left-hand rule is followed on the hole boundary for hole detouring. 3) If multiple channels are there at the boundary of a hole, a packet for detecting hole boundary is sent in order as follow: P k > P k+1 for any k ≥ 0 4) In destination mode, if any hole is met during packet forwarding from source to destination, the approach is changed to perimeter mode. 5) When multiple paths send data packets to meet the same hole concomitantly, the hole is passed by hole boundary packets as in step 3) and the paths wait to send data packets respectively.

4) PRIORITY BASED MULTIPATH ROUTING ALGORITHM (PBMRA)
Authors have proposed a Priority Based Multipath Routing Algorithm (PBMRA) [58] to identify holes and endow them with high energetic multi-paths. The algorithm comprises three major components (shown in Fig. 11): one section identifying neighbor nodes; another section to construct multi-paths using selected neighbors; and last section to make a priority-based selection of high energy routes using metric path delay, liveliness (residual energy), and hop count (number of hops amid source and sink node). Sensor network has been presented in form of a graph where sensors represent nodes in the network and edge is determined using delay d, energy level e of node, and hop count hc. These values d, e, and hc are updated periodically for every node.
After initially deploying the network, every sensor node calculates its neighbor nodes using the Neighbourhood Selection Algorithm (NBA). Using NBA, every node sends a message to neighbor nodes to build its neighborhood. Nodes with required transmission power and energy level [59] greater than a threshold are selected as neighbor nodes. Quality of link to neighboring nodes [60]- [62] is calculated by the sensor node. The quality of the link [63], [64] varies with time. After establishing a neighborhood using NBA, multiple paths are determined, and the best paths are chosen out of elected paths for data transmission using Multipath Construction Algorithm (MCA). The sink node initiates the path discovery process for every source node. A request control packet is sent by the sink to the source node through intermediate nodes. Source node replies with a reply message and after that multipath construction process is started. Three values e, d, and hc are updated by every node and are cross verified with neighbor nodes. Sensor nodes having energy levels greater than and delay less than the threshold value are selected by varying values of threshold.
After electing multiple paths [65], the Priority Selection Algorithm (PSA) is applied to prioritize paths based on values of d, e, and hc. PSA is a predictive algorithm that considers thresholds for prioritizing paths. The priority value for each chosen path is computed using values of d, e, and hc. Path with uppermost priority is a route with maximum energy and the next priority path also has the next energy level and henceforth from the source node to sink node [66]. Paths with very low energy are repudiated [67].
Once routing paths are out of order and stop working. PBMRA identifies holes in the network using the energy level and status of nodes and broken paths. The algorithm provides small delay and better throughput for the small-sized network but delays upsurges with an increase in the number of nodes.

5) GREEDY PERIMETER STATELESS GEOGRAPHIC ROUTING (GPSR) ALGORITHM
GPSR [68] is a geographic routing technique that makes routing decisions using greedy forwarding by using only the immediate neighbor's position/ coordinates in the network. Every node knows the geographic locations of neighboring nodes and makes the optimal decision to choose the next hop looking that which neighbor is the geographically closest to the destination node. Such forwarding process seeks in succession closer geographic nodes till the destination is not reached. To know the location and be in synchronization with its neighbors, a simple beaconing algorithm is used, wherein, each node broadcasts a beacon containing its own ID and position. If a beacon is not received from any neighbor node in timeout interval, the node updates its neighbor list and considers that neighbor has either failed or gone out-of-coverage range. Sometimes greedy forwarding fails because of routing holes created due to local minimum (Figure 9). Recovery to failure is done by using perimeter routing mode i.e. when a data packet reaches an area where further movement is unfeasible, it is routed around the perimeter of that region. The right-hand rule is applied in perimeter routing which says that when reaching from a node x at node y, the edge which is sequentially counterclockwise about y from edge xy will be traversed next. The sequence of edges traveled by the right-hand rule is called a perimeter. For the right-hand rule, it is required that no edges cross each other. Taking this into consideration, GPSR uses either Gabriel Graph (GG) or Relative Neighbourhood Graph (RNG) [69], [70] to obtain a planar graph of a network having all non-crossing edges. Removing edges from the graph that are not part of the RNG or GG would result in a network with no crossing links.

6) TENT RULE AND BOUNDHOLE DISTRIBUTED ALGORITHM
Many routing algorithms use greedy forwarding techniques to transmit data packets to their destinations in sensor networks [71]- [75]. In this approach, authors have tried to overcome 'the local minimum phenomena' which can be one of the causes of packets getting stuck. Nodes, where packets may get stuck in a greedy multi-hop forwarding technique, are defined as stuck nodes. Stuck nodes are further categorized into two types: weak stuck nodes and strong stuck nodes. A node u∈ S is defined as a weak stucknode if there is any such node v∈ S outside u's transmission range and there is no 1-hop neighbor node of u that is closer to v than u itself. Any such destination node like v is referred to as a black node of the sender (here, it is node u), as shown in Fig. 12.
To find weak stuck nodes, the Voronoi diagram and the Delaunay triangle are used. In the Voronoi diagram, the whole plane is divided into small convex regions in such a way that all the points lying in a region are closest to only one node; such convex regions are referred to as Voronoi cells. The Delaunay triangulation represents the dual graph of the Voronoi diagram; it connects those nodes which are present in adjacent cells in the Voronoi diagram. In the Delaunay triangulation DT(S), a node p is said to be a stuck node if there is no edge adjacent to node p which is far from more than a 1-hope neighbor node. Restricted Delaunay Graph (RDG) is generated to find holes generated using weak stuck nodes; it is subgraphs of the Delaunay triangulation in which only those edges which are not longer than 1 are kept. A hole is said to be a face in the RDG having at least 4 vertices and all the weak nodes on the boundaries of the hole.
A node u∈ S is said to be a strong stuck node if there is a point that is outside u's transmission range and there is no 1-hop neighbor of u which is closer to the point than u itself. The gathering of such locations is known as the black region (shaded area shown in Fig. 13).
The TENT rule (Fig. 14) has been used for detecting the stuck nodes. The steps followed are:a) For each node u, first, all the 1-hop neighbors of node u are ordered counterclockwise. b) A perpendicular bisector is drawn for every pair of nodes that are adjacent neighbors (shown in Fig.14). d) Going in counterclockwise order, nodes x and y are adjacent to each other. As no nodes are lying in the black region, hence node u cannot get stuck for any destination which is inside the cone created using ux and uy. e) On the contrary, if the center O is falling outside the communication range of u, any such destination must be there in the plane where the packet will get stuck at u. f) A node having one or more stuck angles is said to be a stuck node. It is defined that the node u cannot get stuck if the angle xuv is smaller than 120 degrees. So, the TENT rule is both enough as well as required.
A distributed algorithm, BOUNDHOLE, has been given to assist the packets in getting out of stuck nodes; it builds routes around holes with boundaries of holes comprising stuck nodes. After identification of the stuck direction of each node, the BOUNDHOLE algorithm applies the righthand rule to mark the routing hole's periphery. All nodes in sequence to each other starting with node u, generate a nonself-intersecting polygonal loop. The hole in the closed region is enclosed by this polygonal loop and the loop is called the hole's boundary.

C. SECURITY HOLES IDENTIFICATION TECHNIQUES
Addressing the protection and defense mechanisms of WSNs, it is important to address an issue related to security holes. These holes have been divided into various categories depending on which layer the attacker chose to affect the network. Major security holes are Jamming holes, Blackhole, Sinkholes, and Wormholes.
Jamming holes [15], [76], [77] are unlike other categories of holes encountered in the sensor network such that you twit communication/ sensing capabilities of nodes. Various spread spectrum techniques are generally used for radio communications to handle jamming issues, but cost and com-plexity factor plays an important role in adopting any of the techniques. No such technique is available, yet which has effectively counter jamming with remarkable results. There can be cases in tracking applications where the target is furnished with jammers having the capability of jamming the radio frequency which is being used for communication amid the sensor nodes. In this case, the presence of the target will be sensed/ detected by other nodes in the surrounding, but they won't be able to communicate it back to the sink due to the communication jamming in the region. This region influenced by jamming centered around the jammer is called a jamming hole. This may be the case of purposeful or unintentional jamming. In purposeful jamming, a bad node/ an adversary intentionally creates a denial-of-service state. Unintentional jamming occurs due to malfunctioning of nodes that are not behaving properly and start continuous transmission and hence occupies the whole wireless channel refuting the services to other neighbor nodes. Besides communication jamming, there are also possibilities of jamming sensing capabilities in a few special cases e.g., if acoustic sampling is being used by the sensor network for tracking objects and objects which are getting tracked starts introducing random and high-power acoustic noises, it would not be feasible for the sensor nodes to discover the presence and report the existence of the object. There is no such protocol that can remove jamming but can take precautions against it after identification.
An adversary node in the sensor network can easily introduce Sinkhole (shown in Fig. 15(a)) attacks is a way opted by an attacker to illustrate compromised sensor node as a very attractive route by publicizing very cost-effective and catchy routes [15], [78]- [80]. As the malicious node appears attractive, it may be selected as the next hope by neighbor nodes considering its best route, moreover, this route gets circulated to other nodes as well. In this way, most of the traffic is attracted toward malicious nodes, and the node can drop the packets, selectively transmit or change the content of the message. Thus, the malicious node creates a sinkhole centered around itself. It will lead to more energy consumption and result in congestion among the nodes involved, which will lead to node failure due to power shut down and, hence, the creation of routing holes. The possibilities of denialof-service attacks increase due to sinkholes presence in a sensor network, and the number of other types of denial of service (DoS) attacks also increases. A black hole (shown in Fig. 15(b)) is a type of attack [81] in which a node drops all the packets it receives.
Wormhole [59] is a type of attack in which malicious nodes located poles apart in the WSN, form a ''tunnel''. Malicious nodes receive data from one point in the network and replay them in another part of the network through the tunnel via a different radio channel. Other nodes located in the network poles apart assume that they are neighbors which lead to a wrong routing convergence.
Major techniques used to identify Jamming, Sink, Black, and Wormholes (shown in Fig. 16) are as follows: -

1) JAM PROTOCOL
Jamming is a way to interfere with the capability of an adversary to communicate [78]. Few well-known types of jamming can be recognized by a receiver through their unique energy patterns. JAM [15], [76] detects and map jammed areas in a sensor network. Jamming detection and mapping modules are two prime components of the JAM mapping service. To make a distinction between jamming and normal interference, the JAM detection module monitors radio traffic and MAC layers and subsequently applies different heuristics, e.g., bit-error rates, etc., depending on the data available and the result of that is compared with a threshold value, if it is above threshold then the interference is declared as jamming. But, while deciding the threshold value, determining threshold value is a very critical task. Whenever jamming is detected by any node, a broadcast message called JAMMED is sent to its neighbor nodes with high priority overriding carrier sense mechanism generally enforced by MAC layer. Jammed area mapping is started by nodes which are neighbors of nodes present in the jammed area and have got a JAMMED message by a node lying in the area covered by a jamming hole.
Receiving nodes wait for multiple JAMMED messages for a short time period before sending a Build message to reduce multiple broadcasts with partial information. When the short timer expires, a BUILD message is transmitted by the receiving node to its neighbors, and the process of creating the boundary of the jamming hole is started. When any node receives a BUILD message from an unknown group, the corresponding node creates that group locally and stores the information otherwise, if the message is from a known group; it is updated in the list. Each unique build message is identified by its originator and sequence number, this helps in preventing duplicity of the messages. Boundaries of holes are formed by combining multiple BUILD messages originated from the neighbor nodes.

2) RSSI AND PDR BASED DOS DEFENSE MECHANISM
For identifying jamming attacks, authors have mentioned three techniques which comprise statistical analysis of the received signal strength indicator (RSSI) values, the packet delivery ratio (PDR), and the carrier sense time (an average time required for sensing an idle channel) [82]. All three techniques need a few baseline measurements. The use of only these techniques is not enough to recognize jamming; some algorithm is also required in addition. There are many such available algorithms. In one algorithm, first of all, poor link utility is identified by PDR analysis first and then RSSI analysis is used as a consistency check to find out whether the poor network performance is being created as a result of jamming. In another approach, to defend against jamming, the jammed region is collaboratively identified by the nodes and then traffic is routed around it. If a jamming attack is identified by any sensor node, then one way out to defend itself is to set a long-term sleep mode for sensors nodes and wake them up at regular intervals to check if the channel is still VOLUME 10, 2022 jammed. Though this may not stop a DoS attack [83], it could considerably increase the life span of sensor nodes by curtailing energy consumption. Thus, there will be a reduction in the number of nodes failing due to jamming as the attacker would have to jam for a significantly longer time span, most likely leading to power exhaustion before the targeted nodes do, so. On a similar concept of analyzing incoming frames and delays, algorithm for selective jamming issue has also been developed by researcher for IEEE 802.15.4 beacon-enabled mode WBANs (Wireless Body Area Networks).

3) GRASSHOPPER OPTIMIZATION INTRUSION DETECTION SYSTEM
Authors have proposed a grasshopper optimization algorithm (GOA) [84] based intrusion detection system named GOIDS (Grasshopper Optimization Intrusion Detection System) to alleviate and diminish DoS (Denial of Service) attack. Machine learning-based GOA has been implemented along with support decision tree (C4.5), vector machine (SVM), naïve Bayes (NB), and multilayer perceptron (MLP) to optimize the performance of the technique.
Grasshopper Optimization Algorithm is a meta-heuristic algorithm that works through inspiration from the life span of grasshoppers. The life of a grasshopper has been mainly divided into two phases; in the beginning, swarms grow slow, i.e., shorter steps and in the second phase, development is fast, i.e. longer steps [85], [86]. Small steps in the first phase lead to exploration and the second phase takes process toward exploitation.
Binary grasshopper optimization has been given. To deal with the binary feature selection problem, the algorithm uses a transfer function to convert continuous feature selection into binary [87]. After choosing the best possible feature subset, data is passed for training to the classifier. Authors have used different classifiers and techniques C4.5 has been observed as a better fit among other classifiers. Distributed DoS attacks are attacks where multiple infected nodes act as attackers. The proposed model (shown in Fig. 17) is run to observe incoming traffic and identify attacks. Along with good accuracy and performance, model both load and traffic in the network.

4) OAODV INTRUSION DETECTION SYSTEM
It Observed AODV (Ad hoc On-Demand Distance Vector) [88] had been designed as a countermeasure against one of the most devastating attacks that are the black hole attack. (Observed AODV) has been proposed as a secure extension of the AODV protocol. AODV is a very energyefficient protocol and requires very little computing power and is hence considered very suitable for sensor nodes having limited capabilities. An attacker can show itself as promising during the route discovery phase by falsifying RREQ and RREP control packets or during the data packet transmission phase by storing data in transit and deleting afterward. The network is portioned into clusters to apply OAODV and cluster heads for every cluster are identified. Protocol mainly uses two components-• Intelligent Watchdog-ensure that packets are properly forwarded, and retransmitted packets also meet AODV specifications.
The cluster heads choose observer nodes in the cluster and coordinate the activities of observer agents. These observer agents in the protocol are in charge to monitor data flow in their neighborhoods and analyzing inconsistency in order to detect mistrustful activities of neighbor nodes if any. A concept of penalty and reward has been introduced in the algorithm to evaluate the trust level of nodes. This evaluation of trust level leads to determining, isolate and detecting malicious nodes in the network, also various researchers have used fuzzy logic to determine the trust level.

5) JENSEN-SHANNON DIVERGENCE BASED INDEPENDENT COMPONENT ANALYSIS (JDICA) TECHNIQUE
Jensen-Shannon Divergence Based Independent Component Analysis (JDICA) technique [89] has been proposed by authors to identify black holes with good detection accuracy. JDICA works by analyzing the behavior of sensor nodes through trust factor, energy, and cooperation and finding out interdependence amid sensor nodes using mutual probability function and probability distribution function based on Jensen-Shannon Divergence.
A linear transformation has been achieved through independent component analysis. Through this, multivariate signals have been separated into smaller additive components. Jensen-Shannon divergence determines mutual information among sensor nodes and hence independence. Various factors are determined as below: -Energy Usage -It denotes energy consumption and is calculated by determining the total quantity of energy used up in receiving and transmitting data. -Trust -It is measured from data drop rate, i.e., from the difference between data packets forwarded and dropped out of total received data.
-Cooperativeness -It is a measure of how actively a node participates in transmission i.e., from link estimation. Using the above factors, the JDICA model (shown in Fig. 18) identify holes by calculating variance amid sensor node and black hole. Malicious nodes are isolated from the network through the broadcast of messages to nodes in the network and hence results in raise in packet delivery ratio.

6) ARTIFICIAL BEE COLONY-ATTACK DETECTION (ABC-AD) ALGORITHM
Authors have proposed an artificial bee colony algorithmbased hole detection mechanism [90] for detecting sinkholes in the network. The algorithm creates a table of rule sets and works based on rule matching methodology. The model comprises of four modules: -Local Packet Monitoring The purpose of this module is the collection of data and audits by listening to messages of neighbor nodes.

-Local Detection Engine
This module consists of a rule set defined to identify sinkholes. A rule set is prepared in tabular format in which each sensor node's information about neighbor nodes and respective link quality is stored. When the request for an update in route is received, the node compares link quality of received request with already VOLUME 10, 2022 The module identifies intruder sinkholes.
The algorithm works on rule matching and whenever any route update request is received, it is checked for a match with already stored value. When there is a mismatch, the node is declared a sinkhole.

7) HOMOMORPHIC ENCRYPTION & WATERMARKING BASED TECHNIQUE
Authors have proposed homomorphic encryption and watermarking-based technique [91] to identify sinkholes and can identify the tempering of data, therefore, making certain data integrity. The model is lightweight and consumes low energy, hence leading to an increase in the lifetime of the network. It follows a cluster-based communication mechanism where nodes in one cluster transfer data to their cluster head and cluster head communicate with sink/destination node. For routing, the model uses TEEN (Threshold Sensitive Energy Efficient Sensor Network) protocol [92]. The power- ful sensor node is a cluster is chosen as cluster head as per TEEN protocol criteria selection mechanism. Once cluster head is chosen, it broadcasts two types of threshold values as below every time at cluster setup phase: -Hard threshold: If this value of sensed feature is realized by any node, it needs to unlock the transmitter and report for the same to the cluster head. -Soft threshold: It is little deviation in the sensed feature's value, due to which node is unlocked. Nodes constantly watch their neighbor nodes, whenever any situation is there that node finds out sensed value has reached soft/hard threshold, it reports to cluster head. The nodes observe their surroundings continuously. The TEEN protocol makes use of data aggregation to lessen data transmission time [93] and boost data robustness and accuracy.
Watermarking and homomorphic encryption technique (shown in Fig. 19) has been proposed to prevent sinkholes and In the initialization phase, different keys; keys for cluster heads, and network keys are generated by the base station. The cluster key is used for intracluster communication whereas the network key is used for inter-cluster communication. Paillier cryptosystem [94] has been used for key generation. To avert alteration in keys by the intruder, a lightweight homomorphic private key encryption technique is used by the base station.

b: Sensing phase
Watermarking is used by sensor nodes that provide copyright/ownership, ascertain confidentiality and integrity of data. Watermarking technique uses Pseudo Generated Random Number (PGRN) [95] and Hash-Based Message Authentication Code (HMAC) [96] for watermarking. The technique doesn't require any storage space which makes it more suitable for small-sized sensor devices.

c: Cluster head verification and data aggregation phase
Whenever any packet is received by the cluster head, it extracts the packet's timestamp and verifies if it is a new or old packet. Old data packets are discarded and informa-tion about the node sending data is reported to the base station node. The authenticity of new packets is verified by extracting watermarked data. Cluster head aggregates data from multiple nodes, encrypt IDs of these sensor nodes, apply watermark and send the data to the base station node.

d: Base station verification and confirmation phase
When the base station receives data from cluster heads, it extracts timestamp, encrypted IDs, and watermarked data from received data. The base station also drops data with an old stamp. Extracted watermarked data with a new timestamp is compared with regenerating watermarked data using an assigned key to that cluster head node. If data doesn't match, the ID of this attacker cluster head is propagated in the network and it is blocked by the base station.
The proposed model is robust against deceiving attacker nodes as it uses encrypted Node IDs, averts any tempering in data through watermarking, and prevent replay attack by dropping old packets.

8) SUSPICIOUS LINK DETECTION AND WORMHOLE VERIFICATION IN OLSR
Authors have introduced a technique to discover and curb wormhole attacks in OLSR [97]. First, suspicious links which may form part of wormhole tunnels are detected, and then an appropriate wormhole detection method is used to distinguish wormhole links from other legitimate links. In the detection mechanism, encrypted probing packets are exchanged among the two speculated neighbors (ends of the wormhole) to make a distinction.
Detecting Suspicious Links: In OLSR, a HELLO message is broadcasted by every node on a frequent basis to find out its one-hop neighbors. Nodes receiving HELLO messages revert a message to the sender as a neighbor. This HELLO message can be replayed from the sender node to the nodes more than one hope away in a wormhole attack. In this approach, authors first discover network links that are more prone to wormhole attacks, and then a wormhole detection scheme is applied. One of the basic detection strategies to detect wormholes is to observe the latency as wormholes have longer packet latency in comparison to the normal wireless propagation latency on any hop. In any wormhole attack, propagation latency is considered a major contributing factor. As basic nature of wormhole, many multi-hop routes are attracted toward wormhole, thereby, overloading any particular multihop route. Overall as a result of overloading, longer queuing delays get incorporated in the rate. Yet this is a way of detection but still not a sufficient condition to find out wormhole, because latency in packet transmission may be due to various other reasons also like congestion and intra-node processing delays. Hence latency/delays alone cannot be considered as wormholes but the links which possess longer delays are marked as suspicious. Now, Wormhole verification is done on the links which are marked suspicious. For the OLSR protocol, two new control packets are defined: HELLO req and HELLO rep to analyze these links. The HELLO message in OLSR is superseded by the HELLO req message; the message can be depicted as any of the two discussed above depending on the selection of choice. It performs the function of the original message in the standard option whereas in another case, the HELLO message is used to get an explicit reply with a HELLO rep message from its neighbors. When any node gets a HELLO req , it notes down the sender node's address i and the time D i left until it is scheduled to send its next HELLO message. To avoid overloading the network with too many HELLO replies, replies of multiple requests are piggybacked to the normal HELLO message by the receiving node. For each piggybacked reply, the sender's address and values of Di corresponding to HELLO req , are recorded by the node appended to the message. When a HELLO rep message is received by any node, it is checked whether any information regarding any of its pending requests is contained in this HELLO rep , if no such information is found, then the received HELLO rep is treated as a standard HELLO message. If the message is not found as a normal/ standard HELLO message, then the arrival time of HELLO rep is checked to know if the time taken by the message is within its specified timeout period after taking into consideration the delay Di occurred at the receiver. If it is found that HELLO rep has reached within its scheduled timeout interval, then the initiator node marks the communication link connecting itself to the node which has sent HELLO rep message as safe, otherwise the link is marked as suspicious and any sort of communication with that node is stopped until the wormhole verification process is completed.
After detecting suspicious links, verification is done by the originator node to find out whether the path connecting itself to other ends of the suspicious links is not any wormhole tunnel. Two new message types have been used for this purpose: a Probing packet and ACK Prob . A Probing packet is sent to all of the suspect nodes. Nodes that receive the Probing packet, reply with an ACK prob message telling its own wormhole status as well as processing time details to the node which is the originator of the Probing packet.
The reputation state of a node can be either ''proved'' or ''suspicious'' based on the results inferred using the previous exchange details of HELLO req and HELLO rep messages during the suspicious link detection process. This timing information given by ACK Prob is used to figure out the timeout period accurately. If the node receiving the Probing packet is not aware of the state of the originator of the packet, it ceases to send the ACK prob and starts gathering the required details through the exchange of HELLO req and HELLO rep messages. To secure the communication, end-to-end authentication is kept during the exchange of the Probing packet and ACK prob . Similar to HELLO Req and HELLO Rep exchange process, it is verified by the originator node of the Probing packet that the ACK prob has been received within the specified timeout period or not. Based on the verification, possible suspicious links are checked. A comparative analysis is done to see own evaluation of the reputation of the other endpoint in FIGURE 20. Elected path for transmission of data from sender to destination [93].
the suspicious link to the other node's evaluation to check whether any suspicious link is creating a wormhole tunnel: (Proved, Proved): If the status of the remote node as well as the contents of the encrypted ACK prob is proved, it is concluded by the originator node that the link amid itself and the suspicious node is safe and hence won't be creating a wormhole tunnel. Therefore, a neighborhood relationship will be maintained by the originator with the node by sharing as well as accepting data from that node.
(Suspicious, Proved) or (Proved, Suspicious): If it is observed by one of the two nodes that the remote node or content of ACK prob is suspicious, it is declared by the originator that the link is still suspicious. Communication with that node is stopped and will be restarted after a random interval of time followed by an exchange of Probing and ACK prob packets. After this exchange of packets, it is found that there is at least one suspicious state then this link will be treated as a wormhole tunnel by the originator from that particular point onwards.
(Suspicious, Suspicious): If both nodes set the status of the remote node and the contents of the ACK prob as suspicious, the link is marked as a wormhole tunnel by the originator, and this node is removed from the list and further use of this link is stopped completely by dropping the packets which are using this link as a medium if any until the next HELLO req -HELLO rep exchange process takes place.

9) ENERGY PRESERVING WORMHOLE IDENTIFICATION IN AODV
Authors have designed a wormhole detection technique in the ad-hoc on-demand distance vector routing (AODV) [98] which works using connectivity information of the network. The algorithm is used during route discovery when the route reply packet is received by the sender [99]- [104]. The algorithm is started from the destination point and the detection process is run with neighbor nodes in the elected path (shown in Fig. 20) in two stages.
-The first stage is to construct a list of one-hope neighbors of sensor node A and that of sensor node B. After constructing these lists, it is checked if there is any common node amid two. If yes, then nodes are not intruders, if there is no common node, the algorithm runs for the second stage. -In the second stage, it is checked whether there is any common node between a two-hope neighbour list of node B and a one-hope neighbour list of A. If yes,    These two stages are repeated for every node A and B in the path. The algorithm uses a very simplistic approach and doesn't require any additional computational capability or hardware and requires very little energy to execute. Though the scheme is energy-efficient and cost-effective, if two malicious nodes just pretend to have the same list of neighbor nodes then it will not be able to detect the attack.

IV. SUMMARY AND CONCLUSION
The paper has presented a review of holes problems in WUSNs. While undergoing the entire study, the impetus has been laid on recurring holes problems and an attempt is made to have possible solutions to these problems. The effort put in would certainly be handy for the researchers in curbing the issues in WSNs.
A detailed thoughtfulness has been given to cover every issue. The work done brings into limelight various issues like coverage problems, connectivity, routing, and security. In a nutshell, it is worthwhile to mention that this paper covers minute details encompassing existing holes problems in WSNs, techniques to identify the same, and probable solutions to cope up with these holes for the enhanced efficiency of WSNs. This paper shall provide a platform to comprehend the fundamentals and put insight for further extension of the research work. A brief outline of various techniques discussed above to identify different categories of holes is summarized in the table given below Table 5-7.

V. FUTURE DIRECTIONS
There are many notable points and facts which are explained below: • Most algorithms assume that the sensor network is homogeneous. Enhancement of these algorithms for heterogeneous networks can be a valuable addition.
• A very few algorithms have been developed to tackle jamming holes. Most of the algorithms work by considering traffic threshold, which may not be appropriate in all cases. The addition of jamming hole detection can be a good step in the future direction.
• In most of the algorithms, the sensing area of sensor nodes is considered as a circular disk. Algorithms can be enhanced for sensor nodes with irregular sensing areas.
• Many hole detection algorithms have poor scalability. Algorithms can be improved to show better scalability and low complexity.
• Most algorithms require location information and time synchronization and this information may not be very much accurate all the time. There is a need to analyze the effect of inaccuracies of information on the algorithms.
• Most of the techniques consider that nodes are being deployed in a 2-D region, but in reality sensor nodes are deployed in a 3-D environment. Future work can be done in this direction.
• The artificial intelligence-based model can be developed for security hole identification based on data collected in past.
• As it is a very cumbersome task to replace underground sensor nodes. So, more energy-efficient algorithms can be worked upon to increase network lifetime. His research interests include optical communications, optical atmospheric communications, optoelectronics, optical measurements, measurements in telecommunication technology, fiber-optic sensory systems, biomedical engineering, data processing from fiber-optic sensors, the use of fiber-optic sensors within the SMART technological concepts (smart home, smart home care, intelligent building, smart grids, smart metering, and smart cities), and for the needs of Industry 4.0.