Sei sulla pagina 1di 83

A Review of Current Routing Protocols

for Ad Hoc Mobile Wireless Networks

 IEEE Personal Communications,


 April 1999, pp. 46-55
 E. Royer and C.-K. Toh

MANET:1
WirelessNet
Tseng
Introduction
 Two types of wireless networks:
 infrastructured network:
 base stations are the bridges
 a mobile host will communicate with the nearest base station
 handoff is taken when a host roams from one base to another
 ad hoc network:
 infrastructureless: no fixed base stations
 without the assistance of base stations for communication
 Due to transmission range constraint,
 two MHs need multi-hop routing for communication
 quickly and unpredictably changing topology

MANET:2
MANET
 MANET = Mobile Ad Hoc Networks
 a set of mobile hosts, each with a transceiver
 no base stations; no fixed network infrastructure
 multi-hop communication
 needs a routing protocol which can handle changing
topology

MANET:3
Applications of MANET
 battlefields

 nature disaster areas

 fleet in oceans

 historical cites

 festival ground

MANET:4
Related Research
 IEEE 802.11 for Wireless LANs
 MAC
 PHY

 IETF manet group


 to stimulate research and discuss possible standards in this ar
ea

 Routing Protocols:
 unicast – AODV, DSR, ZRP, TORA, CBRP, CEDAR
 multicast – MAODV, AMRoute, ODMRP, AMRIS

MANET:5
Resources and Applications
 NS-2:
 AODV, DSR, DSDV, TORA

 Telcordia: Intelligent Transportation System


 AODV
 MAODV: to distributed emergency information

MANET:6
Challenge of Ad Hoc Networks
 No centralized entity

 Mobile host is no longer just an end system

 Acting as an intermediate system

 Changing network topology over time

 Every node can be mobile

MANET:7
Routing in MANET

MANET:8
WirelessNet
Tseng
Can Existing Internet Routing Protocols
Be Used for MANET?

 Link-state Routing

 Distance-vector Routing

MANET:9
Link State Routing: Dijkstra’s Algorithm
 Each node keeps its link state to its neighbors.

 From each node, we gradually expand a spanning tree,


until all nodes are scanned.

MANET:10
Link State Routing: Dijkstra’s Algorithm

Initial State: each host only knows its direct neighbors

MANET:11
Evolution of States in C

MANET:12
Evolution of States in C (cont.)

MANET:13
Evolution of States in C (cont.)

 Comments: This is a centralized algorithm, not


appropriate.
MANET:14
Overview of Current Routing Protocols

MANET:15
On-demand vs. Table-driven
 Table-Driven Routing Protocol:
 proactive!!
 continuously evaluate the routes
 attempt to maintain consistent, up-to-date routing
information
 when a route is needed, one may be ready immediately
 when the network topology changes
 the protocol responds by propagating updates throughout the
network to maintain a consistent view

MANET:16
 Source-Initiated On-Demand Routing Protocol:
 reactive!!
 on-demand style: create routes only when it is desired by the
source node
 route discovery: invoke a route-determination procedure
 the procedure is terminated when
 a route has been found
 no route is found after all route permutations are examined
 longer delay: sometimes a route may not be ready for use
immediately when data packets come

MANET:17
Table-Driven Routing Protocols

 Protocol 1:
 DSDV: Destination Sequence Distance Vector

 Protocol 2:
 CGSR: Clustered Gateway Switch Routing
MANET:18
WirelessNet
Tseng
Protocol 1: DSDV (Destination Sequence
Distance Vector)

 “Highly Dynamic Destination-Sequence Distance-Vector


Routing (DSDV) for Mobile Computers”
 Charles E. Perkins & Pravin Bhagwat
 Dated: 1994
 Computer Communications Review, ‘94
 pp. 234-244

MANET:19
DSDV Outline
 Each node keeps a routing table to all other nodes.
 based on next-hop routing

 Once its routing table changes, a node broadcasts its table


to other nodes.

MANET:20
DSDV(cont.)

MANET:21
DSDV(cont.)

MANET:22
Protocol 2: CGSR (Clusterhead Gateway
Switch Routing)
 “Routing in Clustered Multihop, Mobile Wireless Network
