Routing Protocols for Wireless Nanosensor Networks and Internet of Nano Things: A Comprehensive Survey

Nanotechnology is a multidisciplinary field that will make our life simpler and safer and mitigate our impact on the surrounding environment. With the recent advancements and transformations in the available networking and communications paradigms, embedding Wireless Nano Sensor Networks (WNSN) with various objects, sensors, and devices would add a new network paradigm. This paradigm is known as the Internet of Nano Things (IoNT). Seamless interconnectivity among nanonetworks with the available communication networks and the Internet requires developing new network architectures and new communication paradigms while addressing the various technical challenges. Routing protocol is one of the most essential requirements in WNSN and IoNT due to the different nanoscale constraints. This routing protocol must accommodate nanoscale communication’s characteristics while guaranteeing the data and information transmission. This study aims to give insight into WNSN and IoNT paradigms and present a comprehensive review of a large number of existing routing protocols adapted to nano communication’s characteristics and features.


I. INTRODUCTION
Technology has become a building block in our modern life, which has revolutionized many different areas. A new era of technology, known as nanotechnology, began as a concept in 1959 by physicist Richard Feynman [1]. It has become a seed for various future applications, offering a vast potential to encompass every aspect of our lives. Nanotechnology is a multidisciplinary field that will make our life simpler and safer and mitigate our impact on the surrounding environment. The nanoscale dimension gives us the opportunities and ability to study and discover unexplored phenomena and places that cannot be investigated otherwise. This technology leads to many scientific inventions that pave the way for new products in various fields and across all areas [2].
Nanotechnology is expected to spread throughout the world and touch every aspect of our lives [2]- [4].
The associate editor coordinating the review of this manuscript and approving it for publication was Yasar Amin .
The tremendous development of nanoscale devices is facilitated from nanotechnology, ranging from one to a few hundred nanometers [5] and including tiny basic units called nanodevices (nanosensors and nanocontrollers). Those nanodevices, equipped with storage, processing, sensing, and communication units, and integrated with other nanodevices, construct a more extensive area coverage called Wireless Nano Sensor Networks (WNSN) [6].
With the recent advancements and transformations in the available networking and communication paradigms, embedding WNSNs with various objects, sensors, and devices would add a new network paradigm. This new network paradigm is known as the Internet of Nano Things (IoNT) [6]- [8]. IoNT is the network of objects (things and nano things) that can sense, transmit, process, and store data. It provides interconnection among nanodevices and technologies over the available communication networks and the Internet. Thus, it offers a new intercommunication paradigm forming prevalent networks that enhance our daily activities. The immense growth of ubiquitous connectivity between different devices or components (things) leads to the fast growth of the IoNT vision. The IoNT will improve communication efficiency and increase the communication terminals' role and its capabilities with lower costs (in terms of processing, storage capacity, etc.). Meanwhile, it covers larger areas and discovers the unexplored and hard to access places at the molecular level [2]- [4].
This new dimension will offer new opportunities for identifying unforeseen future applications in various industries including healthcare, manufacturing, energy, agriculture, utilities, transportation, logistics, retail, defense and aerospace, media and entertainment, among other areas [5], [9], [10]. Starting from the most promising domain, the biomedical, examples of applications are healthcare monitoring [11]- [14], smart administering medications and drug delivery systems [15], [16], nanobionics, regenerative tissue engineering, intracellular or nanoscale surgeries, epidemic spread detection and management, bio-hybrid implant and repair of body cells, non-invasive imaging tools, morphing stem cells, immune system support, genetic engineering, nanodiagnostics, etc. [2], [17]- [19]. Regarding environmental and agriculture domains, we can cite as examples environment and plant monitoring [20]- [22], chemical reactors, air pollution [23], detection of virus and bacteria, animal health monitoring and feed management [24], biodegradation, precision agriculture [25], and monitoring of pesticides and insecticides usage [26]. In the military and public safety domain, applications cover battlefield monitoring, development of nano-robotics and nano-drones, nano-medic future warfighting, nuclear, biological and chemical defenses, surveillance, autonomous vehicles, miniature satellites, and damage detection systems [27]. In industrial production, some examples of applications are ultra-sensitive touch interfaces, haptic interfaces, future interconnected office [28], food and water quality control [29], and space-based applications [26].
Intel Corporation, Cisco Systems Inc., Qualcomm Incorporated, Juniper Networks and IBM Corporation in U.S., Schneider Electric and Alcatel-Lucent S.A. in France, and SAP S.E. and Siemens AG in Germany, are some of the market leaders that are directing nanotechnology research and developing many IoNT applications in different domains [30].
Seamless interconnectivity between nanonetworks and the available communication networks requires developing new network architectures and new communication paradigms while addressing the various technical challenges [6]. Deploying IoNT network architectures depends on the area of application and its required characteristics. The integration and collaboration between multiple networking paradigms will provide various refined and integrated forms of services. For example, in the healthcare domain, the deployed paradigms are off-body networks (such as smart spaces, environment networks or healthcare provider server), on-body networks (Body Area Networks (BAN)), and intra-body networks (nanonetworks) [18]. The integration between the intra-body networks with the BANs will form the IoNT domain. However, integrating both with the environment network will form the Internet of Thing (IoT)/ IoNT domain [19], as shown in Fig.1.
Different communication alternatives have been envisioned when narrowing down into nanoscale to allow communication, cooperation, and coordination among nanodevices. This communication can be molecular communication, Electro-Magnetic (EM) wave communication, touch communication, nanomechanical, and ultrasonic acoustic communication [9], [31], [32]. Recent research for nanonetworks that rely on molecular communication has been conducted, expanding VOLUME 8, 2020 the IoNT and creating what is called the Internet of Bio-Nano-Things [33], [34]. Meanwhile, the EM waves for Terahertz radios or ultrasonic acoustic communication are now getting more attention from the communication community [35]. The EM wave communication is a more conventional and feasible technique than molecular communication [8]: it involves transmission and reception of electromagnetic radio frequency waves at the Terahertz Band (TB). Each nanodevice has a very limited size (from one to a few hundred nanometers) and is built from nanoscale components, including nanoantenna, EM nanotransceiver, nanoprocessor, etc. [7], [28]. This limited size requires nanodevices to have an antenna that can radiate in extremely high frequencies at the nanoscale in an energy efficient way [36]. A nanomaterial called graphene is used to develop nanoantenna that support nanodevices radiate in TB, as presented in studies [7], [8], [19] and demonstrated in [6]. This graphene-based antenna allows extremely high bitrate (around some Terabit/s (Tbps)) at the nanoscale, but with a limited transmission range that does not exceed a few tens of millimeters [6], [26].
To achieve the application target, all nanosensors of a WNSN should cooperate to perform the required task. The sensed data should be collected and sent to nanocontrollers. These nanocontrollers act as data sinks that transmit the collected data to the gateway (nano-micro interface). In turn, this gateway transmits the collected data to micro device such as a smartphone, access point, or dedicated sink module that transmits the data to the external services provider [6].
Due to the above cited constraints, designing a routing protocol that accommodates communication's characteristics while ensuring data and information transmission, is an essential requirement in IoNT and WNSN [7]. To guide the design of the routing protocol, two main characteristics must be considered [36]: wireless communication technology in nanoscale and their energy supply systems.
Nanodevices' battery has a very limited amount of energy and cannot be replaced or periodically recharged while deployed in real application scenarios [8], [37]. Hence, many energy harvesting techniques [38], and self-powered nanodevices [39] are proposed to maintain the nanodevices' power. However, the time needed to harvest energy for an individual nanodevice is extremely high [19]. Moreover, for persistent network operations, sufficient energy is required, which demands alternative solutions because massive data can be gathered from nanodevices. Therefore, designing an energy efficient routing protocol is an alternative way to prolong the nanonetwork lifetime. Recently, efforts have been made to propose routing protocols for WNSN and IoNT. Most of them direct their design to an energy efficient perspective to maximize the network lifetime and minimize energy consumption.
This study aims to give insight into WNSN and IoNT paradigms. Our target is to present a comprehensive review of a large number of existing routing protocols adapted to nano communication's characteristics and features. This paper is organized as follows: Section II presents background on nanodevice components, the IoNT and WNSN architectures, and their different components. The characteristics of WNSN are presented in section III, including TB communication and the different energy supply systems. In section IV, a review of physical and Medium Access Control (MAC) specifications is introduced. After that, a comprehensive review of the existing routing protocols for WNSN and IoNT is revised in section V. Section VI presents a summary and lessons learned to design routing protocol for WNSN or IoNT. Finally, section VII concludes the study.

II. BACKGROUND
Designing an effective routing protocol while undertaking the nanodevice specification requires knowledge about the main hardware components that constitute a nanodevice. It also necessitates research on network architecture, TB wireless communication, and the considered energy supply system to achieve the application target [19]. In the following section, the main components of nanodevice are presented first. Then, the IoNT and WNSN architectures are introduced. Finally, the principle characteristics of WNSN are presented, including the TB communication and the concept of adopting different energy supply systems.

