SlideShare a Scribd company logo
1 of 217
1
Mobile Ad Hoc Networks:
(MANETs)
2
Outline
 Introduction
 Unicast routing
 Multicast routing
 Geocast routing
 Medium Access Control
 Performance of UDP and TCP
 Security Issues
 Implementation Issues
 Distributed Algorithms
 Standards activities
 Open problems
3
Mobile Ad Hoc Networks (MANET)
Introduction and Generalities
Introduction
 A Mobile Ad hoc Network (MANET) is an autonomous
system of nodes (MSs) connected by wireless links.
 A MANET does not necessarily need support from any
existing network infrastructure like an Internet gateway
or other fixed stations.
 The network’s wireless topology may dynamically
change in an unpredictable manner since nodes are
free to move.
 Information is transmitted in a store-and forward
manner using multi hop routing.
5
Mobile Ad Hoc Networks
 Formed by wireless hosts which may be mobile
 Without (necessarily) using a pre-existing
infrastructure
 Routes between nodes may potentially contain
multiple hops
6
Mobile Ad Hoc Networks
 May need to traverse multiple links to reach a
destination
7
Mobile Ad Hoc Networks (MANET)
 Mobility causes route changes
8
Why Ad Hoc Networks ?
 Ease of deployment
 Speed of deployment
 Decreased dependence on infrastructure
9
Many Applications
 Personal area networking
cell phone, laptop, ear phone, wrist watch
 Military environments
soldiers, tanks, planes
 Civilian environments
taxi cab network
meeting rooms
sports stadiums
boats, small aircraft
 Emergency operations
search-and-rescue
policing and fire fighting
 Virtual Navigation : Data from a remote database is
transmitted periodically in small relevant blocks using
links present in the path of the automobile. This
database may contain the graphical representation of
streets, buildings, maps and the latest traffic
information, which may be used by the driver to
decide on a route.
 Tele Medicine: Conference assistance from a
surgeon for an emergency intervention.
 Tele-geo Processing: Queries regarding location
information of the users.
 Education Via the Internet
10
11
Many Variations
 Fully Symmetric Environment
all nodes have identical capabilities and responsibilities
 Asymmetric Capabilities
transmission ranges and radios may differ
battery life at different nodes may differ
processing capacity may be different at different nodes
speed of movement
 Asymmetric Responsibilities
only some nodes may route packets
some nodes may act as leaders of nearby nodes (e.g.,
cluster head)
12
Many Variations
 Traffic characteristics may differ in different ad hoc
networks
bit rate
timeliness constraints
reliability requirements
unicast / multicast / geocast
host-based addressing / content-based addressing /
capability-based addressing
 May co-exist (and co-operate) with an infrastructure-
based network
13
Many Variations
 Mobility patterns may be different
people sitting at an airport lounge
New York taxi cabs
kids playing
military movements
personal area network
 Mobility characteristics
speed
predictability
•direction of movement
•pattern of movement
uniformity (or lack thereof) of mobility characteristics
among different nodes
14
Challenges
 Limited wireless transmission range
 Broadcast nature of the wireless medium
Hidden terminal problem
 Packet losses due to transmission errors
 Mobility-induced route changes
 Mobility-induced packet losses
 Battery constraints
 Potentially frequent network partitions
 Need to scale to large networks
 Ease of snooping on wireless transmissions (security hazard)
15
Hidden Terminal Problem
B C
A
Nodes A and C cannot hear each other
Transmissions by nodes A and C can collide at node B
Nodes A and C are hidden from each other
16
Assumption
 Unless stated otherwise, fully symmetric
environment is assumed implicitly
all nodes have identical capabilities and
responsibilities
17
Unicast Routing
in
Mobile Ad Hoc Networks
18
Why is Routing in MANET different ?
 Host mobility
link failure/repair due to mobility may have different
characteristics than those due to other causes
 Rate of link failure/repair may be high when nodes
move fast
 New performance criteria may be used
route stability despite mobility
energy consumption
19
Routing in MANETS - Goals
 Provide the maximum possible reliability - use alternative routes
if an intermediate node fails.
 Choose a route with the least cost metric.
 Give the nodes the best possible response time and throughput.
 Route computation must be distributed. Centralized routing in a
dynamic network is usually very expensive.
 Routing computation should not involve the maintenance of
global state.
 Every node must have quick access to routes on demand.
 Each node must be only concerned about the routes to its
destination.
 Broadcasts should be avoided (highly unreliable)
 It is desirable to have a backup route when the primary route
has become stale.
20
Unicast Routing Protocols
 Many protocols have been proposed
 Some have been invented specifically for MANET
 Others are adapted from previously proposed
protocols for wired networks
 No single protocol works well in all environments
some attempts made to develop adaptive protocols
21
Routing Protocols
 Proactive protocols (Maintain updated routes )
Determine routes independent of traffic pattern
Traditional link-state and distance-vector routing protocols are
proactive
e.g.,variations of Dist. Vector (Destination Sequence Distance Vector,
DSDV) and Link state (Optimized Link State Routing, OLSR)
 Reactive protocols (discover routes on-demand)
Maintain routes only if needed
e.g., Source Routing (Dynamic Source Routing, DSR), Table driven
(AODV, ABR, TORA etc.)
 Hybrid protocols
Combination of reactive and proactive routing
e.g., ZRP
 Location-aware Routing Protocols
Location information helps in optimizing routing
e.g., LAR
22
Trade-Off
 Latency of route discovery
Proactive protocols may have lower latency since routes are
maintained at all times
Reactive protocols may have higher latency because a route from X to
Y will be found only when X attempts to send to Y
 Overhead of route discovery/maintenance
Reactive protocols may have lower overhead since routes are
determined only if needed
Proactive protocols can (but not necessarily) result in higher overhead
due to continuous route updating
 QoS guarantees
In proactive, Qos guarantees related to connection setup, latency, and
other real-time requirements can be ensured
Quality of a path is not known apriori in reactive.
 Which approach achieves a better trade-off depends on
the traffic and mobility patterns
23
Overview of Unicast Routing Protocols
24
Flooding for Data Delivery
 Sender S broadcasts data packet P to all its neighbors
 Each node receiving P forwards P to its neighbors
 Sequence numbers used to avoid the possibility of
forwarding the same packet more than once
 Packet P reaches destination D provided that D is reachable
from sender S
 Node D does not forward the packet
25
Flooding for Data Delivery
B
A
S E
F
H
J
D
C
G
I
K
Represents that connected nodes are within each
other’s transmission range
Z
Y
Represents a node that has received packet P
M
N
L
26
Flooding for Data Delivery
B
A
S E
F
H
J
D
C
G
I
K
Represents transmission of packet P
Represents a node that receives packet P for
the first time
Z
Y
Broadcast transmission
M
N
L
27
Flooding for Data Delivery
B
A
S E
F
H
J
D
C
G
I
K
• Node H receives packet P from two neighbors:
potential for collision
Z
Y
M
N
L
28
Flooding for Data Delivery
B
A
S E
F
H
J
D
C
G
I
K
• Node C receives packet P from G and H, but does not forward
it again, because node C has already forwarded packet P once
Z
Y
M
N
L
29
Flooding for Data Delivery
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
• Nodes J and K both broadcast packet P to node D
• Since nodes J and K are hidden from each other, their
transmissions may collide
=> Packet P may not be delivered to node D at all,
despite the use of flooding
N
L
30
Flooding for Data Delivery
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
• Node D does not forward packet P, because node D
is the intended destination of packet P
M
N
L
31
Flooding for Data Delivery
B
A
S E
F
H
J
D
C
G
I
K
• Flooding completed
• Nodes unreachable 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)
Z
Y
M
N
L
32
Flooding for Data Delivery
B
A
S E
F
H
J
D
C
G
I
K
• Flooding may deliver packets to too many nodes
(in the worst case, all nodes reachable from sender
may receive the packet, though only the dest has to receive)
Z
Y
M
N
L
33
Flooding for Data Delivery: Advantages
 Simplicity
 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
this scenario may occur, for instance, when nodes transmit
small data packets relatively infrequently, and many
topology changes occur between consecutive packet
transmissions
 Potentially higher reliability of data delivery
Because packets may be delivered to the destination on
multiple paths
34
Flooding for Data Delivery: Disadvantages
 Potentially, very high overhead
Data packets may be delivered to too many nodes who do
not need to receive them
 Potentially lower reliability of data delivery
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
 Some improvements: Use of sequence nos to prevent
repetitive broadcast, Restricted flooding (floods the
network incrementally, increasing the radius of the flood
at every successive attempts)
35
Flooding of Control Packets
 Many protocols perform (potentially limited) flooding
of control packets, instead of data packets
 The control packets are used to discover routes
 Discovered routes are subsequently used to send
data packet(s)
 Overhead of control packet flooding is amortized
over data packets transmitted between consecutive
control packet floods
36
Dynamic Source Routing (DSR)
[Johnson96]
 When node S wants to send a packet to node D, but
does not know a route to D, node S initiates a route
discovery
 Source node S floods Route Request (RREQ)
 Each node appends its own identifier when
forwarding RREQ
37
Route Discovery in DSR
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
Represents a node that has received RREQ for D from S
M
N
L
38
Route Discovery in DSR
B
A
S E
F
H
J
D
C
G
I
K
Represents transmission of RREQ
Z
Y
Broadcast transmission
M
N
L
[S]
[X,Y] Represents list of identifiers appended to RREQ
39
Route Discovery in DSR
B
A
S E
F
H
J
D
C
G
I
K
• Node H receives packet RREQ from two neighbors:
potential for collision
Z
Y
M
N
L
[S,E]
[S,C]
40
Route Discovery in DSR
B
A
S E
F
H
J
D
C
G
I
K
• Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
Z
Y
M
N
L
[S,C,G]
[S,E,F]
41
Route Discovery in DSR
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
• Nodes J and K both broadcast RREQ to node D
• Since nodes J and K are hidden from each other, their
transmissions may collide
N
L
[S,C,G,K]
[S,E,F,J]
42
Route Discovery in DSR
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
• Node D does not forward RREQ, because node D
is the intended target of the route discovery
M
N
L
[S,E,F,J,M]
43
Route Discovery in DSR
 Destination D on receiving the first RREQ, sends a
Route Reply (RREP)
 RREP is sent on a route obtained by reversing the
route appended to received RREQ (for bi-directional
links)
 RREP includes the route from S to D on which RREQ
was received by node D
44
Route Reply in DSR
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
RREP [S,E,F,J,D]
Represents RREP control message
45
Route 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
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, then
RREP may need a route discovery from node D to
node S
Unless node D already knows a route to node S
If a route discovery is initiated by D for a route to S, then
the Route Reply (RREP) is piggybacked on the Route
Request (RREQ) from D.
 If IEEE 802.11 MAC is used to send data, then links
have to be bi-directional (since Ack is used)
46
Dynamic Source Routing (DSR)
 Node S on receiving RREP, caches the route
included in the RREP
 When node S sends a data packet to D, the
entire route is included in the packet header
hence the name source routing
 Intermediate nodes use the source route
included in a packet to determine to whom a
packet should be forwarded
47
Data Delivery in DSR
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
DATA [S,E,F,J,D]
Packet header size grows with route length (disadv)
48
When to Perform a Route Discovery
 When node S wants to send data to node D, but does
not know a valid route to node D
49
DSR 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,
node S also learns route [S,E,F] to node F
 When node K receives RREQ [S,C,G] destined for
node D, node K learns route [K,G,C,S] to node S
 When node F forwards RREP [S,E,F,J,D], node F
learns route [F,J,D] to node D
 When node E forwards Data [S,E,F,J,D] it learns
route [E,F,J,D] to node D
 A node may also learn a route when it overhears
Data packets (from a neighbor)
50
Use 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
route to D exists in its cache. Otherwise, node S
initiates route discovery by sending a RREQ
 Node X on receiving a RREQ for some node D can
send a RREP if node X knows a route to node D
 Use of route cache
can speed up route discovery
can reduce propagation of route requests
51
Use of Route Caching
B
A
S E
F
H
J
D
C
G
I
K
[P,Q,R] Represents cached route at a node
(DSR maintains the cached routes in a tree format)
M
N
L
[S,E,F,J,D]
[E,F,J,D]
[C,S]
[G,C,S]
[F,J,D],[F,E,S]
[J,F,E,S]
Z
52
Use of Route Caching:
Can Speed up Route Discovery
B
A
S E
F
H
J
D
C
G
I
K
Z
M
N
L
[S,E,F,J,D]
[E,F,J,D]
[C,S]
[G,C,S]
[F,J,D],[F,E,S]
[J,F,E,S]
RREQ
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
cached route
[K,G,C,S]
RREP
53
Use of Route Caching:
Can Reduce Propagation of Route Requests
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
[S,E,F,J,D]
[E,F,J,D]
[C,S]
[G,C,S]
[F,J,D],[F,E,S]
[J,F,E,S]
RREQ
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.
[K,G,C,S]
RREP
54
Route Error (RERR)
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
RERR [J-D]
J sends a route error to S along route J-F-E-S when its attempt to
forward the data packet of S (with route SEFJD) on J-D fails
Nodes hearing RERR update their route cache to remove link J-D
55
Route Caching: Beware!
 Stale caches can adversely affect performance
 With passage of time and host mobility, cached routes may
become invalid
 A sender host may try several stale routes (obtained from
local cache, or replied from cache by other nodes), before
finding a good route
 These have adverse impact on TCP
56
DSR: Advantages
 Routes maintained only between nodes who need to
communicate
reduces overhead of route maintenance
 Route caching can further reduce route discovery
overhead
 A single route discovery may yield many routes to
the destination, due to intermediate nodes replying
from local caches
57
DSR: Disadvantages
 Packet header size grows with route length due to source
routing
 Flood of route requests may potentially reach all nodes in
the network
 Care must be taken to avoid collisions between RREQs
propagated by neighboring nodes
insertion of random delays before forwarding RREQ
 Increased contention, if too many RREPs come back due to
nodes replying using their local caches
Route Reply Storm problem
Reply storm may be eased by preventing a node from sending RREP
if it hears another RREP with a shorter route
58
DSR: Disadvantages (contd.)
 An intermediate node may send RREP using a stale
cached route, thus polluting other caches
 This problem can be eased if some mechanism to
purge (potentially) invalid cached routes is
incorporated.
 Some proposals for cache invalidation based on
Static timeouts
Adaptive timeouts based on link stability
59
B
D
C
A
Broadcast Storm Problem
 When node A broadcasts a route query, nodes B and
C both receive it
 B and C both forward to their neighbors
 B and C transmit at about the same time since they
are reacting to receipt of the same message from A
 This results in a high probability of collisions
60
Broadcast Storm Problem
 Redundancy: A given node may receive the same RREQ
