GPSR (Greedy Perimeter Stateless Routing) é uma extensão do geographic
routing, criado para lidar com as situações sem saídas, onde alguns nós, apesar
de estarem conectados à rede, ficam inalcançáveis.
Todos os pacotes enviados utilizando o GPSR funcionam em dois modos, o
modo guloso e o modo de perímetro. Inicialmente, todos os pacotes são
enviados no modo guloso, ou seja, da mesma maneira que o geographic routing.
Caso o pacote chegue em uma situação sem saída (explicado no tópico
anterior), o nó registra sua posição G1 no pacote, muda-o para o modo
perímetro e o reenvia.
O nó que receber um pacote no modo perímetro, verifica sua distância até o
nó destino, se ela for menor que G1 , ou seja, se ela estiver mais perto do
destino que o nó sem saída, ele retorna o pacote para o modo guloso.
O próximo salto no modo perímetro é definido através de um sub-grafo
planar, que é um grafo que não contém interseção de arestas, caminhada
através desse grafo é feita através da regra da mão direita. Tanto a regra da
mão direita quanto os sub-grafos planares, são explicados no apêndice A.
As principais vantagens do GPSR são[3]:
- Reduz a quantidade de dados de roteamento armazenado em cada nó, pois
não é mais necessário saber quem são seus vizinhos distantes dois saltos.
- Aumenta a confiança, pois o nó não dependerá de informação de outros nós
para saber seus vizinhos distantes dois nós