A. NANODEVICE
A nanodevice is the basic nano unit of WNSN that can be either nanocontroller (nanorouter) or nanonode (nanosensor/nanoactuator). The nanodevice's size is a few nanometers, which allows the scientific community to discover unforeseen nanoscale events and magnitude such as air pollution measurements in the atmosphere, or hormone levels, among others [40]. The expected capabilities of nanodevices such as sensing, processing, telecommunications, etc. demand the existence of more than one nano component as integrated hardware [10], [26], [41]. The main nanodevice components are sensing and actuation unit, processing unit, communication unit, storage unit, and power unit [28]. In the following we present a brief review of some of them.
• Sensing and Actuating unit: can identify, measure, and interact with nanoscale events. This unit acts as the interface between nanodevice and the surrounding environment. A sensing and actuating unit can be classified as either a physical, chemical, or biological unit [42]. Different types of sensing or actuating units can be included in nanodevices based on the targeted information, such as temperature sensors, chemical sensors, clamps, and pumps [26].
• Communication unit: sending and receiving information is the primary role of this component. It is • Power unit: this is an essential component that powers the nanodevice, and all other components rely on it to perform their operations [10]. Until today, efforts to develop a power source at the nanoscale are ongoing [37], [43]. Nanodevices can be powered either by using nanobatteries [44]- [46] or by using a harvesting process where a nanogenerator harvests energy and stores it in a nanocapacitor or nanobatteries to be used later [47]- [49]. A review on each component is presented in [42], [50], and [51], where [40] reviews the current technology for each component and selects the most suitable technology to develop a complete conceptual nanodevice architecture.

B. IoNT ARCHITECTURE
Deploying IoNT network architectures depends on the area of application and its required characteristics. Nanonodes, nanorouters, nano-micro interface (gateway) devices, and Internet gateway are the main components that construct IoNT architecture regardless of the application area [6]. Fig.1. and Fig.2. present the IoNT architecture and its different components in a healthcare system and a plant monitoring system, respectively.
In the following section, a description of these components is presented: • A nanonode: is the smallest and simplest nanodevice.
It can be a nanosensor or nanoactuator device. This nanodevice performs simple tasks, including sensing, actuating, computing, processing, and storing. It has very limited resources (memory, energy, and processor) and a limited transmission range. Nanonodes can be placed in fixed or dynamic positions based on the application to target specific areas for sensing and collecting data.
• A nanorouter (nanocontroller): is larger than a nanonode and has greater resources and advanced capabilities. It gathers and processes the collected data from the nanonodes and forwards it to the external world through the nano-micro interface. It is also able to control and coordinate the behavior of nanonodes.
• A nano-micro interface device (gateway): is the most complex hybrid device that integrates the nano world with the external world. It uses TB communication to communicate with the nano side and the classical communication paradigm to communicate with the external world side. It can aggregate the incoming data from nanocontrollers and deliver it to the external world and vice versa.
• An internet gateway: is a device that controls the entire system remotely over the Internet. This device can collect the data from nanonetworks and convey them to monitoring devices over the Internet.
Most of the existing IoNT architectures follow the guideline design proposed in [6] with slight changes according to their goal.

C. WNSN ARCHITECTURE
Nanonodes and nanocotrollers are the main component of a WNSN. Two different WNSN architectures are commonly introduced in the reviewed studies: non-hierarchical (identical) and hierarchical architectures.

1) NON-HIERARCHICAL (IDENTICAL) ARCHITECTURE
This architecture is composed of several identical nanodevices with the same capabilities and is deployed throughout the targeted area, where all nanodevices are equivalent. An example of this form is Software-Defined Metamaterials (SDM) [52], where the electromagnetic proprieties of materials can be reconfigured through software. This architecture is adopted in some reviewed studies, such as [53]- [55].

2) HIERARCHICAL ARCHITECTURE
This architecture divides the network into different tiers at different levels as shown in Fig.3. The smallest and less powerful nanodevices, nanosensors, reside at the lowest level where the nanorouter/nanocontroller, is on the next level. Finally, the gateway is usually attached to the nanocontrollers to collect the sensed data at the highest level. This architecture is adopted in many studies such as [36], [56], [57] among others. The two previous architectures can build three different network topologies for WNSN: namely, cluster-based, mesh and infrastructure-based networks [37]. The mesh topology is based on the identical architecture, whereas the cluster and infrastructure topologies are based on the hierarchical architecture. In the cluster-based network, a group of nanosensors is controlled and managed by nanocontroller as a cluster head, such as [19], [58], [59]. On the other hand, in the infrastructure-based network, the nanosensors are not permanently attached to specific nanocontrollers [60].
Connecting multiple WNSNs will form the nano part of the IoNT paradigm. The limited characteristics of nanodevices dictate that IoNT architecture maintains hierarchical WNSN architecture as the best candidate for the nano part [60]- [62].
Developing network architecture is the starting point for designing a routing protocol that permits the delivery of the collected data to their destinations.

III. PRINCIPLE CHARACTERISTICS OF WNSN
Due to the appealing benefits that can be gained from WNSN and IoNT, many challenges must be resolved to make this vision be a reality. The limited capabilities and characteristics of nanodevices within the WNSN lead to many constraints. These constraints require designing new routing protocols and techniques that consider nanodevice specificity and nano communication properties. In fact, designing effective architecture and routing protocols of such networks entails the consideration of two essential characteristics [36]: TB wireless communication and the energy supply system, presented in the following subsections.

A. TB WIRELESS COMMUNICATION
The nanoantennas proposed for nanodevices are made from graphene. The appropriate frequency for this new technology is TB (0.1-10.0 THz). For nanodevices communication, TB is the most convenient for the electromagnetic properties of a graphene antenna [63]. TB mitigates the spectrum scarcity and limited capacity of the current wireless communication, which enable pioneering applications domains at the nanoscale [64], [65].
The main characteristics of TB communication are the considerable available bandwidth and high propagation loss [36]. On the one hand, TB provides extremely high data rates and very large bandwidth that allow the implementation of simple communication mechanisms adapted to nanodevices' limited capabilities [64]. This promising bandwidth permits new channel sharing schemes and information modulation techniques.
However, on the other hand, TB communication is characterized by an extremely high propagation loss. This propagation loss is due to the molecular absorption, frequency selective path loss and noise [66]- [68]. For example, the molecular absorption, in the medium, attenuates the transmitted signals and introduces noise when signals pass through different types of molecules [69]. Hence, TB communication quality becomes very sensitive to frequencies due to this molecular absorption [70]. Consequently, to reduce the propagation loss effect, TB communication can be effective only with a very limited transmission range. For example, TB communication can reach an extremely high physical data rate (Tbps) but with a transmission distance of few millimeters in the air as a medium. However, a high path loss is presented in the human body environment, influencing the communication process with a lower transmission rate and a very small communication ranges [71]. This makes the TB channel a challenge for countering many phenomena in the targeted medium, such as molecular absorption and scattering.
The development of technologies to realize TB communication is ongoing to deal with the nanodevice specificities and nano communication challenges [64].
In conclusion, the TB characteristics must be considered when designing routing protocols to accommodate nano communication properties while making nanodevices perform the required task efficiently.

B. ENERGY SUPPLY SYSTEM
Sufficient power is needed for independent and continuous nanodevice operations to perform its functions, such as processing, sensing, transmitting, and receiving data. The nanodevice's tiny size restricts its energy storage, limiting its working period and, consequently, affecting the network performance [18], [72]. The energy limitation is a significant challenge since it could make communication in WNSN impossible [7], [73]. Finding an alternative power source for a nanodevice without adding overhead is still an open issue.
Two different solutions are adopted to power nanodevices [51]: nanobatteries and energy harvesting techniques.

1) NANOBATTERIES
Efforts are made toward the development of nanoscale batteries from nanomaterial with a reasonable lifetime, high capacity, and controlled charge/discharge rates [46], [74].
Lithium nanobatteries as a potential opportunity for powering nanodevices are built using alumina membranes [43], [75]. In [44], the authors present the implementation of nanobattery's prototypes, in which a parallel array of nanobatteries are connected to form a battery.
Another effort inspired by the structure of a pomegranates is made in [76]. In this work, the battery is composed of silicon atoms encapsulated by a conductive carbon layer to allow enough space for contraction and expansion.
In all cases, nanodevices' size restriction makes the task of changing or periodically recharging nanobatteries a challenge in real application scenarios.

