Transcript DOMAINS
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
WirelessNet
Tseng
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
WirelessNet
Tseng
Applications of MANET
battlefields
nature disaster areas
fleet in oceans
historical cites
festival ground
MANET:4
WirelessNet
Tseng
Related Research
IEEE 802.11 for Wireless LANs
MAC
PHY
IETF manet group
to stimulate research and discuss possible standards in this
area
Routing Protocols:
unicast – AODV, DSR, ZRP, TORA, CBRP, CEDAR
multicast – MAODV, AMRoute, ODMRP, AMRIS
MANET:5
WirelessNet
Tseng
Resources and Applications
NS-2:
AODV, DSR, DSDV, TORA
Telcordia: Intelligent Transportation System
AODV
MAODV: to distributed emergency information
MANET:6
WirelessNet
Tseng
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
WirelessNet
Tseng
Routing in MANET
MANET:8
WirelessNet
Tseng
Can Existing Internet Routing Protocols
Be Used for MANET?
Link-state Routing
Distance-vector Routing
MANET:9
WirelessNet
Tseng
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
WirelessNet
Tseng
Link State Routing: Dijkstra’s Algorithm
Initial State: each host only knows its direct neighbors
MANET:11
WirelessNet
Tseng
Evolution of States in C
MANET:12
WirelessNet
Tseng
Evolution of States in C (cont.)
MANET:13
WirelessNet
Tseng
Evolution of States in C (cont.)
Comments: This is a centralized algorithm, not appropriate.
MANET:14
WirelessNet
Tseng
Overview of Current Routing Protocols
MANET:15
WirelessNet
Tseng
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
WirelessNet
Tseng
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
WirelessNet
Tseng
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
WirelessNet
Tseng
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
WirelessNet
Tseng
DSDV(cont.)
MANET:21
WirelessNet
Tseng
DSDV(cont.)
MANET:22
WirelessNet
Tseng
Protocol 2: CGSR (Clusterhead Gateway
Switch Routing)
“Routing in Clustered Multihop, Mobile Wireless
Networks with Fading Channel”, C.-C. Chiang, 1996, Proc.
IEEE SICON ’97, pp. 197-211.
MANET:23
WirelessNet
Tseng
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
WirelessNet
Tseng
CGSR(cont.)
(5 hops)
(3 hops)
MANET:25
WirelessNet
Tseng
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
WirelessNet
Tseng
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
protocol
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
Internet Draft, draft-ietf-manet-aodv-13.txt, Feb. 17, 2003
(work in progress).
C. E. Perkins and E. M. Royer, “Ad hoc On-Demand
Distance Vector Routing,” Proceedings 2nd IEEE Workshop
on Mobile Computing Systems and Applications, February
1999, pp. 90-100.
MANET:28
WirelessNet
Tseng
AODV Concepts (1)
Pure on-demand routing protocol
A node does not perform route discovery or maintenance
until 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
information 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
intermediate nodes
Comparison: Dynamic Source Routing (DSR) uses source
routing
MANET:29
WirelessNet
Tseng
AODV Concepts (2)
Local HELLO messages are used to determine local
connectivity
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
WirelessNet
Tseng
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
WirelessNet
Tseng
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
WirelessNet
Tseng
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
collection)
MANET:33
WirelessNet
Tseng
AODV Example (1)
4
6
1
3
5
7
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
WirelessNet
Tseng
AODV Example (2)
4
6
1
3
5
7
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
WirelessNet
Tseng
AODV Example (3)
4
6
1
3
5
7
2
Nodes 2 and 4 verify that this is a new RREQ and that the
source_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
WirelessNet
Tseng
AODV Example (4)
4
6
1
3
5
7
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
WirelessNet
Tseng
AODV Route Reply (1)
If a node receives an RREQ packet and it has a current
route to the target destination, then it unicasts a route reply
packet (RREP) to the neighbor that sent the RREQ packet
type
flags rsvd prsz hopcnt
dest_addr
dest_sequence_#
source_addr
lifetime
MANET:38
WirelessNet
Tseng
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
the destination
Cached reverse routes will timeout in nodes not seeing a
RREP packet
MANET:39
WirelessNet
Tseng
AODV Example (5)
4
6
1
3
5
7
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_sequence_# in RREQ)
hop_cnt = 1
MANET:40
WirelessNet
Tseng
AODV Example (6)
4
6
1
3
5
7
2
Node 4 verifies that this is a new route reply (the case here)
or one that has a lower hop count and, if so, propagates the
RREP packet to Node 1
Increments hop_cnt in the RREP packet
MANET:41
WirelessNet
Tseng
AODV Example (7)
Dest Next Hops
7
4
3
4
6
1
3
5
7
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
WirelessNet
Tseng
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
destination)
The upstream (toward the source) node detecting a failure
propagates 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
WirelessNet
Tseng
AODV Example (8)
4
6
1
3
2
7
5
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
WirelessNet
Tseng
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 routes
it has learnt.
Source Routing:
routes are denoted with complete information (each hop is
registered)
Two major parts:
route discovery
route maintenance
MANET:45
WirelessNet
Tseng
Route Discovery
Route Reply
MANET:46
WirelessNet
Tseng
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
WirelessNet
Tseng
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
WirelessNet
Tseng
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
WirelessNet
Tseng
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
WirelessNet
Tseng
Route_Error
x
MANET:51
WirelessNet
Tseng
Packet Type: Route Request (RREQ)
MANET:52
WirelessNet
Tseng
Packet Type: Route Reply (RREP)
MANET:53
WirelessNet
Tseng
Packet Type: Data Packet
MANET:54
WirelessNet
Tseng
Packet Type: Route_Error
MANET:55
WirelessNet
Tseng
Route Concentration Problem
With route cache, hosts are likely to share the same links
(routes).
(1)
(2)
(3)
(4)
MANET:56
WirelessNet
Tseng
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
WirelessNet
Tseng
TORA Outline
source-initiated protocol
provide multiple paths for
any source-destination
pair
high level
Like water flowing, it
goes from upstream to
downstream.
for highly dynamic mobile
networks
low level
MANET:58
WirelessNet
Tseng
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
associated with a destination.
The DAG is accomplished by assigning each node i a
height metric hi.
A link from i to j means hi > hj.
MANET:59
WirelessNet
Tseng
Full Reversal Method
A node will update its height to adapt to the change of
network 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 “>”
relation between them.
MANET:60
WirelessNet
Tseng
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
c, 3
dest, 8
f, 1
g, 2
MANET:61
WirelessNet
Tseng
a, 7
b, 6
original network
e, 6
a, 5
d, 9
c, 9
b, 6
f, 7
e, 3
dest, 8
d, 4
c, 3
dest, 8
g, 5
f, 1
a, 5
g, 2
b, 6
e, 6
d, 4
c, 9
a, 5
f, 4
b, 6
e, 3
d, 4
c, 9
dest, 8
dest, 8
f, 4
g, 2
g, 5
a, 7
b, 10
e, 10
d, 9
c, 9
dest, 8
f, 7
g, 10
a, 11
b, 10
e, 10
d, 9
c, 9
dest, 8
f, 11
g, 10
Eventually, the DAG will stablize.
MANET:63
WirelessNet
Tseng
TORA Details
Three basic functions:
route creation
route maintenance
route erasure
Three control packets:
query (QRY)
update (UPD)
clear (CLR)
MANET:64
WirelessNet
Tseng
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 level
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
WirelessNet
Tseng
Creating Routes
MANET:66
WirelessNet
Tseng
Maintaining Routes
MANET:67
WirelessNet
Tseng
Maintaining Routes (with Reaction)
MANET:68
WirelessNet
Tseng
Maintaining Routes (cont.)
The reflection bit (r)
is used here to mean
“no exit”.
MANET:69
WirelessNet
Tseng
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
WirelessNet
Tseng
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.
7
5
8
source
10
4
destination
MANET:71
WirelessNet
Tseng
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
WirelessNet
Tseng
Protocol 5: SSA
(Signal Stability-Based Adaptive Routing)
“Signal Stability-Based Adaptive Routing (SSA) for Ad
Hoc 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
WirelessNet
Tseng
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
WirelessNet
Tseng
SSA
MANET:75
WirelessNet
Tseng
SSA(cont.)
MANET:76
WirelessNet
Tseng
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
WirelessNet
Tseng
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
WirelessNet
Tseng
ZRP Example
MANET:79
WirelessNet
Tseng
Route Discovery
By an operation called “boardercast”:
sending the route-request to boarder nodes
MANET:80
WirelessNet
Tseng
Comparison of Table-Driven and
On-Demand Protocols
MANET:81
WirelessNet
Tseng
Research Highlight: Resource Allocation by
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
its data, but avoiding relaying data of others.
Approaches:
using clique to represent interference relations:
MANET:82
WirelessNet
Tseng
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
WirelessNet
Tseng