The direct communication between a sensor and the sink may force nodes to emit their messages with such a high power that their resources could be quickly depleted. Therefore, the collaboration of nodes to ensure that distant nodes communicate with the sink is a requirement. In this way, messages are propagated by intermediate nodes so that a route with multiple links or hops to the sink is established. Wireless sensor networks can be used for many mission critical applications such as target tracking in battlefields and emergency response. In these applications, reliable and timely delivery of sensory data plays a crucial role for the success of the mission. Routing of sensor data has been one of the challenging areas in wireless sensor network research. Current research on routing in wireless sensor networks mostly focused on protocols that are energy aware to maximize the lifetime of the network, scalable for large number of sensor nodes and tolerant to sensor damage and battery exhaustion. In WSNs it is critical to collect the information in an efficient manner. The main task of a wireless sensor node is to sense and collect data from a certain domain, process them and transmit it to the sink where the application lies. The main characteristics of a WSN include power consumption constrains for nodes using batteries or energy harvesting, ability to cope with node failures, mobility of nodes, dynamic network topology, communication failures, heterogeneity of nodes, scalability to large scale of deployment, ability to withstand harsh environmental conditions.