2) ENERGY HARVESTING USING NANOGENERATORS
To guarantee sustainable network performance and to power nanodevices efficiently, recent studies have changed their approach in finding alternative solutions. Energy harvesting techniques have been proposed to replenish the nanodevices' energy [47].
Harvesting energy, as studies demonstrate, is the most feasible, flexible, and reliable solution to power nanodevices [37], [42], [51]. This approach is used in batteryless Wireless Sensor Networks (WSN), where the energy is harvested from the surrounding environment such as solar energy from the sunlight [77], or kinetic energy from wind power or underwater turbulences [78]. These harvesting mechanisms cannot be utilized in WNSNs, as stated in work [38]. For example, sunlight is not a source of energy in many WNSNs applications. Furthermore, the kinetic energy mechanism is not feasible at nanoscale due to technology limitations [38]. In this case, the nanoscale size restriction and the available nanotechnology constraints affect the harvesting rate gained from the environment, which is much smaller in WNSN than in WSN. Moreover, the size of the capacitor to store the harvested energy is smaller in WNSN compared with the WSN. Therefore, developing new technologies to capture the energy harvesting peculiarities and requirements at the nanoscale is still under research.
The principle of harvesting energy in WNSN is based on developing a nanogenerator that can convert mechanical, vibrational, hydraulic energy, or even electromagnetic waves into electric energy [28]. For the first three types, we can cite human body movements, acoustic waves, and blood flow [28]. The produced electric energy then can be used by the nanodevice or conserved in a nanocapacitor [79].
Two different approaches adopting piezoelectric nanogenerators have been proposed for WNSNs, namely, energy harvesting from the environment and Wireless Power Transfer (WPT) [37]. Some studies combine both approaches as a hybrid solution [40], [60].
• Energy harvesting from the environment: in this approach, the nanodevice is self-powered by the mechanical forces in the surrounding environment [38]. Hence, the nanodevice can be either active or asleep to save its energy and resources. This concept is introduced in many studies, such as [85]- [87]. However, the energy harvested rate is not constant since it varies based on the environment [37], [40].
• Wireless Power Transfer (WPT): in this approach, an external entity such as ultrasound [88] radiates waves. These waves vibrate the piezoelectric nanogenerator, generating a constant energy harvest rate, irrespective of environmental conditions. The harvested energy is up to three orders of magnitude higher than the energy harvested from the environment [37]. However, it demands turning on the external entity to activate the network [53], which, in turn, forces the nanodevices to be always active. Due to the nanodevice's size restriction, the harvested energy takes several seconds to be harvested. However, it is consumed in nanoseconds [38]. It is essential to know the energy requirement and the adopted energy supply system when designing solutions for WNSNs. For example, in the medical domain, heartbeats provide an energy harvesting scheme for nanodevices inside the human body [19], where the nanogenerator of the nanodevice is motivated by the heartbeat to achieve 95% of the maximum energy in 2361s. VOLUME 8, 2020 With this maximum harvested energy, the nanodevice can send up to 8 packets of 200 bits [19].
Since the time needed to recharge the individual nanodevice is very high, finding alternative ways to reduce the nanodevice energy consumption is critical. In fact, optimizing the consumed energy is a significant challenge when designing perpetual WNSNs. Many studies exploit the harvesting energy techniques effectively and optimize energy consumption to prolong the network lifetime [72], [73], [89]. Due to the large data gathered from nanodevices, and since most of the nanodevice energy is dissipated on packets transmission, an energy efficient routing protocol plays a major role in optimizing the energy consumption and improve the network performance [7].
In general, designing a routing protocol must consider the specification and communication at the physical and MAC layers, which affect the overall performance. In the following section, the efforts in these layers are presented.

IV. PROTOCOLS AND SPECIFICATIONS AT PHYSICAL AND MAC LAYERS
Due to the peculiar specifications and characteristics of WNSNs and nanoscale restrictions, traditional communication protocols are not feasible. This necessitates the development of new communication protocols that tackle these requirements to provide robust communication [42]. Considerable efforts have been devoted to design protocol stacks of WNSN that meet nanonetwork specifications. A quick review of communication protocols and specifications at physical and MAC layers is presented in the next subsections.

A. PROTOCOL AND SPECIFICATIONS AT PHYSICAL LAYER
The communication protocols at the physical layer play a significant role in transmitting data over the physical link. This subsection briefly describes some specifications of the physical layer.
At the physical layer, severe EM communication issues must be addressed to design effective routing protocol, starting from communication channel and hardware, channel models, data modulation schemes and channel coding [90]. The following presents a quick review of some research's efforts on the physical layer for nano communications with the different aspects of each.

1) TB CHANNEL MODELS
Many factors affect the characteristics of a transmitted signal in wireless communication when it travels through the medium to reach the receiver. These factors include the medium composition, the frequency of the transmission, the environment obstacles, and the distance between the communicating pair [91]. Channel characteristics for nanonetworks may differ based on application scenarios [18]. Thus, providing a channel model for EM communication must incorporate path loss, molecular absorption noise, channel capacity, and studied under different network conditions [18], [92].
An early effort to investigate the TB channel capacity for EM communication is presented in [93] and [94]. For these works, the TB channel capacity is evaluated using a proposed TB propagation model under different proposed power allocation schemes. Moreover, a physical channel model for EM communication based on radiative transfer theory is proposed in [94] to compute the TB path loss and molecular absorption noise. On the other hand, [69] proposes a simple TB channel model for WNSN applications that can be adopted for complex mediums such as the human body or air and can easily be extended to other environments.

2) CHANNEL HARDWARE (NANOANTENNA UNIT)
Each nanodevice has a very limited size and is built from nanoscale components, including antenna, EM transceiver, etc. [7], [28]. The limited size and power require an antenna that can radiate in extremely high frequencies at the nanoscale in an energy efficient way [36]. Designing a nanoantenna that radiates in TB [95] is a necessity. As explained before in section III-A, a graphene is used to develop a nanoantenna that radiates in TB (0.1THz-10THz). This permits the implementation of nanodevices that communicate using EM waves. It provides large bandwidth, but it has a limited transmission range that does not exceed a few tens of millimeters [6], [26]. Hence, the multi-hop transmission is the most affordable method between the communicating pairs to route data until it reaches its destination.
The study [96] analyses the characteristics of a graphenebased nanoantenna and studies their radiation performance. This study paves the way for the future design of graphenebased nanoantenna for nanoscale communication. As [97] investigated, designing a directional nanoantenna can affect the overall network performance. Taking advantage of signal strength increase towards the intended direction can offer stable links and more extended range. The study discusses efforts by other studies on this aspect.

3) DATA MODULATION
Due to the nanoscale constraints mentioned above, adopting long duration signal transmission techniques [98] to transfer information via physical link is not feasible for the nano world. Utilizing the TB characteristics and the vast available bandwidth paves the way to adopt short pulse transmission techniques, which is called Time Spread On-Off Keying (TS-OOK) [99].
Jornet and Akyldiz propose a femtosecond long pulse communication technique that enables the exchange of very short pulses spread throughout the entire spectrum [99]. The graphene-based nanoantenna can radiate these pulses in TB frequency. Moreover, it allows nanodevices to communicate at a very high speed, supporting a very high transmission rate in the short-range and reducing the chance of collisions [29]. A pulse in TS-OOK is encoded as '1' where the absence of a pulse is encoded as '0'. This modulation scheme acts as the building block for most of the existing routing protocols, such as [8], [68] and [58], among others. Furthermore, this modulation paves the way for the invention of other modulations. Thus, designing a low-complexity spike-based signaling encoding scheme through gossiping is discussed in [100]. In this solution, the information extraction method is proposed to get data from the network using spikebased communication between nodes. On the other hand, the work [101] proposes a distance-aware and multicarrierbased modulation scheme that provides parallel data transmission in several sub-channels. Another modulation scheme based on TS-OOK is proposed [95], called Rate Division (RD) TS-OOK, and is adopted in the routing algorithm proposed in study [53].

4) CHANNEL CODING
In dense networks, huge nanodevices must be deployed to serve the intended application. Thus, the adjacent transmission of packets could collide and interfere, resulting in packet loss and waste of nodes' energy and resources. To cope with this issue, efforts are dedicated to provide low-complexity channel coding mechanisms for EM communication.
Jornet et al., in [102] and [103], propose a scheme using a low-weight coding mechanism that controls the weight of the transmitted code to minimize the interference in pulse-based EM communication.
Other two efficient coding algorithms, namely, binary tree-based weight-decreasing and binary tree-based lengthdecreasing, are proposed in [104]. Their target is to minimize transmission energy while maintaining a decent throughput for WNSN. The study constructs variable-length low-weight prefix-free codes based on pulse-based modulation.
The tradeoff between error correction, latency, and energy consumption using the offered mathematical framework is investigated in [105]. The study presents a cross-layer analysis of error control schemes for five error control strategies. Another study, in [106], presents a pulse-position coding scheme to minimize interference while improving both the information delay and capacity for EM communication. To achieve energy efficient and robust WNSN communication in a multimedia application, [107] examines energy awareness and reliable correction codes. It proposes different coding schemes, namely, Nanonetwork Minimum Energy code, Simple and Energy Efficient Image Compression, and Simple Block Nanocode. Meanwhile, [108] proposes an energy efficient coding and energy model considering both the energy consumption of a transmitter and a receiver. Research on the existing coding solutions for EM communication is presented in [109]. Based on their study and classifications, a communication energy-consumption minimization coding is proposed.
The direct effect of nanodevices' specifications and protocols at the physical layer on routing data can affect the overall network performance. Hence, many issues can challenge the realization of WNSN and IoNT communication, which demands considering these aspects at the physical layer when designing a routing protocol.