from too many nodes, when one copy would have sufficed
 Node D may receive from nodes B and C both
B
D
C
A
61
Solutions for Broadcast Storm
 Probabilistic scheme: On receiving a route request for
the first time, a node will re-broadcast (forward) the
request with probability p
 Also, re-broadcasts by different nodes should be
staggered by using a collision avoidance technique
(wait a random delay when channel is idle)
this would reduce the probability that nodes B and C would
forward a packet simultaneously in the previous example
62
B
D
C
A
F
E
Solutions for Broadcast Storms
 Counter-Based Scheme: If node E hears more than
k neighbors broadcasting a given RREQ, before it
can itself forward it, then node E will not forward the
request
 Intuition: k neighbors together have probably already
forwarded the request to all of E’s neighbors
63
E
Z
<d
Solutions 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
 Intuition: Z and E are too close, so transmission
areas covered by Z and E are not very different
 if E re-broadcasts the request, not many nodes who have not
already heard the request from Z will hear the request
64
Summary: Broadcast Storm Problem
 Flooding is used in many protocols, such as Dynamic
Source Routing (DSR)
 Problems associated with flooding
Collisions
Contentions
redundancy
 Collisions may be reduced by “jittering” (waiting for a
random interval before propagating the flood)
 Redundancy may be reduced by selectively re-
broadcasting packets from only a subset of the nodes
65
Ad Hoc On-Demand Distance Vector Routing
(AODV)
 DSR includes source routes in packet headers
 Resulting large headers can sometimes degrade performance
particularly when data contents of a packet are small
 AODV attempts to improve on DSR by maintaining routing
tables at the nodes, so that data packets do not have to
contain routes
 AODV retains the desirable feature of DSR that routes are
maintained only between nodes which need to communicate
66
AODV
 Route Requests (RREQ) are forwarded in a manner similar to
DSR
 When a node re-broadcasts a RREQ, it sets up a reverse
path pointing towards the source
AODV assumes symmetric (bi-directional) links
 When the intended destination receives a RREQ, it replies by
sending a Route Reply (RREP)
 RREP travels along the reverse path set-up when RREQ is
forwarded
67
Route Requests in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
Represents a node that has received RREQ for D from S
M
N
L
68
Route Requests in AODV
B
A
S E
F
H
J
D
C
G
I
K
Represents transmission of RREQ
Z
Y
Broadcast transmission
M
N
L
69
Route Requests in AODV
B
A
S E
F
H
J
D
C
G
I
K
Represents links on Reverse Path
Z
Y
M
N
L
70
Reverse Path Setup in AODV
B
A
S E
F
H
J
D
C
G
I
K
• Node C receives RREQ from G and H, but does not forward
it again, because node C has already forwarded RREQ once
Z
Y
M
N
L
71
Reverse Path Setup in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
72
Reverse Path Setup in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
• Node D does not forward RREQ, because node D
is the intended target of the RREQ
M
N
L
73
Route Reply in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
Represents links on path taken by RREP
M
N
L
74
Route Reply in AODV
 When an intermediate node receives a RouteRequest, it
either forwards it or prepares a RouteReply if it knows more
recent path to the destination.
 To determine whether the path known to an intermediate
node is more recent, destination sequence numbers are
used
 The likelihood that an intermediate node will send a RREP
when using AODV not as high as DSR
A new RREQ by node S for a destination D is assigned a higher
destination sequence number. An intermediate node which
knows a route, but with a smaller sequence number, cannot
send RREP
75
Forward Path Setup in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
Forward links are setup when RREP travels along
the reverse path
Represents a link on the forward path
76
Data Delivery in AODV
B
A
S E
F
H
J
D
C
G
I
K
Z
Y
M
N
L
Routing table entries used to forward data packet.
Route is not included in packet header.
DATA
77
Timeouts
 A routing table entry maintaining a reverse path is
purged after a timeout interval
timeout should be long enough to allow RREP to come
back
 A routing table entry maintaining a forward path is
purged if not used for an active_route_timeout
interval
if no data is 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)
78
Link Failure Reporting
 A neighbor Y of node X is considered active for a routing
table entry if the neighbor Y sent a packet within
active_route_timeout interval which was forwarded using
that entry (Also called active precursors)
 When the next hop link in a routing table entry breaks
(detected thro’ periodic Hello message), all active neighbors
are informed
 Link failures are propagated by means of Route Error
(RERR) messages, which also update destination
sequence numbers
79
Route Error
 When node X is unable to forward packet P (from node S
to node D) on link (X,Y), it generates a RERR message
 Node X increments the destination sequence number N
for D cached at node X
 The incremented sequence number N is included in the
RERR
 When node S receives the RERR, it initiates a new route
discovery for D using destination sequence number at
least as large as N
80
Destination Sequence Number
 A RouteRequest carries the source identifier (SrcID),
the destination identifier (DestID), the source sequence
number (SrcSeqNum), the destination sequence
number (DestSeqNum), the broadcast identifier (BcastID),
and the time to live (TTL) field.
 DestSeqNum indicates the freshness of the route that is
accepted by the source.
 When node D receives the route request with destination
sequence number N, node D will set its sequence number to
N, unless it is already larger than N
81
Link Failure Detection
 Hello messages: Neighboring nodes periodically
exchange hello message
 Absence of hello message is used as an indication
of link failure
 Alternatively, failure to receive several MAC-level
acknowledgement may be used as an indication of
link failure
82
Why Sequence Numbers in AODV
 To avoid using old/broken routes
To determine which route is newer
 To prevent formation of loops
Assume that A does not know about failure of link C-D because RERR
sent by C is lost
Now C performs a route discovery for D. Node A receives the RREQ
(say, via path C-E-A)
Node A will reply since A knows a route to D via node B
Results in a loop (for instance, C-E-A-B-C )
A B C D
E
83
Why Sequence Numbers in AODV
Loop C-E-A-B-C
A B C D
E
84
Optimization: Expanding Ring Search
 RREQs are initially sent with small Time-to-Live (TTL)
field, to limit their propagation
DSR also includes a similar optimization
 If no RREP is received, then larger TTL tried
DSR Vs AODV
 DSR uses source routing in which a data packet
carries the complete path to be traversed. However,
in AODV, the source node and the intermediate
nodes store the next-hop information corresponding
to each flow for data packet transmission.
 DSR has less routing overhead than AODV.
 AODV has less normalized MAC overhead than
DSR.
 DSR is based on a source routing mechanism
whereas AODV uses a combination of
 DSR and DSDV mechanisms.
 AODV has better performance than DSR in higher-
mobility scenarios.
 DSR has less frequent route discovery processes
than AODV.
85
86
Summary: AODV
 Routes need not be included in packet headers
 Nodes maintain routing tables containing entries only for
routes that are in active use
 At most one next-hop per destination maintained at each
node
DSR may maintain several routes for a single destination
 Unused routes expire even if topology does not change
87
So far ...
 All protocols discussed so far perform some form of
flooding
 Now we will consider protocols which try to
reduce/avoid such behavior (i.e. flooding)
88
Link Reversal Algorithm [Gafni81]
A F
B
C E G
D
89
Link Reversal Algorithm
A F
B
C E G
D
Maintain a directed acyclic
graph (DAG) for each
destination, with the destination
being the only sink
This DAG is for destination
node D
Links are bi-directional
But algorithm imposes
logical directions on them
90
Link Reversal Algorithm
Link (G,D) broke
A F
B
C E G
D
Any node, other than the destination, that has no outgoing links
reverses all its incoming links.
Node G has no outgoing links
91
Link Reversal Algorithm
A F
B
C E G
D
Now nodes E and F have no outgoing links
Represents a
link that was
reversed recently
92
Link Reversal Algorithm
A F
B
C E G
D
Now nodes B and G have no outgoing links
Represents a
link that was
reversed recently
93
Link Reversal Algorithm
A F
B
C E G
D
Now nodes A and F have no outgoing links
Represents a
link that was
reversed recently
94
Link Reversal Algorithm
A F
B
C E G
D
Now all nodes (other than destination D) have an outgoing link
Represents a
link that was
reversed recently
95
Link Reversal Algorithm
A F
B
C E G
D
DAG has been restored with only the destination as a sink
96
Link Reversal Algorithm
 Attempts to keep link reversals local to where the failure
occurred
But this is not guaranteed
 When the first packet is sent to a destination, the
destination oriented DAG is constructed
 The initial construction does result in flooding of control
packets
97
Link Reversal Algorithm
 The previous algorithm is called a full reversal
method since when a node reverses links, it
reverses all its incoming links
 Partial reversal method [Gafni81]: A node reverses
incoming links from only those neighbors who have
not themselves reversed links “previously”
If all neighbors have reversed links, then the node
reverses all its incoming links
“Previously” at node X means since the last link reversal
done by node X
98
Partial Reversal Method
Link (G,D) broke
A F
B
C E G
D
Node G has no outgoing links
99
Partial Reversal Method
A F
B
C E G
D
Now nodes E and F have no outgoing links
Represents a
link that was
reversed recently
Represents a
node that has
reversed links
100
Partial Reversal Method
A F
B
C E G
D
Nodes E and F do not reverse links from node G
Now node B has no outgoing links
Represents a
link that was
reversed recently
101
Partial Reversal Method
A F
B
C E G
D
Now node A has no outgoing links
Represents a
link that was
reversed recently
102
Partial Reversal Method
A F
B
C E G
D
Now all nodes (except destination D) have outgoing links
Represents a
link that was
reversed recently
103
Partial Reversal Method
A F
B
C E G
D
DAG has been restored with only the destination as a sink
104
Link Reversal Methods: Advantages
 Link reversal methods attempt to limit updates to
routing tables at nodes in the vicinity of a broken
link
Partial reversal method tends to be better than full
reversal method
 Each node may potentially have multiple routes to a
destination
105
Link Reversal Methods: Disadvantage
 Need a mechanism to detect link failure
hello messages may be used
but hello messages can add to contention
 If network is partitioned, link reversals continue
indefinitely
106
Link Reversal in a Partitioned Network
A F
B
C E G
D
This DAG is for destination node D
107
Full Reversal in a Partitioned Network
A F
B
C E G
D
A and G do not have outgoing links
108
Full Reversal in a Partitioned Network
A F
B
C E G
D
E and F do not have outgoing links
109
Full Reversal in a Partitioned Network
A F
B
C E G
D
B and G do not have outgoing links
110
Full Reversal in a Partitioned Network
A F
B
C E G
D
E and F do not have outgoing links
111
Full Reversal in a Partitioned Network
A F
B
C E G
D
In the partition
disconnected from
destination D, link
reversals continue, until
the partitions merge
Need a mechanism to
minimize this wasteful
activity
Similar scenario can
occur with partial
reversal method too
112
Temporally-Ordered Routing Algorithm
(TORA) [Park97Infocom]
 TORA modifies the partial link reversal method to
be able to detect partitions
 When a partition is detected, all nodes in the
partition are informed, and link reversals in that
partition cease
113
Partition Detection in TORA
A
B
E
D
F
C
DAG for
destination D
114
Partition Detection in TORA
A
B
E
D
F
C
TORA uses a
modified partial
reversal method
Node A has no outgoing links
115
Partition Detection in TORA
A
B
E
D
F
C
TORA uses a
modified partial
reversal method
Node B has no outgoing links
116
Partition Detection in TORA
A
B
E
D
F
C
Node B has no outgoing links
117
Partition Detection in TORA
A
B
E
D
F
C
Node C has no outgoing links -- all its neighbor have
reversed links previously.
118
Partition Detection in TORA
A
B
E
D
F
C
Nodes A and B receive the reflection from node C
Node B now has no outgoing link
119
Partition Detection in TORA
A
B
E
D
F
C
Node A has received the reflection from all its neighbors.
Node A determines that it is partitioned from destination D.
Node B propagates
the reflection to node A
120
Partition Detection in TORA
A
B
E
D
F
C
On detecting a partition,
node A sends a clear (CLR)
message that purges all
directed links in that
partition
121
TORA
 Improves on the partial link reversal method in [Gafni81] by
detecting partitions and stopping non-productive link
reversals
 Paths may not be shortest
 The DAG provides many hosts the ability to send packets to
a given destination
Beneficial when many hosts want to communicate with a single
destination
122
TORA Design Decision
 TORA performs link reversals as dictated by [Gafni81]
 However, when a link breaks, it looses its direction
 When a link is repaired, it may not be assigned a direction,
unless some node has performed a route discovery after the
link broke
if no one wants to send packets to D anymore, eventually, the DAG for
destination D may disappear
 TORA makes effort to maintain the DAG for D only if someone
needs route to D
Reactive behavior
123
TORA Design Decision
 One proposal for modifying TORA optionally allowed a more
proactive behavior, such that a DAG would be maintained
even if no node is attempting to transmit to the destination
 Moral of the story: The link reversal algorithm in [Gafni81]
does not dictate a proactive or reactive response to link
failure/repair
 Decision on reactive/proactive behavior should be made
based on environment under consideration
124
So far ...
 All nodes had identical responsibilities
 Some schemes propose giving special responsibilities
to a subset of nodes
Even if all nodes are physically identical
 Core-based schemes are examples of such schemes
125
Asymmetric Responsibilities
126
Core-Extraction Distributed Ad Hoc Routing
(CEDAR) [Sivakumar99]
 A subset of nodes in the network is identified as the core
 Each node in the network must be adjacent to at least one
node in the core
Each node picks one core node as its dominator (or leader)
 Core is determined by periodic message exchanges between
each node and its neighbors
attempt made to keep the number of nodes in the core small
 Each core node determines paths to nearby core nodes by
means of a localized broadcast
Each core node guaranteed to have a core node at <=3 hops
127
CEDAR: Core Nodes
B
A
C E
J
S K
D
F
H
G
A core node
Node E is the dominator
for nodes D, F and K
128
Link State Propagation in CEDAR
 The distance to which the state of a link is propagated in the
network is a function of
whether the link is stable -- state of unstable links is not propagated
very far
whether the link bandwidth is high or low -- only state of links with
high bandwidth is propagated far
 Link state propagation occurs among core nodes
Link state information includes dominators of link end-points
 Each core node knows the state of local links and stable
high bandwidth links far away
129
Route Discovery in CEDAR
When a node S wants to send packets to destination D
 Node S informs its dominator core node B
 Node B finds a route in the core network to the core node E
which is the dominator for destination D
This is done by means of a DSR-like route discovery (but somewhat
optimized) process among the core nodes
 Core nodes on the above route then build a route from S to D
using locally available link state information
 Route from S to D may or may not include core nodes
