Routing protocols [3] in WSNs can be classified according to the network structure, protocol operation, how routing information is acquired and maintained. In terms of network structure, routing protocols can be divided into flat-based routing, hierarchical-based routing and location-based routing. In flat-based routing, typically nodes have similar roles, whereas in hierarchical-based routing nodes have different roles. In location-based routing, location information is used to route data in the network. According to protocol operation, these protocols can be classified as multipath-based, query-based, negotiation-based, QoS-based, or coherent-based routing techniques. In multipath-based routing, multiple paths are maintained between a source-destination pair. In query-based routing, the destination node sends a query through the network and the node with this data, sends an answer. In negotiation-based routing, high level data descriptors are used to eliminate redundant data transmissions through negotiation. In QoS-based routing, certain QoS metrics have to be satisfied while routing data through the network. In coherent-based routing, sensors cooperate in processing data flooded throughout the network. According to how routing information is acquired and maintained, they can be classified into proactive, reactive, and hybrid. In proactive protocols, nodes compute routes before they are needed. In reactive protocols, nodes compute route on demand. Hybrid protocols combines ideas of both.