B. PROTOCOLS AND SPECIFICATIONS AT MAC LAYER
In traditional wireless communication, the MAC layer is one of the two sub-layers in the data link layer. This layer specifies rules and agreements to coordinate accessing the shared medium among multiple nodes at the same time while maintaining better network performance and throughput. Many efforts are made in this layer to control accessing the shared TB channel. This section presents the challenges faced while designing MAC protocols.
In contrast to wireless networks where the limited bandwidth forces nodes to follow either a tight time-scheduling scheme or fight to acquire the channel, EM WNSN with TB channel offers a huge available bandwidth. This huge available bandwidth provides a very high data rate and, hence, a very short transmission time, which considerably reduces the collision probability. Nevertheless, the nanoscale constraints that impose the nanodevices' limited energy with the low transmission power of nano transceivers and high pathloss in TB require the use of MAC protocols to control the channel behavior [32]. Moreover, the nature of nanoscale density in most application scenarios increases the collision probability between concurrent transmissions of adjacent nodes [65], [90]. The MAC protocol will coordinate the access to the shared TB channel among nodes to optimize the bandwidth usage and minimize the number of collisions. As a result, the network performance is maintained, and the nodes' resources are conserved while routing data.
However, the classical MAC protocols designed for WSN, are not directly applicable for WNSN due to the peculiarities of nanodevices mentioned above and the pulse-based communication system. In light of the nanodevices' energy and size constraints at TB frequencies, nanodevices cannot generate a high-power signal. They need fast and energy efficient communication, which is provided by pulse-based approaches. The use of pulse-based communication, however, makes the traditional access control protocols as Carrier Sensing Multiple Access (CSMA) protocol and all its variants, not a feasible candidate because there is no continuous carrier signal to sense. Also, protocols based on synchronization are challenging to be adopted in dense networks [6]. Such protocols should be modified, simplified, and adapted to WNSN specificities.
The research works [6], [110] and [18] discuss the challenges that need to be addressed and pinpoint suggestions while designing effective MAC protocols for WNSN. In this direction, several new protocols have been recently proposed. A comprehensive survey that reviews many MAC protocols for TB communication is presented in [111]. This paper highlights the challenges faced and the future research directions of MAC protocols. The proposed MAC protocols for TB are studied in-depth and categorized into three classes based on: 1) Network topologies as centralized, distributed, and clustered networks, 2) Channel access mechanisms as contention-based, contention-free and hybrid protocols, 3) Handshake mechanisms as receiver-initiated or transmitter-initiated communication. In all cases, to maintain a high network throughput, the intended routing protocol must consider the adopted MAC protocol. This guarantees efficient data delivery, especially in simultaneous transmissions to mitigate packet collision and consequently minimize packet loss.

V. SURVEY OF ROUTING PROTOCOLS FOR WNSN AND IoNT
Routing and forwarding are defined as the essential process of communication network to allow data transmission from one node to another [7].
Traditional routing protocols such as the hierarchical protocol Low-Energy Adaptive Clustering Hierarchy (LEACH) [112], the geographical protocol Geographic and Energy Aware Routing (GEAR) [113], the classical ad-hoc protocol Ad-hoc On-Demand Distance Vector Routing (AODV) [114] or the proactive protocol Energy efficient Optimized Link State Routing (EOLSR) [115] among others designed for ad hoc and WSN, cannot be applied in WNSNs due to the nanodevices specificities and constraints mentioned above. The suitable routing protocol for the nanoscale network should be simple, scalable, and optimize the use of the nodes' resources.
Flooding routing is the most straightforward communication protocol where the received packet is blindly retransmitted to all nodes. Using the flooding routing in a dense nanoscale network as WNSN, exhausts the nodes' resources and degrades the network performance by drowning the network with redundant packets forming a broadcast storm problem [116]. Reducing the number of packet retransmissions and providing efficient networking and application services for EM WNSNs while maintaining lower design cost is still an issue. Many studies have focused on this issue and proposed routing protocols for EM WNSNs that consider the specificities of WNSNs and aim to improve the network performance.
In the following, we present a review of a number of these routing protocols. We classify these protocols into six categories: probabilistic-based routing scheme, cluster-based routing scheme, node classification-based routing scheme, hop count-based routing scheme, wake up-based routing scheme, and other routing schemes. This classification is conducted based on how the forwarding process is done.

1) PROBABILISTIC-BASED ROUTING SCHEME
Some studies direct their routing scheme design toward a probabilistic forwarding. Among these studies, the work in [36] is designed for 2D topology with static nanodevices, where only one nanocontroller manages the forwarding process on the nanosensors. However, the studies [117] and [118] are designed for 3D topology using mobile nanosensors, where the forwarding decision is achieved locally at each nanosensor. Both works [36] and [118] consider the energy harvesting process of nanodevices, while [117] does not. The research target in [36] is to develop an energy efficient routing algorithm while considering the characteristics of the energy harvesting process of nanodevices and TB communication. The study proposes a novel routing framework that saves the nanosensors' average energy harvested from the environment while increasing overall throughput. The proposed nanonetwork is organized in hierarchical clusters with a nanocontroller as a cluster head. The routing framework decision is devised based on a MAC protocol proposed in [119]. The suggested routing algorithm is either single hop or multi-hop. The decision is taken in each hop by the nanocontroller based on a probability value considering energy savings through multi-hop transmission. Fig.4. presents a graphical representation of the nanonetwork for computing the probability of energy saving. This probability is based on the distance between the nanocontroller and the nanosensor (Zn) for one-hop communication. For two-hop communication, the distance between the nanosensor and the next hop (Xn) and the distance between the next hop and the nanocontroller (Yn) is used to compute this probability. Two parameters are evaluated, namely, the Critical Neighborhood Range (CNR) and the Required Transmission Power (RTP), to achieve the best tradeoff between the distance and the throughput while satisfying the condition for infinite network lifetime (consumed energy ≤ harvested energy). Every time a nanosensor intends to transmit data, the nanocontroller based on the computed probability decides if the data should be sent directly to the nanocontroller in one-hop transmission or to another node for multi-hop transmission. This decision is sent to the nanosensor with the transmission power that should be used to forward the data. In the proposed framework, the probability of energy saving increases when the distance between the nanosensors and the nanocontroller increases. In this case, the multi-hop transmission is more beneficial. However, for the multi-hop, simulations are done for only two hops count. Moreover, the approach is complex, and its complexity increases when the number of hops increases. This solution has been studied on static nanosensors.
Nevertheless, nanosensor mobility may increase the packet loss since it causes changes in the node link and channel quality. Thus, designing a routing scheme for mobile WNSN is a challenge. To solve this issue, [118] and [117] introduce routing schemes for mobile WNSNs that aim to reduce the redundant transmissions while maintaining network connectivity. Both solutions are simulated using the Nano-Sim model. Xu et al.,in [118], propose an opportunistic routing protocol. This protocol is based on an energy harvesting system. In this solution, a piezoelectric nano energy acquisition system is adopted as an energy supplement. A survivability model and motion vector model are also introduced to characterize the energy harvesting feature and the movement of the nanosensors. In the beginning, a forwarding probability is set to 0. Then, it is computed periodically based on the nanosensor's distance from the nanocontroller and its residual energy. A nanosensor that is closer to the nanocontroller and has more reliable survivability will have higher forwarding probability. Based on this forwarding probability, a set of nanosensor candidates is selected to forward the data packet. Then, a back-off time is set for each candidate to wait before forwarding the data packet. This back-off time is computed based on the forwarding probability. All candidate nodes receive the data packet and cache it. Node with the shortest back-off time will have a higher priority to forward the data packet. The protocol is evaluated in terms of energy consumption, effective throughput, and transmission success rate. The comparison is made with flooding protocol [31] and ExOR [120]. The authors show that the proposed solution can be adopted in mobile WNSN and provides better results when node density is increased compared with the other schemes. The results prove that adopting energy harvesting can prolong the network lifetime. Even though, it does not utilize the sleeping technique to conserve nanosensors' energy. Furthermore, the computation of periodic forward probability increases the processing overhead.
Seeking simplicity, Oukhatar et al. in [117] introduce a simple probabilistic forwarding scheme. For each data packet reception, a nanosensor generates a random forwarding probability value and compares it with a fixed threshold value. If the value is lesser than the threshold, then it forwards the packet, stores its ID, and sets a local flag. Otherwise, it discards it. The threshold value is fixed based on the network density. If the network has low density, the threshold selection is between 0.6 and 1, because few nanosensors share the transmission coverage. Hence, only some nodes can retransmit. However, in a dense network, the threshold value falls between 0 and 0.6, reducing the number of nanosensors that should forward the data. Three metrics are used to evaluate the performance of this solution: energy consumption, average packet delivery ratio, and latency. The simulation results indicate that this solution outperforms the simple flooding in terms of energy saving and packet delivery ratio. Furthermore, a reduction in the packet retransmissions is observed while the latency in both protocols is close. The energy supplement is not adopted in this solution.
Tables 1 and 2 summarize the main points of these works.

