## 1 Introduction  
A wireless sensor network (WSN) consists of hundreds to thousands of low-power multi-functional sensor nodes, operating in an unattended environment, and having sensing, computation and communication capabilities. The basic components [1] of a node are a sensor unit, an ADC (Analog to Digital Converter), a CPU (Central processing unit), a power unit and a communication unit. Sensor nodes are micro-electro-mechanical systems [2] (MEMS) that produce a measurable response to a change in some physical condition like temperature and pressure. Sensor nodes sense or measure physical data of the area to be monitored. The continual analog signal sensed by the sensors is digitized by an analog-to-digital converter and sent to controllers for further processing. Sensor nodes are of very small size, consume extremely low energy, are operated in high volumetric densities, and can be autonomous and adaptive to the environment. The spatial density of sensor nodes in the field may be as high as 20 nodes/m\({}^{3}\).As wireless sensor nodes are typically very small electronic devices, they can only be equipped with a limited power source [3]. Each sensor node has a certain area of coverage for which it can reliably and accurately report the particular quantity that it is observing. Several sources of power consumption in sensors are: (a) signal sampling and conversion of physical signals to electrical ones; (b) signal conditioning, and (c) analog-to-digital conversion. There are three categories of sensor nodes:  
* Passive, Omni Directional Sensors: passive sensor nodes sense the environment without manipulating it by active probing. In this case, the energy is needed only to amplify their analog signals. There is no notion of \"direction\" in measuring the environment. * Passive, narrow-beam sensors: these sensors are passive and they are concerned about the direction when sensing the environment. * Active Sensors: these sensors actively probe the environment. Since a sensor node has limited sensing and computation capacities, communication performance and power, a large number of sensor devices are distributed over an area of interest for collecting information (temperature, humidity, motion detection, _etc._). These nodes can communicate with each other for sending or getting information either directly or through other intermediate nodes and thus form a network, so each node in a sensor network acts as a router [4] inside the network. In direct communication routing protocols (single hop), each sensor node communicates directly with a control center called Base Station (BS) and sends gathered information. The base station is fixed and located far away from the sensors. Base station(s) can communicate with the end user either directly or through some existing wired network. The topology of the sensor network changes very frequently. Nodes may not have global identification. Since the distance between the sensor nodes and base station in case of direct communication is large, they consume energy quickly. In another approach (multi hop), data is routed via intermediate nodes to the base station and thus saves sending node energy. A routing protocol [5] is a protocol that specifies how routers (sensor nodes) communicate with each other, disseminating information that enables them to select routes between any two nodes on the network, the choice of the route being done by routing algorithms. Each router has _a priori_ knowledge only of the networks attached to it directly. A routing protocol shares this information first among immediate neighbors, and then throughout the network. This way, routers gain knowledge of the topology of the network. There are mainly two types of routing process: one is static routing and the other is dynamic routing. Dynamic routing [6] performs the same function as static routing except it is more robust. Static routing allows routing tables in specific routers to be set up in a static manner so network routes for packets are set.