# Energy Efficient Routing in Wireless Sensor Networks: A Comprehensive Survey
## 3 Network Structure
### Hierarchical
#### 3.2.1 Hierarchy Based
Thus, not only network lifetime is prolonged, but also high communication data rates are attained. On the other hand, extra overhead is added during cluster head election. Moreover, overlaps are observed. Back-off based Distributed Clustering Protocol (BDCP) [96] is a clustering protocol in which every node has a back off timer and consists of cluster head election phase and cluster formation phase. During cluster head election, each node starts its timer, which considers a maximum time allocation for the election process and a ratio of its residual energy divided by its initial maximum energy. When the timer countdown finishes, node \(i\) is elected as a cluster head for the next round and broadcasts an announcement to its neighbors. Then, the nodes received the announcement switch off their timers and store the announcement with the information of the candidate cluster head. During cluster formation, a node joins a cluster according to its own distance from the cluster head and cluster head's residual energy, in the case that it receives more than one cluster head announcement messages, it. In BDCP protocol, energy consumption is reduced and increased throughput is achieved. On the other hand, single-hop routing restricts the network scalability. Furthermore, increased overhead is produced. Multi hop-Back-off based Distributed Clustering Protocol (M-BDCP) [96] is a variant of BDCP protocol, which uses multi-hop routing. M-BDCP differs from the initial BDCP in the use of multi-hop routing to transmit data to the BS, the rest of the protocol operation is the same. Furthermore, in order to find the optimum path, the BS broadcasts a route discovery message to every node within the network. In M-BDCP, multi-hop routing improves the network scalability. Moreover, both energy efficiency and throughput are high. On the other hand, overhead produced is considerably high. Instantaneous Clustering Protocol (ICP) [97] is a parallel clustering protocol aiming to solve time and energy consumption during cluster head election. ICP forms clusters with the single-hop scheme in a parallel manner that results in reducing the duration time of clustering the whole network to a duration time of organizing one cluster. Instead of using the voting election scheme, cluster heads are determined locally with the use of a combination of a pre-assigned probability and node's current state. For as long as the sensor nodes are connected to each other, clustering duration time and transmission load are kept to a minimum, which results in less wasted time for cluster head selection and more energy conservation of nodes. By using ICP, energy efficiency achieved is good. In addition, both time and energy are saved during cluster head selection. However, data reliability is not taken into account. _Multi-Level Route-aware Clustering_ (MLRC) [98] is a routing protocol which combines a multi-criterion clustering algorithm and a route establishment algorithm. It uses this combination in order to construct an optimal routing tree to reduce packet transmission cost and the number of control packets. The clustering algorithm sets the requirements for candidate cluster heads, such as residual energy and distance from the BS, reducing energy consumption across large distances and balances energy among cluster heads. The route establishment algorithm is used to gather information and specifications of the route to construct a routing tree, with the BS being its root. During this stage, first level cluster heads, those closer to the BS, specify their next hop cluster heads in the tree and so on, with cluster nodes being the leaves of this tree. The routing tree allows nodes to receive information about optimal routes for the destination reducing communication between them. By using MLRC, network lifetime is elongated and the transmission cost between sensor nodes is minimized. However, there is lack of flexibility. _Efficient Data GathEring_ (EDGE) [99] is a protocol with a tree based topology rooted at the BS.