2) CLUSTER-BASED ROUTING SCHEME
To mitigate the operation complexity toward nanocontrollers while relieving nanosensors from computation overhead, some studies adopt cluster-based topology in their solutions. This subsection reviews routing schemes that are applied over formed clusters. These research works can be classified into two classes based on the type of the target network. When the solutions aim for the intra-body applications, the IoNT network is considered. Other solutions are proposed for WNSNs. In the following, we review some protocols proposed for each class.

Routing schemes for IoNT
Lee et al. [8] have designed a conceptual WNSN model for intra-body communications in disease detection applications. The proposed design represents the organ as a cylindrical 3D shape where the nanosensors are deployed in the hexagonal cell, as shown in Fig.5. The study presents an energy consumption model based on the path loss model proposed in [93] and [94]. Three different routing methods, namely single hop, multi-hop, and hybrid form, are studied to find the best solution for the proposed architecture. These routing methods are used: (1) within layer, sensed data will be transmitted from nanosensors to that layer's nanocontroller. This nanocontroller acts as a cluster head for the layer. (2) between layers, all collected data at the nanocontroller of each layer is transmitted to the top layer-nanocontroller. Each possible combination of the three routing methods is applied to select the best and most effective combination within the layer and between layers. The selected methods must demonstrate a lower total energy consumption of the overall system based on the proposed energy model. Performance evaluation shows that the best routing methods combination to minimize the total energy are multi-hop or hybrid within layer and hybrid between layers. However, the adopted routing scheme suffers from a single point of failure. Since all the collected data is transmitted to a single nanocontroller in the top layer, the energy of this nanocontroller will expire quickly. Thus, the communication between the intrabody nanonetwork and the external world will disconnect. Moreover, no mechanism to prolong the lifetime of this nanocontroller is used since the study does not exploit the energy harvesting process of nanodevices.
In [19], Piro et al. incorporated intra-body nanonetwork with a macro scale healthcare system in hierarchical network architecture. This architecture handles the request/response communication process between macro scale devices and nanodevices in both directions. Two different energy efficient routing protocols are deployed to deliver the incoming requests to a suitable nanonode while considering the energy harvesting process of nanodevices. In the first approach, called optimal routing protocol, the nanocontroller selects the most suitable nanosensor to relay the request while maximizing the overall amount of energy available for each cluster. It is based on the energy model derived in [38]. This approach is complex and needs high computational cost to be performed with the nanodevices' constraints. In the second approach, called greedy routing protocol, the nanocontroller selects the nanosensor with the highest energy level to relay the request. This approach is simpler and can be implemented easily in nanosensors. In order to identify the available nanosensors in each cluster and know their energy level, a handshake mechanism is developed at the MAC layer in both approaches. The simulation is conducted using Nano-Sim, where a nano-micro interface (gateway) and nanocontrollers are placed in fixed positions, and nanosensors move with the blood flow.
Comparable to the simple flooding scheme, the proposed routing schemes provide better performance. An energy efficient routing scheme based on clustering composition where nanosensors are deployed in clusters to retain efficient connectivity among them is proposed in [121] and [67]. Each cluster is constructed from a cluster coordinator, cluster members, and cooperative relays. The nanosensors with a value of residual energy above a certain threshold will participate in forming the cluster. From these nanosensors, only one will be selected as the cluster coordinator. The determination of the cluster coordinator is based on residual energy, and packet forward ratio. The process of building clusters and the election of a cluster coordinator will be done periodically to distribute the load uniformly among nanosensors. The cluster relays act as a cluster gateway performing the communication between the cluster coordinators when the cluster coordinators are not in the transmission range of each other. Two different communication schemes are performed: intra cluster and inter cluster. The intra cluster communication is performed between the cluster coordinator and the cluster members who have data to transmit. The transmission may be single hop or multi-hop based on the energy consumed per bit. If the energy consumed in the multi-hop link is higher than the direct link, the data will be transmitted directly using single hop to the cluster coordinator. Otherwise, a multi-hop transmission will take place between cluster members to reach the coordinator. On the other hand, the inter cluster communication is performed between cluster coordinators using cluster relays if the communication cannot be done in one hop. The proposed scheme outperforms the random forwarding scheme. However, this solution does not consider the characteristics of the energy harvesting process of nanodevices. Afsana et al.,in [59], extend the work done in [67]. They investigate a model for channel behavior and introduce an energy model joining the energy harvesting and consumption. The considered nanonetwork is divided into layers as shown in Fig.6. Each layer contains many clusters. The clustering process is done only once for the entire network. Each nanosensor determines its respective layer upon receiving a broadcast message from the nanocontroller. Then, an election process occurs. A nanosensor is elected as a cluster head (cluster coordinator) based on its residual energy. The data transmission phase is conducted periodically. First, the nanocontroller broadcasts a request packet. Any nanosensor that has data to send replies with the amount of data to send and its residual energy. The nanocontroller prioritizes the receiving data process based on the amount of data. Then, it conducts the transmission scheduling in three phases. Initially, a nanocontroller sends a wake-up packet to the highest priority layer to activate nanosensors with data to send. In the intra cluster period, the nanosensors forward the collected data to its respective cluster coordinator in single or multi-hop based on the energy consumption per bit. Then, inter cluster communication occurs where cluster coordinators aggregate and forward data to adjacent coordinators of the lower layer. After that, the cluster coordinators start a new election process. All nanosensors go to harvesting state at the end of the process, except the new cluster coordinators. The data transmission phase is stopped until another wakeup message arrives. This solution is simulated using the Nano-Sim model. Evaluation is conducted in terms of energy saving probability, outage capacity and outage probability compared to [36]. Results confirm that the scheme's effectiveness in both single and multi-hop communication outperforms the compared approach in saving energy. In the solutions proposed for IoNT, the high number of control messages exchanged to build the cluster and elect the cluster coordinator for each data transmission phase reduces the network performance. As in [8], the topology in [59] is based only on one nanocontroller that receives all data collected. The energy of this nanocontroller will run out quickly since nanocontrollers like nanosensors are limited by their size and power constraints. As a result, this nanocontroller presents a single point of failure between the intrabody nanonetwork and the external world. Moreover, in all presented solutions, no mechanism to conserve the energy of this nanocontroller is considered.

Routing schemes for WNSN
In the context of cluster-based WNSN, where nanosensors are mobile, authors, in [58], introduce mobility management based on fuzzy logic to deliver the data packet to static nanocontrollers. In this solution, energy scavenging techniques are considered. The network is divided into clusters, each controlled by a nanocontroller. Each mobile nanosensor should select the appropriate nanocontroller when it has data to send. The decision to select the nanocontroller is based on three criteria: the distance from the nanocontroller, residual energy, and the traffic load of this nanocontroller. Nanosensors periodically broadcast exploration packets to detect the most suitable nanocontroller for receiving its data packet. Any nanocontroller that receives this packet will answer with an ACK packet containing its residual energy and traffic load. These metrics are used by the nanosensor to apply fuzzy logic functions and infer a decision value. The decision value determines which nanocontroller is selected to be the cluster head for this nanosensor. The communication between the nanosensor and the nanocontroller of its cluster is done in one hop. The proposed model is simulated using NS-3 and compared to a non-fuzzy scheme that is based on the distance to deliver the data. The evaluation is conducted in terms of energy consumption, packet loss ratio, successful packet delivery rate, and end-to-end delay. This solution outperforms the compared approach. However, the proposed model suffers from: (1) a computation complexity at nanosensors that is imposed by the fuzzy logic methods, (2) a large memory needed to store the fuzzy rules, and (3) the clustering overhead of message exchange whenever nanosensors move. Tables 3 and 4 summarize research works in this category.

