Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Advanced Wireless Networks - 4G Technologies

.pdf
Скачиваний:
60
Добавлен:
17.08.2013
Размер:
21.94 Mб
Скачать

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

470 AD HOC NETWORKS

Destination

 

Next

 

Metric

Sequence

Install time

 

 

hop

 

 

no.

 

 

 

 

 

 

 

 

 

A

 

B

 

2

S123_A

T002_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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D’s advertised routing table

 

 

 

 

 

 

 

 

 

 

 

 

Destination

Metric

Sequence

 

 

 

 

 

 

 

no.

 

 

 

 

 

 

 

 

 

 

 

 

A

2

S123_A

 

 

 

 

 

 

 

 

 

 

 

 

B

1

S137_B

 

 

 

 

 

 

 

 

 

 

 

 

C

2

S201_C

 

 

 

 

 

 

 

 

 

 

 

 

E

2

S312_E

 

 

 

 

 

 

 

 

 

 

 

 

F

1

S150_F

 

 

 

 

 

 

 

 

 

 

 

 

G

2

S111_G

 

 

 

 

 

 

 

 

 

 

 

 

H

3

S233_H

 

 

 

 

I

1

S150_I

 

 

 

 

J

1

S130_J

 

 

 

 

 

 

 

 

 

 

D’s

routing

E

H

F G

J

D

I

A

B

C

Figure 13.6 Illustration of route updating process. Metric = number of hops to reach destination; sequence number = the freshness of received route, used to avoid routing loops; install time = when a received route was installed, used for damping route fluctuations.

group of ad hoc nodes, a framework for code separation (among clusters), channel access, routing and bandwidth allocation can be achieved. A cluster head selection algorithm is utilized to elect a node as the cluster head using a distributed algorithm within the cluster. The disadvantage of having a cluster head scheme is that frequent cluster head changes can adversely affect routing protocol performance since nodes are busy in cluster head selection rather than packet relaying. Hence, instead of invoking cluster head reselection every time the cluster membership changes, a least cluster change (LCC) clustering algorithm is introduced. Using LCC, cluster heads only change when two cluster heads come into contact, or when a node moves out of contact of all other cluster heads.

CGSR uses DSDV as the underlying routing scheme, and hence has much of the same overhead as DSDV. However, it modifies DSDV by using a hierarchical cluster-head-to-gate way routing approach to route traffic from source to destination. Gateway nodes are nodes that are within a communication range of two or more cluster heads. A packet sent by a node is first routed to its cluster head, and then the packet is routed from the cluster head to a gateway to another cluster head, and so on until the cluster head of the destination node is reached. The packet is then transmitted to the destination. Using this method, each node must keep a “cluster member table” where it stores the destination cluster head for each mobile node in the network. These cluster member tables are broadcast by each node periodically using the DSDV algorithm. Nodes update their cluster member tables on reception of such a table from a neighbor.

 

 

 

 

 

 

 

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

473

Usually the data link layer has a mechanism to detect a link failure. When a link failure is detected the host sends a route error packet to the original sender of the packet. The route error packet has the address of the host who detected the failure and the host to which it was attempting to transmit the packet. When a route error packet is received by a host, the hop in error is removed from the host’s route cache, and all routes which contain this hop are truncated at that point.

To return the route error packet the host uses a route in its route cache to the sender of the original packet. If the host does not have a route it can reverse the route information carried in the packet that could not be forwarded because of the link error. The later assumes that only bidirectional links are being used for routing. Another option to return route error packets is to perform a route discovery process to find a route to the original sender and use that route. Several optimizations are possible to reduce the amount of overhead traffic.

13.1.2.2 Route cache

During the process of route discovery and maintenance a host receives, directly or indirectly, information about routes to other hosts, thus minimizing the need to search for that

D

H

G

A neighbor that receives the request looks up its route cache to look for a route to destination. If not found it appends its address into the packet and re-broadcasts it

H

A

-B

 

B

F

E

A H

A

H

 

C

 

-

 

A

 

C

 

H

A

D

 

H

 

A

xA-D H

Node discards packets

having been seen

S

Source broadcasts a route packet with the address of the source and destination

Figure 13.8 DSR – route discovery.

474 AD HOC NETWORKS

 

D

 

 

H

Node discards packets

 

having been seen

 

 

H

G-B-

G

 

 

 

A

H

 

 

x

 

 

F

 

 

-

 

 

E

 

 

-

 

 

D

 

 

-

 

 

A

 

 

F

 

 

H

 

 

E

B

 

-

 

B

 

 

-

 

 

A

E

C

D

A

S

 

 

H-

 

 

 

 

G-B-

 

 

 

 

A

 

D

 

HH

G

 

 

 

 

 

 

 

Reply packet follows

 

 

 

 

the reverse path of the

 

 

 

route request packet

 

 

 

 

recorded in broadcast

 

 

 

 

packet

 

 

H

 

 

 

 

 

 

 

-

 

 

 

-G

 

 

 

 

B

 

 

 

-

 

 

 

A

 

 

 

B

H

 

-

 

G

C

B

-

 

-

 

A

 

D

AA

F

E

Figure 13.8 Continued.

ROUTING PROTOCOLS

475

A need to send to G

Look up cache for route A to G

Start route

 

no

Route found?

discovery protocol

 

Buffer packet

 

 

 

 

 

yes

wait

Continue normal

 

processing

Write route in

 

 

 

 

 

 

 

packet header

 

 

yes

 

Route discovery

 

Packet in buffer?

 

finished

 

no

Send packet

 

 

 

 

Done

to next-hop

 

 

 

Figure 13.9 DSR – route discovery decision process at source A.

Accept route

<src-id> in recently seen

request packet

request list?

 

 

yes

 

no

Discard route request

Host address already in partial route?

 

 

yes

Append my-Addr

no

 

no

 

to partial route

Discard route

my-Addr

 

 

request

 

=target?

 

 

yes

Store <src-id> in list

Send route reply packet

Broadcast packet

doneDone

 

Figure 13.10 DSR – route discovery decision process at an intermediate node.

476 AD HOC NETWORKS

A1

A2

A3

A4

A5

Route request

Route reply

A1-A2-A3-A4-A5

Figure 13.11 DSR – optimizations.

information in the future. For example in the ad hoc network shown in Figure 13.11 let us assume that node A1 performs a route discovery to A5.

Since hosts A2, A3 and A4 are on the route to A5, host A1 also learns the routes to A2, A3 and A4. Likewise, these ‘intermediate hosts’ learn about routes to each other by looking into the content of the route reply packet.

13.1.2.3 Piggybacking on route discoveries

To minimize the delay in delivering a data packet when there is no route to the destination and a route discovery process is needed, one can piggyback the data on the route request packets.

13.1.2.4 Learning by ‘listening’

If the host operate in promiscuous receiving mode, i.e. they receive and process every transmission in their range, then they can obtain substantial information about routing, e.g. in the network in Figure 13.12. Nodes A2, A3 and A5 listen to the route error packet from A4 to A1. Since the route error packet identifies precisely the hop where the failure was detected, hosts B, C and D can update their route cache with this information.

In summary, SDR is an on-demand protocol, with potentially zero control message overhead if the topology does not change frequently. Packet delays/jitters are associated with on-demand routing. It can work with unidirectional links as well as bidirectional links. Route caching is used to minimize the route discovery overhead. Promiscuous mode

A3

A5

 

A1

A4

Route error

A2

Figure 13.12 Learning about the routs by ‘listening’.

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