## 2 Related Work  
Geographic routing has been considered as an efficient and scalable routing protocol, since it exploits pure location information to route data packets to a destination instead of global network topology information in error-prone wireless sensor networks. This scheme requires three kinds of location information: the position of the current node holding the data packet, the position of its neighbor nodes and the position of the destination. The basic idea of geographic routing is that the current node compares the Euclidean distance from each neighbor to the destination and selects the closest neighbor to the destination as a next-hop forwarding node. Finally, the current node sends the data packet to the closest neighbor, and this process is repeated until the packet arrives at the destination. This is called greedy routing. However, if there is no neighbor closer to the destination than the current node, it changes its routing mode from the greedy routing mode into the perimeter routing mode, which is based on the application of the right-hand rule over the planarized vision of the underlying graph. In order to realize the location information of neighbor nodes before routing, every sensor node in the network periodically should exchange the control message, including its identifier and its location information, called the beacon. Beacons are not flooded across the whole network, but the overhead can still be excessive and nonproductive [3]. Namely, regardless of the data routing, it leads to unnecessary energy consumption, interference, collisions and/or congestion problems. To avoid this issue generated by the beacons, many beaconless geographic routing protocols [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19] have been proposed in the literature. The basic idea of beaconless routing is to reactively discover the location information of neighbor nodes to select (or to be selected) the next-hop forwarding node when routing data packets. It can be divided into two different schemes according to the forwarding node selection method: the fully-distributed method and the handshake-based method. The first one is a fully-distributed beaconless geographic routing scheme [1; 2; 4; 5]. In this scheme, a forwarding node is automatically selected among neighbors that successfully receive a sender's data by combining the distance-based timer and overhearing techniques. Namely, neighbors select a forwarding node themselves, instead of a node currently holding data. The beaconless routing algorithm [1] (BLR) selects a forwarding node among neighbors having information neither about their position nor even about their existence. A node currently holding a data packet just broadcasts the data packet, and the closest neighbor to the destination will resend the packet, because its timer will expire first. The rest of the neighbors that successfully overhear the broadcast message cancel their timers. This process is repeated until the data packet reaches the destination. For a recovery strategy, in case there is no node in the forwarding candidate area, the current node broadcasts a short request message, and all neighbor nodes reply with a packet indicating their location information. Therefore, the current node could build the planar graph and exploit the recovery scheme of Greedy-Face-Greedy(GFG) [20] to determine an appropriate forwarding node in the perimeter mode. The blind geographic routing [2] (BGR) protocol is an improved version of the previous one, BLR. The forwarding process is very similar to BGR, but the recovery process is quite different. For a recovery strategy, BGR turns the forwarding area by 60 degrees to the left or to the right by broadcasting an area change message. However, it might cause packet failures when nodes try to forward almostsimultaneously. Therefore, BGR introduces the Avoidance of Simultaneous Forwarding (ASF) technique in which the number of hops is stored in the packet header.