# Energy Efficient Routing in Wireless Sensor Networks: A Comprehensive Survey
## 3 Network Structure
### Flat
#### 3.1.1 Proactive  
The proactive protocols are constantly active waiting to sense anything with the result of a quicker response and a greater energy consumption. In what follows in this section, two typical examples of proactive flat energy efficient routing protocols are described.  
_Wireless Routing Protocol_ (WRP) [37] is a table based protocol which uses the distributed Bellman-Ford algorithm. WRP maintains more accurate information and an up-to-date view of the network with the use of a set of tables. These tables are:  
* Distance Table (DT),
* Routing Table (RT),
* Link Cost Table (LCT),
* Message Retransmission List (MRL).  
The DT contains the distance of neighbor nodes while the RT contains the routes to them. Furthermore, LCT contains the transmission energy cost of the links and MRL contains a sequence number of the update messages, a retransmission counter, an acknowledgement-required flag vector, with every neighbor being one entry and a list of updates sent in the update message. Update messages are used by mobile nodes to inform each other of link changes. An update message, which contains the updates in a list, is transmitted among neighboring nodes. Another list that contains responses indicating which mobile nodes should acknowledge the updates. When a loss of a link occurs between two nodes, they transmit to their neighbors, update messages. Then, the neighbors change the entries of their DT and check for new paths among other nodes. These new paths are transmitted back to the original nodes, which in turn update their tables.  
In WRP, faster route convergence during a link failure event is achieved. In addition, few table updates are needed. Additionally, minimized looping situations are caused. On the other hand, large memory and great processing power are required. At the same time, scalability provided is limited.  
_Topology Dissemination Based on Reverse-Path Forwarding Protocol_ (TBRPF) [38] compares previous and current network states and broadcasts the difference between them, which is a smaller routing message that can be sent more frequently. Similarly, TBRPF protocol creates spanning trees from source to destination, by calculating minimum-hop paths used to broadcast, in the reverse direction, link-state updates. After minimum-hop path calculation, every source creates a broadcast tree. Every node has a topology table that includes all link states, a list of neighboring nodes and a parent, a list of children, and a sequence number of most recent link state updates. New topology information is used to modify the spanning tree. The broadcast of a link-state update that originates at a source is accepted by another node, if it is received from the parent of the source and has a larger sequence number than the corresponding link-state entry in the topology table of the parent. Then, the topology table is updated and forwarded to all children of the node.  
In TBRPF protocol, multiple paths to destination are obtainable. Another advantage of TBRPF is that less frequent updates are needed. On the other hand, the waste of both bandwidth and packet is produced because of loop-freedom.  
A synoptic overview of the characteristics of the aforementioned proactive flat routing protocols belonging to Network Structure category is presented in Table 4.