3) NODE CLASSIFICATION-BASED ROUTING SCHEME
As a means of improving performance and decreasing the number of packet retransmission in the network, many studies propose to reduce the number of nanosensors that forward the same packet between the source and the destination. The concept is based on the nanosensors' self-classification either as a retransmitter or as a user in the network. The retransmitter nanosensor will forward any incoming packet. However, the user nanosensor can perform read-only or sensing tasks but it is not involved in the packet-forwarding process.
In this context, efforts to guarantee nanosensors communication while minimizing the number of packets exchanged and redundant transmissions are presented in research works [122], [123] and [53]. The presented schemes are simulated using the Anylogic platform [124] and consider identical WNSN architecture, where all nanodevices are nanosensors placed on static positions.
Based on the reception quality, Liaskos et al.,in [122], introduce a 2D routing scheme where nanosensors with good reception quality are considered as retransmitters while others considered as users. Initially, any packet received will be forwarded blindly. During the packet reception, each nanosensor computes its signal to interference ratio (SINR) level. Based on this SINR, the nanosensor classifies itself as a retransmitter or a user. The proposed solution is evaluated by comparing the theoretical results of nanosensors' patterns with results derived from the simulation. Then, the protocol performance is compared with optimal probabilistic and the CSMA/CA in terms of coverage, service time, packets sent, packets received, and collide rate. Results prove that the simulated patterns match the theoretically expected one. Furthermore, the comparison of results proves the protocol effectiveness in reducing the redundant packets and eventually saving energy.
The research work in [123] discusses many aspects of realistic implementation requirements using 2D and 3D topologies. The power supplies for nanosensors are based on two approaches: WPT [125], which is the eminent solution and energy harvesting which is considered as the secondary solution. Tsioliaridou et al., in [123], propose a scheme that classifies nanosensors based on local packet reception statistics. Every nanosensor logs reception outcomes of the received packets into successful or failed events in a sequential stream. The sequential stream is processed by a Misra-Gries-based Dynamic Infrastructure (MG-DI) algorithm to discover the most frequent event to infer the node classification. If successful reception is the most frequent, then the nanosensor is classified as a retransmitter, otherwise, as a user. An example of nanosensor classification in the 2D layout is shown in Fig.7. The performance is evaluated and compared to the previous work [122], CSMA/CA [126], and optimal flood [127]. Results show that only CSMS/CA and [122] outperform other approaches in terms of network coverage. However, the proposed scheme is better than the complex CSMA/CA, providing good network coverage with shorter network service time, reduced packet retransmissions, and lower packet collision rate with fewer resources.
The study [53] introduces a 2D routing scheme that route packets in a peer-to-peer mode based on past statistics of packet reception and adopting the same infrastructure concept used in [123]. The assumed power source for the system is WPT. Each nanonode can transmit a packet in two modes: low power (small transmission range) and normal power (larger transmission range). The system defines two operation phases: the deployment phase and the data routing phase. In the former, an external user selects a beacon node to broadcast a beacon packet periodically. This beacon packet is then retransmitted until it reaches all nanosensors. This phase is conducted in two rounds. In the first round, the low power mode is used. Then, the normal power is used in the second round. In each round, packet statistics (failed or successful packet reception) are collected. After both rounds are terminated, the deployment phase is stopped, and each nanosensor classifies itself as a retransmitter or user based on the collected statistics. Then, the data-routing phase starts where a nanosensor retransmits a data packet based on its classification. This solution is compared to the related peerto-peer Coordinate and Routing system for Nanonetworks (CORONA) [128], optimal flood, and the scheme in [123]. The results prove the effectiveness of the proposed scheme in peer-to-peer mode compared to the other solutions with lower packet retransmission rates.
Previous researches presented in this subsection V-3 assume a static position for the nanosensors. These works reduce the number of packets sent and received in the network, since only retransmitter nanosensors forward data packets. However, there is no defined path for the data packet; each node that receives the packet, if it is a retransmitter, retransmits it blindly. Consequently, there are broadcast exchange packets overhead. The study [123] suffers from computation overheads in the deployment phase. The energy source in [53] depends on WPT. Hence, nanosensors are active only when the external entity is turned on. Thus, no sleeping techniques can be applied. However, [123] investigates the energy harvesting approach, but the scheme performance was reduced. Tables 5 and 6 summarizes the mentioned works.

4) HOP COUNT-BASED ROUTING SCHEME
This subsection presents routing schemes that forward data packets based on the number of hops on the path between the source and the destination. In this context, different routing schemes are proposed with different perspectives and concerns. We can classify these protocols in two classes based on the adopted network: protocols for WNSN and protocols for IoNT networks.

Routing schemes for WNSN
In [128], the authors propose a 2D peer-to-peer addressing and routing scheme, called CORONA, for WNSN. VOLUME 8, 2020 CORONA is a geographic routing protocol that has two phases: setup and operation. Two types of nodes are presented, the anchor nodes and the user nodes. In the setup phase (addressing phase), each user node must obtain the number of hops from four anchor nodes. Initially, the anchor nodes sequentially broadcast a single packet with the hop count field set to 1. The receiving nodes update their hop count from the corresponding anchor. Then, it increases the hop count field in the packet by 1 and retransmits the packet. At the end of the process each node localizes its position relative to the anchors. Then, the operation phase starts to route the packets over short paths. The target is to reduce the number of retransmitted packets by defining a path between the source and the destination and reducing the number of hops in this path. For each packet transmission, the sender nanosensor selects two anchor nodes from the four, which yield the lowest number of hops for packet transmission. When the sender selects the appropriate anchor pair, the transmission process is started. The routing scheme shows effective point-topoint communication in the 2D network. Tsioliaridou et al.,in [54], extend the addressing scheme of [128] to a 3D novel trilateration geographic addressing scheme. The addressing scheme is initialized first and conducted only once. The address of nanosensor is a trilateration process [129]. It defines the hop distances from eight anchors, as shown in red and dark blue nodes in Fig.8. All nanosensors in the same area share the same address. On top of the addressing scheme, the routing scheme defines the geometric area that contains the communicated nanosensor pair. Any nanosensor in this area acts as a retransmitter, and this decision is taken based on local information. In the routing phase, the sender selects three anchor points out of the eight that yields the shortest path. These points, transmitted within the packet, are considered as the coordinate system to deliver the packet towards the destination. The receiver checks if the packet already received, it discards it. Otherwise, it stores the packet ID for an interval of time and obtains the usable address from the three anchor points. If the receiver is in the computed address area, then it retransmits the packet. Otherwise, it discards it. The proposed scheme is evaluated using the AnyLogic platform and is compared to the shortest path routing approach. Results show that the scheme reduces the number of retransmissions and provides good performance.
In [130], the study proposes Stateless Linear-path Routing (SLR) that uses the same addressing mechanism as [54], minimizing the path redundancy. Each nanosensor acts as a retransmitter when it is located on the linear path of the communicated nanosensor pair. This routing scheme provides a tunable redundant path to cover network failures while reducing the redundant transmission by adjusting the 3D linear path's width. The efficiency of SLR [130] is compared to CORONA [128]. The simulation is conducted using the AnyLogic platform. The scheme provides better performance in reducing the number of retransmissions per nanosensor while providing better data delivery gained from redundant paths. All the previous studies propose selective flooding routing within network volumes. Unlike works [128] and [54], the study in [55] proposes a routing scheme over curvilinear paths. This study introduces a viewpoints selection optimization algorithm to find the best viewpoints that fit the model. To send a data packet, the sender selects the best viewpoints to be used by the receiver in the routing decision. The nanosensor retransmits the incoming data packet if it is located on the line that connects the communicated pairs. The work has also been simulated using the AnyLogic platform and compared to CORONA. The comparison is made in terms of successful pair communication under different network conditions. The results prove that the proposed scheme achieves a better performance than CORONA in reducing the number of retransmitters, where nanosensors can control the linear path's width.
Thus, it provides a tunable path redundancy to cover the high-loss communications while reducing the number of retransmitters. Hence, it provides a balance between path redundancy and energy consumption. All the cited works are based on the nanosensor's static position and cannot be adopted easily to a mobile network. Furthermore, the schemes do not apply sleeping techniques, and no energy supplement is defined or specified where the energy is not the primary concern of these studies. Moreover, these schemes still have selected flooding when forwarding the packets to reach their destinations. The selected flooding influences energy consumption and affects network connectivity. The schemes also still have computation and memory overheads for every routing decision. Authors in work [57], evaluate the performance of existing WSN routing protocols when adopting them in WNSN. Based on study findings, enhancements in the network layer and transport layer for WNSN can improve the performance. A hierarchical AODV routing protocol is proposed on static hierarchical architecture to reduce control packets transmission while maintaining good performance. In hierarchical AODV, only nanocontrollers participate in the forwarding process of the Route Request (RREQ) packet. This packet travels from the gateway to find the path toward the destination nanosensor. The study simulates the solution using NS-2. Results confirm that the proposed solution achieves a better performance than Destination-Sequenced Distance Vector (DSDV) routing, Dynamic Source Routing (DSR) and AODV. The study plans to implement the solution in real settings. However, the proposed solution still suffers from many control messages. Moreover, the energy harvesting techniques and sleeping propriety for nanodevices are not considered.
Proposing a forwarding scheme that selects the next hop based on the local decision of the node while considering the TB communication channel is presented in [66]. This work proposes a novel forwarding scheme for WNSN to achieve a high channel capacity and avoid large hop counts. The decision to select the next hop balances between minimizing the frequency selective and the number of hops to reach the destination. The scheme performance is evaluated, and the results show that the proposed forwarding scheme outperforms traditional WSN forwarding schemes. Nevertheless, it does not utilize the sleeping techniques, and no energy harvesting techniques are applied.

