Large networks routing

The basic function of a network is to transfer data from one node to another. In the simplest data communication, the data is transmitted directly from the source node to the destination node. However, direct communication may not be possible if the two nodes are far apart or in a difficult environment.

In this case, it is necessary to send the data to another node within the radio range, which then passes it on to another node, and so on until the data reaches the desired destination node.

Routing is the process of receiving data destined for another node and passing it on. Each of the intermediary nodes between source and destination is called hop.

Note Routing allows the range of a network to be extended beyond the distances supported by direct radio communication.

 

A message is normally routed along an already discovered route. But if this route does not exist, the nodes involved in transmitting the data initiates a route discovery. Once completed, the message will be sent along the calculated route.

Note The route discovery process finds the best available route to the destination when sending a message.

The route discovery process is based on the Ad-hoc On demand Distance Vector routing (AODV) protocol. The AODV protocol uses tables in each node to store the next hop for a destination node. When a source node A must discover a route to a destination node B, route discovery involves the following steps:

  1. Source node A sends a route request broadcast. The route request contains the source and destination network addresses and a path cost field to measure the route quality.
  2. All routing nodes (coordinator and routers) eventually receives the broadcast. When a node receives this message:
    • It updates the path cost field.
    • It creates a temporary entry in its route discovery table.
    • It forwards the message.
  3. As the reply travels back through the network, the hop count and a signal quality measure for each hop are recorded as described. Each routing node in the path can build a routing table entry containing the best path to the destination node B.
  4. When the destination node B receives the route request:
  1. It compares the "path cost" field against previously received route requests.
  2. If the cost stored in the request is better than any previously received, the destination node, B, will transmit a route reply to the node that originated the request, A.
  1. Eventually each routing node in the path will have a routing table entry and the route from source A to destination B is established. Note that the discovered route is unidirectional, the corresponding route from destination B to source A is not known.

In large networks where an XBee transmits data to many remote modules, AODV routing would require performing one route discovery for each destination node to establish a route. If there are more destinations than available routing table entries, established routes would be overwritten with new routes, causing route discoveries to occur more regularly. This could result in larger delays and decreased network performance.

Many-to-one and source routing features address limitations in mesh network routing where table size requirements are large in certain wireless data transmission scenarios.