Keywords

1 Introduction

Due to number of unique characteristics of wireless sensor networks (WSNs), the design of routing protocols for these types of networks is a very challenging task. Firstly, it is not practicable to design an overall addressing system for WSNs as in typical communication networks. Secondly, because of the significant redundancy of the generated data in WSNs, to preserve the energy and improve the bandwidth, such redundancy has to be dealt with. Thirdly, sensor nodes are extremely constrained, regarding their energy, storage, and processing capabilities. More than a decade, many routing algorithms have been proposed and designed specifically for WSNs and most of them aim to prolong the life of the network [1,2,3]. These routing approaches typically can be categorized as data centric, location-based and hierarchical routing protocols (Fig. 1). Data centric routing protocols are typically based on query, hence capable of reducing the redundancy of the data significantly. In location-based approach, a message is forwarded from a source to the destination via the most efficient path discovered by the location of the neighboring sensor nodes of the sender. Hierarchical routing protocols divide the networks into number of clusters, and each cluster possesses a cluster head which is responsible for gathering data from other nodes (within the cluster), performing data aggregation and fusion then sending them to the sink. This paper aims to explore the most important protocols designed for WSNs along with their primary goals and comparing them with one another for a better understanding and investigation of open issues for further researches.

Fig. 1
figure 1

Classification of routing protocols in WSNs

1.1 Routing Classes in WSNs

A routing algorithm could be thought of as a strategy by which a node comes to a decision about selection of a neighboring path to send a packet to a desired destination. The distinguished features of WSN make the routing a tough task. As there is an enormous number of nodes, distributed within the network, it will not be feasible to use a global addressing method [4]. In WSN, data are sent from several sources to a base station (sink). There are also some limitation related to sensor nodes which has to be considered carefully while designing of routing protocols such as energy, transmission, and processing power. Routing algorithms in WSNs can be classified as follows: data centric, location-based, and hierarchical routing algorithms as shown in Fig. 1.

2 Data Centric Routing Protocols

In WSNs, each single node is required to send out data to the sink which leads to a considerable redundancy, resulting in large wastage of energy waste. Thus, routing approaches have been introduced that are capable of selecting a range of nodes on query-based, known as data centric routing. Queries are sent by the base station (BS) to a particular region for the desired information. Considering that data are demanded via queries only a certain data from an interested region needs to be transmitted to and as a result this will reduce the redundancy of the data as well as the number of transmission which will improve the energy consumption and lifetime of the network significantly. One of the earliest routing protocols based on data centric approach is SPIN [5]. In SPIN protocol, data are named using meta-data or other high-level descriptors. With the help of an advertising mechanism, the data descriptors are exchanged before the transmission process. As soon as a node possesses a new data to be shared, it will generate an ADV message and send it to its neighboring nodes, and in return the neighboring nodes use a request message in order to obtain the desired data (provided they haven’t possessed it already) through a REQ message. Finally, the source from where the ADV message has been generated and sent transmits the real data to finish up the process. The process is shown in Fig. 1 which is redrawn from [5]. Table 1 shows the most important routing protocols in this category along with their key characteristics and objectives (Fig. 2).

Table 1 Comparison of the main data centric routing protocols and their main objectives
Fig. 2
figure 2

Working procedure of SPIN protocol

3 Location-Based Routing Protocols

Location-based routing protocols utilize the geographical location of sensor nodes in order to form the optimal route and send packets from a source to the desired destination. A packet is sent from source to destination by considering the geographical position of the neighboring nodes of the forwarder. The information about sensor node’s location is obtained via Global Positioning System (GPS) which is tiny and low consuming power devices embedded in the body of the sensor nodes. The following Table 2 depicts the main routing protocols in this class along with their key characteristics and objectives. GAF [15] is one of the location-based routing protocols which aims to prolong the network’s life. A virtual grid id is formed, and all the nodes link themselves in it as it is depicted in Fig. 3. Nodes that are linked within the exact same location on the grid will be considered to have the same cost of routing. Hence to preserve energy in an attempt to prolong the network’s life, nodes linked to the same point on the virtual grid could turn into the sleep mode. As we observe from Fig. 3, to reach node 5 from node 1 we could do it through the node 4 and turn the node 2 and 3 into the sleep mode. [4]. Table 2 displays the most important location-based routing protocols along with their main objectives and features.

Table 2 Comparison of the main location-based routing protocols and their main objectives
Fig. 3
figure 3

Virtual grid in GAF

4 Hierarchical Routing Protocols

In this type of routing, the whole network is divided into number of clusters and in each cluster one node will act as the cluster head (CH) (Fig. 4). The CH is in charge of receiving the sensed data from other nodes within the cluster (cluster members) and performing data aggregation and/or data fusion, then sending the data to the base station. Different routing protocols have different techniques for selection of cluster heads. However, the residual energy of a node and its distance from the base stations are the main factors that are considered by the recent and modern routing protocols while election of CHs. The main objective of this category of routing protocol is to balance the energy among the sensor nodes in order to extend the lifetime of the network. The earliest and most well-known hierarchal routing protocol is LEACH [20] (Low-Energy Adaptive Clustering Hierarchy). It reduces the energy consumption of the network by choosing the CH nodes in a random fashion to distribute energy load evenly to each and every node. Figure 3 shows the cluster formation in LEACH routing protocol. Table 3 shows the main hierarchical routing protocols along with their main features and goals.

Fig. 4
figure 4

Cluster formation in LEACH routing protocol

Table 3 Comparison of the main hierarchical routing protocols and their main objectives

5 Conclusion

Mainly due to limitation of sensor nodes and other restrictions of WSNs, routing is significantly vital and plays an essential role in the efficiency of the network. In this paper, the characteristics and main objectives of main routing protocols in WSNs have been given. Considering the main goals of these routing protocols, we realize that the energy efficiency and extension of network’s life is the objective of most routing protocols. However, there is not a standard routing protocol for WSNs, and selecting the most efficient and suitable depends highly on the type of application. In this paper, main routing protocols in WSNs have been compared against one another in order to easily observe their strong and weak points. This helps to realize the open issues for further researches as well as for a precise selection of the most appropriate routing protocols to specific applications.