
Advanced Wireless Networks - 4G Technologies
.pdf
468 AD HOC NETWORKS
|
ABR |
SSR |
Source initiated |
|
|
on demand |
|
|
(reactive) |
LMR |
TORA |
|
|
|
|
DSR |
|
Ad hoc routing |
|
|
protocols |
AODV |
|
|
|
|
|
WRP |
|
Table-driven |
|
|
(proactive) |
|
|
|
DSDV |
CGSR |
Figure 13.5 Classification of ad hoc routing protocols [destination sequenced distance vector (DSDV), clusterhead gateway switch routing (CGSR), wireless routing protocol (WRP), ad hoc on-demand distance vector (AODV), dynamic source routing (DSR), temporally ordered routing algorithm (TORA), lightweight mobile routing (LMR), signal stability routing (SSR) and associativity based routing (ABR)].
transmitted and processed and for new routing tables to be built. For reactive/on demand protocol a new route request is sent and a new route is found independently.
13.1.1 Routing protocols
Classification of ad hoc routing protocols, discussed in References [1–24] is given in Figure 13.5. Table-driven routing protocols attempt to maintain consistent, up-to-date routing information from each node to every other node in the network. These protocols require each node to maintain one or more tables to store routing information, and they respond to changes in network topology by propagating updates throughout the network in order to maintain a consistent network view. The areas in which they differ are the number of necessary routing-related tables and the methods by which changes in network structure are broadcast. We start this section by discussing some of the existing table-driven ad hoc routing protocols.
13.1.1.1 Destination sequenced distance vector, DSDV
Traditional distance vector algorithms are based on the classical Bellman–Ford (DBF) algorithm discussed in Chapter 7. This algorithm has the drawback that routing loops can occur. To eliminate or minimize the formation of loops the nodes are required to often coordinate and communicate among themselves. The problem is caused by frequent topological changes. The RIP is based on this type of algorithm. The application of RIP to ad hoc networks is limited since it was not designed for such an environment. The objective
ROUTING PROTOCOLS |
469 |
of DSDV protocols is to preserve the simplicity of RIP and avoid the looping problem in a mobile wireless environment. The main features of DSDV are:
routing tables have entries with number of hops to each network destination;
each route table entry is tagged with a sequence number originated by the destination;
nodes periodically communicate their routing table to their neighbors and when there is a significant new information available;
routing information is normally transmitted using a broadcasting or multicasting mode.
Route tables entry consists of:
(1)destination address;
(2)number of hops required to reach the destination;
(3)sequence number of the information received regarding that destination, as originally stamped by the destination.
Within the headers of the packet, the transmitter route tables usually carry the node hardware address, the network address and the route transmission sequence number. Receiving a transmission from a neighbor does not indicate immediately the existence of a bi-directional link with that neighbor. A node does not allow routing through a neighbor until that neighbor shows that it also has the node as a neighbor. This means that DSDV algorithms use only bi-directional links.
An important parameter value is the time between broadcasting routing information packets. However when any new and substantial route information is received by a mobile node, the updated route information is transmitted as soon as possible.
Broken links are a normal occurrence in ad hoc networks. They are detected by the MAC layer or inferred if no transmissions are received from a neighbor for some time. A broken link is given a metric of ∞ and an updated sequence number. A broken link translates into a substantial route change and thus this new routing information is immediately broadcasted to all neighbors. To propagate new routing information, particularly the one generated by broken links, and to avoid large transmission overheads, two types of routing packets are used: (1) full dump – carries all the available information; and (2) incremental – carries only information changed after the last dump. When a node receives a new routing packet the information is compared with the one already available at the node. Routes with a more recent sequence number are always used. Newly computed routes are scheduled for immediate advertisement. The route updating process is illustrated in Figure 13.6.
When A moves and it is detected as a routing neighbor by G and H, it causes these nodes to advertise their updated routing information (incremental update). Upon reception of this update, F updates its own routing tables and broadcasts the new information. D receives this update and carries out an update of its routing table. The steps are illustrated in Figure 13.7.
13.1.1.2 Clusterhead gateway switch routing
The clusterhead gateway switch routing (CGSR) protocol differs from the previous protocol in the type of addressing and network organization scheme employed. Instead of a ‘flat’ network, CGSR is a clustered multihop mobile wireless network with several heuristic routing schemes [4]. In the next section we will see that, by having a cluster head controlling a


