Group # 5 Geographic Routing 1
Why is geographic routing important?
Because it allows routers to be nearly stateless and requires
propagation of topology information for only a single hop:
each node need only know its neighbor’s positions. The
position of a packet’s destination and positions are
sufficient enough to make right forwarding decisions.
Group # 5 Geographic Routing 2
Through this presentation, we intend to discuss:
GLS - GRID Location Service
LAR – Location Aided Routing
GPSR – Greedy Perimeter Stateless Routing.
Group # 5 Geographic Routing 3
GRID Location Service
Group # 5 Geographic Routing 4
Geographic Forwarding Requirements
Each node has unique ID which is known to all the nodes through
out the network.
Using GPS, each node determines it’s location in the form of latitude
We consider all the nodes to be in the same plane and as a result the
altitude is ignored.
A node timely broadcasts ‘HELLO’ packets to its radio neighbors
informing them of it’s current location and velocity.
In addition each node maintains a local database containing its current
neighbor IDs and geographic locations.
Group # 5 Geographic Routing 5
The HELLO packet has the following
Group # 5 Geographic Routing 6
When a node wishes to send packets to a destination it includes the
destination ID and it’s current geographic location in the header.
To forward the packet, it consults its database and chooses the
neighbor geographically closest to it’s destination.
It forwards the packet to the destination which in turn uses the same
The above points will be further evaluated in the discussions of GPSR,
LAR and GeoTORA.
Bottom Line: How does the sender know the current
geographical position of the destination ?
Group # 5 Geographic Routing 7
Location Servers (LS)
Each node recruits other nodes in the network to act as its location
servers and updates those servers with its current location.
The location servers are dense near a node and relatively sparse away
from the node.
Each node in a network acts as a location server for some other node in
Bottom Line: How are location servers actually recruited ?
Group # 5 Geographic Routing 8
The whole space under
consideration is partitioned
in to a GRID.
Hierarchy is implemented
by squares of increasing
sizes known as Order 1,
Order 2 so on.
Each node lies in exactly
one square of each order.
Group # 5 Geographic Routing 9
Grid Hierarchy (contd)
A Node ‘B’ chooses a node
with ID close to its own ID to
serve as its location server.
The node closest to B in ID
space is the node with the least
ID greater than B’s ID.
Node B chooses 3 LS in each
level of hierarchy ensuring that
there are more LS near the
node than away from the node.
Group # 5 Geographic Routing 11
Electing Location Servers
Querying For a Location
Node A wishes to talk to Node B and thus requires the current
Geographic position of ‘B’.
Consider ID of B to be 17 and that of A to be 76.
‘A’ is the location server for nodes 6, 21, 28, 41 and 72 and knows the
geographical location for these nodes.
Since 21 is closest to 17, it asks 21 for the location of B. 21 in turn is a
location server for 6, 10, 20 and 76.
Since 20 is closest to 17, it forwards the query to 20.
20 finally happens to be the location server for 17 and forwards the
query to 17 which is B.
Group # 5 Geographic Routing 13
Querying a Location Server
87 14 B:17
6 10 20 12 14 17
32 98 21 20
6 21 28
81 31 A:76
Salient Features of GLS.
As a node moves, it needs to
update its location servers.
To prevent excessive
generation of overhead traffic,
the updates are based on the
amount of distance traveled.
In general, a node updates its
Order ‘I’ servers after a
movement of 2 ^ (I-2) units
and at a very low rate if it is
Group # 5 Geographic Routing 16
Location Query Failure
A query failure can occur when a LS forwards a packet to the next
closest node’s square but the node is no longer in that square. This
means that the location information at the forwarding LS is out of date.
Hence, when any node moves from one square to the other, it leaves a
forwarding pointer in that square which automatically guides any
packets meant for that node to its present location.
In time eventually, the node will update all its location servers with its
current position and there will be no need for the mechanism explained
Group # 5 Geographic Routing 17
In this section, we present the
performance of GLS under various
conditions such as its success rate
vs. the different node speeds, node
densities and the overhead
produced by GRID packets vs. the
number of nodes.
Group # 5 Geographic Routing 18
(Greedy Perimeter Stateless Routing)
Group # 5 Geographic Routing 19
Salient Features of GPSR
Novel routing protocol for wireless datagram networks that
uses the positions of routers and the destination to make
packet forwarding decisions.
Greedy forwarding used wherever possible and decisions
made using only information about the router’s immediate
Perimeter forwarding used where Greedy forwarding not
possible i.e. algorithm recovers by routing around the
perimeter of the region.
Keeps state only about Local Topology, hence scales better
as the number of destinations increases.
Group # 5 Geographic Routing 20
Greedy Forwarding Algorithm.
Packets are marked by the originator with their
A forwarding node can make a locally optimal, greedy
choice in choosing a packet’s next hop.
Most of the times the locally optimal choice is the
neighbor closest to the packet’s destination.
The packet is successfully forwarded using closer
geographic hops to reach the destination.
Group # 5 Geographic Routing 21
•Packet arrives at X.
D •X forwards Packet
x to Y.
Bottom Line: How does a node know the positions of its radio
Group # 5 Geographic Routing 22
Process of Beaconing
Periodically each node transmits a beacon to the broadcast
MAC address, containing its identifier(e.g. IP address )
X and Y co-ordinates are encoded by two 4-byte
Mean Beacon Transmission interval is uniformly
Upon not receiving a beacon for longer than the time out
interval, a GPSR router assumes that either the neighbor
has failed or has moved out and deletes that entry from its
Group # 5 Geographic Routing 23
Optimizations in Beaconing
Choice of beaconing interval to keep node’s neighbor
tables current depend on the mobility in the network and
range of node’s radios.
Beaconing is pro-active traffic. To avoid this additional
cost, GPSR piggybacks the local sending node's position
on all data packets it forwards. Thus all packets serve as
Group # 5 Geographic Routing 24
Failure of Greedy Forwarding
The Greedy D
algorithm might fail
in circumstances v z
where the only route
to a destination
requires a packet to
move temporarily VOID
away from the
Some other w y
algorithm needed in
Group # 5 Geographic Routing 25
Used in scenarios where Greedy Forwarding fails.
Perimeter forwarding makes use of Planarized graphs
which are graphs in which there are no crossing edges.
Two algorithms namely the RNG (Relative Neighborhood
Graph) and GG (Gabriel Graph) are used to eliminate
edges and yield a graph or a network with no crossing
Group # 5 Geographic Routing 26
Usage of Planarized Graphs
The three figures show the
Full Graph, the GG and the
RNG of a radio network of
200 nodes with radio range of
Group # 5 Geographic Routing 27
Perimeter forwarding E.g..
Group # 5 Geographic Routing 28
GPSR Packet Fields
Group # 5 Geographic Routing 29
This algorithm combines greedy forwarding on the full
network graph and perimeter forwarding on the planarized
All nodes maintain neighbor tables which store addresses
of all radio-hop neighbors.
GPSR packet headers include a field which indicates
whether the packet is currently in greedy mode or
All data packets are marked originally as greedy mode.
Only the packet’s source sets the destination field.
Group # 5 Geographic Routing 30
GPSR Algorithm (contd)
Upon receiving a greedy-mode packet, the node forwards it to the
geographically closest neighbor.
When no neighbor is closer, the node marks the packet to the perimeter
mode. GPSR also records in the packet, the location Lp, the site where
greedy forwarding failed.
These perimeter mode packets are forwarded using Planar Graphs.
Upon receiving a perimeter mode packet. GPSR first compares the
location Lp with the forwarding node’s location. It then returns the
packet to greedy mode if the distance from the forwarding node to D is
less than that from Lp to D.
Perimeter forwarding is only intended to recover from local maximum.
Group # 5 Geographic Routing 31
When destination D is unreachable i.e. it is disconnected
from the graph, GPSR will forward a perimeter mode
packet until the packet reaches the corresponding face.
When the packet traverses the first edge it took on this face
for the second time, GPSR notices the repetition, and drops
Group # 5 Geographic Routing 32
Group # 5 Geographic Routing 33
Geocasting implies delivering packets to a set of nodes in a
specified geographical area.
The geographical area is called the Multicast Region and
the set of nodes in this region is called the Location Based
If a host enters the Multicast Region it automatically gets
added to the Multicast Group.
Geocasting is implemented by two different schemes
namely Location Based Multicast (LBM) scheme 1 and
Group # 5 Geographic Routing 34
LBM Scheme 1
The two important geographical zones are the Multicast
Zone and the Forwarding Zone.
The Forwarding zone is the smallest rectangle that includes
the sender S and the Multicast zone with the sides of the
rectangle aligned along the X (Horizontal) and the
Final control on the size of the forwarding zone is
exercised by the use of a parameter ‘Delta’.
Group # 5 Geographic Routing 35
The node S determines the co-ordinates of the 4 corners of
the forwarding zone.
It includes those co-ordinates in a multicast packet.
When a neighbor node receives the multicast packet, it
discards the packet, if it is not within the rectangle
specified by the four corners and forwards it otherwise.
Ultimately the packet finds it’s way to the multicast zone.
Group # 5 Geographic Routing 36
A O B
Group # 5 Geographic Routing 37
LBM Scheme 2
The forwarding zone is not explicitly mentioned.
Three important pieces of information are included with
the multicast packet namely the Multicast Region
Specification, the location of the Geometric center
(Xc, Yc) and the co-ordinates of the Sender (Xs, Ys).
Distance of any node Z from the center is denoted by
Group # 5 Geographic Routing 38
An intermediate node receives a packet from the sender
and determines its own distance to the center of the
If that distance is less than the distance of the original
sender it replaces the co-ordinates of the original sender
with its own co-ordinates(which now act as the co-
ordinates of the sender for other nodes) in the multicast
packet. It then forwards the packet to its neighbors.
Else it discards the packet.
Group # 5 Geographic Routing 39
Xs, Ys K
Group # 5 Geographic Routing 40
Group # 5 Geographic Routing 41
Group # 5 Geographic Routing 42
Group # 5 Geographic Routing 43
Location Aided Routing
Group # 5 Geographic Routing 44
Salient Features of LAR
Utilize location information to improve performance of
routing protocols for MANETS.
Location-Aided Routing (LAR) protocols limit the search
for a new route to a smaller request zone of the ad hoc
Significant reduction in the number of routing messages
and hence the overall overhead by reducing the search
space for a desired route.
Location information obtained by using a Global
Group # 5 Geographic Routing 45
Need for LAR
Conventional routing protocols were insufficient for ad
hoc networks, since the amount of routing related traffic
may waste a large portion of the wireless bandwidth.
Examples of a few protocols that were proposed:
Dynamic Source Routing (DSR), Ad-Hoc on demand
distance vector routing (AODV) ,Temporarily ordered
routing algorithm (TORA) and Zone routing protocol
A routing and addressing method to integrate the concept
of physical location (geographic coordinates), into the
current design of the Internet is being proposed.
Group # 5 Geographic Routing 46
Location -Aided Routing (LAR) Protocols
Route Discovery using Flooding.
LAR Scheme 1
LAR Scheme 2.
Group # 5 Geographic Routing 47
Route Discovery Using Flooding
S needs to send
Packet to D. C
Intermediate node X
receives the route S D
request message. A
Use of sequence X
by sending route reply. B
Re initiate route
destination does not
receive the request.
Group # 5 Geographic Routing 48
Assumptions for Flooding
The intended destination is always reachable from the
Sender knows that a route to the destination is broken only
if it attempts to use the route.
Group # 5 Geographic Routing 49
Expected zone of node D (destination) from the view point
of node S (sender) at say time t1 is the region that node S
expects to contain node D at time t1.
If S doesn’t know the previous location of D then the
expected zone is the entire region that may potentially be
occupied by the ad hoc network. In this case the algorithm
reduces to the basic flooding algorithm.
Having more information regarding mobility of the
destination node can result in a smaller expected zone.
Group # 5 Geographic Routing 50
Expected Zone (contd)
Given that S knows that
node D was at location L
at time to and the
average velocity of D is
v than the expected zone
for D is a circle with
center L and radius v
Group # 5 Geographic Routing 51
Node S defines (implicitly or explicitly) a request zone for
the route request.
A node forwards a route request only if it belongs to the
To increase probability that route request will reach D-the
request zone should include the expected zone and also
some areas around the expected zone.
Group # 5 Geographic Routing 52
Request Zone (contd)
Group # 5 Geographic Routing 53
LAR Scheme 1
Use request zone to be the smallest rectangle that includes
current location of S and the expected zone such that the
sides of the rectangle are parallel to the X and Y axes.
The expected zone is the circle with radius v (ti-to)
centered at (xd,yd) where (xd,yd) is the location of D at
When a node receives a route request, it discards the
request if the node is not within the rectangle specified by
the four corners included in the route request.
Node D includes its current location and current time in the
route reply message
Group # 5 Geographic Routing 54
LAR Scheme 1 (contd)
Size of Request Zone-
Size of the request zone depends on average speed of movement and
time elapsed since the last known location of the destination was
For low speeds, it is possible to reduce the size of the request zone by
piggybacking the location information on other packets, in addition to
Each host knows it s current location precisely.
Mobile nodes are moving in a two dimensional plane.
All nodes know each other’s average speed.
Group # 5 Geographic Routing 55
LAR Scheme 1 (contd)
Group # 5 Geographic Routing 56
LAR Scheme 2
Node S includes two pieces of information in it’s request:
-DISTi-the initial distance between node S and node D (xd,yd) at time
Node I receives the route request from node S-node I calculates DISTI
If DISTi+$>= DISTi then node 1 forwards the request to it s
neighbours.The route request now includes DIST1 and (xd,yd). Else
node 1 discards the route request.
The query is transported through the entire network in this manner till
it reaches D.
For performance evaluation $=0.Non zero $ may be used to trade off
the probability of finding a route with the cost of finding the route.
Group # 5 Geographic Routing 57
Comparison of the two LAR
Consider nodes I, K and N to differentiate the two LAR schemes discussed
Group # 5 Geographic Routing 58
Error in Location Estimate
Let location error e denote the maximum error in the
coordinates estimated by a node. Hence the actual location
of node D known by S at time to is a circle of radius e
centered at (xd,yd).
Expected zone is of radius e+v(ti-to). This leads to a larger
request zone which in turn increases the routing overhead.
Large value of e may degrade the performance of the
scheme as there is a higher chance that the request zone
used by the scheme will not include a path to D.
Group # 5 Geographic Routing 59
Performance Evaluation and Simulation Model
Performance evaluations were carried out by varying the
no. of nodes, the transmission range and the avg. velocity.
Compare results from LAR schemes 1 and 2 with those
from the flooding algorithm
In each run one input parameter is varied while other
parameters are kept constant.
No. of RP per DP: Ratio of number of routing packets and
the data packets received by the destination.
Group # 5 Geographic Routing 60
Effect of Average Speed
Inference: As the speed is increased the number of routing packets
begins to increase for all routing protocols. LAR schemes though have
a lower rate of increase as compared to flooding.
Group # 5 Geographic Routing 61
Effect of Transmission range
Inference: The routing overhead decreases with increase in the
transmission range. However with a smaller transmission range
performance of the LAR schemes is not much better than flooding.
Group # 5 Geographic Routing 62
Effect of Number of Nodes
Inference: Amount of routing overhead for the flooding
algorithm increases much more rapidly than LAR schemes,
when number of nodes is increased
Group # 5 Geographic Routing 63
Variations and optimizations
Alternate definition of request zone
Adaptation of request zone
Propagation of locations and speed information
Group # 5 Geographic Routing 64
Location information may be used to reduce the routing
overhead in Ad-Hoc networks
Simulation results indicate that using location information
results in significantly lower routing overhead, as
compared to an algorithm that does not use location
As regards within the schemes LAR 2 has the smallest
number of routing packets per route discovery.
Group # 5 Geographic Routing 65
Group # 5 Geographic Routing 66
Novel Geocasting algorithm for MANETS = Unicast +
Send messages to nodes within a geographic region.
GeoTORA – derived from TORA (Unicast routing).
Flooding nodes within small geographical region; nodes
know location from GPS.
Integration of TORA and flooding
- reduces overhead of geocast delivery
- maintains reasonably high accuracy
Group # 5 Geographic Routing 67
Significant work on Unicast routing for MANETS
Multicast for MANETS .
- flooding based (large overhead)
- tree based (large network state)
Location based Multicast (LBM) – limit flooding to
Temporally ordered routing algorithm (TORA)
- Directed Acyclic Graph (DAG) for each destination
- Link reversal algorithm, link direction: notion of ht
Group # 5 Geographic Routing 68
Simplified Description of TORA
direction; 2 way
reached via links
DF breaks => D
w/o outgoing links
=> link reversal
Group # 5 Geographic Routing 69
Anycasting using modified TORA
Single DAG for
Nodes in anycast
group – all sinks
Group # 5 Geographic Routing 70
Single DAG for each
Flooding within Geocast
group; other nodes- drop
Sequence numbers prevent
forwarding - flooded
Source – E, A initiates
Geocasting; does not
partition, empty geocast
Group # 5 Geographic Routing 71
Logical direction – height of nodes – 5 tuple (τ, oid, r, δ, i)
Height has 2 components
- reference level – first 3 components
- δ w.r.t ref level – next 2
3 functions of TORA – route maintenance, creation and
3 control packets – QRY, UPD, CLR.
Group # 5 Geographic Routing 72
Parameters in TORA
τ – reference level defined – node loses outgoing link
oid – unique identifier of node
r – reflection indicator bit – when node loses outgoing
δ – propagation ordering parameter
I – unique node identifier ID
Group # 5 Geographic Routing 73
TORA detailed implementation
Height of each node (apart from destination) set to NULL
Destination G – height set to zero
A w/o outgoing link- sets route required bit, broadcasts
Nodes react to QRY according to rules
Group # 5 Geographic Routing 74
TORA detailed implementation (contd)
a) B, E – no downstream links – fwd QRY, set route
b) A (with ‘rr’ set) receives query from nodes B or E,
F has outgoing link, modifies delta and sends UPD to
TORA – no reaction to failures, unless all outgoing links
Group # 5 Geographic Routing 75
Route Creation and maintenance in GeoTORA
Route creation process: geocast members – zero height
Dotted circle: geocast region (destination)
a) Initial state with A as source
b) QRY process, c) QRY begins, UPD broadcast
d), e), f) QRY, UPD, state updates, DAG formation
Group # 5 Geographic Routing 77
DF breaks – no action taken
CH breaks – C updates ht, sends
Network partition – FG failure,
Group # 5 Geographic Routing 79
Compared to pure geocast flooding and LBM
Used extended version of NS-2
30 nodes move within 700 x 700 unit sq
Nodes choose direction, speed, distance of movement
based on predefined distribution. Compute position P, time
of arrival T
Simulation run with movement pattern for different pause
times 0 – 1000
Group # 5 Geographic Routing 80
Performance Evaluation (contd)
Transmission range – 250 units for all nodes
Links b/w 2 Mbps. Data payload = 512 bytes
1000 Geocasts / run
Geocast region: 200 x 200 units
Group # 5 Geographic Routing 81
Accuracy of geocast delivery
- Number of group members that receive packets
Number of group members in delivery region.
- Average accuracy computed
Overhead of geocast delivery
- Average no: of packets, bytes received by node/ geocast
Group # 5 Geographic Routing 82
Pure Geocast – 100%
deliver to all nodes in
Delays required to
Group # 5 Geographic Routing 83
Simulation results (contd)
GeoTORA overhead – consistently lower than LBM and flooding
Main overhead for GeoTORA is control packets; not data
Group # 5 Geographic Routing 84
Simulation results (contd)
GeoTORA – lower accuracy
when speed is varying.
Overhead is significant when
geocast frequency is low.
Hello packets are not
considered as overhead as all
Unicast protocols that detect
failure use this.
We assume a reasonably high
geocast frequency for our
Group # 5 Geographic Routing 85