# A Survey on an Energy-Efficient and Energy-Balanced Routing Protocol for Wireless Sensor Networks
## 5 Taxonomy for Energy-Efficient and Energy-Balanced Routing Protocols
### Multi-Hop Communication Method
#### 5.1.1 Multi-Hop Clustering Technique
As shown in Table 2, we classified some algorithms that can be implemented in both heterogeneous and homogeneous network scenarios because the authors verified that their proposed clustering routing protocol is suitable for both scenarios. Furthermore, in forming the cluster, an important aspect that must be carefully specified in the clustering algorithm is the approach in which the nCH nodes join a cluster. This aspect of the clustering routing algorithm is equally important when choosing the CH nodes. As marked in Table 2, most literature assumes that the nCH nodes join the cluster with the closest CH node to them in order to reduce the transmission distance. This approach technically reduces the energy consumed by the nCH nodes during data transmission because of the small transmission distance. However, since SNs are randomly placed in the sensor field, an obvious drawback with this approach is that some clusters might have excessive members in comparison with the other clusters. Therefore, the CHs carry more load traffic and will easily deplete all their battery energy. This results in an imbalance in the load distribution in the network. In lieu of this, some authors [60; 99] strive to distribute the SNs to cover the whole sensor field by assuming that the SNs are aware of their location. This assumption might not be practical in reality because the approach is limited by location services in the network but it enables better sensing or measurement of the physical value as the SNs are evenly distributed around the sensor field [100]. As a result, different research works are ongoing to solve the node placement problems relating to WSNs [51; 52]. Moreover, the hop count can be used as a decision variable to specify the cluster that a nCH node joins. As shown in Table 2, some literature uses the hop count as a yardstick for a nCH node to join a cluster. The nCH node compares the hop count to convey information to every CH in the network and joins the cluster with the smallest hop count. The hop-count approach reduces the energy consumed in receiving and relaying the information from the source node to the CH but will suffer the same setback as the shortest distance approach. Another decision variable used by researchers to specify the cluster that a nCH node joins is the received signal strength or transmission power. In this case, the nCH node estimates the transmission power required to convey a message to all the CH in the network; thus, it joins the cluster with the smallest transmission power. Similarly, this approach will suffer the same setback as the shortest distance approach. Note, from Equation (4), that the transmission power is a function of the distance between two nodes. This technically means that a nCH node will join a cluster with the closest CH node to it. In addition, in some algorithms, the nCH nodes join clusters based on a probability that depends on their residual energy. However, some literature specifies that the cluster that a nCH node joins is based on some mathematical formulations derived using a combination of one or more decision variable in order to effectively distribute both the inter-cluster and intra-cluster load traffic. In short, the assumptions, concepts, and techniques used by different authors to distribute SNs into clusters play a salient role in effectively balancing the load traffic in the network. As such, in Table 2, we grouped the surveyed energy-efficient and energy-balanced clustering routing protocols based on the common decision variables used to distribute the nCH nodes into clusters. In the table, DCH stands for distance to the CH, HCCH stands for hop count to the CH, TPCH stands for transmission power to the CH, while the clustering algorithms that do not allot the nCH nodes into clusters using any of the aforementioned decision variables are assigned under \"Others\".