A considerable number of routing protocols, specifically
devised for operation in wireless sensor networks, have
consequently been invented. These protocols are usually
classified into two groups: proactive and reactive routing
protocols. In proactive routing protocols, since every node
keeps a route table specifying how to forward a message,
information on topology changes is propagated whenever they
occur. Therefore the routing overhead incurred by table
update messages can become unacceptably high. Reactive
routing protocols, on the other hand, try to delay any
preparatory actions as long as possible. Routing occurs on
demand, only. In principle, a node wishing to send a message
has to flood the network in order to find the destination.