A routing protocol is the method used to determine the path a packet takes to get from its source to its destination. In this seventh article of our technical discussion of the network communication protocol WirelessHART, we examine two methods of routing available in the network layer: graph routing and source routing.
Getting from here to there
If you need to get from your hotel to the airport, you have two choices: take a cab or take the bus. In the cab, you tell the cab driver where you want to go, and let him determine the best route. If there is a traffic jam, he is going to change routes. If he knows a short cut, he’ll take it.
This is graph routing. When sending a packet, the source device writes a graph ID in the network header. The paths in each graph are supplied to by the network manager to each network device.
If you take the bus, you follow the bus route. The bus has particular stops to make, and doesn’t deviate. This is source routing. The source device writes an ordered list of devices for the packet to go through in the network header. Each routing device uses the next device in the list to determine the next hop to the destination. If a network device finds it cannot communicate with the next device on the list, the transmission fails.
Why take the bus?
Why use source routing when graph routing provides more reliable transmission? One reason is network diagnostics. For instance, the network manager can test to see if a network connection has failed by routing a message through a device.
Just like you would prefer to take a cab rather than the bus to the airport, most network communication in WirelessHART utilizes graph routing rather than source routing. However, if you want to get a better feel for life in the city (the network), taking the bus would give you a better picture.
Is there another way?
Graph routing and source routing are not the only routing protocols available to wireless networks like WirelessHART. In the next installment of our technical discussion, we will examine the advantages of graph routing over one of these other protocols.