Routing schemes for IoNT
Two protocols are proposed in [62] for the IoNT network used for healthcare applications: naïve and destructive retrieval. Initially, a hop-count propagation phase is started by the gateway, where all nanosensors have an infinite hop count. The gateway broadcasts a propagation packet with a hop count equal to 0. Upon receiving this packet, any nanosensor determines its hop count; if the stored value is higher than the incoming hop count, it updates its hop count by the incoming hop count plus 1, and broadcasts it to other nanosensors. When all nanosensors determine their hop count, the data-routing phase then takes place. Any nanosensor with data to send attaches its hop count within the data packet and broadcasts it. The receiver nanosensor decides to forward the incoming data packet if its stored hop count is lesser than the one attached to the data packet. If so, the nanosensor forwards the data packet with its hop count attached to it. This process, called naïve algorithm, continues until the packet reaches the gateway. This algorithm can be improved by reducing forwarded data messages, proposing a destructive retrieval algorithm. In this algorithm, the nanosensor that forwards the data packet resets its hop count to infinity. This makes nanosensors forward the data packet only once. However, this improvement requires the gateway to reestablish the hop-count phase again. In both algorithms, nanosensors are assumed to have infinite energy, placed in static positions, and communicate successfully. The evaluation discusses the performance analytically based on the number of messages in the proposed algorithms.
To confirm the analytical evaluation, the proposed algorithms are simulated using NS-3 in two different distributions. Results demonstrate that the destructive retrieval algorithm outperforms the naïve algorithm in reducing the number of messages. Nevertheless, such a scheme cannot be adopted easily in the mobile nanosensors network. Furthermore, there is no indication of how energy is infinite since the energy source is not specified. Even though the solution reduces the messages transmitted, it still floods messages with no consideration for energy constraints. In dense networks, the number of forwarded messages is huge if many nodes have the same hop count. On the other hand, in the second algorithm, the execution of hopcount phase, each data gathering process, adds an overhead to the network.
A summary of the works posted in this subsection is presented in Tables 7 and 8.

5) WAKE UP-BASED ROUTING SCHEME
Some of the revised routing designs ignore nanosensors' ability to conserve energy while they are in a sleep state. In this subsection, we present routing schemes that are based on wake-up mechanisms. In these routing solutions, the nanosensors state is changed from active to sleep to conserve energy. Some solutions are proposed for WNSN architecture, while others focus on IoNT for healthcare applications.

Routing schemes for WNSN
To avoid the complex computation needed to handle routing operations, [68] proposes a simple and efficient VOLUME 8, 2020  flooding technique for identical WNSN architecture, called RADAR. A central entity rotates regularly at a certain angle and radiates to change the nanosensors' state from sleeping to active in the region of radiation. Hence, at any given time, some nanosensors are active while others are in the sleep state. Consequently, the number of packets in the network is reduced compared to the original flooding techniques, leading to a better throughput and collision reduction. In this routing scheme, nanosensors are placed in static positions. Each nanosensor acts as a router and broadcast any packet received for the first time. The simulation results of the proposed routing using Nano-Sim prove its effectiveness in network reliability and energy savings.
However, this work does not consider the energy harvesting process characteristics of nanodevices. Moreover, in dense nanonetwork, broadcasting is a source of energy consumption, which reduces the network lifetime.

Routing schemes for IoNT
Many studies focus on IoNT for the intra-body application while considering energy consumption. Liu et al. in [131] and [132] propose an energy efficient data collection scheme that adopts piezoelectric system to gain energy from the heartbeat of the human body. Hierarchical network architecture is considered where nanocontrollers and gateway are placed in static positions while nanosensors move along the artery. A request is sent from an external entity toward the gateway to start the data gathering process. The gateway then sends the request to all nanocontrollers. The nanocontrollers, in turn, broadcast an activation message to activate the sleeping nanosensors in its wake-up area and request the available energy. It is assumed that all nanosensors will stay in sleep state and change to an active state when the activation message is received. However, the nanosensors that are outside the wake-up area will stay in the sleep state. The activated nanosensors answer the specified nanocontroller by sending a feedback message containing their current energy. Based on the received messages, each nanocontroller selects a nanosensor with the highest amount of energy. Then, it sends the request message to the selected nanosensor to perform the required task. After the selected nanosensor completes the datagathering task, it sends back the answer message to the nanocontroller. Then, it returns to the sleep state. The response will be sent back from the nanocontroller to the gateway then reach the external entity. The performance of the proposed solution is evaluated in terms of path loss and available energy. The result shows that nanosensors' density directly impacts the available energy and a slight effect on path loss. The scheme achieves better performances when the nanosensors' density is between 1.0 to 1.5 nanosensors per mm, and a smaller wake-up region is specified. However, activating all nanosensors in the area and receiving the feedback lead to a high delay and energy consumption. Moreover, the energy is wasted in nanosensors that have been awakened but not selected. To minimize energy consumption and delays from sending feedback messages in studies [131] and [132], Chen et al. enhance the wake-up strategy by proposing a mechanism that gradually activates the nanosensors, called a Local Node Respond (LNR) [133]. A selection strategy called Node Priority (NP) is introduced to select a target nanosensor to finish the datagathering task. The LNR starts when the nanocontroller first broadcasts challenge messages containing budget energy to perform the required task. The broadcast range is divided into layers. If the first layer does not respond during the defined period, then the message enters the next layer until a response meets the budget value. Nanosensors that receive a challenge message and have energy within the this budget range will switch to active mode and send a feedback message with the current energy. However, other nanosensors in the wake-up area but not within the budget energy range stay in the sleep state. Then, the nanocontroller performs the NP strategy to select the target nanosensor to collect data. This strategy is performed every time a nanocontroller receives the feedback messages from nanosensors. It considers the distance from the nanocontroller and each node's current energy as the priority in the selection process. The nanosensor with the shortest distance and highest energy has the highest chance to be selected. The selected nanosensor collects and sends the data. Then, it saves its current energy and goes to sleep state. The performance of the proposed scheme [133] is evaluated in terms of the available nanosensors and the probability of energy saving. Results demonstrate that the proposed scheme can achieve effective improvement in saving energy and transmission quality compared with the traditional wake-up mechanism. In these solutions [131]- [133], the wake-up mechanism is not clear, since, in the sleep state, the nodes cannot perform any operation. When nodes are sleeping, their radios are turned off, and they cannot receive any message. Furthermore, there are broadcast overhead and messages overhead for each data request to select nodes that perform data collection. The Research work in [60] introduces hierarchical BAN architecture in a human hand scenario, where an external gateway is placed at the dorsum of a hand, a nanocontroller is implanted into the skin, and nanosensors move with the bloodstream. Fig.9. shows the model architecture. Both nanodevices (nanocontroller and nanosensors) are powered by energy harvesting techniques using piezoelectric nanowires and a rechargeable nanocapacitor. The study analyzes an energy management model for the proposed BAN to assess the consumed and harvested energy for nanodevices. Using the WPT method, the nanocontroller harvests energy from an external ultrasound source placed near the gateway. The nanosensors harvesting the energy from the bloodstream will also utilize the WPT method when they are near the gateway. In the proposed routing scheme, the nanosensors stay in sleep mode, storing the harvested energy until they have enough energy. When an unexpected increase in the charge level is detected, it means the nanosensors enter the ultrasound region. They wake up for a fixed time interval to ensure arriving at the shortest distance point from the nanocontroller. Then, they switch to reception mode to exchange control messages and required data with the nanocontroller. The results from the analytical assessment reveal that the nanosensors can communicate with the nanocontroller every 52 min. Nevertheless, the work has not been simulated; it has only been investigated analytically. This study considers only one nanocontroller in its solution, which will add an overhead on this nanocontroller. Table 9 and Table 10 summarize the routing protocols cited in this section.

