Routing is the process of finding the best path for traffic in a network, or across multiple networks. The role of routing is similar to the road map for a hotel. In both cases, we need to deliver messages at proper location and in an appropriate way.
Routing in a mobile ad-hoc network depends on many factors such as:
- Modeling of the topology,
- Selection of routers,
- Initiation of a route request,
- And specific underlying characteristics that could serve as heuristics in finding the path effectively.
In a MANET, each node or device is expected to serve as a router, and each router is indistinguishable from another in the sense that all routers execute the same routing algorithm to compute paths through the entire network.
Need for Routing
There are following needs for routing:
- Since centralized routing in a dynamic and even for small networks is impossible therefore routing computation must be distributed.
- Route computation should not add many more nodes.
- If any host demands for the route, they must have quick access.
- Maintenance of a global state should not involve in the route computation.
- Each node should care about their destination node to its route and should not be involved in frequent topology updates for those portions of the network that have no traffic.
- Since broadcast can be time consuming for MANETs, it must be avoided as much as possible.
- In routing there must have a backup route when the primary route has become stale.
Routing protocol can be classified as:
- Proactive Protocol
- Reactive Protocol
- Hybrid Protocol
1. Proactive Protocol
Proactive protocols attempt to evaluate continuously the routes within the network. It means proactive protocol continuously maintain the routing information, so that when a packet needs to be forwarded, the path is known already and can be immediately used. The family of distance vector protocols is an example of proactive scheme.
The advantage of the proactive schemes is that whenever a route is needed, there is negligible delay in determining the route.
Unfortunately, it is a big overhead to maintain routing tables in the MANET environment. Therefore, this type of protocol has following common disadvantages:
- Requires more amounts of data for maintaining routing information.
- Low reaction on re-structuring network and failures of individual nodes.
2. Reactive Protocols
Reactive protocols do not maintain routes but invoke a route determination procedure only on demand or we can say reactive protocols build the routes only on demand. Thus, when a route is required, some sort of global search procedure is initiated. The family of classical flooding algorithms belongs to the reactive protocol group. Examples of reactive ad-hoc network routing protocols include ad hoc on demand distance vector (AODV) and temporally ordered routing algorithm (TORA).
These protocols have the following advantages:
- No large overhead for global routing table maintenance as in proactive protocols.
- Reaction is quick for network restructure and node failure.
Even though reactive protocols have become the main stream for MANET routing, they still have the following disadvantages:
- Latency time is high in route finding
- Excessive flooding can lead to network clogging.
3. Hybrid Protocols
Hybrid protocols attempt to take advantage of best of reactive and proactive schemes. The basic idea behind such protocols is to initiate route discovery on demand but at a limited search cost. One of the popular hybrid protocols is zone routing protocol (ZRP).
Routing protocols may also be categorized as follows:
- Table-driven protocols
- Source initiated on -demand protocols
1. Table-driven routing protocol
- These protocols are called table-driven because each node is required to maintain one or more tables containing routing information on every other node in the network.
- They are proactive in nature so that the routing information is always consistent and up to date.
- The protocols respond to changes in network topology by propagating the updates throughput the network so that every node has a consistent view of the network.
The table driven routing protocols are categorized as follows:
Destination - sequenced distance vector routing
- Destination sequenced distance vector routing (DSDV) is a table driven routing protocol for MANET based on Bellman-Ford algorithm.
- DSDV was developed by C. Perkins and P. Bhagwat in 1994. The main contribution of the algorithm was that the algorithm works correctly, even in the presence of the loops in the routing table.
- As we know, each mobile node maintains a routing table with a route to every possible destination in the network and the number of hops to the destination.
- Each entry in the table contains a sequence number assigned by the destination node.
- The sequence numbers allow the node to distinguish stale routes from new ones, and help avoid formation of routing loops.
- A new route broadcast contains:
- The destination address.
- The number of hops required to reach the destination.
- The sequence number of the information received about the destination and a new sequence number unique to the broadcast.
- If there multiple routes are available for the same destination, the route with the most recent sequence number is used. If two updates have the same sequence number, the route with smaller metric is used to optimize the routing.
For example the routing table of Node A from the above network is:
||No. of Hops
Basically the table stores description of all possible paths reachable by node A, along with the hop, number of hops, sequence number and install time.
- Destination sequenced distance vector routing was one of the early algorithms available. It is suitable for creating ad-hoc networks with small no. of nodes.
- Destination sequenced distance vector routing requires a regular update of its routing tables, which uses more battery power and a small amount of bandwidth even when the network is idle.
- This algorithm is not suitable for highly dynamic networks.
Cluster Head gateway switch Routing
- The cluster head (CH) gateway switch routing (CGSR) protocol is different from the destination sequenced distance vector routing in the type of addressing and the network organization scheme employed.
- Instead of a flat network, CGSR uses cluster heads, which control a group of ad hoc nodes and hence achieve a hierarchical framework for code separation among clusters, routing, channel access, and bandwidth allocation.
- Identification of appropriate clusters and selection of cluster heads is quite complex. Once clusters have been defined, it is desirable to use a distributed algorithm within the cluster to elect a node as the cluster head.
- The disadvantage of using a cluster head scheme is that frequent changes adversely affect performance as nodes spend more time selecting a cluster head rather than relaying packets. Hence, the least cluster change (LCC) clustering algorithm is used rather than CH selection every time the cluster membership changes. Using LCC, CHs change only when two CHs come into contact, or when a node moves out of contact with all other CHs.
- In this scheme, each node must maintain a cluster member table (CMT), which stores the destination CH for each node in the network. The cluster member tables are broadcast periodically by the nodes using the DSDV algorithm.
- When a node receives such a table from a neighbor, it can update its own information. As expected, each node also maintains a routing table to determine the next hop required to reach any destination.
Wireless routing protocol (WRP)
The wireless routing protocol is a proactive unicast routing protocol for MANETs. It uses an enhanced version of the distance vector routing protocol, which uses the Bellman - Ford algorithm to calculate paths.
For the wireless routing protocol (WRP) each node maintains 4 tables:
- Distance table
- Routing table
- Link cost table
- Message retransmission list (MRL) table
Each entry in the message retransmission list has a sequence number of the update message, a retransmission counter, an acknowledgment required flag vector with one entry per neighbor, and a list of updates sent in the update message. When any node receives a hello message from a new node, it adds the new node to its routing table and sends the new node a copy of its routing table. A node must send a message to its neighbors within a certain time to ensure connectivity.
- The advantage of WRP is similar to DSDV. In addition, it has faster convergence and adds fewer table updates.
- The complexity of maintenance of multiple tables demands a large amount of memory and greater processing power from nodes in the MANET.
- Since it suffers from limited scalability therefore WRP is not suitable for highly dynamic and for a very large ad hoc wireless network.
2. Source initiated on -demand protocols
- Source - initiated on demand routing is reactive in nature, unlike table driven routing. This type of protocols generates routes only when a source demands it.
- In other words, when a source node requires a route to a destination, the source initiates a route discovery process in the network. This process finishes when a route to the destination has been discovered or all possible routes have been examined without any success.
- The discovered route is maintained by a route maintenance procedure, until it is no longer desired or the destination becomes inaccessible.
The source initiated on demand routing is categorized as follows:
Ad hoc on demand distance vector routing (AODV)
- AODV is a routing protocol for MANETs (mobile ad hoc networks) and other wireless ad hoc networks.
- It is a reactive routing protocol; it means it establishes a route to a destination only on demand.
- AODV routing is built over the DSDV algorithm. It is a significant improvement over DSDV.
- The devices that are not on a particular path do not maintain routing information, nor do they participate in the routing table exchanges.
- When a source requires sending a message to a destination and does not have a valid route to the latter, the source initiates a route discovery process.
- Source sends a route request (RREQ) packet to all its neighbors, the latter forward the request to all their neighbors, and so on, until either the destination or an intermediate mobile (node) with a "fresh enough" route to the destination is reached.
The above figure illustrates the propagation of the broadcast request (RREQs) across the network. Since in DSDV, destination sequence numbers are used to ensure that all routes are loop free and contain the most recent route information. Each node has a unique sequence number and a broadcast ID, which is incremented each time the node, initiates RREQ.
The broadcast ID, together with the IP address of node, uniquely identifies every RREQ.
Intermediate mobile reply only if they have a route to the destination with a sequence number greater than or at least equal to that contained in the RREQ. To optimize the route performance, intermediate nodes record the address.
From the above figure, since RREP (route reply packet) travels back on the reverse path, the nodes on this path set up their forward route entries to point to the node from which RREP had just been received. These forward route records indicate the active forward route. The RREP continues traveling back along the reverse path till it reaches the initiator of the route discovery. Thus, AODV can support only the use of symmetric links.
Dynamic Source Routing (DSR)
- Dynamic source routing is an on-demand routing protocol which is based on source routing.
- It is very similar to AODV in that it forms a route on demand when a transmitting computer requests one. But, it uses source routing instead of relying on the routing table at each intermediate device. Many successive refinements have been made to dynamic source routing.
- This protocol works in two main phases:
- Route discovery
- Route maintenance
- When a node has a message to send, it contacts to the route cache to determine whether is it has a route to the destination. If an active route to the destination exists, it is used to send a message.
- Otherwise a node initiates a route discovery by broadcasting a route request packet. The route request stores the destination address, the source address, and a unique identification number.
- Each device that receives the route request checks whether it has a route to the destination. If it does not, it adds its own address to the route record of the packet and then rebroadcasts the packet on its outgoing links.
- To minimize the no. of broadcasts, a mobile rebroadcasts a packet only if it has not seen the packet before and its own address was not already in the route record.