130
CEDAR: Core Maintenance
B
A
C E
J
S K
D
F
H
G
A core node
131
Link State at Core Nodes
B
A
C E
J
S K
D
F
H
G
Links that node B is aware of
132
CEDAR Route Discovery
B
A
C E
J
S K
D
F
H
G
Partial route constructed by B
Links that node C is aware of
133
CEDAR Route Discovery
B
A
C E
J
S K
D
F
H
G
Complete route -- last two hops determined by node C
134
CEDAR
 Advantages
Route discovery/maintenance duties limited to a small
number of core nodes
Link state propagation a function of link stability/quality
 Disadvantages
Core nodes have to handle additional traffic, associated
with route discovery and maintenance
135
Asymmetric Responsibilities:
Cluster-Based Schemes
 Some cluster-based schemes have also been proposed
 In some cluster-based schemes, a leader is elected for each
cluster of node
 The leader often has some special responsibilities
 Different schemes may differ in
how clusters are determined
the way cluster head (leader) is chosen
duties assigned to the cluster head
136
Proactive Protocols
 Most of the schemes discussed so far are reactive
 Proactive schemes based on distance-vector and
link-state mechanisms have also been proposed
137
OLSR - Overview
 OLSR
Inherits Stability of Link-state protocol
Selective Flooding
only MPR retransmit control messages:
• Minimize flooding
Suitable for large and dense networks
138
Link State Routing
 Each node periodically floods status of its links
 Each node re-broadcasts link state information received from
its neighbor
 Each node keeps track of link state information received from
other nodes
 Each node uses above information to determine next hop to
each destination
139
OLSR – Multipoint relays (MPRs)
 MPRs = Set of selected neighbor nodes
 Minimize the flooding of broadcast packets
 Each node selects its MPRs among its on hop neighbors
The set covers all the nodes that are two hops away
 MPR Selector = a node which has selected node as MPR
 The information required to calculate the multipoint relays :
The set of one-hop neighbors and the two-hop neighbors
 Set of MPRs is able to transmit to all two-hop neighbors
 Link between node and it’s MPR is bidirectional.
140
Optimized Link State Routing (OLSR)
 The overhead of flooding link state information is reduced by
requiring fewer nodes to forward the information
 A broadcast from node X is only forwarded by its
multipoint relays , other neighbors simply use the
info without forwarding it.
 Multipoint relays of node X are its neighbors such
that each two-hop neighbor of X is a one-hop
neighbor of at least one multipoint relay of X
Each node transmits its neighbor list in periodic
beacons, so that all nodes can know their 2-hop
neighbors, in order to choose the multipoint relays
141
OLSR – Multipoint relays (cont.)
 To obtain the information about one-hop neighbors :
Use HELLO message (received by all one-hop neighbors)
 To obtain the information about two-hop neighbors :
Each node attaches the list of its own neighbors
 Once a node has its one and two-hop neighbor sets :
Can select a MPRs which covers all its two-hop neighbors
142
Optimized Link State Routing (OLSR)
 Nodes C and E are multipoint relays of node A
A
B F
C
D
E H
G
K
J
Node that has broadcast state information from A
143
Optimized Link State Routing (OLSR)
 Nodes C and E forward information received from A,
but B, F and D simply use the info without forwarding it
A
B F
C
D
E H
G
K
J
Node that has broadcast state information from A
144
Optimized Link State Routing (OLSR)
 Nodes E and K (or J) are multipoint relays for node H
 Node K forwards information received from H
E has already forwarded the same information once
A
B F
C
D
E H
G
K
J
Node that has broadcast state information from A
145
OLSR – Multipoint relays (cont.)
Node 1 Hop Neighbors 2 Hop Neighbors MPR(s)
B A,C,F,G D,E C
A
B
C
D
E
F
G
Figure 2. Network example for MPR selection
146
Protocol functioning – Neighbor sensing
 Each node periodically broadcasts its HELLO
messages:
Containing the information about its neighbors and their link
status
Hello messages are received by all one-hop neighbors
 HELLO message contains:
List of addresses of the neighbors to which there exists a
valid bi-directional link
List of addresses of the neighbors which are heard by
node( a HELLO has been received )
• But link is not yet validated as bi-directional
147
Protocol functioning – Neighbor sensing (cont.)
Message type Vtime Message size
Originator Address
Time To Live Hop count Message Sequence Number
Reserved Htime Willingness
Link code Reserved Link message size
Neighbor Interface Address
Neighbor interface Address
…
Reserved Htime Willingness
Link code Reserved Link message size
Neighbor interface address
Neighbor interface address
…
Table 1. Hello Message Format in OLSR
Link type Neighbor type
148
Protocol functioning – Neighbor sensing (cont.)
 HELLO messages :
Serves Link sensing
Permit each node to learn the knowledge of its neighbors up
to two-hops (neighbor detection)
On the basis of this information, each node performs the
selection of its multipoint relays (MPR selection signaling)
Indicate selected multipoint relays
 On the reception of HELLO message:
Each node constructs its MPR Selector table
149
Protocol functioning – Neighbor sensing ( cont.)
 In the neighbor table:
Each node records the information about its one hop
neighbor and a list of two hop neighbors
Entry in the neighbor table has a holding time
• Upon expiry of holding time, removed
Contains a sequence number value which specifies the
most recent MPR set
• Every time updates its MPR set, this sequence number is
incremented
150
Protocol functioning – Neighbor sensing
 Example of neighbor table
One-hop neighbors
…
…
MPR
C
Unidirectional
G
Bidirectional
B
State of Link
Neighbor’s id
Two-hop neighbors
…
…
C
D
C
E
Access though
Neighbor’s id
Table 2. Example of neighbor table
151
Protocol functioning – Multipoint relay selection
 Each node selects own set of multipoint relays
 Multipoint relays are declared in the transmitted
HELLO messages
 Multipoint relay set is re-calculated when:
A change in the neighborhood( neighbor is failed or add new
neighbor )
A change in the two-hop neighbor set
 Each node also construct its MPR Selector table with
information obtained from the HELLO message
 A node updates its MPR Selector set with information
in the received HELLO messages
152
Protocol functioning – MPR information declaration
 TC – Topology control message:
In order to build intra-forwarding database
Only MPR nodes forward periodically to declare its MPR
Selector set
Message might not be sent if there are no updates
Contains:
• MPR Selector
• Sequence number
 Each node maintains a Topology Table based on TC
messages
Routing Tables are calculated based on Topology tables
153
Protocol functioning – MPR information declaration (cont.)
Destination address Destination’s MPR MPR Selector
sequence
number
Holding time
MPR Selector
in the received
TC message
Last-hop node to
the destination.
Originator of TC
message
Table 3. Topology table
Topology Tuple
 For each destination in the network, at least one
"Topology Tuple" (T_dest_addr, T_last_addr, T_seq,
T_time) is recorded.
 T_dest_addr is the main address of a node, which
may be reached in one hop from the node with the
main address T_last_addr.
 Typically, T_last_addr is a MPR of T_dest_addr.
 T_seq is a sequence number, and T_time specifies
the time at which this tuple expires and *MUST* be
removed.
154
155
Protocol functioning – MPR information declaration
(cont.)
G
F
E
D C B
MS(C) = {B,D,E} MPR(B) = {A,C}
Figure 4. TC message and Topology
table
Send TC message
{B,D,E} build the
topology table
156
Protocol functioning – MPR information declaration
(cont.)
 Upon receipt of TC message:
If there exist some entry to the same destination with
higher Sequence Number, the TC message is ignored
If there exist some entry to the same destination with lower
Sequence Number, the topology entry is removed and the
new one is recorded
If the entry is the same as in TC message, the holding time
of this entry is refreshed
If there are no corresponding entry – the new entry is
recorded
157
Protocol functioning – MPR information declaration
(cont.)
S
B
D
M
X Y
Z
P
A
Send TC message
Dest’
address
Dest’ MPR
MPR
Selector
sequence
X M 1
Y M 1
Z M 1
.. .. ..
S’ Topology table
TC’
originator
MPR selector
MPR selector
sequence
M X 2
M Y 2
M Z 2
M R 2
TC message ( M send to S)
R
Figure 5. Topology table update
158
Protocol functioning – Routing table calculation
 Each node maintains a routing table to all known
destinations in the network
 After each node TC message receives, store connected pairs of
form ( last-hop, node)
 Routing table is based on the information contained in the
neighbor table and the topology table
 Routing table:
Destination address
Next Hop address
Distance
 Routing Table is recalculated after every change in neighbor
table or in topology table
159
Protocol functioning – Routing table calculation (cont.)
Source
Destination
Figure 5. Building a route from topology table
160
OLSR
 OLSR floods information through the multipoint relays
 The flood itself is restricted to links connecting nodes to
respective multipoint relays
 Routes used by OLSR only include multipoint relays as
intermediate nodes
161
Destination-Sequenced Distance-Vector
(DSDV)
 Each node maintains a routing table which stores
next hop towards each destination
a cost metric for the path to each destination
a destination sequence number that is created by the destination itself
Sequence numbers used to avoid formation of loops
 Each node periodically forwards the routing table to its
neighbors
Each node increments and appends its sequence number when
sending its local routing table
This sequence number will be attached to route entries created for this
node
162
Destination-Sequenced Distance-Vector
(DSDV)
 Assume that node X receives routing information from Y about
a route to node Z
 Let S(X) and S(Y) denote the destination sequence number for
node Z as stored at node X, and as sent by node Y with its
routing table to node X, respectively
X Y Z
163
Destination-Sequenced Distance-Vector
(DSDV)
 Node X takes the following steps:
If S(X) > S(Y), then X ignores the routing information received from Y
If S(X) = S(Y), and cost of going through Y is smaller than the route
known to X, then X sets Y as the next hop to Z
If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is
updated to equal S(Y)
X Y Z
164
DSDV
 DSDV (Destination Sequenced Distance
Vector)
Each node sends and responds to
routing control message the same way
No hierarchical structure
Avoids the resource costs involved in
maintaining high-level structure
Scalability may become an issue in larger
networks
165
 Basic Routing Protocol
known also as Distributed Bellman-Ford or RIP
 Every node maintains a routing table
all available destinations
the next node to reach to destination
the number of hops to reach the destination
 Periodically send table to all neighbors to
maintain topology
 Bi-directional links are required!
DSDV
166
Traditional Distance vector tables
C
Dest. Next Metric …
A A 1
B B 0
C C 2
Dest. Next Metric …
A A 0
B B 1
C B 3
1 2
Dest. Next Metric …
A B 3
B B 2
C C 0
B
A
DSDV
167
(A, 1)
(B, 0)
(C, 1)
(A, 1)
(B, 0)
(C, 1)
Distance Vector Updates
C
Dest. Next Metric …
A A 1
B B 0
C C 1
Dest. Next Metric …
A A 0
B B 1
C B 3 2
1 1
Dest. Next Metric …
A B 3 2
B B 1
C C 0
B
A
B broadcasts the new routing
information to his neighbors
Routing table
is updated
DSDV
168
(D, 0)
(A, 2)
(B, 1)
(C, 0)
(D, 1)
(A, 1)
(B, 0)
(C, 1)
(D, 2)
Distance Vector –
New Node joins the
network
C
1 1
B
A D
1
broadcasts to
update
tables of C, B, A
with new entry for D
Dest. Next Metric …
A B 2
B B 1
C C 0
D D 1
Dest. Next Metric …
A A 1
B B 0
C C 1
D C 2
Dest. Next Metric …
A A 0
B B 1
C B 2
D B 3
DSDV
169
Distance Vector – Broken link
C
1 1
B
A D
1
Dest.c Next Metric …
… … …
D C 2
Dest. Next Metric …
… … …
D B 3
Dest. Next Metric …
… … …
D B 1
Dest. Next Metric …
… … …
D D 
DSDV
170
(D, 2)
(D, 2)
Distance Vector - Loops
C
1 1
B
A D
1
Dest. Next Metric …
… … …
D B 3
Dest. Next Metric …
… … …
D C 2
Dest. Next Metric …
… … …
D B 3
DSDV
171
(D,2)
(D,4)
(D,3)
(D,5)
(D,2)
(D,4)
Distance vector - Count to Infinity
C
1 1
B
A D
1
Dest. Next Metric …
… … …
D B 3, 5, …
Dest. Next Metric …
… … …
D B 3, 5, …
Dest.c Next Metric …
… … …
D C 2, 4, 6…
DSDV
172
 Traditional Distance Vector are not suited for ad-hoc
networks!
Loops
• Bandwidth reduction in network
• Unnecessary work for loop nodes
Count to Infinity
• Very slow adaptation to topology changes.
 Solution -> Introduce destination sequence numbers
DSDV
173
 DSDV keeps the simplicity of traditional Distance Vector
Protocols
 DSDV need to guarantee loop freeness
New Table Entry for Destination Sequence Number
 DSDV need to allow fast reaction to topology changes
Make immediate route advertisement on significant changes in routing table
but wait with advertising of unstable routes
(damping fluctuations)
DSDV
174
 Features introduced in DSDV