s with Fading Channel”, C.-C. Chiang, 1996, Proc. IEEE S
ICON ’97, pp. 197-211.

MANET:23
CGSR: Cluster Head and Gateway
 The arrangement of cluster head is similar to dominating
set in graph theory.
 Definition: each node is either in the dominating set or is
neighboring to a node in the dominating set.

MANET:24
CGSR(cont.)

(5 hops)

(3 hops)

MANET:25
CGSR (cont.)
 A routing table among cluster heads are maintained.
 also based on the DSDV manner

 Data forwarding steps:


 from cluster head to cluster head
 in a hierarchical manner
 then from cluster head to cluster members
 between two cluster heads, gateways are used to forward the
packets
 Adv: less routing information to be kept
 Disadv: longer route

MANET:26
Source-Initiated On-Demand
Routing Protocols

 AODV
 DSR
 TORA
 ABR
 SSR
 ZRP MANET:27
WirelessNet
Tseng
Protocol 1:AODV
 AODV: Ad hoc On-demand Distance Vector routing proto
col
 On track to become an IETF Experimental RFC
 References
 C. E. Perkins, E. M. Belding-Royer, and S. R. Das, “Ad hoc
On-Demand Distance Vector (AODV) Routing,” IETF Intern
et Draft, draft-ietf-manet-aodv-13.txt, Feb. 17, 2003 (work in
progress).
 C. E. Perkins and E. M. Royer, “Ad hoc On-Demand Distanc
e Vector Routing,” Proceedings 2nd IEEE Workshop on Mob
ile Computing Systems and Applications, February 1999, pp.
90-100.

MANET:28
AODV Concepts (1)
 Pure on-demand routing protocol
 A node does not perform route discovery or maintenance unti
l it needs a route to another node or it offers its services as an
intermediate node
 Nodes that are not on active paths do not maintain routing inf
ormation and do not participate in routing table exchanges
 Uses a broadcast route discovery mechanism
 Uses hop-by-hop routing
 Routes are based on dynamic table entries maintained at inter
mediate nodes
 Comparison: Dynamic Source Routing (DSR) uses source ro
uting

MANET:29
AODV Concepts (2)
 Local HELLO messages are used to determine local conne
ctivity
 Can reduce response time to routing requests
 Can trigger updates when necessary
 Sequence numbers are assigned to routes and routing table
entries
 to supersede stale cached routing entries
 Every node maintains two counters
 Node sequence number
 Broadcast ID

MANET:30
AODV Route Request (1)
 Initiated when a node wants to communicate with another
node, but does not have a route to that node
 Source node broadcasts a route request (RREQ) packet to
its neighbors
type flags resvd hopcnt
broadcast_id
dest_addr
dest_sequence_#
source_addr
source_sequence_#

MANET:31
AODV Route Request (2)
 Sequence numbers
 Source sequence indicates “freshness” of reverse route to the
source
 Destination sequence number indicates freshness of route to
the destination
 Every neighbor receives the RREQ and either …
 Returns a route reply (RREP) packet, or
 Forwards the RREQ to its neighbors
 (source_addr, broadcast_id) uniquely identifies the RREQ
 broadcast_id is incremented for every RREQ packet sent
 Receivers can identify and discard duplicate RREQ packets

MANET:32
AODV Route Request (3)
 If a node cannot respond to the RREQ
 The node increments the hop count
 The node saves the following information to set up a reverse
path (AODV assumes symmetrical links)
 Neighbor that sent this RREQ packet
 Destination IP address
 Source IP address
 Broadcast ID
 Source node’s sequence number
 Expiration time for reverse path entry (to enable garbage colle
ction)

MANET:33
AODV Example (1)
4
1 6

5 7
3
2

 Node 1 needs to send a data packet to Node 7


 Assume Node 6 knows a current route to Node 7
 Assume that no other route information exists in the
network (related to Node 7)

MANET:34
AODV Example (2)
4
1 6

