Geocast is the concept of sending data packets to nodes in a specified
geographical area instead of nodes with a specific address. To route geocast
messages to their destination we need a geographic routing algorithm that can
route packets efficiently to the devices inside the destination area. Our goal
is to design an algorithm that can deliver shortest path tree like forwarding
while relying purely on distributed data without central knowledge. In this
paper, we present two algorithms for geographic routing. One based purely on
distance vector data, and one more complicated algorithm based on path data. In
our evaluation, we show that our purely distance vector based algorithm can
come close to shortest path tree performance when a small number of routers are
present in the destination area. We also show that our path based algorithm can
come close to the performance of a shortest path tree in almost all geocast
situations