Sequence number originated from destination. Ensures loop
freeness.
Install Time when entry was made (used to delete stale entries from
table.
Stable Data Pointer to a table holding information on how stable a
route is. Used to damp fluctuations in network.
Destination Next Metric Seq. Nr Install Time Stable Data
A A 0 A-550 001000 Ptr_A
B B 1 B-102 001200 Ptr_B
C B 3 C-588 001200 Ptr_C
D B 4 D-312 001200 Ptr_D
DSDV
175
 Advertise to each neighbor own routing information
Destination Address
Metric = Number of Hops to Destination
Destination Sequence Number
Other info (e.g. hardware addresses)
 Rules to set sequence number information
On each advertisement increase own destination
sequence number (use only even numbers)
If a node is no more reachable (timeout) increase
sequence number of this node by 1 (odd sequence
number) and set metric = .
DSDV – Route Advertisement
176
 Update information is compared to own routing
table
1. Select route with higher destination sequence number
(This ensure to use always newest information from
destination)
2. Select the route with better metric when sequence
numbers are equal.
DSDV – Route Selection
177
DSDV Tables
C
Dest. Next Metric Seq
A A 1 A-550
B B 0 B-100
C C 2 C-588
Dest. Next Metric Seq
A A 0 A-550
B B 1 B-100
C B 2 C-586
Dest. Next Metric Seq.
A B 1 A-550
B B 2 B-100
C C 0 C-588
B
A
DSDV
178
(A, 1, A-550)
(B, 0, B-102)
(C, 1, C-588)
(A, 1, A-550)
(B, 0, B-102)
(C, 1, C-588)
DSDV Route Advertisement
C
B
A
B increases Seq.Nr from 100 -> 102
B broadcasts routing information
to Neighbors A, C including
destination sequence numbers
Dest. Next Metric Seq
A A 0 A-550
B B 1 B-102
C B 2 C-588
Dest. Next Metric Seq
A A 1 A-550
B B 0 B-102
C C 1 C-588
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-102
C C 0 C-588
DSDV
179
 DSDV Respond to topology changes
Immediate advertisements
•Information on new routes, broken Links, metric
change is immediately propagated to neighbors.
Full/Incremental Update:
•Full Update: Send all routing information from own
table. (May require multiple packets)
•Incremental Update: Send only entries that has
changed. (Make it fit into one single packet)
DSDV
180
(D, 0, D-000)
When new node joins the network
C
B
A D
Dest. Next Metric Seq.
A A 0 A-550
B B 1 B-104
C B 2 C-590
Dest. Next Metric Seq.
A A 1 A-550
B B 0 B-104
C C 1 C-590
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-104
C C 0 C-590
D D 1 D-000
1. D broadcast for first time
Send Sequence number D-000.
2. Insert entry for D with
sequence number D-000.
Then immediately broadcast
own table.
DSDV
181
(A, 2, A-550)
(B, 1, B-102)
(C, 0, C-592)
(D, 1, D-000)
(A, 2, A-550)
(B, 1, B-102)
(C, 0, C-592)
(D, 1, D-000)
(New node (cont.)
C
B
A D
Dest. Next Metric Seq.
A A 1 A-550
B B 0 B-102
C C 1 C-592
D C 2 D-000
Dest. Next Metric Seq.
A A 0 A-550
B B 1 B-104
C B 2 C-590
Dest. Next Metric Seq.
A B 2 A-550
B B 1 B-102
C C 0 C-592
D D 1 D-000
………
………
3. C increases its sequence
number to C-592 then
broadcasts its new table.
4. B gets this new
information and updates its
table…….
DSDV
182
(D, 2, D-100)
(D, 2, D-100)
No loops, no count to infinity
C
B
A D
1
Dest.c Next Metric Seq.
… … …
D C 2 D-100
Dest. Next Metric Seq.
… … …
D B 3 D-100
Dest. Next Metric Seq.
… … …
D D  D-101
1. Node C detects broken Link:
-> Increase Seq. Nr. by 1
(only case where not the
destination sets the sequence
number -> odd number)
2. B does its broadcast
-> no affect on C (C knows that B has
stale information because C has higher
seq. number for destination D)
-> no loop -> no count to infinity
DSDV
183
(D, , D-101)
(D, , D-101)
Immediate Advertisement
C
B
A D
Dest.c Next Metric Seq.
… … …
D C 3 D-100
Dest. Next Metric Seq.
… … …
D B 4 D-100
Dest. Next Metric Seq.
… … …
D B 1 D-100
Dest. Next Metric Seq.
… … …
D D 1 D-100
D D  D-101
1. Node C detects broken link:
-> Increase Seq. Nr. by 1
(only case where not the
destination sets the sequence
number -> odd number)
3. Immediate
propagation
B to A:
(update information has
higher Seq. Nr. ->
replace table entry)
2. Immediate propagation
C to B:
(update information has higher
Seq. Nr. -> replace table entry)
Dest.c Next Metric Seq.
… … … ...
D C 2 D-100
D C  D-101
Dest. Next Metric Seq.
… … … ...
D B 3 D-100
D B  D-101
DSDV
184
Problem of Fluctuations
Entry for D in A: [D, Q, 14, D-100]
D makes broadcast with Seq. Nr. D-102
A receives from P Update (D, 15, D-102)
-> Entry for D in A: [D, P, 15, D-102]
A must propagate this route immediately.
A receives from Q Update (D, 14, D-102)
-> Entry for D in A: [D, Q, 14, D-102]
A must propagate this route immediately.
This can happen every time D or any other node does its
broadcast and lead to unnecessary route advertisements in
the network, so called fluctuations.
A
D
Q
P
10 Hops
11 Hops
(D,0,D-102)
DSDV
185
 Advantages
Simple (almost like Distance Vector)
Loop free through destination seq. numbers
No latency caused by route discovery
 Disadvantages
No sleeping nodes
Bi-directional links required
Overhead: most routing information never used
Scalability is a major problem
DSDV
186
Hybrid Protocols
187
Zone Routing Protocol (ZRP)
Zone routing protocol combines
 Proactive protocol: which pro-actively updates network
state and maintains route regardless of whether any data
traffic exists or not
 Reactive protocol: which only determines route to a
destination if there is some data to be sent to the
destination
188
ZRP
 All nodes within hop distance at most d from a node
X are said to be in the routing zone of node X
 All nodes at hop distance exactly d are said to be
peripheral nodes of node X’s routing zone
189
ZRP
 Intra-zone routing: Pro-actively maintain state
information for links within a short distance from any
given node
Routes to nodes within short distance are thus maintained
proactively (using, say, link state or distance vector protocol)
 Inter-zone routing: Use a route discovery protocol for
determining routes to far away nodes. Route
discovery is similar to DSR with the exception that
route requests are propagated via peripheral nodes.
190
ZRP: Example with
Zone Radius = d = 2
S
C
A
E
F
B
D
S performs route
discovery for D
Denotes route request
191
ZRP: Example with d = 2
S
C
A
E
F
B
D
S performs route
discovery for D
Denotes route reply
E knows route from E to D,
so route request need not be
forwarded to D from E
192
ZRP: Example with d = 2
S
C
A
E
F
B
D
S performs route
discovery for D
Denotes route taken by Data
193
Routing
 Protocols discussed so far find/maintain a route
provided it exists
 Some protocols attempt to ensure that a route exists
by
Power Control
Limiting movement of hosts or forcing them to take detours [
194
Power Control
 Protocols discussed so far find a route, on a given network
topology
 Some researchers propose controlling network topology by
transmission power control to yield network properties which
may be desirable
Such approaches can significantly impact performance at several
layers of protocol stack
 Method by Watt et al. provides a distributed mechanism for
power control which allows for local decisions, but guarantees
global connectivity
Each node uses a power level that ensures that the node has at
least one neighbor in each cone with angle 2p/3
195
Other Routing Protocols
 Plenty of other routing protocols
Discussion here is far from exhaustive
 Many of the existing protocols could potentially be
adapted for MANET (some have already been
adapted as discussed earlier)
196
Some Variations
197
Power-Aware Routing
Define optimization criteria as a function of energy
consumption. Examples:
 Minimize energy consumed per packet
 Minimize time to network partition due to energy
depletion
 Maximize duration before a node fails due to energy
depletion
198
Power-Aware Routing
 Assign a weigh to each link
 Weight of a link may be a function of energy
consumed when transmitting a packet on that link, as
well as the residual energy level
low residual energy level may correspond to a high cost
 Prefer a route with the smallest aggregate weight
199
Power-Aware Routing
Possible modification to DSR to make it power aware
(for simplicity, assume no route caching):
 Route Requests aggregate the weights of all
traversed links
 Destination responds with a Route Reply to a Route
Request if
it is the first RREQ with a given (“current”) sequence
number, or
its weight is smaller than all other RREQs received with the
current sequence number
200
Signal Stability Based Adaptive Routing (SSA)
 Similar to DSR
 A node X re-broadcasts a Route Request (RREQ) received
from Y only if the (X,Y) link is deemed to have a strong
signal stability (link stability is estimated from signal
strength information)
 Signal stability is evaluated as a moving average of the
signal strength of packets received on the link in recent past
 An alternative approach would be to assign a cost as a
function of signal stability
201
Signal Stability Based Adaptive Routing (SSA)
 SSA tries to find a route on these strong (stable) links. If
there exists a route thro’ all stable links, then it will be more
stable route than an ordinary route
 If it fails finding a route (thro’ all stable links) in first trial, it
searches a route on all available links (both stable &
unstable links)
 Signal Strength Estimation:
All nodes monitor signals from its neighbor nodes
If the strength of the signal received from neighbor nodes is beyond
a Threshold, the link from the neighbor node is considered as Strong
Stability link
Otherwise, the link is treated as Unstable link
202
Signal Stability Based Adaptive Routing (SSA)
SS=Signal Strength
Signal Strength Regulation:
SScum= α × SScum + (1 − α) × SS
Radio Device Start
S=SScum of a link from node n
Is S > Threshold ?
Stabilityn=Stable
Stabilityn=Unstable
End
Yes No
203
Associativity-Based Routing (ABR)
 Only links that have been stable for some minimum duration
are utilized
motivation: If a link has been stable beyond some minimum
threshold, it is likely to be stable for a longer interval. If it has not
been stable longer than the threshold, then it may soon break (could
be a transient link)
 Association stability determined for each link
measures duration for which the link has been stable
 Prefer paths with high aggregate association stability
204
Associativity-Based Routing (ABR)
 ABR uses Pilot Signal to determine link stability
 Every node sends pilot signal periodically
 When a node receives this pilot signal from its neighbor
nodes, it records no. of pilot signal received in a counter
 If it receives a no. of pilot signals continuously from a
neighbor which is beyond a Threshold, it considers the link
as stable
 It searches all the possible routes to find a route that
contains more stable (strong) links.
205
Associativity-Based Routing (ABR)
Unstable
Link: 0
Unstable
Link: 2
Unstable
Link: 1
Stable
Link
Pilot pkt
Pilot pkt
Pilot pkt
timeout
timeout
timeout
Pilot pkt
206
Geography Adaptive Fidelity
 Each node associates itself with a square in a virtual
grid
 Node in each grid square coordinate to determine
who will sleep and how long
207
Preemptive Routing
 Add some proactivity to reactive routing protocols
such as DSR and AODV
 Route discovery initiated when it appears that an
active route will break in the near future
 Initiating route discover before existing route breaks
reduces discovery latency
208
QoS Routing
209
Quality-of-Service
 Several proposals for reserving bandwidth for a flow
in MANET
 Also Multipath routing
210
Capacity of Ad Hoc Networks
211
Capacity of Fixed Ad Hoc Networks
[Gupta00it]
 n nodes in area A transmitting at W bits/sec using a
fixed range (distance between a random pair of
nodes is O(sqrt(n))
 Bit-distance product that can be transported by the
network per second is
Q ( W sqrt (A n) )
 Throughput per node
Q ( W / sqrt (n) )
212
Capacity of Mobile Ad Hoc Networks
 Assume random motion
 Any two nodes become neighbors once in a while
 Each node assumed sender for one session, and
destination for another session
 Relay packets through at most one other node
Packet go from S to D directly, when S and D are neighbors,
or from S to a relay and the the relay to D, when each pair
becomes neighbor respectively
 Throughput of each session is O(1)
Independent of n
213
Continues from last slide …
 Delay in packet delivery can be large if O(1)
throughput is to be achieved
Delay incurred waiting for the destination to arrive close to a
relay or the sender
 Trade-off between delay and throughput
214
Measured Capacity
 Confirms intuition
 In fixed networks, capacity is higher if average
distance between source-destination pairs is small
215
Measured Scaling Law
 Measured in static networks
 Throughput declines worse with n than theoretically
predicted
 Due to limitations of existing MAC protocols
Unable to exploit “parallelism” in channel access
216
Capacity
 How to design MAC and routing protocols to
approach theoretical capacity ?
 Open problem
217
References

More Related Content

Similar to MANET.ppt

Adhoc Sensor Networks1.pptx
Adhoc Sensor Networks1.pptxAdhoc Sensor Networks1.pptx
Adhoc Sensor Networks1.pptxkapss043
 
implementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolimplementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolAtul Atalkar
 
Presentation MANETs.pptx
Presentation MANETs.pptxPresentation MANETs.pptx
Presentation MANETs.pptxpriyam219327
 
Presentation MANETs.pptx
Presentation MANETs.pptxPresentation MANETs.pptx
Presentation MANETs.pptxSujit833143
 
Secured-Bandwidth Reservation Distance Vector routing Protocol
Secured-Bandwidth Reservation Distance Vector routing ProtocolSecured-Bandwidth Reservation Distance Vector routing Protocol
Secured-Bandwidth Reservation Distance Vector routing ProtocolAhmad Sharifi
 
Ad hoc and wsn
Ad hoc and wsnAd hoc and wsn
Ad hoc and wsnGOWTHAMMS6
 
Routing Protocols for Adhoc wireless Network Dated 07-05-2023.pptx
Routing Protocols for Adhoc wireless Network Dated 07-05-2023.pptxRouting Protocols for Adhoc wireless Network Dated 07-05-2023.pptx
Routing Protocols for Adhoc wireless Network Dated 07-05-2023.pptxVanshikaAgarwal499417
 
Adhoc and routing protocols
Adhoc and routing protocolsAdhoc and routing protocols
Adhoc and routing protocolsshashi712
 
Performance Evaluation of DSDV and MDSDV Routing Protocol with Varying Node D...
Performance Evaluation of DSDV and MDSDV Routing Protocol with Varying Node D...Performance Evaluation of DSDV and MDSDV Routing Protocol with Varying Node D...
Performance Evaluation of DSDV and MDSDV Routing Protocol with Varying Node D...IJERA Editor
 
Performance Evaluation of Routing Protocol on AODV and DSR under Wormhole Attack
Performance Evaluation of Routing Protocol on AODV and DSR under Wormhole AttackPerformance Evaluation of Routing Protocol on AODV and DSR under Wormhole Attack
Performance Evaluation of Routing Protocol on AODV and DSR under Wormhole Attackijcncs
 
Performance Comparison of IAODV and OLSR Protocols under Black Hole Attack
Performance Comparison of IAODV and OLSR Protocols under Black Hole AttackPerformance Comparison of IAODV and OLSR Protocols under Black Hole Attack
Performance Comparison of IAODV and OLSR Protocols under Black Hole Attackijsrd.com
 
Study of Attacks and Routing Protocol in Wireless Network
Study of Attacks and Routing Protocol in Wireless NetworkStudy of Attacks and Routing Protocol in Wireless Network
Study of Attacks and Routing Protocol in Wireless Networkijsrd.com
 
ANALYSIS OF PROACTIVE AND REACTIVE MANET ROUTING PROTOCOLS UNDER SELECTED TCP...
ANALYSIS OF PROACTIVE AND REACTIVE MANET ROUTING PROTOCOLS UNDER SELECTED TCP...ANALYSIS OF PROACTIVE AND REACTIVE MANET ROUTING PROTOCOLS UNDER SELECTED TCP...
ANALYSIS OF PROACTIVE AND REACTIVE MANET ROUTING PROTOCOLS UNDER SELECTED TCP...ijasuc
 
A cross layer delay-aware node disjoint multipath routing algorithm for mobil...
A cross layer delay-aware node disjoint multipath routing algorithm for mobil...A cross layer delay-aware node disjoint multipath routing algorithm for mobil...
A cross layer delay-aware node disjoint multipath routing algorithm for mobil...ijwmn
 
A Low Overhead Reachability Guaranteed Dynamic Route Discovery Mechanism for ...
A Low Overhead Reachability Guaranteed Dynamic Route Discovery Mechanism for ...A Low Overhead Reachability Guaranteed Dynamic Route Discovery Mechanism for ...
A Low Overhead Reachability Guaranteed Dynamic Route Discovery Mechanism for ...ijasuc
 
Introduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc NetworksIntroduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc NetworksSayed Chhattan Shah
 

Similar to MANET.ppt (20)

Adhoc Sensor Networks1.pptx
Adhoc Sensor Networks1.pptxAdhoc Sensor Networks1.pptx
Adhoc Sensor Networks1.pptx
 
implementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocolimplementation of sinkhole attack on DSR protocol
implementation of sinkhole attack on DSR protocol
 
Presentation MANETs.pptx
Presentation MANETs.pptxPresentation MANETs.pptx
Presentation MANETs.pptx
 
Presentation MANETs.pptx
Presentation MANETs.pptxPresentation MANETs.pptx
Presentation MANETs.pptx
 
Secured-Bandwidth Reservation Distance Vector routing Protocol
Secured-Bandwidth Reservation Distance Vector routing ProtocolSecured-Bandwidth Reservation Distance Vector routing Protocol
Secured-Bandwidth Reservation Distance Vector routing Protocol
 
Aodv
AodvAodv
Aodv
 
Ad hoc and wsn
Ad hoc and wsnAd hoc and wsn
Ad hoc and wsn
 
Routing Protocols for Adhoc wireless Network Dated 07-05-2023.pptx
Routing Protocols for Adhoc wireless Network Dated 07-05-2023.pptxRouting Protocols for Adhoc wireless Network Dated 07-05-2023.pptx
Routing Protocols for Adhoc wireless Network Dated 07-05-2023.pptx
 
Adhoc and routing protocols
Adhoc and routing protocolsAdhoc and routing protocols
Adhoc and routing protocols
 
Performance Evaluation of DSDV and MDSDV Routing Protocol with Varying Node D...
Performance Evaluation of DSDV and MDSDV Routing Protocol with Varying Node D...Performance Evaluation of DSDV and MDSDV Routing Protocol with Varying Node D...
Performance Evaluation of DSDV and MDSDV Routing Protocol with Varying Node D...
 
Performance Evaluation of Routing Protocol on AODV and DSR under Wormhole Attack
Performance Evaluation of Routing Protocol on AODV and DSR under Wormhole AttackPerformance Evaluation of Routing Protocol on AODV and DSR under Wormhole Attack
Performance Evaluation of Routing Protocol on AODV and DSR under Wormhole Attack
 
Performance Comparison of IAODV and OLSR Protocols under Black Hole Attack
Performance Comparison of IAODV and OLSR Protocols under Black Hole AttackPerformance Comparison of IAODV and OLSR Protocols under Black Hole Attack
Performance Comparison of IAODV and OLSR Protocols under Black Hole Attack
 
Study of Attacks and Routing Protocol in Wireless Network
Study of Attacks and Routing Protocol in Wireless NetworkStudy of Attacks and Routing Protocol in Wireless Network
Study of Attacks and Routing Protocol in Wireless Network
 
G343741
G343741G343741
G343741
 
G343741
G343741G343741
G343741
 
3. WIRELESS_PROTOCOLS.pptx
3. WIRELESS_PROTOCOLS.pptx3. WIRELESS_PROTOCOLS.pptx
3. WIRELESS_PROTOCOLS.pptx
 
ANALYSIS OF PROACTIVE AND REACTIVE MANET ROUTING PROTOCOLS UNDER SELECTED TCP...
ANALYSIS OF PROACTIVE AND REACTIVE MANET ROUTING PROTOCOLS UNDER SELECTED TCP...ANALYSIS OF PROACTIVE AND REACTIVE MANET ROUTING PROTOCOLS UNDER SELECTED TCP...
ANALYSIS OF PROACTIVE AND REACTIVE MANET ROUTING PROTOCOLS UNDER SELECTED TCP...
 
A cross layer delay-aware node disjoint multipath routing algorithm for mobil...
A cross layer delay-aware node disjoint multipath routing algorithm for mobil...A cross layer delay-aware node disjoint multipath routing algorithm for mobil...
A cross layer delay-aware node disjoint multipath routing algorithm for mobil...
 
A Low Overhead Reachability Guaranteed Dynamic Route Discovery Mechanism for ...
A Low Overhead Reachability Guaranteed Dynamic Route Discovery Mechanism for ...A Low Overhead Reachability Guaranteed Dynamic Route Discovery Mechanism for ...
A Low Overhead Reachability Guaranteed Dynamic Route Discovery Mechanism for ...
 
Introduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc NetworksIntroduction to Mobile Ad hoc Networks
Introduction to Mobile Ad hoc Networks
 

More from TapodhirAcharjee2 (8)

Wireless-4.pptx
Wireless-4.pptxWireless-4.pptx
Wireless-4.pptx
 
41.ppt
41.ppt41.ppt
41.ppt
 
32.pptx
32.pptx32.pptx
32.pptx
 
23.ppt
23.ppt23.ppt
23.ppt
 
new 2.ppt
new 2.pptnew 2.ppt
new 2.ppt
 
2.ppt
2.ppt2.ppt
2.ppt
 
3.pptx
3.pptx3.pptx
3.pptx
 
4.ppt
4.ppt4.ppt
4.ppt
 

Recently uploaded

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 

Recently uploaded (20)

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 

MANET.ppt

  • 1. 1 Mobile Ad Hoc Networks: (MANETs)
  • 2. 2 Outline  Introduction  Unicast routing  Multicast routing  Geocast routing  Medium Access Control  Performance of UDP and TCP  Security Issues  Implementation Issues  Distributed Algorithms  Standards activities  Open problems
  • 3. 3 Mobile Ad Hoc Networks (MANET) Introduction and Generalities
  • 4. Introduction  A Mobile Ad hoc Network (MANET) is an autonomous system of nodes (MSs) connected by wireless links.  A MANET does not necessarily need support from any existing network infrastructure like an Internet gateway or other fixed stations.  The network’s wireless topology may dynamically change in an unpredictable manner since nodes are free to move.  Information is transmitted in a store-and forward manner using multi hop routing.
  • 5. 5 Mobile Ad Hoc Networks  Formed by wireless hosts which may be mobile  Without (necessarily) using a pre-existing infrastructure  Routes between nodes may potentially contain multiple hops
  • 6. 6 Mobile Ad Hoc Networks  May need to traverse multiple links to reach a destination
  • 7. 7 Mobile Ad Hoc Networks (MANET)  Mobility causes route changes
  • 8. 8 Why Ad Hoc Networks ?  Ease of deployment  Speed of deployment  Decreased dependence on infrastructure
  • 9. 9 Many Applications  Personal area networking cell phone, laptop, ear phone, wrist watch  Military environments soldiers, tanks, planes  Civilian environments taxi cab network meeting rooms sports stadiums boats, small aircraft  Emergency operations search-and-rescue policing and fire fighting
  • 10.  Virtual Navigation : Data from a remote database is transmitted periodically in small relevant blocks using links present in the path of the automobile. This database may contain the graphical representation of streets, buildings, maps and the latest traffic information, which may be used by the driver to decide on a route.  Tele Medicine: Conference assistance from a surgeon for an emergency intervention.  Tele-geo Processing: Queries regarding location information of the users.  Education Via the Internet 10
  • 11. 11 Many Variations  Fully Symmetric Environment all nodes have identical capabilities and responsibilities  Asymmetric Capabilities transmission ranges and radios may differ battery life at different nodes may differ processing capacity may be different at different nodes speed of movement  Asymmetric Responsibilities only some nodes may route packets some nodes may act as leaders of nearby nodes (e.g., cluster head)
  • 12. 12 Many Variations  Traffic characteristics may differ in different ad hoc networks bit rate timeliness constraints reliability requirements unicast / multicast / geocast host-based addressing / content-based addressing / capability-based addressing  May co-exist (and co-operate) with an infrastructure- based network
  • 13. 13 Many Variations  Mobility patterns may be different people sitting at an airport lounge New York taxi cabs kids playing military movements personal area network  Mobility characteristics speed predictability •direction of movement •pattern of movement uniformity (or lack thereof) of mobility characteristics among different nodes
  • 14. 14 Challenges  Limited wireless transmission range  Broadcast nature of the wireless medium Hidden terminal problem  Packet losses due to transmission errors  Mobility-induced route changes  Mobility-induced packet losses  Battery constraints  Potentially frequent network partitions  Need to scale to large networks  Ease of snooping on wireless transmissions (security hazard)
  • 15. 15 Hidden Terminal Problem B C A Nodes A and C cannot hear each other Transmissions by nodes A and C can collide at node B Nodes A and C are hidden from each other
  • 16. 16 Assumption  Unless stated otherwise, fully symmetric environment is assumed implicitly all nodes have identical capabilities and responsibilities
  • 18. 18 Why is Routing in MANET different ?  Host mobility link failure/repair due to mobility may have different characteristics than those due to other causes  Rate of link failure/repair may be high when nodes move fast  New performance criteria may be used route stability despite mobility energy consumption
  • 19. 19 Routing in MANETS - Goals  Provide the maximum possible reliability - use alternative routes if an intermediate node fails.  Choose a route with the least cost metric.  Give the nodes the best possible response time and throughput.  Route computation must be distributed. Centralized routing in a dynamic network is usually very expensive.  Routing computation should not involve the maintenance of global state.  Every node must have quick access to routes on demand.  Each node must be only concerned about the routes to its destination.  Broadcasts should be avoided (highly unreliable)  It is desirable to have a backup route when the primary route has become stale.
  • 20. 20 Unicast Routing Protocols  Many protocols have been proposed  Some have been invented specifically for MANET  Others are adapted from previously proposed protocols for wired networks  No single protocol works well in all environments some attempts made to develop adaptive protocols
  • 21. 21 Routing Protocols  Proactive protocols (Maintain updated routes ) Determine routes independent of traffic pattern Traditional link-state and distance-vector routing protocols are proactive e.g.,variations of Dist. Vector (Destination Sequence Distance Vector, DSDV) and Link state (Optimized Link State Routing, OLSR)  Reactive protocols (discover routes on-demand) Maintain routes only if needed e.g., Source Routing (Dynamic Source Routing, DSR), Table driven (AODV, ABR, TORA etc.)  Hybrid protocols Combination of reactive and proactive routing e.g., ZRP  Location-aware Routing Protocols Location information helps in optimizing routing e.g., LAR
  • 22. 22 Trade-Off  Latency of route discovery Proactive protocols may have lower latency since routes are maintained at all times Reactive protocols may have higher latency because a route from X to Y will be found only when X attempts to send to Y  Overhead of route discovery/maintenance Reactive protocols may have lower overhead since routes are determined only if needed Proactive protocols can (but not necessarily) result in higher overhead due to continuous route updating  QoS guarantees In proactive, Qos guarantees related to connection setup, latency, and other real-time requirements can be ensured Quality of a path is not known apriori in reactive.  Which approach achieves a better trade-off depends on the traffic and mobility patterns
  • 23. 23 Overview of Unicast Routing Protocols
  • 24. 24 Flooding for Data Delivery  Sender S broadcasts data packet P to all its neighbors  Each node receiving P forwards P to its neighbors  Sequence numbers used to avoid the possibility of forwarding the same packet more than once  Packet P reaches destination D provided that D is reachable from sender S  Node D does not forward the packet
  • 25. 25 Flooding for Data Delivery B A S E F H J D C G I K Represents that connected nodes are within each other’s transmission range Z Y Represents a node that has received packet P M N L
  • 26. 26 Flooding for Data Delivery B A S E F H J D C G I K Represents transmission of packet P Represents a node that receives packet P for the first time Z Y Broadcast transmission M N L
  • 27. 27 Flooding for Data Delivery B A S E F H J D C G I K • Node H receives packet P from two neighbors: potential for collision Z Y M N L
  • 28. 28 Flooding for Data Delivery B A S E F H J D C G I K • Node C receives packet P from G and H, but does not forward it again, because node C has already forwarded packet P once Z Y M N L
  • 29. 29 Flooding for Data Delivery B A S E F H J D C G I K Z Y M • Nodes J and K both broadcast packet P to node D • Since nodes J and K are hidden from each other, their transmissions may collide => Packet P may not be delivered to node D at all, despite the use of flooding N L
  • 30. 30 Flooding for Data Delivery B A S E F H J D C G I K Z Y • Node D does not forward packet P, because node D is the intended destination of packet P M N L
  • 31. 31 Flooding for Data Delivery B A S E F H J D C G I K • Flooding completed • Nodes unreachable 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) Z Y M N L
  • 32. 32 Flooding for Data Delivery B A S E F H J D C G I K • Flooding may deliver packets to too many nodes (in the worst case, all nodes reachable from sender may receive the packet, though only the dest has to receive) Z Y M N L
  • 33. 33 Flooding for Data Delivery: Advantages  Simplicity  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 this scenario may occur, for instance, when nodes transmit small data packets relatively infrequently, and many topology changes occur between consecutive packet transmissions  Potentially higher reliability of data delivery Because packets may be delivered to the destination on multiple paths
  • 34. 34 Flooding for Data Delivery: Disadvantages  Potentially, very high overhead Data packets may be delivered to too many nodes who do not need to receive them  Potentially lower reliability of data delivery 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  Some improvements: Use of sequence nos to prevent repetitive broadcast, Restricted flooding (floods the network incrementally, increasing the radius of the flood at every successive attempts)
  • 35. 35 Flooding of Control Packets  Many protocols perform (potentially limited) flooding of control packets, instead of data packets  The control packets are used to discover routes  Discovered routes are subsequently used to send data packet(s)  Overhead of control packet flooding is amortized over data packets transmitted between consecutive control packet floods
  • 36. 36 Dynamic Source Routing (DSR) [Johnson96]  When node S wants to send a packet to node D, but does not know a route to D, node S initiates a route discovery  Source node S floods Route Request (RREQ)  Each node appends its own identifier when forwarding RREQ
  • 37. 37 Route Discovery in DSR B A S E F H J D C G I K Z Y Represents a node that has received RREQ for D from S M N L
  • 38. 38 Route Discovery in DSR B A S E F H J D C G I K Represents transmission of RREQ Z Y Broadcast transmission M N L [S] [X,Y] Represents list of identifiers appended to RREQ
  • 39. 39 Route Discovery in DSR B A S E F H J D C G I K • Node H receives packet RREQ from two neighbors: potential for collision Z Y M N L [S,E] [S,C]
  • 40. 40 Route Discovery in DSR B A S E F H J D C G I K • Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once Z Y M N L [S,C,G] [S,E,F]
  • 41. 41 Route Discovery in DSR B A S E F H J D C G I K Z Y M • Nodes J and K both broadcast RREQ to node D • Since nodes J and K are hidden from each other, their transmissions may collide N L [S,C,G,K] [S,E,F,J]
  • 42. 42 Route Discovery in DSR B A S E F H J D C G I K Z Y • Node D does not forward RREQ, because node D is the intended target of the route discovery M N L [S,E,F,J,M]
  • 43. 43 Route Discovery in DSR  Destination D on receiving the first RREQ, sends a Route Reply (RREP)  RREP is sent on a route obtained by reversing the route appended to received RREQ (for bi-directional links)  RREP includes the route from S to D on which RREQ was received by node D
  • 44. 44 Route Reply in DSR B A S E F H J D C G I K Z Y M N L RREP [S,E,F,J,D] Represents RREP control message
  • 45. 45 Route 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 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, then RREP may need a route discovery from node D to node S Unless node D already knows a route to node S If a route discovery is initiated by D for a route to S, then the Route Reply (RREP) is piggybacked on the Route Request (RREQ) from D.  If IEEE 802.11 MAC is used to send data, then links have to be bi-directional (since Ack is used)
  • 46. 46 Dynamic Source Routing (DSR)  Node S on receiving RREP, caches the route included in the RREP  When node S sends a data packet to D, the entire route is included in the packet header hence the name source routing  Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded
  • 47. 47 Data Delivery in DSR B A S E F H J D C G I K Z Y M N L DATA [S,E,F,J,D] Packet header size grows with route length (disadv)
  • 48. 48 When to Perform a Route Discovery  When node S wants to send data to node D, but does not know a valid route to node D
  • 49. 49 DSR 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, node S also learns route [S,E,F] to node F  When node K receives RREQ [S,C,G] destined for node D, node K learns route [K,G,C,S] to node S  When node F forwards RREP [S,E,F,J,D], node F learns route [F,J,D] to node D  When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node D  A node may also learn a route when it overhears Data packets (from a neighbor)
  • 50. 50 Use 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 route to D exists in its cache. Otherwise, node S initiates route discovery by sending a RREQ  Node X on receiving a RREQ for some node D can send a RREP if node X knows a route to node D  Use of route cache can speed up route discovery can reduce propagation of route requests
  • 51. 51 Use of Route Caching B A S E F H J D C G I K [P,Q,R] Represents cached route at a node (DSR maintains the cached routes in a tree format) M N L [S,E,F,J,D] [E,F,J,D] [C,S] [G,C,S] [F,J,D],[F,E,S] [J,F,E,S] Z
  • 52. 52 Use of Route Caching: Can Speed up Route Discovery B A S E F H J D C G I K Z M N L [S,E,F,J,D] [E,F,J,D] [C,S] [G,C,S] [F,J,D],[F,E,S] [J,F,E,S] RREQ 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 cached route [K,G,C,S] RREP
  • 53. 53 Use of Route Caching: Can Reduce Propagation of Route Requests B A S E F H J D C G I K Z Y M N L [S,E,F,J,D] [E,F,J,D] [C,S] [G,C,S] [F,J,D],[F,E,S] [J,F,E,S] RREQ 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. [K,G,C,S] RREP
  • 54. 54 Route Error (RERR) B A S E F H J D C G I K Z Y M N L RERR [J-D] J sends a route error to S along route J-F-E-S when its attempt to forward the data packet of S (with route SEFJD) on J-D fails Nodes hearing RERR update their route cache to remove link J-D
  • 55. 55 Route Caching: Beware!  Stale caches can adversely affect performance  With passage of time and host mobility, cached routes may become invalid  A sender host may try several stale routes (obtained from local cache, or replied from cache by other nodes), before finding a good route  These have adverse impact on TCP
  • 56. 56 DSR: Advantages  Routes maintained only between nodes who need to communicate reduces overhead of route maintenance  Route caching can further reduce route discovery overhead  A single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches
  • 57. 57 DSR: Disadvantages  Packet header size grows with route length due to source routing  Flood of route requests may potentially reach all nodes in the network  Care must be taken to avoid collisions between RREQs propagated by neighboring nodes insertion of random delays before forwarding RREQ  Increased contention, if too many RREPs come back due to nodes replying using their local caches Route Reply Storm problem Reply storm may be eased by preventing a node from sending RREP if it hears another RREP with a shorter route
  • 58. 58 DSR: Disadvantages (contd.)  An intermediate node may send RREP using a stale cached route, thus polluting other caches  This problem can be eased if some mechanism to purge (potentially) invalid cached routes is incorporated.  Some proposals for cache invalidation based on Static timeouts Adaptive timeouts based on link stability
  • 59. 59 B D C A Broadcast Storm Problem  When node A broadcasts a route query, nodes B and C both receive it  B and C both forward to their neighbors  B and C transmit at about the same time since they are reacting to receipt of the same message from A  This results in a high probability of collisions
  • 60. 60 Broadcast Storm Problem  Redundancy: A given node may receive the same RREQ from too many nodes, when one copy would have sufficed  Node D may receive from nodes B and C both B D C A
  • 61. 61 Solutions for Broadcast Storm  Probabilistic scheme: On receiving a route request for the first time, a node will re-broadcast (forward) the request with probability p  Also, re-broadcasts by different nodes should be staggered by using a collision avoidance technique (wait a random delay when channel is idle) this would reduce the probability that nodes B and C would forward a packet simultaneously in the previous example
  • 62. 62 B D C A F E Solutions for Broadcast Storms  Counter-Based Scheme: If node E hears more than k neighbors broadcasting a given RREQ, before it can itself forward it, then node E will not forward the request  Intuition: k neighbors together have probably already forwarded the request to all of E’s neighbors
  • 63. 63 E Z <d Solutions 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  Intuition: Z and E are too close, so transmission areas covered by Z and E are not very different  if E re-broadcasts the request, not many nodes who have not already heard the request from Z will hear the request
  • 64. 64 Summary: Broadcast Storm Problem  Flooding is used in many protocols, such as Dynamic Source Routing (DSR)  Problems associated with flooding Collisions Contentions redundancy  Collisions may be reduced by “jittering” (waiting for a random interval before propagating the flood)  Redundancy may be reduced by selectively re- broadcasting packets from only a subset of the nodes
  • 65. 65 Ad Hoc On-Demand Distance Vector Routing (AODV)  DSR includes source routes in packet headers  Resulting large headers can sometimes degrade performance particularly when data contents of a packet are small  AODV attempts to improve on DSR by maintaining routing tables at the nodes, so that data packets do not have to contain routes  AODV retains the desirable feature of DSR that routes are maintained only between nodes which need to communicate
  • 66. 66 AODV  Route Requests (RREQ) are forwarded in a manner similar to DSR  When a node re-broadcasts a RREQ, it sets up a reverse path pointing towards the source AODV assumes symmetric (bi-directional) links  When the intended destination receives a RREQ, it replies by sending a Route Reply (RREP)  RREP travels along the reverse path set-up when RREQ is forwarded
  • 67. 67 Route Requests in AODV B A S E F H J D C G I K Z Y Represents a node that has received RREQ for D from S M N L
  • 68. 68 Route Requests in AODV B A S E F H J D C G I K Represents transmission of RREQ Z Y Broadcast transmission M N L
  • 69. 69 Route Requests in AODV B A S E F H J D C G I K Represents links on Reverse Path Z Y M N L
  • 70. 70 Reverse Path Setup in AODV B A S E F H J D C G I K • Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once Z Y M N L
  • 71. 71 Reverse Path Setup in AODV B A S E F H J D C G I K Z Y M N L
  • 72. 72 Reverse Path Setup in AODV B A S E F H J D C G I K Z Y • Node D does not forward RREQ, because node D is the intended target of the RREQ M N L
  • 73. 73 Route Reply in AODV B A S E F H J D C G I K Z Y Represents links on path taken by RREP M N L
  • 74. 74 Route Reply in AODV  When an intermediate node receives a RouteRequest, it either forwards it or prepares a RouteReply if it knows more recent path to the destination.  To determine whether the path known to an intermediate node is more recent, destination sequence numbers are used  The likelihood that an intermediate node will send a RREP when using AODV not as high as DSR A new RREQ by node S for a destination D is assigned a higher destination sequence number. An intermediate node which knows a route, but with a smaller sequence number, cannot send RREP
  • 75. 75 Forward Path Setup in AODV B A S E F H J D C G I K Z Y M N L Forward links are setup when RREP travels along the reverse path Represents a link on the forward path
  • 76. 76 Data Delivery in AODV B A S E F H J D C G I K Z Y M N L Routing table entries used to forward data packet. Route is not included in packet header. DATA
  • 77. 77 Timeouts  A routing table entry maintaining a reverse path is purged after a timeout interval timeout should be long enough to allow RREP to come back  A routing table entry maintaining a forward path is purged if not used for an active_route_timeout interval if no data is 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)
  • 78. 78 Link Failure Reporting  A neighbor Y of node X is considered active for a routing table entry if the neighbor Y sent a packet within active_route_timeout interval which was forwarded using that entry (Also called active precursors)  When the next hop link in a routing table entry breaks (detected thro’ periodic Hello message), all active neighbors are informed  Link failures are propagated by means of Route Error (RERR) messages, which also update destination sequence numbers
  • 79. 79 Route Error  When node X is unable to forward packet P (from node S to node D) on link (X,Y), it generates a RERR message  Node X increments the destination sequence number N for D cached at node X  The incremented sequence number N is included in the RERR  When node S receives the RERR, it initiates a new route discovery for D using destination sequence number at least as large as N
  • 80. 80 Destination Sequence Number  A RouteRequest carries the source identifier (SrcID), the destination identifier (DestID), the source sequence number (SrcSeqNum), the destination sequence number (DestSeqNum), the broadcast identifier (BcastID), and the time to live (TTL) field.  DestSeqNum indicates the freshness of the route that is accepted by the source.  When node D receives the route request with destination sequence number N, node D will set its sequence number to N, unless it is already larger than N
  • 81. 81 Link Failure Detection  Hello messages: Neighboring nodes periodically exchange hello message  Absence of hello message is used as an indication of link failure  Alternatively, failure to receive several MAC-level acknowledgement may be used as an indication of link failure
  • 82. 82 Why Sequence Numbers in AODV  To avoid using old/broken routes To determine which route is newer  To prevent formation of loops Assume that A does not know about failure of link C-D because RERR sent by C is lost Now C performs a route discovery for D. Node A receives the RREQ (say, via path C-E-A) Node A will reply since A knows a route to D via node B Results in a loop (for instance, C-E-A-B-C ) A B C D E
  • 83. 83 Why Sequence Numbers in AODV Loop C-E-A-B-C A B C D E
  • 84. 84 Optimization: Expanding Ring Search  RREQs are initially sent with small Time-to-Live (TTL) field, to limit their propagation DSR also includes a similar optimization  If no RREP is received, then larger TTL tried
  • 85. DSR Vs AODV  DSR uses source routing in which a data packet carries the complete path to be traversed. However, in AODV, the source node and the intermediate nodes store the next-hop information corresponding to each flow for data packet transmission.  DSR has less routing overhead than AODV.  AODV has less normalized MAC overhead than DSR.  DSR is based on a source routing mechanism whereas AODV uses a combination of  DSR and DSDV mechanisms.  AODV has better performance than DSR in higher- mobility scenarios.  DSR has less frequent route discovery processes than AODV. 85
  • 86. 86 Summary: AODV  Routes need not be included in packet headers  Nodes maintain routing tables containing entries only for routes that are in active use  At most one next-hop per destination maintained at each node DSR may maintain several routes for a single destination  Unused routes expire even if topology does not change
  • 87. 87 So far ...  All protocols discussed so far perform some form of flooding  Now we will consider protocols which try to reduce/avoid such behavior (i.e. flooding)
  • 88. 88 Link Reversal Algorithm [Gafni81] A F B C E G D
  • 89. 89 Link Reversal Algorithm A F B C E G D Maintain a directed acyclic graph (DAG) for each destination, with the destination being the only sink This DAG is for destination node D Links are bi-directional But algorithm imposes logical directions on them
  • 90. 90 Link Reversal Algorithm Link (G,D) broke A F B C E G D Any node, other than the destination, that has no outgoing links reverses all its incoming links. Node G has no outgoing links
  • 91. 91 Link Reversal Algorithm A F B C E G D Now nodes E and F have no outgoing links Represents a link that was reversed recently
  • 92. 92 Link Reversal Algorithm A F B C E G D Now nodes B and G have no outgoing links Represents a link that was reversed recently
  • 93. 93 Link Reversal Algorithm A F B C E G D Now nodes A and F have no outgoing links Represents a link that was reversed recently
  • 94. 94 Link Reversal Algorithm A F B C E G D Now all nodes (other than destination D) have an outgoing link Represents a link that was reversed recently
  • 95. 95 Link Reversal Algorithm A F B C E G D DAG has been restored with only the destination as a sink
  • 96. 96 Link Reversal Algorithm  Attempts to keep link reversals local to where the failure occurred But this is not guaranteed  When the first packet is sent to a destination, the destination oriented DAG is constructed  The initial construction does result in flooding of control packets
  • 97. 97 Link Reversal Algorithm  The previous algorithm is called a full reversal method since when a node reverses links, it reverses all its incoming links  Partial reversal method [Gafni81]: A node reverses incoming links from only those neighbors who have not themselves reversed links “previously” If all neighbors have reversed links, then the node reverses all its incoming links “Previously” at node X means since the last link reversal done by node X
  • 98. 98 Partial Reversal Method Link (G,D) broke A F B C E G D Node G has no outgoing links
  • 99. 99 Partial Reversal Method A F B C E G D Now nodes E and F have no outgoing links Represents a link that was reversed recently Represents a node that has reversed links
  • 100. 100 Partial Reversal Method A F B C E G D Nodes E and F do not reverse links from node G Now node B has no outgoing links Represents a link that was reversed recently
  • 101. 101 Partial Reversal Method A F B C E G D Now node A has no outgoing links Represents a link that was reversed recently
  • 102. 102 Partial Reversal Method A F B C E G D Now all nodes (except destination D) have outgoing links Represents a link that was reversed recently
  • 103. 103 Partial Reversal Method A F B C E G D DAG has been restored with only the destination as a sink
  • 104. 104 Link Reversal Methods: Advantages  Link reversal methods attempt to limit updates to routing tables at nodes in the vicinity of a broken link Partial reversal method tends to be better than full reversal method  Each node may potentially have multiple routes to a destination
  • 105. 105 Link Reversal Methods: Disadvantage  Need a mechanism to detect link failure hello messages may be used but hello messages can add to contention  If network is partitioned, link reversals continue indefinitely
  • 106. 106 Link Reversal in a Partitioned Network A F B C E G D This DAG is for destination node D
  • 107. 107 Full Reversal in a Partitioned Network A F B C E G D A and G do not have outgoing links
  • 108. 108 Full Reversal in a Partitioned Network A F B C E G D E and F do not have outgoing links
  • 109. 109 Full Reversal in a Partitioned Network A F B C E G D B and G do not have outgoing links
  • 110. 110 Full Reversal in a Partitioned Network A F B C E G D E and F do not have outgoing links
  • 111. 111 Full Reversal in a Partitioned Network A F B C E G D In the partition disconnected from destination D, link reversals continue, until the partitions merge Need a mechanism to minimize this wasteful activity Similar scenario can occur with partial reversal method too
  • 112. 112 Temporally-Ordered Routing Algorithm (TORA) [Park97Infocom]  TORA modifies the partial link reversal method to be able to detect partitions  When a partition is detected, all nodes in the partition are informed, and link reversals in that partition cease
  • 113. 113 Partition Detection in TORA A B E D F C DAG for destination D
  • 114. 114 Partition Detection in TORA A B E D F C TORA uses a modified partial reversal method Node A has no outgoing links
  • 115. 115 Partition Detection in TORA A B E D F C TORA uses a modified partial reversal method Node B has no outgoing links
  • 116. 116 Partition Detection in TORA A B E D F C Node B has no outgoing links
  • 117. 117 Partition Detection in TORA A B E D F C Node C has no outgoing links -- all its neighbor have reversed links previously.
  • 118. 118 Partition Detection in TORA A B E D F C Nodes A and B receive the reflection from node C Node B now has no outgoing link
  • 119. 119 Partition Detection in TORA A B E D F C Node A has received the reflection from all its neighbors. Node A determines that it is partitioned from destination D. Node B propagates the reflection to node A
  • 120. 120 Partition Detection in TORA A B E D F C On detecting a partition, node A sends a clear (CLR) message that purges all directed links in that partition
  • 121. 121 TORA  Improves on the partial link reversal method in [Gafni81] by detecting partitions and stopping non-productive link reversals  Paths may not be shortest  The DAG provides many hosts the ability to send packets to a given destination Beneficial when many hosts want to communicate with a single destination
  • 122. 122 TORA Design Decision  TORA performs link reversals as dictated by [Gafni81]  However, when a link breaks, it looses its direction  When a link is repaired, it may not be assigned a direction, unless some node has performed a route discovery after the link broke if no one wants to send packets to D anymore, eventually, the DAG for destination D may disappear  TORA makes effort to maintain the DAG for D only if someone needs route to D Reactive behavior
  • 123. 123 TORA Design Decision  One proposal for modifying TORA optionally allowed a more proactive behavior, such that a DAG would be maintained even if no node is attempting to transmit to the destination  Moral of the story: The link reversal algorithm in [Gafni81] does not dictate a proactive or reactive response to link failure/repair  Decision on reactive/proactive behavior should be made based on environment under consideration
  • 124. 124 So far ...  All nodes had identical responsibilities  Some schemes propose giving special responsibilities to a subset of nodes Even if all nodes are physically identical  Core-based schemes are examples of such schemes
  • 126. 126 Core-Extraction Distributed Ad Hoc Routing (CEDAR) [Sivakumar99]  A subset of nodes in the network is identified as the core  Each node in the network must be adjacent to at least one node in the core Each node picks one core node as its dominator (or leader)  Core is determined by periodic message exchanges between each node and its neighbors attempt made to keep the number of nodes in the core small  Each core node determines paths to nearby core nodes by means of a localized broadcast Each core node guaranteed to have a core node at <=3 hops
  • 127. 127 CEDAR: Core Nodes B A C E J S K D F H G A core node Node E is the dominator for nodes D, F and K
  • 128. 128 Link State Propagation in CEDAR  The distance to which the state of a link is propagated in the network is a function of whether the link is stable -- state of unstable links is not propagated very far whether the link bandwidth is high or low -- only state of links with high bandwidth is propagated far  Link state propagation occurs among core nodes Link state information includes dominators of link end-points  Each core node knows the state of local links and stable high bandwidth links far away
  • 129. 129 Route Discovery in CEDAR When a node S wants to send packets to destination D  Node S informs its dominator core node B  Node B finds a route in the core network to the core node E which is the dominator for destination D This is done by means of a DSR-like route discovery (but somewhat optimized) process among the core nodes  Core nodes on the above route then build a route from S to D using locally available link state information  Route from S to D may or may not include core nodes
  • 130. 130 CEDAR: Core Maintenance B A C E J S K D F H G A core node
  • 131. 131 Link State at Core Nodes B A C E J S K D F H G Links that node B is aware of
  • 132. 132 CEDAR Route Discovery B A C E J S K D F H G Partial route constructed by B Links that node C is aware of
  • 133. 133 CEDAR Route Discovery B A C E J S K D F H G Complete route -- last two hops determined by node C
  • 134. 134 CEDAR  Advantages Route discovery/maintenance duties limited to a small number of core nodes Link state propagation a function of link stability/quality  Disadvantages Core nodes have to handle additional traffic, associated with route discovery and maintenance
  • 135. 135 Asymmetric Responsibilities: Cluster-Based Schemes  Some cluster-based schemes have also been proposed  In some cluster-based schemes, a leader is elected for each cluster of node  The leader often has some special responsibilities  Different schemes may differ in how clusters are determined the way cluster head (leader) is chosen duties assigned to the cluster head
  • 136. 136 Proactive Protocols  Most of the schemes discussed so far are reactive  Proactive schemes based on distance-vector and link-state mechanisms have also been proposed
  • 137. 137 OLSR - Overview  OLSR Inherits Stability of Link-state protocol Selective Flooding only MPR retransmit control messages: • Minimize flooding Suitable for large and dense networks
  • 138. 138 Link State Routing  Each node periodically floods status of its links  Each node re-broadcasts link state information received from its neighbor  Each node keeps track of link state information received from other nodes  Each node uses above information to determine next hop to each destination
  • 139. 139 OLSR – Multipoint relays (MPRs)  MPRs = Set of selected neighbor nodes  Minimize the flooding of broadcast packets  Each node selects its MPRs among its on hop neighbors The set covers all the nodes that are two hops away  MPR Selector = a node which has selected node as MPR  The information required to calculate the multipoint relays : The set of one-hop neighbors and the two-hop neighbors  Set of MPRs is able to transmit to all two-hop neighbors  Link between node and it’s MPR is bidirectional.
  • 140. 140 Optimized Link State Routing (OLSR)  The overhead of flooding link state information is reduced by requiring fewer nodes to forward the information  A broadcast from node X is only forwarded by its multipoint relays , other neighbors simply use the info without forwarding it.  Multipoint relays of node X are its neighbors such that each two-hop neighbor of X is a one-hop neighbor of at least one multipoint relay of X Each node transmits its neighbor list in periodic beacons, so that all nodes can know their 2-hop neighbors, in order to choose the multipoint relays
  • 141. 141 OLSR – Multipoint relays (cont.)  To obtain the information about one-hop neighbors : Use HELLO message (received by all one-hop neighbors)  To obtain the information about two-hop neighbors : Each node attaches the list of its own neighbors  Once a node has its one and two-hop neighbor sets : Can select a MPRs which covers all its two-hop neighbors
  • 142. 142 Optimized Link State Routing (OLSR)  Nodes C and E are multipoint relays of node A A B F C D E H G K J Node that has broadcast state information from A
  • 143. 143 Optimized Link State Routing (OLSR)  Nodes C and E forward information received from A, but B, F and D simply use the info without forwarding it A B F C D E H G K J Node that has broadcast state information from A
  • 144. 144 Optimized Link State Routing (OLSR)  Nodes E and K (or J) are multipoint relays for node H  Node K forwards information received from H E has already forwarded the same information once A B F C D E H G K J Node that has broadcast state information from A
  • 145. 145 OLSR – Multipoint relays (cont.) Node 1 Hop Neighbors 2 Hop Neighbors MPR(s) B A,C,F,G D,E C A B C D E F G Figure 2. Network example for MPR selection
  • 146. 146 Protocol functioning – Neighbor sensing  Each node periodically broadcasts its HELLO messages: Containing the information about its neighbors and their link status Hello messages are received by all one-hop neighbors  HELLO message contains: List of addresses of the neighbors to which there exists a valid bi-directional link List of addresses of the neighbors which are heard by node( a HELLO has been received ) • But link is not yet validated as bi-directional
  • 147. 147 Protocol functioning – Neighbor sensing (cont.) Message type Vtime Message size Originator Address Time To Live Hop count Message Sequence Number Reserved Htime Willingness Link code Reserved Link message size Neighbor Interface Address Neighbor interface Address … Reserved Htime Willingness Link code Reserved Link message size Neighbor interface address Neighbor interface address … Table 1. Hello Message Format in OLSR Link type Neighbor type
  • 148. 148 Protocol functioning – Neighbor sensing (cont.)  HELLO messages : Serves Link sensing Permit each node to learn the knowledge of its neighbors up to two-hops (neighbor detection) On the basis of this information, each node performs the selection of its multipoint relays (MPR selection signaling) Indicate selected multipoint relays  On the reception of HELLO message: Each node constructs its MPR Selector table
  • 149. 149 Protocol functioning – Neighbor sensing ( cont.)  In the neighbor table: Each node records the information about its one hop neighbor and a list of two hop neighbors Entry in the neighbor table has a holding time • Upon expiry of holding time, removed Contains a sequence number value which specifies the most recent MPR set • Every time updates its MPR set, this sequence number is incremented
  • 150. 150 Protocol functioning – Neighbor sensing  Example of neighbor table One-hop neighbors … … MPR C Unidirectional G Bidirectional B State of Link Neighbor’s id Two-hop neighbors … … C D C E Access though Neighbor’s id Table 2. Example of neighbor table
  • 151. 151 Protocol functioning – Multipoint relay selection  Each node selects own set of multipoint relays  Multipoint relays are declared in the transmitted HELLO messages  Multipoint relay set is re-calculated when: A change in the neighborhood( neighbor is failed or add new neighbor ) A change in the two-hop neighbor set  Each node also construct its MPR Selector table with information obtained from the HELLO message  A node updates its MPR Selector set with information in the received HELLO messages
  • 152. 152 Protocol functioning – MPR information declaration  TC – Topology control message: In order to build intra-forwarding database Only MPR nodes forward periodically to declare its MPR Selector set Message might not be sent if there are no updates Contains: • MPR Selector • Sequence number  Each node maintains a Topology Table based on TC messages Routing Tables are calculated based on Topology tables
  • 153. 153 Protocol functioning – MPR information declaration (cont.) Destination address Destination’s MPR MPR Selector sequence number Holding time MPR Selector in the received TC message Last-hop node to the destination. Originator of TC message Table 3. Topology table
  • 154. Topology Tuple  For each destination in the network, at least one "Topology Tuple" (T_dest_addr, T_last_addr, T_seq, T_time) is recorded.  T_dest_addr is the main address of a node, which may be reached in one hop from the node with the main address T_last_addr.  Typically, T_last_addr is a MPR of T_dest_addr.  T_seq is a sequence number, and T_time specifies the time at which this tuple expires and *MUST* be removed. 154
  • 155. 155 Protocol functioning – MPR information declaration (cont.) G F E D C B MS(C) = {B,D,E} MPR(B) = {A,C} Figure 4. TC message and Topology table Send TC message {B,D,E} build the topology table
  • 156. 156 Protocol functioning – MPR information declaration (cont.)  Upon receipt of TC message: If there exist some entry to the same destination with higher Sequence Number, the TC message is ignored If there exist some entry to the same destination with lower Sequence Number, the topology entry is removed and the new one is recorded If the entry is the same as in TC message, the holding time of this entry is refreshed If there are no corresponding entry – the new entry is recorded
  • 157. 157 Protocol functioning – MPR information declaration (cont.) S B D M X Y Z P A Send TC message Dest’ address Dest’ MPR MPR Selector sequence X M 1 Y M 1 Z M 1 .. .. .. S’ Topology table TC’ originator MPR selector MPR selector sequence M X 2 M Y 2 M Z 2 M R 2 TC message ( M send to S) R Figure 5. Topology table update
  • 158. 158 Protocol functioning – Routing table calculation  Each node maintains a routing table to all known destinations in the network  After each node TC message receives, store connected pairs of form ( last-hop, node)  Routing table is based on the information contained in the neighbor table and the topology table  Routing table: Destination address Next Hop address Distance  Routing Table is recalculated after every change in neighbor table or in topology table
  • 159. 159 Protocol functioning – Routing table calculation (cont.) Source Destination Figure 5. Building a route from topology table
  • 160. 160 OLSR  OLSR floods information through the multipoint relays  The flood itself is restricted to links connecting nodes to respective multipoint relays  Routes used by OLSR only include multipoint relays as intermediate nodes
  • 161. 161 Destination-Sequenced Distance-Vector (DSDV)  Each node maintains a routing table which stores next hop towards each destination a cost metric for the path to each destination a destination sequence number that is created by the destination itself Sequence numbers used to avoid formation of loops  Each node periodically forwards the routing table to its neighbors Each node increments and appends its sequence number when sending its local routing table This sequence number will be attached to route entries created for this node
  • 162. 162 Destination-Sequenced Distance-Vector (DSDV)  Assume that node X receives routing information from Y about a route to node Z  Let S(X) and S(Y) denote the destination sequence number for node Z as stored at node X, and as sent by node Y with its routing table to node X, respectively X Y Z
  • 163. 163 Destination-Sequenced Distance-Vector (DSDV)  Node X takes the following steps: If S(X) > S(Y), then X ignores the routing information received from Y If S(X) = S(Y), and cost of going through Y is smaller than the route known to X, then X sets Y as the next hop to Z If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y) X Y Z
  • 164. 164 DSDV  DSDV (Destination Sequenced Distance Vector) Each node sends and responds to routing control message the same way No hierarchical structure Avoids the resource costs involved in maintaining high-level structure Scalability may become an issue in larger networks
  • 165. 165  Basic Routing Protocol known also as Distributed Bellman-Ford or RIP  Every node maintains a routing table all available destinations the next node to reach to destination the number of hops to reach the destination  Periodically send table to all neighbors to maintain topology  Bi-directional links are required! DSDV
  • 166. 166 Traditional Distance vector tables C Dest. Next Metric … A A 1 B B 0 C C 2 Dest. Next Metric … A A 0 B B 1 C B 3 1 2 Dest. Next Metric … A B 3 B B 2 C C 0 B A DSDV
  • 167. 167 (A, 1) (B, 0) (C, 1) (A, 1) (B, 0) (C, 1) Distance Vector Updates C Dest. Next Metric … A A 1 B B 0 C C 1 Dest. Next Metric … A A 0 B B 1 C B 3 2 1 1 Dest. Next Metric … A B 3 2 B B 1 C C 0 B A B broadcasts the new routing information to his neighbors Routing table is updated DSDV
  • 168. 168 (D, 0) (A, 2) (B, 1) (C, 0) (D, 1) (A, 1) (B, 0) (C, 1) (D, 2) Distance Vector – New Node joins the network C 1 1 B A D 1 broadcasts to update tables of C, B, A with new entry for D Dest. Next Metric … A B 2 B B 1 C C 0 D D 1 Dest. Next Metric … A A 1 B B 0 C C 1 D C 2 Dest. Next Metric … A A 0 B B 1 C B 2 D B 3 DSDV
  • 169. 169 Distance Vector – Broken link C 1 1 B A D 1 Dest.c Next Metric … … … … D C 2 Dest. Next Metric … … … … D B 3 Dest. Next Metric … … … … D B 1 Dest. Next Metric … … … … D D  DSDV
  • 170. 170 (D, 2) (D, 2) Distance Vector - Loops C 1 1 B A D 1 Dest. Next Metric … … … … D B 3 Dest. Next Metric … … … … D C 2 Dest. Next Metric … … … … D B 3 DSDV
  • 171. 171 (D,2) (D,4) (D,3) (D,5) (D,2) (D,4) Distance vector - Count to Infinity C 1 1 B A D 1 Dest. Next Metric … … … … D B 3, 5, … Dest. Next Metric … … … … D B 3, 5, … Dest.c Next Metric … … … … D C 2, 4, 6… DSDV
  • 172. 172  Traditional Distance Vector are not suited for ad-hoc networks! Loops • Bandwidth reduction in network • Unnecessary work for loop nodes Count to Infinity • Very slow adaptation to topology changes.  Solution -> Introduce destination sequence numbers DSDV
  • 173. 173  DSDV keeps the simplicity of traditional Distance Vector Protocols  DSDV need to guarantee loop freeness New Table Entry for Destination Sequence Number  DSDV need to allow fast reaction to topology changes Make immediate route advertisement on significant changes in routing table but wait with advertising of unstable routes (damping fluctuations) DSDV
  • 174. 174  Features introduced in DSDV Sequence number originated from destination. Ensures loop freeness. Install Time when entry was made (used to delete stale entries from table. Stable Data Pointer to a table holding information on how stable a route is. Used to damp fluctuations in network. Destination Next Metric Seq. Nr Install Time Stable Data A A 0 A-550 001000 Ptr_A B B 1 B-102 001200 Ptr_B C B 3 C-588 001200 Ptr_C D B 4 D-312 001200 Ptr_D DSDV
  • 175. 175  Advertise to each neighbor own routing information Destination Address Metric = Number of Hops to Destination Destination Sequence Number Other info (e.g. hardware addresses)  Rules to set sequence number information On each advertisement increase own destination sequence number (use only even numbers) If a node is no more reachable (timeout) increase sequence number of this node by 1 (odd sequence number) and set metric = . DSDV – Route Advertisement
  • 176. 176  Update information is compared to own routing table 1. Select route with higher destination sequence number (This ensure to use always newest information from destination) 2. Select the route with better metric when sequence numbers are equal. DSDV – Route Selection
  • 177. 177 DSDV Tables C Dest. Next Metric Seq A A 1 A-550 B B 0 B-100 C C 2 C-588 Dest. Next Metric Seq A A 0 A-550 B B 1 B-100 C B 2 C-586 Dest. Next Metric Seq. A B 1 A-550 B B 2 B-100 C C 0 C-588 B A DSDV
  • 178. 178 (A, 1, A-550) (B, 0, B-102) (C, 1, C-588) (A, 1, A-550) (B, 0, B-102) (C, 1, C-588) DSDV Route Advertisement C B A B increases Seq.Nr from 100 -> 102 B broadcasts routing information to Neighbors A, C including destination sequence numbers Dest. Next Metric Seq A A 0 A-550 B B 1 B-102 C B 2 C-588 Dest. Next Metric Seq A A 1 A-550 B B 0 B-102 C C 1 C-588 Dest. Next Metric Seq. A B 2 A-550 B B 1 B-102 C C 0 C-588 DSDV
  • 179. 179  DSDV Respond to topology changes Immediate advertisements •Information on new routes, broken Links, metric change is immediately propagated to neighbors. Full/Incremental Update: •Full Update: Send all routing information from own table. (May require multiple packets) •Incremental Update: Send only entries that has changed. (Make it fit into one single packet) DSDV
  • 180. 180 (D, 0, D-000) When new node joins the network C B A D Dest. Next Metric Seq. A A 0 A-550 B B 1 B-104 C B 2 C-590 Dest. Next Metric Seq. A A 1 A-550 B B 0 B-104 C C 1 C-590 Dest. Next Metric Seq. A B 2 A-550 B B 1 B-104 C C 0 C-590 D D 1 D-000 1. D broadcast for first time Send Sequence number D-000. 2. Insert entry for D with sequence number D-000. Then immediately broadcast own table. DSDV
  • 181. 181 (A, 2, A-550) (B, 1, B-102) (C, 0, C-592) (D, 1, D-000) (A, 2, A-550) (B, 1, B-102) (C, 0, C-592) (D, 1, D-000) (New node (cont.) C B A D Dest. Next Metric Seq. A A 1 A-550 B B 0 B-102 C C 1 C-592 D C 2 D-000 Dest. Next Metric Seq. A A 0 A-550 B B 1 B-104 C B 2 C-590 Dest. Next Metric Seq. A B 2 A-550 B B 1 B-102 C C 0 C-592 D D 1 D-000 ……… ……… 3. C increases its sequence number to C-592 then broadcasts its new table. 4. B gets this new information and updates its table……. DSDV
  • 182. 182 (D, 2, D-100) (D, 2, D-100) No loops, no count to infinity C B A D 1 Dest.c Next Metric Seq. … … … D C 2 D-100 Dest. Next Metric Seq. … … … D B 3 D-100 Dest. Next Metric Seq. … … … D D  D-101 1. Node C detects broken Link: -> Increase Seq. Nr. by 1 (only case where not the destination sets the sequence number -> odd number) 2. B does its broadcast -> no affect on C (C knows that B has stale information because C has higher seq. number for destination D) -> no loop -> no count to infinity DSDV
  • 183. 183 (D, , D-101) (D, , D-101) Immediate Advertisement C B A D Dest.c Next Metric Seq. … … … D C 3 D-100 Dest. Next Metric Seq. … … … D B 4 D-100 Dest. Next Metric Seq. … … … D B 1 D-100 Dest. Next Metric Seq. … … … D D 1 D-100 D D  D-101 1. Node C detects broken link: -> Increase Seq. Nr. by 1 (only case where not the destination sets the sequence number -> odd number) 3. Immediate propagation B to A: (update information has higher Seq. Nr. -> replace table entry) 2. Immediate propagation C to B: (update information has higher Seq. Nr. -> replace table entry) Dest.c Next Metric Seq. … … … ... D C 2 D-100 D C  D-101 Dest. Next Metric Seq. … … … ... D B 3 D-100 D B  D-101 DSDV
  • 184. 184 Problem of Fluctuations Entry for D in A: [D, Q, 14, D-100] D makes broadcast with Seq. Nr. D-102 A receives from P Update (D, 15, D-102) -> Entry for D in A: [D, P, 15, D-102] A must propagate this route immediately. A receives from Q Update (D, 14, D-102) -> Entry for D in A: [D, Q, 14, D-102] A must propagate this route immediately. This can happen every time D or any other node does its broadcast and lead to unnecessary route advertisements in the network, so called fluctuations. A D Q P 10 Hops 11 Hops (D,0,D-102) DSDV
  • 185. 185  Advantages Simple (almost like Distance Vector) Loop free through destination seq. numbers No latency caused by route discovery  Disadvantages No sleeping nodes Bi-directional links required Overhead: most routing information never used Scalability is a major problem DSDV
  • 187. 187 Zone Routing Protocol (ZRP) Zone routing protocol combines  Proactive protocol: which pro-actively updates network state and maintains route regardless of whether any data traffic exists or not  Reactive protocol: which only determines route to a destination if there is some data to be sent to the destination
  • 188. 188 ZRP  All nodes within hop distance at most d from a node X are said to be in the routing zone of node X  All nodes at hop distance exactly d are said to be peripheral nodes of node X’s routing zone
  • 189. 189 ZRP  Intra-zone routing: Pro-actively maintain state information for links within a short distance from any given node Routes to nodes within short distance are thus maintained proactively (using, say, link state or distance vector protocol)  Inter-zone routing: Use a route discovery protocol for determining routes to far away nodes. Route discovery is similar to DSR with the exception that route requests are propagated via peripheral nodes.
  • 190. 190 ZRP: Example with Zone Radius = d = 2 S C A E F B D S performs route discovery for D Denotes route request
  • 191. 191 ZRP: Example with d = 2 S C A E F B D S performs route discovery for D Denotes route reply E knows route from E to D, so route request need not be forwarded to D from E
  • 192. 192 ZRP: Example with d = 2 S C A E F B D S performs route discovery for D Denotes route taken by Data
  • 193. 193 Routing  Protocols discussed so far find/maintain a route provided it exists  Some protocols attempt to ensure that a route exists by Power Control Limiting movement of hosts or forcing them to take detours [
  • 194. 194 Power Control  Protocols discussed so far find a route, on a given network topology  Some researchers propose controlling network topology by transmission power control to yield network properties which may be desirable Such approaches can significantly impact performance at several layers of protocol stack  Method by Watt et al. provides a distributed mechanism for power control which allows for local decisions, but guarantees global connectivity Each node uses a power level that ensures that the node has at least one neighbor in each cone with angle 2p/3
  • 195. 195 Other Routing Protocols  Plenty of other routing protocols Discussion here is far from exhaustive  Many of the existing protocols could potentially be adapted for MANET (some have already been adapted as discussed earlier)
  • 197. 197 Power-Aware Routing Define optimization criteria as a function of energy consumption. Examples:  Minimize energy consumed per packet  Minimize time to network partition due to energy depletion  Maximize duration before a node fails due to energy depletion
  • 198. 198 Power-Aware Routing  Assign a weigh to each link  Weight of a link may be a function of energy consumed when transmitting a packet on that link, as well as the residual energy level low residual energy level may correspond to a high cost  Prefer a route with the smallest aggregate weight
  • 199. 199 Power-Aware Routing Possible modification to DSR to make it power aware (for simplicity, assume no route caching):  Route Requests aggregate the weights of all traversed links  Destination responds with a Route Reply to a Route Request if it is the first RREQ with a given (“current”) sequence number, or its weight is smaller than all other RREQs received with the current sequence number
  • 200. 200 Signal Stability Based Adaptive Routing (SSA)  Similar to DSR  A node X re-broadcasts a Route Request (RREQ) received from Y only if the (X,Y) link is deemed to have a strong signal stability (link stability is estimated from signal strength information)  Signal stability is evaluated as a moving average of the signal strength of packets received on the link in recent past  An alternative approach would be to assign a cost as a function of signal stability
  • 201. 201 Signal Stability Based Adaptive Routing (SSA)  SSA tries to find a route on these strong (stable) links. If there exists a route thro’ all stable links, then it will be more stable route than an ordinary route  If it fails finding a route (thro’ all stable links) in first trial, it searches a route on all available links (both stable & unstable links)  Signal Strength Estimation: All nodes monitor signals from its neighbor nodes If the strength of the signal received from neighbor nodes is beyond a Threshold, the link from the neighbor node is considered as Strong Stability link Otherwise, the link is treated as Unstable link
  • 202. 202 Signal Stability Based Adaptive Routing (SSA) SS=Signal Strength Signal Strength Regulation: SScum= α × SScum + (1 − α) × SS Radio Device Start S=SScum of a link from node n Is S > Threshold ? Stabilityn=Stable Stabilityn=Unstable End Yes No
  • 203. 203 Associativity-Based Routing (ABR)  Only links that have been stable for some minimum duration are utilized motivation: If a link has been stable beyond some minimum threshold, it is likely to be stable for a longer interval. If it has not been stable longer than the threshold, then it may soon break (could be a transient link)  Association stability determined for each link measures duration for which the link has been stable  Prefer paths with high aggregate association stability
  • 204. 204 Associativity-Based Routing (ABR)  ABR uses Pilot Signal to determine link stability  Every node sends pilot signal periodically  When a node receives this pilot signal from its neighbor nodes, it records no. of pilot signal received in a counter  If it receives a no. of pilot signals continuously from a neighbor which is beyond a Threshold, it considers the link as stable  It searches all the possible routes to find a route that contains more stable (strong) links.
  • 205. 205 Associativity-Based Routing (ABR) Unstable Link: 0 Unstable Link: 2 Unstable Link: 1 Stable Link Pilot pkt Pilot pkt Pilot pkt timeout timeout timeout Pilot pkt
  • 206. 206 Geography Adaptive Fidelity  Each node associates itself with a square in a virtual grid  Node in each grid square coordinate to determine who will sleep and how long
  • 207. 207 Preemptive Routing  Add some proactivity to reactive routing protocols such as DSR and AODV  Route discovery initiated when it appears that an active route will break in the near future  Initiating route discover before existing route breaks reduces discovery latency
  • 209. 209 Quality-of-Service  Several proposals for reserving bandwidth for a flow in MANET  Also Multipath routing
  • 210. 210 Capacity of Ad Hoc Networks
  • 211. 211 Capacity of Fixed Ad Hoc Networks [Gupta00it]  n nodes in area A transmitting at W bits/sec using a fixed range (distance between a random pair of nodes is O(sqrt(n))  Bit-distance product that can be transported by the network per second is Q ( W sqrt (A n) )  Throughput per node Q ( W / sqrt (n) )
  • 212. 212 Capacity of Mobile Ad Hoc Networks  Assume random motion  Any two nodes become neighbors once in a while  Each node assumed sender for one session, and destination for another session  Relay packets through at most one other node Packet go from S to D directly, when S and D are neighbors, or from S to a relay and the the relay to D, when each pair becomes neighbor respectively  Throughput of each session is O(1) Independent of n
  • 213. 213 Continues from last slide …  Delay in packet delivery can be large if O(1) throughput is to be achieved Delay incurred waiting for the destination to arrive close to a relay or the sender  Trade-off between delay and throughput
  • 214. 214 Measured Capacity  Confirms intuition  In fixed networks, capacity is higher if average distance between source-destination pairs is small
  • 215. 215 Measured Scaling Law  Measured in static networks  Throughput declines worse with n than theoretically predicted  Due to limitations of existing MAC protocols Unable to exploit “parallelism” in channel access
  • 216. 216 Capacity  How to design MAC and routing protocols to approach theoretical capacity ?  Open problem