5 7
3
2
 Node 1 sends a RREQ packet to its neighbors
 source_addr = 1
 dest_addr = 7
 broadcast_id = broadcast_id + 1
 source_sequence_# = source_sequence_# + 1
 dest_sequence_# = last dest_sequence_# for Node 7

MANET:35
AODV Example (3)
4
1 6

5 7
3
2

 Nodes 2 and 4 verify that this is a new RREQ and that the so
urce_sequence_# is not stale with respect to the reverse route
to Node 1
 Nodes 2 and 4 forward the RREQ
 Update source_sequence_# for Node 1
 Increment hop_cnt in the RREQ packet

MANET:36
AODV Example (4)
4
1 6

5 7
3
2

 RREQ reaches Node 6, which knows a route to 7


 Node 6 must verify that the destination sequence number is
less than or equal to the destination sequence number it has
recorded for Node 7
 Nodes 3 and 5 will forward the RREQ packet, but the
receivers recognize the packets as duplicates

MANET:37
AODV Route Reply (1)
 If a node receives an RREQ packet and it has a current rou
te to the target destination, then it unicasts a route reply pa
cket (RREP) to the neighbor that sent the RREQ packet

type flags rsvd prsz hopcnt


dest_addr
dest_sequence_#
source_addr
lifetime

MANET:38
AODV Route Reply (2)
 Intermediate nodes propagate the first RREP for the source
towards the source using cached reverse route entries
 Other RREP packets are discarded unless…
 dest_sequence_# number is higher than the previous, or
 destination_sequence_# is the same, but hop_cnt is smaller (i
.e., there’s a better path)
 RREP eventually makes it to the source, which can use the
neighbor sending the RREP as its next hop for sending to t
he destination
 Cached reverse routes will timeout in nodes not seeing a R
REP packet

MANET:39
AODV Example (5)
4
1 6

5 7
3
2
 Node 6 knows a route to Node 7 and sends an RREP to Node 4
 source_addr = 1
 dest_addr = 7
 dest_sequence_# = maximum(own sequence number, dest_seque
nce_# in RREQ)
 hop_cnt = 1

MANET:40
AODV Example (6)
4
1 6

5 7
3
2

 Node 4 verifies that this is a new route reply (the case her
e) or one that has a lower hop count and, if so, propagates t
he RREP packet to Node 1
 Increments hop_cnt in the RREP packet

MANET:41
AODV Example (7)

Dest Next Hops 4


1 6
7 4 3

5 7
3
2

 Node 1 now has a route to Node 7 in three hops and can


use it immediately to send data packets
 Note that the first data packet that prompted path
discovery has been delayed until the first RREP was
returned

MANET:42
AODV Route Maintenance
 Route changes can be detected by…
 Failure of periodic HELLO packets
 Failure or disconnect indication from the link level
 Failure of transmission of a packet to the next hop (can detect
by listening for the retransmission if it is not the final destinati
on)
 The upstream (toward the source) node detecting a failure p
ropagates an route error (RERR) packet to the source node
with a new destination sequence number and a hop count of
infinity (unreachable)
 The source (or another node on the path) can rebuild a path
by sending a RREQ packet

MANET:43
AODV Example (8)
4
1 6

5 7
3
2 7

 Assume that Node 7 moves and link 6-7 breaks


 Node 6 issues an RERR packet indicating the broken path
 The RERR propagates back to Node 1
 Node 1 can discover a new route

MANET:44
Protocol 2: DSR (Dynamic Source Routing)
 “Dynamic Source Routing in Ad-Hoc Wireless Networks”,
D. B. Johnson and D. A. Maltz, Mobile Computing, 1996,
pp. 153-181.
 on-demand
 Each host maintains a route cache which contains all route
s it has learnt.
 Source Routing:
 routes are denoted with complete information (each hop is re
gistered)
 Two major parts:
 route discovery
 route maintenance

MANET:45
Route Discovery Route Reply

MANET:46
Route Discovery of DSR
 When a host has a packet to send, it first consults its route
cache.
 If there is an unexpired route, then it will use it.
 Otherwise, a route discovery will be performed.
 Route Discovery:
 There is a “route record” field in the packet.
 The source node will add its address to the record.
 On receipt of the packet, a host will add its address to the “route