|
|
|
|
|
|
|
ROUTING PROTOCOLS |
471 |
||
|
|
|
|
|
|
|
|
|
|
|
D’s updated routing table |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Destination |
|
Next hop |
Metric |
|
Sequence no. |
Install time |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
F |
4 |
|
S412_A |
T509_D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
B |
1 |
|
S137_B |
T001_D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
B |
2 |
|
S201_C |
T003_D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
D |
0 |
|
S312_D |
T001_D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
F |
2 |
|
S400_E |
T005_D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
F |
1 |
|
S150_F |
T001_D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
G |
|
F |
2 |
|
S111_G |
T007_D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H |
|
F |
3 |
|
S233_H |
T007_D |
|
|
|
|
I |
|
I |
1 |
|
S150_I |
T001_D |
|
|
|
|
J |
|
J |
1 |
|
S130-J |
T001_D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
H |
|
|
|
|
|
|
|
|
|
|||
D’s updated advertised routing table |
|
|
|
|
|
A |
||||
|
|
|
|
|
|
|
|
|
|
|
Destination |
|
Metric |
Sequence no. |
|
|
F |
|
|
|
|
|
|
|
|
|
|
|
|
G |
|
|
A |
|
3 |
S412_A |
|
|
|
|
|||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
B |
|
1 |
S137_B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
J |
|
C |
|
2 |
S201_C |
|
|
|
|
|
||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
E |
|
2 |
S400_E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
1 |
S150_F |
|
|
D |
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
|
G |
|
2 |
S111_G |
|
|
|
|
|
||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
H |
|
3 |
S233_H |
|
|
|
|
A |
|
|
I |
|
1 |
S150_I |
|
|
|
|
|
||
|
|
|
|
B |
|
|||||
J |
|
1 |
S130_J |
|
|
|
|
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
C
Figure 13.7 Illustration of route updating process after A moves.
In addition to the cluster member table, each node must also maintain a routing table which is used to determine the next hop in order to reach the destination. On receiving a packet, a node will consult its cluster member table and routing table to determine the nearest cluster head along the route to the destination. Next, the node will check its routing table to determine the next hop used to reach the selected cluster head. It then transmits the packet to this node.
13.1.1.3 The wireless routing protocol
The wireless routing protocol (WRP) described in Murthy and Garcia-Luna-Aceves [5] is a table-based protocol with the goal of maintaining routing information among all nodes in the network. Each node in the network is responsible for maintaining four tables:
472 AD HOC NETWORKS
(1) distance table; (2) routing table; (3) link-cost table; and (4) message retransmission list (MRL) table.
Each entry of the MRL contains the 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. The MRL records which updates in an update message need to be retransmitted and which neighbors should acknowledge the retransmission [5].
Mobiles inform each other of link changes through the use of update messages. An update message is sent only between neighboring nodes and contains a list of updates (the destination, the distance to the destination and the predecessor of the destination), as well as a list of responses indicating which mobiles should acknowledge (ACK) the update. Mobiles send update messages after processing updates from neighbors or detecting a change in a link to a neighbor. In the event of the loss of a link between two nodes, the nodes send update messages to their neighbors. The neighbors then modify their distance table entries and check for new possible paths through other nodes. Any new paths are relayed back to the original nodes so that they can update their tables accordingly. Nodes learn of the existence of their neighbors from the receipt of acknowledgments and other messages. If a node is not sending messages, it must send a hello message within a specified time period to ensure connectivity. Otherwise, the lack of messages from the node indicates the failure of that link. This may cause a false alarm. When a mobile receives a hello message from a new node, that new node is added to the mobile’s routing table, and the mobile sends the new node a copy of its routing table information. Part of the novelty of WRP stems from the way in which it achieves loop freedom. In WRP, routing nodes communicate the distance and second-to-last hop information for each destination in the wireless networks. WRP belongs to the class of path-finding algorithms with an important exception. It avoids the ‘count-to-infinity’ problem [6], also discussed in Chapter 7, by forcing each node to perform consistency checks of predecessor information reported by all its neighbors. This ultimately (although not instantaneously) eliminates looping situations and provides faster route convergence when a link failure event occurs.
13.1.2 Reactive protocols
13.1.2.1 Dynamic source routing (DSR)
In this case every packet carries the routing sequence. Intermediate nodes may learn routes from ‘heard’ traffic (RREQ, RREP, DATA). No periodic sending of routing packets occurs. The system may piggyback route requests on route replies and must use link layer feedback to find broken links. To send a packet the sender constructs a source route in the packet’s header.
The source route has the address of every host through which the packet should be forwarded to reach its destination. Each host in the ad hoc network maintains a route cache in which it stores source routes it has learned. Each entry in the route cache has an expiration period, after which it will be deleted. If the sender does not have a route to a destination it then attempts to find out by using a routing discovery process. This process is illustrated in Figures 13.8–13.10. While waiting for the routing discovery to complete, the sender continues sending and receiving packets with other hosts. Each host uses a route maintenance procedure to monitor the correct operation of a route.




