XBee ZigBee Route Discovery and Network Address Discovery

In ZigBee there are two important forms of discovery that allow one node to locate and send packets to another node. These two methods are called Route Discovery and Network Address Discovery.

Route Discovery:

In order for an XBee module to send a message to another node, the intermediate nodes must must know what route the message will take to get to the receiver node. This process of finding the route is known as Route Discovery. The steps required for a successful Route Discovery, are demonstrated in the graphics with R3 requesting a Route to R6:

  • Route Request (Broadcast)
  • Route Reply (Unicast)

The sending node invokes Route Discovery by sending a broadcast Route Request Packet. The Route Request contains the following pertinent information:

  1. Route Request ID (sequence number)
  2. Destination Network Address
  3. Path Cost Field (metric for measuring quality of a route)
  4. Source Network Address


First the receiving node creates an entry in its Route Discovery Table. The receiving node responds to the Route Request Packet by sending a Unicast Route Reply Packet (with an updated Path Cost Value). The Route Reply Packet contains:

  1. Route Request ID (sequence number)
  2. Destination Network Address
  3. Path Cost Field (metric for measuring quality of a route)
  4. Source Network Address


If the Destination node receives another Route Request Packet it will check if the Path Cost field is better then the value already stored. If so, it will send a second Route Reply back along the new route and then update its Route Discovery Table with the new route. If the Path Cost is worse on the second Route Request Packet then it will discard the second Route Request.


After Route Discovery, the route is stored in the Routing Tables of the nodes. On future transmissions to R6, R3 will transmit the data via the Coordinator and R4 without performing a Route Discovery.
 

Node Destination Address Next Hop Address
Router6 Coordinator
Router6 Router5
Router6 Router6

 

Node Destination Address Next Hop Address
Router6 Router5
Router6 Coordinator
Router6 Router3






Network Address Discovery:

If a given node doesnt know the Network Address but does know the Extended Address of another node then it must perform a Network Address Discovery. Our modules keep a Network Address Table so that they can map Extended Addresses to Network Addresses. The steps for a Network Address Discovery are:

  1. Check the Network Address Table to see if we know the Network Address that corresponds to the supplied Destination Extended Address
  2. If not, send a broadcast command to discover the Network Address
  3. Only the module with a matching Extended Address will reply
    1. If the receiving node has the sending nodes routing information it sends a Unicast message
    2. If not the receiving node must perform a Route Discovery
  4. If a Network Address was discovered, route the data to the destination
Last updated: Aug 23, 2017

Filed Under

RF Dev kits

Recently Viewed

No recently viewed articles

Did you find this article helpful?