record” and rebroadcast the packet.
 To limit the number of ROUTE_REQUEST packets:
 Each node only rebroadcasts the packet at most once.
 Each node will consult its route cache to see if a route is already
known.

MANET:47
ROUTE_REPLY of DSR
 A ROUTE_REPLY packet is generated when
 the route request packet reaches the destination
 an intermediate host has an unexpired route to the
destination
 The ROUTE_REPLY packet will contain a route generated
in two manner:
 from destination:
 the route that was traversed by the ROUTE_REQUEST packet
 from intermediate host:
 the route that was traversed by the ROUTE_REQUEST packet
concatenated with the route in the intermediate host’s route
cache

MANET:48
Stale Route Cache Problem
 Definition:
 A route may become broken (i.e., stale), but is unaware by a
host X.
 With route cache, host X may keep on distributing erroneous
information to other hosts.

MANET:49
Route Maintenance of DSR
 When the data link layer encounters a link breakage, a
ROUTE_ERROR packet will be initiated.
 The packet will traverse in the backward direction to the
source.
 The source will then initiate another ROUTE_REQUEST.
 Example: (next page)

 Maintenance of route cache:


 All routes which contain the breakage hop have to be
removed from the route cache.

MANET:50
Route_Error

MANET:51
Packet Type: Route Request (RREQ)

MANET:52
Packet Type: Route Reply (RREP)

MANET:53
Packet Type: Data Packet

MANET:54
Packet Type: Route_Error

MANET:55
Route Concentration Problem
 With route cache, hosts are likely to share the same links
(routes).
(1)

(2)

(3) (4)

MANET:56
Protocol 3: TORA
(Temporally Ordered Routing Algorithm)
 “A Highly Adaptive Distributed Routing Algorithm for
Mobile Wireless Networks”, University of Maryland, V. D.
Park and M. S. Corson, 1996, Proc. INFOCOM ’97.

MANET:57
TORA Outline
 source-initiated protocol
 provide multiple paths for
high level
any source-destination
pair
 Like water flowing, it
goes from upstream to
downstream.
 for highly dynamic mobile
networks

low level

MANET:58
Main Idea
 Regard the network as a directed graph.
 For each destination, a DAG (directed acyclic graph) will
be maintained.
 Note: There are n copies of DAG’s, each associated with one
destination, where n is the number of hosts.
 In the following discussion, we only discuss one DAG associ
ated with a destination.
 The DAG is accomplished by assigning each node i a heig
ht metric hi.
 A link from i to j means hi > hj.

MANET:59
Full Reversal Method
 A node will update its height to adapt to the change of net
work topology.
 Height hi = (valuei, IDi)
 a node will change its value to change the direction of a link
 Relation: hi > hj if the following is true:
 valuei > valuej
 (valuei = valuej) and (Di > Dj)
 Ex: (5, 4) > (4, 6)
 Ex: (5, 4) > (5, 2)
 Property: Given any to heights, there must exist a “>” relatio
n between them.

MANET:60
 Rule:
 Each node other than the destination that has no outgoing
links reverses the direction of ALL its incoming links.
 This means that the node’s height is a local minimum.
 This is done by getting a larger height such that the node
becomes a local maximum.
 MAX{all neighbors’ heights} + 1
 Example: a graph with a random direction for each link
a, 5
b, 6
e, 3

d, 4 f, 1
c, 3

dest, 8 g, 2

MANET:61
a, 7
b, 6
original network e, 6

a, 5 d, 9
c, 9 f, 7
b, 6
e, 3
dest, 8 g, 5
d, 4 f, 1
c, 3

a, 5
dest, 8 g, 2
b, 6
e, 6

d, 4 f, 4
a, 5 c, 9
b, 6
e, 3 dest, 8 g, 5

d, 4 f, 4
c, 9

dest, 8 g, 2
a, 7
b, 10
e, 10

d, 9 f, 7
c, 9

dest, 8 g, 10

a, 11
b, 10
e, 10

d, 9 f, 11
c, 9

dest, 8 g, 10

Eventually, the DAG will stablize.


