Route discovery
A message is normally routed along an already-discovered route. But if this route does not exist, the nodes involved in transmitting the data initiate a route discovery. Once completed, the message is sent along the calculated route. The route discovery process is based on the Ad-hoc On demand Distance Vector (AODV) routing protocol.
This algorithm uses routing tables in each node to store the next hop for a destination node. By sending a message to the next hop address, the message will either reach its destination or be forwarded to an intermediate router which will route the message to its destination.
Note The route discovery process finds the best available route to the destination when sending a message.
When a source node A must discover a route to a destination node B, route discovery involves the following steps:
- Source node A sends a route request broadcast. Any router that receives the broadcast and is not the destination is called an intermediate node.
- Intermediate nodes update and broadcast the request if it has a better route quality back to the source node A.
- When the destination node B receives a route request, it sends a unicast route reply back to A along the path specified by the received route request.
- This is done for every route request received, regardless of route quality.
- The source node A may receive multiple route replies. It selects the route with the best round-trip route quality, and uses that route for every transmission to the same destination B.
Note XBee-PRO 900HP modules support a maximum of 128 routing table entries.
If a network contains more nodes than available routing table entries, established routes are overwritten with new routes, causing route discoveries to occur more regularly. This could result in larger delays and decreased network performance.