Route Discovery in DSRDestination D on receiving the first RREQ, Route Reply RREP sends a g RREP is sent on a route obtained by reversing route appended to received RREQ the g RREP inc
Trang 1Mobile Ad Hoc Networks
Formed by wireless hosts which may be mobile
Trang 2Mobile Ad Hoc Networks
Trang 3Mobile Ad Hoc Networks (MANET)
Mobility causes route changes
g
3
Trang 4Why Ad Hoc Networks ?
Trang 9Limited wireless transmission range
Broadcast nature of the wireless medium
g
g
i Hidden terminal problem (see next
slide)
Packet losses due to transmission errors
Mobility-induced route changes
Mobility-induced packet losses
Battery constraints
Potentially frequent network partitions
Ease of snooping on wireless transmissions
Trang 10Hidden Terminal Problem
Trang 11Unicast Routing
in Mobile Ad Hoc Networks
11
Trang 12Why is Routing in MANET different ?
Trang 13Unicast Routing Protocols
Many protocols have been proposed
g
Some have been invented specifically for MANET
g
Others are adapted from previously proposed
protocols for wired networks
Trang 15from X to Y will be found only when X attempts to send to Y
Overhead of route discovery/maintenance
g
i Reactive protocols may have lower overhead since
routes
are determined only if needed
iProactive protocols can (but not necessarily) result in higher overhead due to continuous route updating
Which approach achieves a better trade-off depends
g
Trang 16Overview of Unicast Routing Protocols
16
Trang 17Flooding for Data Delivery
Sender S broadcasts data packet P to all its
neighbors
g
Each node receiving P forwards P to its neighbors
g
Sequence numbers used to avoid the possibility of
forwarding the same packet more than once
g
Packet P reaches destination D provided that
reachable from sender S
D is
g
Node D does not forward the packet
Trang 18Flooding for Data Delivery
Y
Z
F B
Represents a node that has received packet P
Represents that connected nodes are within each
Trang 19Flooding for Data Delivery
Y Broadcast transmission
Z
F B
Trang 20Flooding for Data Delivery
Y
Z
F B
Trang 21Flooding for Data Delivery
Y
Z
F B
Trang 22Flooding for Data Delivery
Y
Z
F B
transmissions may collide => Packet P may not be delivered to node D at all,
despite the use of flooding 22
Trang 23Flooding for Data Delivery
Y
Z
F B
Trang 24Flooding for Data Delivery
Y
Z
F B
from S do not receive packet P (e.g., node Z)
• Nodes for which all paths from S go through the destination
D
also do not receive packet P (example: node N)
24
Trang 25Flooding for Data Delivery
Y
Z
F B
• Flooding may deliver
(in the worst case , all
packets to too many nodes nodes reachable from sender may receive the packet)
25
Trang 26Flooding for Data Delivery: Advantages
Simplicity
g
May be more efficient than other protocols when rate
of information transmission is low enough that the
overhead of explicit route discovery/maintenance
incurred by other protocols is relatively higher
g
i this scenario may occur, for instance, when nodes
transmit
changes occur between consecutive packet transmissions
Potentially higher reliability of data delivery
g
iBecause packets may be delivered to the destination on
multiple paths
26
Trang 27Flooding for Data Delivery: Disadvantages
Potentially, very high overhead
g
i Data packets may be delivered to too many nodes who
do
not need to receive them
Potentially lower reliability of data delivery
g
i Flooding uses broadcasting hard to implement
reliable
broadcast delivery without significantly increasing overhead
– Broadcasting in IEEE 802.11 MAC is unreliable
In our example, nodes J and K may transmit to node D
simultaneously, resulting in loss of the packet
– in this case, destination would not receive the packet at all
i
27
Trang 28Flooding of Control Packets
Many protocols perform (potentially limited) flooding
of control packets, instead of data packets
28
g
Trang 29Dynamic Source Routing (DSR) [Johnson96]
When node S wants to send a packet to node D, butdoes not know a route to D, node S initiates a routediscovery
Trang 31Route Discovery in DSR
Y Broadcast transmission
F B
Represents transmission of RREQ
[X,Y] Represents list of identifiers appended to RREQ 31
Trang 32Route Discovery in DSR
Y
Z [S,E]
F B
Trang 33but does not forward
forwarded RREQ once
33
Trang 34F B
Trang 35F B
Trang 36Route Discovery in DSR
Destination D on receiving the first RREQ,
Route Reply (RREP)
sends a
g
RREP is sent on a route obtained by reversing
route appended to received RREQ
the
g
RREP includes the route from S to
was received by node D
D on which RREQ
g
36
Trang 38Route Reply in DSR
Route Reply can be sent by reversing the route in
Route Request (RREQ) only if links are guaranteed
to be bi-directional
g
i To ensure this, RREQ should be forwarded only if it
received
on a link that is known to be bi-directional
If unidirectional (asymmetric) links are allowed, thenRREP may need a route discovery for S from node D
Route Reply is piggybacked on the Route Request from D.
If IEEE 802.11 MAC is used to send data, then linkshave to be bi-directional (since Ack is used)
g
38
Trang 39Dynamic Source Routing (DSR)
Node S on receiving RREP, caches the route
included in the RREP
g
When node S sends a data packet to D, the entire
route is included in the packet header
g
i hence the name source
routing
Intermediate nodes use the source route included in
a packet to determine to whom a packet should be
forwarded
g
39
Trang 40Data Delivery in DSR
Y
DATA [S,E,F,J,D]
E
F C
Z S
Trang 41When to Perform a Route Discovery
When node S wants to send data to node D, but does
g
not know a valid route node D
41
Trang 42DSR Optimization: Route Caching
Each node caches a new route it learns by any
means
When node S finds route [S,E,F,J,D] to node D,
S also learns route [S,E,F] to node F
When node K receives Route Request [S,C,G]
route [E,F,J,D] to node D
A node may also learn a route when it overhears
Data packets
g
42
Trang 43Use of Route Caching
When node S learns that a route to node D is broken,
it uses another route from its local cache, if such a
ican speed up route discovery
reduce propagation of route requests
Trang 44Use of Route Caching
B
C [C,S]
Trang 45Use of Route Caching:
Can Speed up Route Discovery
B
C [C,S]
RREP
RREQ
Z When node Z sends a route request
for node C, node K sends back a route
reply [Z,K,G,C] to node Z using a locally
Trang 46Use of Route Caching:
Reduce Propagation of Route
B
C [C,S]
RREQ
Z
Assume that there is no link between D and Z.
Route Reply (RREP) from node K limits flooding of RREQ.
In general, the reduction may be less dramatic. 46
Trang 47Route Error (RERR)
Y
F B
Trang 48Route Caching: Beware!
Stale caches can adversely affect performance
g
With passage of time and host mobility, cached
routes may become invalid
g
A sender host may try several stale routes (obtained
g
from local cache, or replied from cache
nodes), before finding a good route
by other
48
Trang 49Dynamic Source Routing: Advantages
Routes maintained only between nodes who need
communicate
to
g
ireduces overhead of route maintenance
Route caching can further reduce route discovery
Trang 50Dynamic Source Routing: Disadvantages
Packet header size grows with route length due to
source routing
g
Flood of route requests may potentially reach all
nodes in the network
Trang 51Dynamic Source Routing: Disadvantages
An intermediate node may send Route Reply usingstale cached route, thus polluting other caches
Trang 52Broadcast Storm Problem [Ni99Mobicom]
When node A broadcasts a route query, nodes B and
and C both forward to their neighbors
and C transmit at about the same time since they
g
D
Trang 53Broadcast Storm Problem
Redundancy: A given node may receive the same
g
route request from too many nodes, when one
would have sufficed
Trang 54Solutions for Broadcast Storm
Probabilistic scheme: On receiving a route request forthe first time, a node will re-broadcast (forward) the
request with probability p
g
Also, re-broadcasts by different nodes should be
staggered by using a collision avoidance technique
a random delay when channel is idle)
Trang 55Solutions for Broadcast Storms
Counter-Based Scheme: If node E hears more than k
neighbors broadcasting a given route request, before
it can itself forward it, then node E will not forward therequest
g
Intuition: k neighbors together have probably already
g
E’sforwarded the request to all of neighbors
Trang 56Solutions for Broadcast Storms
Distance-Based Scheme: If node E hears RREQ
broadcasted by some node Z within physical distance
d, then E will not re-broadcast the request
g
Intuition: Z and E are too close, so transmission
areas covered by Z and E are not very different
g
i if E re-broadcasts the request, not many nodes who
have
not already heard the request from Z will hear the request
E <d
Z
56
Trang 57Summary: Broadcast Storm Problem
Flooding is used in many protocols,
Redundancy may be reduced by selectively
re-broadcasting packets from only a subset of the nodes
57
g
Trang 58Ad Hoc On-Demand Distance Vector Routing
AODV attempts to improve on DSR by maintaining
routing tables at the nodes, so that data packets donot have to contain routes
g
AODV retains the desirable feature of DSR that
routes are maintained only between nodes which
need to communicate
g
58
Trang 59Route Requests (RREQ) are forwarded in a mannersimilar to DSR
g
When a node re-broadcasts a Route Request, it sets
up a reverse path pointing towards the source
g
iAODV assumes symmetric (bi-directional) links
When the intended destination receives a Route
Request, it replies by sending a Route Reply
g
Route Reply travels along the reverse path set-up
when Route Request is forwarded
g
59
Trang 60Route Requests in AODV
Y
Z
F B
Trang 61Route Requests in AODV
Y Broadcast transmission
Z
F B
Trang 62Route Requests in AODV
Y
Z
F B
Trang 63Reverse Path Setup in AODV
Y
Z
F B
it again, because node
from G and H, but does not forward
C has already forwarded RREQ once
63
Trang 64Reverse Path Setup in AODV
Y
Z
F B
Trang 65Reverse Path Setup in AODV
Y
Z
F B
Trang 66Route Reply in AODV
Y
Z
F B
Trang 67Route Reply in AODV
An intermediate node (not the destination) may also
To determine whether the path known to an
intermediate node is more recent,
destination sequence numbers are used
assigned a higher destination sequence number An
intermediate node which knows a route, but with a smaller sequence number, cannot send Route Reply 67
Trang 68Forward Path Setup in AODV
Y
Z
F B
Trang 69Data Delivery in AODV
Routing table entries used to forward data packet.
Route is not included in packet
header.
69
Trang 70A routing table entry maintaining a reverse path is
purged after a timeout interval
purged if not used for a active_route_timeout interval
i if no is data being sent using a particular routing table entry, that entry will be deleted from the routing table (even if the route may actually still be valid)
70
Trang 71Link Failure Reporting
A neighbor of node X is considered active for a
routing table entry if the neighbor sent a packet within
active_route_timeout interval which was forwarded using that entry
g
When the next hop link in a routing table entry
breaks, all active neighbors are informed
g
Link failures are propagated by means of Route Errormessages, which also update destination sequencenumbers
71
g
Trang 72Route Error
When node X is unable to forward packet P (from
node S to node D) on link (X,Y), it generates a RERRmessage
Trang 73Destination Sequence Number
Continuing from the previous slide …
g
When node D receives the route
destination sequence number N,
request withnode D will set
g
itssequence number to N, unless it is already larger
than N
73
Trang 74Link Failure Detection
Hello messages: Neighboring nodes periodically
exchange hello message
Alternatively, failure to receive several
acknowledgement may be used as an
link failure
MAC-levelindication of
g
74
Trang 75Why Sequence Numbers in AODV
To avoid using old/broken routes
iAssume that A does not know about
RERR sent by C is lost
failure of link C-D because
i Now C performs a route discovery for D Node A
receives
the RREQ (say, via path C-E-A)
i Node A will reply since A knows a route to D via node
i Results in a loop (for instance,
C-E-A-B-C )
Trang 76Why Sequence Numbers in AODV
Trang 77Optimization: Expanding Ring Search
Route Requests are initially sent with small Live (TTL) field, to limit their propagation
Time-to-g
i DSR
also
includes a similar optimization
If no Route Reply is received, then larger TTL tried
g
77
Trang 78Summary: AODV
Routes need not be included in packet headers
g
Nodes maintain routing tables containing entries
for routes that are in active use
Trang 80Link Reversal Algorithm [Gafni81]
D
80
Trang 81Link Reversal Algorithm
Links are bi-directional
But algorithm imposes logical directions on them
81
Trang 82Link Reversal Algorithm
Link (G,D) broke D
Any node, other than the destination, that has no outgoing links reverses all its incoming links.
82
Node G has no outgoing links
Trang 83Link Reversal Algorithm
Represents a link that was
Trang 84Link Reversal Algorithm
Represents a link that was
Trang 85Link Reversal Algorithm
Represents a link that was
Trang 86Link Reversal Algorithm
Represents a link that was reversed recently
D
Now all nodes (other than destination D) have an outgoing link
86
Trang 87Link Reversal Algorithm
Trang 88Link Reversal Algorithm
Attempts to keep link reversals local to where
failure occurred
the
g
iBut this is not guaranteed
When the first packet is sent to a destination,
destination oriented DAG is constructed
Trang 89Link Reversal Algorithm
The previous algorithm is called a full reversal
method since when a node reverses links, it reverses
all its incoming links
g
Partial reversal method [Gafni81]: A node reversesincoming links from only those neighbors who havenot themselves reversed links “previously”
g
i If all neighbors have reversed links, then the node
reverses
all its incoming links
i “Previously” at node X means since the last link
reversal
done by node
X
89
Trang 90Partial Reversal Method
Link (G,D) broke D
Node G has no outgoing links
90
Trang 91Partial Reversal Method
Represents a link that was reversed recently
Represents a node that has reversed links D
Now nodes E and F have no outgoing links
91
Trang 92Partial Reversal Method
Represents a link that was
reversed recently
D
Nodes E and F
do not reverse links from node G
Trang 93Partial Reversal Method
Represents a link that was
Trang 94Partial Reversal Method
Represents a link that was reversed recently
D
Now all nodes (except destination D) have outgoing links
94
Trang 95Partial Reversal Method
Trang 96Link Reversal Methods: Advantages
Link reversal methods attempt to limit updates to
routing tables at nodes in the vicinity of a broken link
Trang 97Link Reversal Methods: Disadvantage
Need a mechanism to detect link failure
Trang 98Link Reversal in a Partitioned Network
Trang 99Full Reversal in a Partitioned Network
Trang 100Full Reversal in a Partitioned Network
Trang 101Full Reversal in a Partitioned Network
Trang 102Full Reversal in a Partitioned Network
Trang 103Full Reversal in a Partitioned Network
In the partition disconnected from destination D, link reversals continue, until the partitions merge
Need a mechanism to minimize this wasteful activity
D
Similar scenario can occur with partial reversal method too
103
Trang 104Temporally-Ordered Routing Algorithm
(TORA) [Park97Infocom]
TORA modifies the partial link reversal method
able to detect partitions
to be
g
When a partition is detected, all
are informed, and link reversals
nodes
in that
in the partitionpartition cease
g
104
Trang 105Partition Detection in TORA
B
DAG for destination
A
D C
E
D
F
105
Trang 106Partition Detection in TORA
B A
C E
modified partial reversal method F
Node A has no outgoing
Trang 107Partition Detection in TORA
B A
C E
modified partial reversal method F
Node B has no outgoing links
107
Trang 108Partition Detection in TORA
B A
C E
D
F
Node B has no outgoing links
108