MANET:63
TORA Details
 Three basic functions:
 route creation
 route maintenance
 route erasure

 Three control packets:


 query (QRY)
 update (UPD)
 clear (CLR)

MANET:64
Data Structure
 Each node keep a 5-tuple (τ, oid, r, δ, i)
 τ: time of the link failure.
 oid (originator ID):
 Unique identifier of the node that defined a new reference leve
l
 Most likely, the node who detects link breakage.
 r: reflection indicator bit.
 initially set to 0.
 δ: propagation ordering parameter (i.e., height)
 i: node ID

MANET:65
Creating Routes

MANET:66
Maintaining Routes

MANET:67
Maintaining Routes (with Reaction)

MANET:68
Maintaining Routes (cont.)

The reflection bit (r)


is used here to mean
“no exit”.

MANET:69
Protocol 4: ABR
(Associativity-Based Routing)
 ABR considers the stability of a link.
 The metric is called degree of association stability.
 Basic Idea:
 Each node periodically generates a beacon to signify its
existence.
 On receipt of the beacon, a neighboring node will increase
the “tick” of the sender by 1.
 A higher degree of association stability (i.e., ticks) may
indicate a low mobility of that node.
 A low degree of association stability may indicate a high
mobility of that node.
 When a link becomes broken, the node will set the tick of
the other node to 0.

MANET:70
ABR Outline
 Route Discovery:
 (similar to DSR)
 On needing a route, a host will broadcast a
ROUTE_REQUEST packet.
 Each receiving host will append its address to the packet.
 The association stability (represented by “ticks”) is also
appended in the ROUTE_REQUEST packet.
 The destination node will select the best route (in terms of
association stability), and then respond a packet to the
source.
5 7

source 8
destination
10

4 MANET:71
 Route Reconstruction:
 On route error, a node will perform a local search in hope of
rebuild the path.
 If the local search fails, a ROUTE_ERROR will be reported
to the source.

source

local
searched zone
destination

MANET:72
Protocol 5: SSA
(Signal Stability-Based Adaptive Routing)
 “Signal Stability-Based Adaptive Routing (SSA) for Ad H
oc Wireless Networks”
 University of Maryland
 R. Dube, C. D. Rais, K.-Y. Wang & S. K. Tripathi
 IEEE Personal Communications, ‘97
 pp. 36-45

MANET:73
Basic Idea of SSA
 Observation:
 The ABR only considers the connectivity to nodes.

 Two more metrics:


 signal stability:
 the strength of a signal
 provided by link layer
 location stability
 how fast a host moves
 could be measure by:
 the change of signal strength over a period of time
 location devices (such as GPS)

MANET:74
SSA

MANET:75
SSA(cont.)

MANET:76
Protocol 6: ZRP
(Zone Routing Protocol)

 The Zone Routing Protocol (ZRP) for Ad Hoc Networks


 Cornell University
 Z.J. Haas and M.R. Pearlman
 draft-ietf-manet-zone-zrp-01.txt, 1998

MANET:77
ZRP Outline
 Hybrid of table-driven and on-demand!!

 From each node, there is a concept of “zone”.


 Within each zone, the routing is performed in a table-driven
manner (proactive).
 However, a node does not try to keep global routing
information.

 For inter-zone routing, on-demand routing is used.


 This is similar to DSR.

MANET:78
ZRP Example

MANET:79
Route Discovery
 By an operation called “boardercast”:
 sending the route-request to boarder nodes

MANET:80
Comparison of Table-Driven and
On-Demand Protocols

MANET:81
Research Highlight: Resource Allocation b
y Pricing
 Ref: Y. Xue, et al., “Optimal resource allocation in wireless
ad hoc networks: a price-based approach”, IEEE Trans. on
Mobile Computing, 2006.

 Goal: A mobile might be selfish by asking others to relay it


s data, but avoiding relaying data of others.
 Approaches:
 using clique to represent interference relations:

MANET:82
cont.
 price of a clique:
 going up when the demand is higher than requested
 going down when the demand is lower than requested
 sources of flows:
 adding more traffic when path price is going down
 reducing traffic when path price is going up

MANET:83

Potrebbero piacerti anche