Design and implementation of the GeoNetworking protocol for Geo-Location based routing in wireless networks