Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
fleet in oceans
historical cites
festival ground
MANET:4
Related Research
IEEE 802.11 for Wireless LANs
MAC
PHY
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
MANET:6
Challenge of Ad Hoc Networks
No centralized entity
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.
MANET:10
Link State Routing: Dijkstra’s Algorithm
MANET:11
Evolution of States in C
MANET:12
Evolution of States in C (cont.)
MANET:13
Evolution of States in C (cont.)
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)
MANET:19
DSDV Outline
Each node keeps a routing table to all other nodes.
based on next-hop routing
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
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
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
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
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)
5 7
3
2
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
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)
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
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.)
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.
MANET:74
SSA
MANET:75
SSA(cont.)
MANET:76
Protocol 6: ZRP
(Zone Routing Protocol)
MANET:77
ZRP Outline
Hybrid of table-driven and on-demand!!
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.
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