ROUTING PROTOCOLS |
477 |
operations can translate in excessive use of power. This is not easily scalable to large networks since the protocol design assumes a small network diameter. The need to place the entire route in the route replies and data packets translates in large on-the-air packet overheads. Protocol allows for the possibility to keep multiple routes to a destination in the route cache. CPU and memory use demands on each host are high, since the routes have to be continuously maintained and updated.
13.1.2.5 Ad-hoc on demand distance vector (AODV)
The protocol uses ‘traditional’ routing tables. Hello messages are sent periodically to identify neighbors. Sequence numbers guarantee freshness. Route requests are sent in the reverse direction, i.e. they only use bi-directional links. The system may use link layer feedback to find broken links. The protocol is based on the destination-sequenced distance-vector (DSDV) algorithm. It provides on-demand route acquisition. Nodes maintain the route cache and use a destination sequence number for each route entry. The protocol does nothing when connection between end points is still valid. The route discovery mechanism, illustrated in Figure 13.13, is initiated by broadcasting a route request packet (RREQ), when a route to new destination is needed.
The neighbors forward the request to their neighbors until either the destination or an intermediate node with a ‘fresh enough’ route to the destination is located. Route reply packets are transmitted upstream of the path taken by the route request packet to inform the original sender (an intermediate nodes) of the route finding. Route error packets (RERR) are used to erase broken links.
13.1.2.6 AODV – path maintenance
Periodic hello messages can be used to ensure symmetric links and to detect link failures. Hello messages include a list of nodes that the host has heard of. Once the next hop becomes unavailable the host upstream of the link failure propagates an unsolicited RREP with a hop count of ∞ to all active upstream neighbors. Upon receiving notification of a broken link, a source node can restart the discovery process if they still need a route to destination.
13.1.2.7 Temporal order routing algorithm (TORA)
TORA is also a distributed protocol. It provides loop-free routes and multiple routes. It is source-initiated and creates routes to destination only when desired.
The protocol minimizes reaction to topological changes, by localizing reaction to a very small group of nodes near the change and provides fast recovery upon route failures. Also, it detects a network partition when there is one and erases all invalid routes within a finite time.
The protocol has three basic functions: route creation, route maintenance and route erasure. During the route creation, nodes use a ‘height’ metric to build a directed acyclic graph (DAG) rooted at the destination. Links are assigned that have a direction (upstream or downstream) based on the relative height metric of neighboring nodes, as illustrated in Figure 13.14.
From Chapter 7, G(V, E) represents the network, where V is the set of nodes and E is the set of links. Each node i V is assumed to have a unique identifier (ID), and each