From: Tyler Robison (trobison@cs.washington.edu)
Date: Mon Nov 22 2004 - 02:01:32 PST
GPSR is a routing protocol for wireless networks designed to be
scalable, and to function well on a frequently changing network. This is
all done through geographical knowledge; each node must know its own
location, and share this information with its neighbors. Each node needs
to store this neighbor location information, but that's all the state they
need, which is a big part of the scalability. When routing, it tries to
do a greedy algorithm, going to the adjacent router closest to the
destination, but switches to a 'perimeter' mode when this fails, which
helps it escape local maxima.
It's a neat idea, and simulated results are decent, but there are
still a number of issues with this protocol. First, its not necessarily a
good assumption that all nodes have accurate location information, given
faulty/inaccurate hardware/software/configurations or just an apathetic
user, and its not clear that the system will function well with inaccurate
locations, which would occur frequently in actual usage.
What happens when location services are unavailable, say you move
into a building where you can't get a GPS signal? Routing based on your
last known location could be extremely error-prone if you enter a subway
system and travel a few miles underground.
Another major problem is that there is no attempt made to
distribute the traffic in some way; if there are a few nodes bridging the
gap between two areas of the network, there is a decent chance that a
single node will bear most of the traffic between the two sides due to its
proximity, even when it is heavily overloaded and its neighbor bridges are
lightly loaded. The stateless nature of the protocol would make it
difficult to distribute the load, and so would the fact that the topology
may be constantly changing, but some compromise may help out quite a bit:
perhaps nodes that are stationary for awhile gradually build some database
of the surrounding network to make routing decisions. In a truly dynamic
system there isn't much you can do, but in reality there will be
stationary nodes, at least for awhile, and it could be useful to take
advantage of this.
Security isn't really considered in this paper; if node A is
sending to node B, some node C near the path can advertise its location as
being really close to B's, and absorb all the traffic. Any node adjacent
to a node on the path should be able to divert all traffic from a given
node. Perhaps some checks could be performed where signals detected
nearby but advertising locations hundreds of miles away are ignored, and
nodes that appear to move an impossible distance quickly are likewise
ignored; these could prevent some of the possible exploits.
This archive was generated by hypermail 2.1.6 : Mon Nov 22 2004 - 02:01:32 PST