6) OTHER ROUTING SCHEMES
This section presents alternative routing schemes with different directions toward improving the performance of WNSN.
The works [31] and [56] develop an upgradable and modular NS-3 simulator called Nano-Sim, used in many studies to simulate their protocols. In Nano-sim, two routing protocols are proposed and implemented. VOLUME 8, 2020 The first protocol, presented in [31], is a routing scheme based on selective flooding strategies. It provides a multi-hop path between the sender and the destination. The nanosensor sends the received packet to all other devices within its transmission range, and that are not in the opposite direction of the destination node. Each nanodevice keeps the last 20 received packets in its memory to avoid duplicating the same packet's forwarding operations. This routing scheme requires small computation power. The simulation result proves that there is a need to have a more sophisticated routing scheme. Even though the flooding is selective, every nanosensor that receives a packet for the first time will forward it, which leads to unnecessary waste of bandwidth and node energy.
The second protocol in [56] is proposed to enhance the selective flooding scheme, which suffers from the duplicated forward operation. It extends the simulator by developing a new random routing algorithm. The proposed random routing can be adopted for point-to-point communication (between nanosensors and the gateway). It is developed to prevent network loop creation in the multi-hop transmission. The routing algorithm allows the nanodevice to randomly select the next hop among its neighbor nanodevices and avoid nodes that have already been selected for previous transmissions. Thus, a memory is required for each nanodevice to keep information about the previously received packets. The routing algorithm must work jointly with specific proposed MAC called (Smart-MAC) to allow nanosensors to discover all nanodevices in its transmission range. Three different combinations of protocol stacks are evaluated: selective flooding routing with two proposed MACs and random routing with Smart-MAC. However, a large memory is needed for both protocols to store the required information for the previously received packets.
An energy efficient routing protocol for WNSN is proposed in [134] to reduce the number of retransmitter nanosensors by limiting the forwarding area. It starts with hello messages broadcasted from the nanocontroller to inform nanosensors of its location. When the nanosensors receive these messages, they reply with their IDs and locations. This information will be stored by the nanocontroller. Then, if a nanosensor has data to send, and if the nanocontroller is in its transmission range, the data is sent in a single hop to the nanocontroller. Otherwise, it starts a multi-hop forwarding process by broadcasting its location to neighboring nanosensors. Only nanosensors in the candidate area as shown with a red circle in Fig.10. reply with an ACK. This ACK contains the nanosensor ID and a link cost value considering the energy consumption, distance between candidate node and nanocontroller, and channel capacity. When ACKs are received, the source nanosensor sorts all the received costs in ascending order and selects the first low-cost nanosensors as the next hop. A forwarding probability is then calculated and stored with the corresponding IDs in a forwarding list to avoid redundant selection of the same node. The data packet is then forwarded with a certain probability to one of the candidate nodes. The data receiver starts the process again as a source until the data reaches the nanocontroller successfully. The solution is evaluated based on NS-3 simulations. Results prove the scheme's effectiveness compared with selective flooding [31] in terms of throughput, end-to-end delay, and energy saving. However, there is a flooding overhead in the beginning and in each data-forwarding process. Moreover, there is a computation overhead in each data-forwarding process and memory requirements for the nanocontroller and each nanosensor.
To minimize the transmission of packets in WNSN, an energy efficient and signal quality-aware data aggregation routing protocol is proposed in [135]. This scheme reduces the number of packet transmissions by combining and computing the gathered data at an aggregated node. Then, this aggregated node transmits only one copy of the data to the nanocontroller. A novel heuristic algorithm called Power Efficient Signal Aware in WNSN (PESAWNSN) has been proposed to identify the reversed minimum cost multicast tree to all data source nodes. It begins by including the nanocontroller in the graph, then constricting the links between the nodes only when the receiving node gets enough SNR from the transmitting node. Then, the lowest transmission power cost is assigned as the arc weight of the link. To get the minimum-cost tree, the algorithm performs a minimum spanning tree algorithm and omits the unnecessary links that are not included in the routing paths. The study supposes that packets collision is unlikely to occur at the aggregated node and assumes no power loss of retransmission at the MAC layer. The proposed work is evaluated using computational experiments. Results show a reduction in the total radio power consumption in large networks. Nevertheless, the study assumes that the collisions are unlikely to occur, while other works prove that there is a packet collision. This collision could occur at the aggregated point if the data is coming from many nodes, and no mechanism is used to avoid it. The aggregated node could suffer from energy depletion, which causes broken links in the routing path, and the work does not present any mechanism to solve these broken links.
The large density of nanonetworks makes them vulnerable to interference gained from the transmissions over multiple nanosensors. Tairin et al.,in [97], propose a propagation-loss aware routing protocol for WNSNs. They assume that: • only nanocontrollers can forward packets, • gateway can communicate directly with nanosensors, • each nanodevice knows its position in cartesian coordinates. Before a data packet is sent by the sender (gateway) to reach a nanosensor, a query packet is forwarded to discover the neighbors' position, and a timer starts. When the neighbor receives this packet, it replies with its position. After receiving the reply packet, the sender converts the neighbor and its cartesian position into spherical coordinates. Using the spherical coordinates, the sender obtains the neighbor's direction and its own direction from the neighbor in an angle. After that, the sender calculates the gain and path loss, and stores the value along with the neighbor ID. When a reply packet is received from the next neighbor, the sender again calculates path loss and updates the existing one if the stored value is more than the computed one. The sender continues this procedure until the timer expires then selects the minimum path loss neighbor. Finally, it sends the data packet to the target neighbor. This neighbor selects its next hop by the same procedure until the destination node is reached. NS-2 simulator is used to evaluate the protocol performance, which is compared with existing routing protocols, including AODV, Hierarchical AODV [57], and Amorphous PM [136]. The results show that path loss, total energy consumption, energy-per-bit, and end-to-end delay are much better when compared to other protocols. Nevertheless, there are broadcast control packets, computations, and memory overheads for every data request. When comparing the evaluations with  some non-WNSNs, more research is needed to be done as the study demonstrates. Tables 11 and 12 summarize the research works presented in this subsection. Table 13 summarizes all routing protocols reviewed in this paper from energy, application, and node mobility perspectives. In this survey, we have covered the recent research contributions made towards routing protocols for IoNT and WNSNs. While nanotechnology has great potential in many application areas, it also has many constraints and limitations that need to be worked upon to achieve the application target. In this section, we summarize the lessons we have learned by this review.

VI. SUMMARY AND LESSONS LEARNED
First, even though WNSN and IoNT are both using nanodevices, designing a routing protocol for IoNT should tackle the communication between the nano and the macro sides. In fact, this point adds complexity to the routing protocol, which should maintain a path between the nanosensors and the nanocontrollers, and between nanocontrollers and the gateway. These two nano communications must accommodate the nanonetworks' limited characteristics, providing effective data transmission while maintaining a persistent network operation. VOLUME 8, 2020  Second, based on reviewed studies, we constate that energy is one of the most critical design issues in WNSN as in WSN. In fact, based on whether the routing protocol is energy efficient or not, the complexity of the protocol increases. Some protocols ignore the limited energy of nanosensors, which is one of the most restrictive constraints. Other protocols suppose that nanosensors recharge their battery with a constant rate from an external device (WPT); in this case, the nanodevices are always active. However, in general cases, the nanodevice has a limited amount of energy. This energy may be non-renewable or harvested from the surrounding environment. Hence, knowledge of the energy requirement for data transmission and the energy harvesting rate is essential when designing routing protocols to extend the network lifetime and maintain efficient data transmission. Moreover, utilizing the nodes' sleep state in the routing protocol design improves the network lifetime as the nodes kept in this state cannot perform any operation. Consequently, it can conserve and harvest a much higher energy amount than other situations where the nodes are always active. Thus, it is essential to design routing protocol strategies that deal with these different states and avoid packet loss when some nodes are in the sleep state.
Third, one of the routing protocol's main targets is to reduce the vast number of packet retransmission occurring from using flooding strategy to deliver the collected data to its destination. This flooding exhausts the nanodevices' resources by overwhelming the network with packets. This problem is tackled by routing protocols in different ways: finding an end-to-end route between source and destination, reducing the area of retransmission, opting for single hop or multi-hops, etc. Ultimately, the routing protocol should not add overhead to the network and the individual nodes to establish its strategy under different network conditions.
Finally, in any case, the routing protocol should first follow the target of the application, the network architecture, and network constraints (energy efficient or not, for example). Defining the application's goal and purpose is the primary step in designing routing protocol since all other considerations are affected by the application area and its domain. In fact, there is no best individual routing protocol for all applications. Routing protocols should consider the application's needs, such as the best service time, quality of data, the quantity of data, network lifetime, and many other aspects. This would help in determining how the routing protocol will behave under the circumstances. Moreover, determining the type of network architecture depends on the application area and its required characteristics, where it can be either non-hierarchical (identical) or hierarchical. The network architecture affects the design of the routing protocol. In fact, in hierarchical architecture, the complexity (the processing) of the routing protocols can be pushed to nanocontrollers. Nanosensors, in this case, are passive or less involved in the routing protocol. However, if the network is identical, with no central node, each nanosensor is involved in the routing decision, which is considered a distributed forwarding decision. These protocols should consider the limited resources, such as memory, energy, and processing capability, of these nanosensors.
On the other hand, a critical issue that should be tackled by routing protocols is the nanodevices' mobility. Indeed, many applications demand node movement ability, such as some in-body WNSN applications. This network dynamicity adds a level of complexity to routing strategies that should be taken into consideration when designing this protocol.
Designing an effective routing protocol for WNSN or IoNT that maintains simplicity and can cope with nanoscale restrictions without compromising lifetime and connectivity can be challenging. The consideration of the points mentioned above guarantees a robust routing protocol design that conserves nodes' resources and maintains perpetual network operations.

VII. CONCLUSION
Due to the nanodevices' characteristics and limited resources, designing a routing protocol for WNSN or IoNT that can effectively deliver the collected data while meeting the conditions for perpetual network operations must be addressed. The design should tackle the many challenges and considerations discussed here. In this paper, we briefly presented a background for the WNSN and IoNT paradigms. Moreover, we highlighted the characteristics of WNSN, including TB communication and the different energy supply systems that have been adopted to power nanodevices. We also reviewed several efforts that have been devoted to physical and MAC specifications and the protocols that directly affect the routing operations. We then presented a comprehensive review of the existing routing protocols for WNSN and IoNT adapted to nano communication's characteristics and features. Finally, we discussed some challenges that should be considered when designing an effective routing protocol for WNSN or IoNT.