Professional Documents
Culture Documents
Adhoc Network Tutorial
Adhoc Network Tutorial
Nitin H. Vaidya
University of Illinois at Urbana-Champaign
nhv@uiuc.edu
http://www.crhc.uiuc.edu/~nhv
2
Tutorial 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
Statutory Warnings
Only most important features of various schemes are typically
discussed, i.e, features I consider as being important
Others may disagree
4
Coverage
5
Mobile Ad Hoc Networks (MANET)
6
Mobile Ad Hoc Networks
7
Mobile Ad Hoc Networks
8
Mobile Ad Hoc Networks (MANET)
9
Why Ad Hoc Networks ?
Ease of deployment
Speed of deployment
10
Many Applications
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
13
Many Variations
Mobility characteristics
speed
predictability
• direction of movement
• pattern of movement
uniformity (or lack thereof) of mobility characteristics among
different nodes
14
Challenges
A B C
16
Research on Mobile Ad Hoc Networks
A one-size-fits-all solution
Perhaps using an adaptive/hybrid approach that can adapt
to situation at hand
Difficult problem
18
Assumption
19
Unicast Routing
in
Mobile Ad Hoc Networks
20
Why is Routing in MANET different ?
Host mobility
link failure/repair due to mobility may have different
characteristics than those due to other causes
21
Unicast Routing Protocols
22
Routing Protocols
Proactive protocols
Determine routes independent of traffic pattern
Traditional link-state and distance-vector routing protocols
are proactive
Reactive protocols
Maintain routes only if needed
Hybrid protocols
23
Trade-Off
25
Flooding for Data Delivery
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
• Flooding completed
Z
S E
F
B
C M L
J
A G
H D
K
I N
Simplicity
35
Flooding for Data Delivery: Disadvantages
36
Flooding of Control Packets
38
Route Discovery in DSR
Y
Z
S E
F
B
C M L
J
A G
H D
K
I N
[S] Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S [S,E]
E
F
B
C M L
J
A [S,C] G
H D
K
I N
Z
S E
F [S,E,F]
B
C M L
J
A G
H D
[S,C,G] K
I N
Z
S E
F [S,E,F,J]
B
C M L
J
A G
H D
K
I [S,C,G,K] N
Z
S E
[S,E,F,J,M]
F
B
C M L
J
A G
H D
K
I N
45
Route Reply in DSR
Y
Z
S RREP [S,E,F,J,D]
E
F
B
C M L
J
A G
H D
K
I N
47
Dynamic Source Routing (DSR)
48
Data Delivery in DSR
Y
DATA [S,E,F,J,D] Z
S E
F
B
C M L
J
A G
H D
K
I N
50
DSR Optimization: Route Caching
51
Use of Route Caching
52
Use of Route Caching
[S,E,F,J,D]
[E,F,J,D]
S E [F,J,D],[F,E,S]
F [J,F,E,S]
B
C M L
J
A [C,S] G
H [G,C,S] D
K
I N
[S,E,F,J,D]
[E,F,J,D]
S E [F,J,D],[F,E,S]
F [J,F,E,S]
B
C [G,C,S] M L
J
A [C,S] G
H D
[K,G,C,S] K
I RREP N
RREQ
Z
When node Z sends a route request
for node C, node K sends back a route
reply [Z,K,G,C] to node Z using a locally
cached route 54
Use of Route Caching:
Can Reduce Propagation of Route Requests
[S,E,F,J,D] Y
[E,F,J,D]
S E [F,J,D],[F,E,S]
F [J,F,E,S]
B
C [G,C,S] M L
J
A [C,S] G
H D
[K,G,C,S] K
I RREP N
RREQ
Z
Assume that there is no link between D and Z.
Route Reply (RREP) from node K limits flooding of RREQ.
In general, the reduction may be less dramatic. 55
Route Error (RERR)
Y
RERR [J-D] Z
S E
F
B
C M L
J
A G
H D
K
I N
Nodes hearing RERR update their route cache to remove link J-D 56
Route Caching: Beware!
58
Dynamic Source Routing: Disadvantages
Packet header size grows with route length due to source routing
59
Dynamic Source Routing: Disadvantages
60
Flooding of Control Packets
61
Location-Aided Routing (LAR) [Ko98Mobicom]
X
r
Y
Expected Zone
63
Request Zone in LAR
Network Space
Request Zone
X
r
B Y
A
64
LAR
65
LAR
66
LAR Variations: Adaptive Request Zone
message from Y to X
Y may also proactively distribute its location information
Advantages
reduces the scope of route request flood
reduces overhead of route discovery
Disadvantages
Nodes need to know their physical locations
Does not take into account possible existence of
obstructions for radio transmissions
70
Detour
71
Distance Routing Effect Algorithm for Mobility
(DREAM) [Basagni98Mobicom]
72
Distance Routing Effect Algorithm for Mobility
(DREAM)
Expected zone
(in the LAR jargon)
A
S
74
Relative Distance Micro-Discovery Routing
(RDMAR) [Aggelou99Wowmom]
75
Geographic Distance Routing (GEDIR) [Lin98]
A H D
B E
S
C F
G obstruction 76
Geographic Distance Routing (GEDIR)
[Stojmenovic99]
The algorithm terminates when same edge traversed
twice consecutively
A H D
B E
S
C F
G obstruction 77
Routing with Guaranteed Delivery
[Bose99Dialm]
78
Grid Location Service (GLS) [Li00Mobicom]
79
End of
Detour
Back to
Reducing Scope of
the Route Request Flood
80
Query Localization [Castaneda99Mobicom]
81
Query Localization
B C B C
Permitted routes
with k = 2
A D A
Initial route
from S to D
S S
83
Query Localization
Advantages:
Reduces overhead of route discovery without using physical
location information
Can perform better in presence of obstructions by searching
for new routes in the vicinity of old routes
Disadvantage:
May yield routes longer than LAR
(Shortest route may contain more than k new nodes)
84
Broadcast Storm Problem [Ni99Mobicom]
B C
A 85
Broadcast Storm Problem
B C
A 86
Solutions for Broadcast Storm
87
Solutions for Broadcast Storms
E
B C
F
A 88
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
E <d
Z
89
Summary: Broadcast Storm Problem
91
AODV
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
94
Route Requests in AODV
Y
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
97
Reverse Path Setup in AODV
Y
Z
S E
F
B
C M L
J
A G
H D
K
I N
Z
S E
F
B
C M L
J
A G
H D
K
I N
100
Forward Path Setup in AODV
Y
Z
S E
F
B
C M L
J
A G
H D
K
I N
103
Link Failure Reporting
When the next hop link in a routing table entry breaks, all
active neighbors are informed
106
Link Failure Detection
107
Why Sequence Numbers in AODV
A B C D
E
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 )
108
Why Sequence Numbers in AODV
A B C D
Loop C-E-A-B-C
109
Optimization: Expanding Ring Search
110
Summary: AODV
111
So far ...
112
Link Reversal Algorithm [Gafni81]
A B F
C E G
113
Link Reversal Algorithm
A B F
Links are bi-directional
A B F
C E G
Any node, other than the destination, that has no outgoing links
reverses all its incoming links.
115
Node G has no outgoing links
Link Reversal Algorithm
A B F
C E G Represents a
link that was
reversed recently
A B F
C E G Represents a
link that was
reversed recently
A B F
C E G Represents a
link that was
reversed recently
A B F
C E G Represents a
link that was
reversed recently
A B F
C E G
121
Link Reversal Algorithm
122
Partial Reversal Method
A B F
C E G
A B F
C E G Represents a
link that was
reversed recently
Represents a
node that has
D reversed links
A B F
C E G Represents a
link that was
reversed recently
A B F
C E G Represents a
link that was
reversed recently
A B F
C E G Represents a
link that was
reversed recently
A B F
C E G
129
Link Reversal Methods: Disadvantage
130
Link Reversal in a Partitioned Network
A B F
C E G
D
This DAG is for destination node D
131
Full Reversal in a Partitioned Network
A B F
C E G
A B F
C E G
A B F
C E G
A B F
C E G
In the partition
A B F disconnected from
destination D, link
reversals continue, until
the partitions merge
C E G
Need a mechanism to
minimize this wasteful
activity
D
Similar scenario can
occur with partial
reversal method too
136
Temporally-Ordered Routing Algorithm
(TORA) [Park97Infocom]
137
Partition Detection in TORA
A DAG for
destination D
C
E
138
Partition Detection in TORA
C
E
D TORA uses a
modified partial
F reversal method
C
E
D TORA uses a
modified partial
F reversal method
C
E
C
E
C
E
C
E Node B propagates
the reflection to node A
C
On detecting a partition,
E node A sends a clear (CLR)
message that purges all
directed links in that
partition
D
145
TORA
146
TORA Design Decision
149
Asymmetric Responsibilities
150
Core-Extraction Distributed Ad Hoc Routing
(CEDAR) [Sivakumar99]
A subset of nodes in the network is identified as the
core
A
G
D
H B C E
S J K
154
CEDAR: Core Maintenance
A
G
D
H B C E
S J K
A core node
155
Link State at Core Nodes
A
G
D
H B C E
S J K
A
G
D
H B C E
S J K
A
G
D
H B C E
S J K
158
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
159
Asymmetric Responsibilities:
Cluster-Based Schemes
Some cluster-based schemes have also been proposed
[Gerla95,Krishna97,Amis00]
161
Link State Routing [Huitema95]
162
Optimized Link State Routing (OLSR)
[Jacquet00ietf,Jacquet99Inria]
The overhead of flooding link state information is reduced
by requiring fewer nodes to forward the information
163
Optimized Link State Routing (OLSR)
B F J
A E H
C K
G
D
B F J
A E H
C K
G
D
B F J
A E H
C K
G
D
167
Destination-Sequenced Distance-Vector
(DSDV) [Perkins94Sigcomm]
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
168
Destination-Sequenced Distance-Vector
(DSDV)
Assume that node X receives routing information
from Y about a route to node Z
X Y Z
169
Destination-Sequenced Distance-Vector
(DSDV)
Node X takes the following steps:
X Y 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)
170
Hybrid Protocols
171
Zone Routing Protocol (ZRP) [Haas98]
172
ZRP
173
ZRP
174
ZRP: Example with
Zone Radius = d = 2
S performs route
discovery for D
B
S
A C
D
E
F
S performs route
discovery for D
B
S
A C
D
E
F
S performs route
discovery for D
B
S
A C
D
E
F
178
LANMAR Routing to Nodes Within Scope
G
C D
A B E
F
179
LANMAR Routing to Nodes Outside Scope
G
C D
A B E
F
G
C D
A B E
F
182
Geodesic Routing Without Anchors
[Blazevic00,Hubaux00wcnc]
Each node somehow keeps track of routes to nodes
within its zone (intra-zone routing)
Each node also records physical locations of nodes on its
zone boundary
Inter-zone routing: When a packet is to be routed to
someone outside the zone, the packet is sent to a zone-
boundary node in the direction of the destination
The packet is forwarded in this manner until it reaches
someone within the destination’s zone
This node then uses intra-zone routing to deliver the
packet
Similar to the GEDIR protocol [Lin98]
183
Anchored Geodesic Routing
[Blazevic00,Hubaux00wcnc]
A
184
Routing
185
Power Control
186
Other Routing Protocols
187
Some Variations
188
Power-Aware Routing
[Singh98Mobicom,Chang00Infocom]
Define optimization criteria as a function of energy
consumption. Examples:
189
Power-Aware Routing [Singh98Mobicom]
190
Power-Aware Routing
191
Signal Stability Based Adaptive Routing (SSA)
[Dube97]
Similar to DSR
193
Geography Adaptive Fidelity [Xu01MobiCom]
194
Preemptive Routing [Goff01MobiCom]
195
QoS Routing
196
Quality-of-Service
197
Performance of Unicast Routing in MANET
198
Multicasting
in
Mobile Ad Hoc Networks
199
Multicasting
200
Multicasting in MANET
201
AODV Multicasting [Royer00Mobicom]
203
AODV Multicast Tree
E Group leader
L
C
J
G
H D
K
A
B
N
Group and multicast tree member
E Group leader
L
C
J
G
H D
K
A
B N wishes to
N join the group:
it floods RREQ
Route Request (RREQ)
205
Joining the Multicast Tree: AODV
E Group leader
L
C
J
G
H D
K
A
B
N N wishes to
join the group
E Group leader
L
C
J
G
H D
K
A
B
N N wishes to
join the group
E Group leader
L
C
J
G
H D
K
A
B
N N has joined
Group member the group
209
Leaving a Multicast Tree: AODV
210
Leaving a Multicast Tree: AODV
Since J is not a leaf
node, it must remain
a tree member
E Group leader
L J has left
C the group
J
G
H D
K
A
B
N
211
Leaving a Multicast Tree: AODV
E Group leader
L
C
J
G
H D
K
A
MACT (prune)
B
N
N wishes to leave
the multicast group 212
Leaving a Multicast Tree: AODV
E Group leader
L
C
J
G
H MACT
D
(prune)
K
A
B
N
Node N has removed itself from the multicast group.
Now node K has become a leaf, and K is not in the group. 213
So node K removes itself from the tree as well.
Leaving a Multicast Tree: AODV
E Group leader
L
C
J
G
H D
K
A
B
N
215
Handling Partitions: AODV
217
Merging Partitions: AODV
Each group leader periodically sends Group Hello
P
A
B
Q 218
Merging Partitions: AODV
Assume that node A receives Group Hello originated by node
Q through its new neighbor B
All tree nodes receiving this Group Hello record Q as the leader
219
Merging Partitions: AODV
A
B
Hello (Q)
Q
220
Merging Partitions: AODV
RREQ
(can I repair
partition) P
A RREP (Yes)
B
221
Merging Partitions: AODV
A
B
RREQ (repair)
Q
222
Merging Partitions: AODV
Group Hello A
(update) B
224
On-Demand Multicast Routing Protocol
(ODMRP)
225
On-Demand Multicast Routing Protocol
(ODMRP)
Each multicast group member on receiving a Join
Data, broadcasts a Join Table to all its neighbors
Join Table contains (sender S, next node N) pairs
next node N denotes the next node on the path from the
group member to the multicast sender S
S N M A
Join Data
T D C B
S N M A
Join Data Join Data
Join Data
T D C B
S N M A
T D C B
F
T D C B
Join Table (S,N)
F
T D C B
F
S N M A
F
T D C B
Join Data (T)
F
S N M A
F
Join Table (T,C)
F F
T D C B
Join Table (T,T) Join Table (T,D) Join Table (T,C)
234
ODMRP
236
Geocasting
in
Mobile Ad Hoc Networks
237
Multicasting and Geocasting
239
Geocasting in MANET
240
Simple Flooding-Based Geocasting
241
Simple Flooding-Based Geocasting
Advantages:
Simplicity
Disadvantages
High overhead
Packet reaches all nodes reachable from the source
242
Geocasting based on
Location-Aided Routing (LAR)
[Ko99Wmcsa]
243
Geocast LAR
Network Space
Request Zone
X
r
B Y
A
S Geocast region
244
Geocast LAR
245
GeoTORA [Ko2000icnp,Ko2000tech]
246
Anycasting with Modified TORA [Ko2000tech]
247
Anycasting
A B F
Links are bi-directional
249
Geocasting using Modified Anycasting
Geocast region
A B F
Geocast group
member
250
Geocasting using Modified Anycasting
Geocast region
A B F
C E
Links may have to be
updated when a node
leaves geocast region
G
Geocast group
member
251
Geocasting using Modified Anycasting
Geocast region
A B F
E
C
Links may have to be
updated when a node
enters geocast region
G
Geocast group
member
252
Other Geocasting Schemes
a b c
d e f
253
Other Geocasting Schemes
254
Some Related Work
255
Capacity of Ad Hoc Networks
256
Capacity of Fixed Ad Hoc Networks
[Gupta00it]
259
Measured Capacity [Li01MobiCom]
Confirms intuition
260
Measured Scaling Law [Gupta01]
261
Capacity
Open problem
262
Medium Access Control Protocols
263
MAC Protocols: Issues
264
Hidden Terminal Problem
A B C
265
MACA Solution for Hidden Terminal Problem
[Karn90]
When node A wants to send a packet to node B,
node A first sends a Request-to-Send (RTS) to A
A B C
266
Reliability
A B C
267
A Simple Solution to Improve Reliability
A B C
268
IEEE 802.11 Wireless MAC
269
IEEE 802.11 DCF
272
DCF Example
B1 = 25 B1 = 5
wait data
data wait
B2 = 20 B2 = 15 B2 = 10
274
MAC Protocols: Issues
275
Congestion Control
276
Binary Exponential Backoff in DCF
277
MILD Algorithm in MACAW
[Bharghavan94Sigcomm]
When a node fails to receive CTS in response to its
RTS, it multiplies cw by 1.5
Similar to 802.11, except that 802.11 multiplies by 2
279
Fairness Issue
A B
Two flows
C D
280
Fairness Issue
Assume that initially, A and B both choose a backoff
interval in range [0,31] but their RTSs collide
A B
Two flows
C D
281
Fairness Issue
A B
Two flows
C D
282
MACAW Solution for Fairness
283
Weighted Fair Queueing
284
Distributed Fair Scheduling (DFS)
[Vaidya00Mobicom]
B1 = 15 B1 = 10 B1 = 5
wait wait
Collision !
data data
B2 = 5 B2 = 5 B2 = 5
287
Distributed Fair Scheduling (DFS)
B1 = 10 B1 = 10 B1 = 5
wait wait wait da
Collision resolution
288
Distributed Fair Scheduling
802.11
0 31
DFS
0 31 289
DFS
290
Fairness in Multi-Hop Networks
degree of node j
p_ij is typically =
--------------------------------------------------
maximum degree of all neighbors of node i
293
Balanced MAC
2/3 E 2/5
3 3/5
2/3
K 2/3 D B 2
2/5
295
Estimation-Based Fair MAC
[Bansou00MobiHoc]
Attempts to equalize throughput/weight ratio for all
nodes
296
Estimation-Based Fair MAC
297
Estimation-Based Fair MAC
Define:
Ti = Wi / weight of i
To = Wo / weight assigned to the group of neighbors of i
Fairness index = Ti / To
Window adjustment:
If fairness index is too large, cw = cw * 2
Else if fairness index is too small, cw = cw / 2
Else no change to cw (contention window)
298
Proportional Fair Contention Resolution (PFCR)
[Nandagopal00Mobicom]
Proportional fairness: Allocate bandwidth Ri to node i
such that any other allocation Si has the following
property
i (Si-Ri) / Ri < 0
299
Proportional Fair Contention Resolution (PFCR)
300
Sender-Initiated Protocols
301
Receive-Initiated Collision Avoidance
[Garcia99Mobicom]
302
Using Receiver’s Help in
a Sender-Initiated Protocol
For the scenario below, when node A sends an RTS
to B, while node C is transmitting to D, node B
cannot reply with a CTS, since B knows that D is
sending to C
A B C D 303
This approach, however, does not work in the
scenario below
Node B may not receive the RTS from A at all, due to
interference with transmission from C
A B C D
304
Receiver-Based Adaptive Rate Control
[Holland00tech,Holland01MobiCom]
Multi-rate radios are capable of transmitting at several
rates, using different modulation schemes
305
MAC for Directional Antennas
307
MAC Protocols: Issues
308
Energy Conserving MAC
309
Power Saving Mode in IEEE 802.11
(Infrastructure Mode)
An Access Point periodically transmits a beacon
indicating which nodes have packets waiting for them
310
Power Aware Multi-Access Protocol (PAMAS)
[Singh98]
Node A sending to B
A C
311
Power Aware Multi-Access Protocol (PAMAS)
Node D sending to E
Node A sending to B
C wakes up and
A C finds medium busy
D E
312
PAMAS
314
Another Proposal in PAMAS
315
Other MAC Protocols
316
UDP on
Mobile Ad Hoc Networks
317
User Datagram Protocol (UDP)
318
UDP Performance
319
UDP Performance
Many variables affect performance
Traffic characteristics
• one-to-many, many-to-one, many-to-many
• small bursts, large file transfers, real-time, non-real-time
Mobility characteristics
• low/high rate of movement
• do nodes tend to move in groups
Node capabilities
• transmission range (fixed, changeable)
• battery constraints
Performance metrics
• delay
• throughput
• latency
• routing overhead
Static or dynamic system characteristics (listed above)
320
UDP Performance
321
TCP on
Mobile Ad Hoc Networks
322
Overview of
Transmission Control Protocol / Internet Protocol
(TCP/IP)
323
Internet Protocol (IP)
324
Transmission Control Protocol (TCP)
End-to-end semantics
Acknowledgements sent to TCP sender confirm delivery of
data received by TCP receiver
Ack for data sent only after data has reached receiver
325
TCP Basics
Cumulative acknowledgements
40 39 38 37
33 34 35 36
41 40 39 38
34 35 36 37
40 39 38 37
34 36
42 41 40 39
36 36
Dupack
On receipt of 38 328
(Above example assumes delayed acks)
Window Based Flow Control
Sender’s window
1 2 3 4 5 6 7 8 9 10 11 12 13
Sender’s window
1 2 3 4 5 6 7 8 9 10 11 12 13
Ack 5
1 2 3 4 5 6 7 8 9 10 11 12 13
331
Ideal Window Size
Duplicate acknowledgements
333
Detecting Packet Loss Using
Retransmission Timeout (RTO)
334
Retransmission Timeout (RTO) calculation
335
Exponential Backoff
T1 T2 = 2 * T1
Timeout interval doubled
Packet
transmitted
Time-out occurs
before ack received,
packet retransmitted
336
Fast Retransmission
Fast retransmit
337
Detecting Packet Loss Using Dupacks:
Fast Retransmit Mechanism
Dupacks may be generated due to
packet loss, or
out-of-order packet delivery
12 11 10 9 8 7
10
(segments)
8 Slow start
6 threshold
Slow start
4
2
0
0 1 2 3 4 5 6 7 8
Time (round trips)
341
Congestion Control -- Timeout
342
Congestion window (segments) After timeout
25
cwnd = 20
20
15
10
ssthresh = 8 ssthresh = 10
5
0
12
15
22
25
0
20
Time (round trips)
343
Congestion Control - Fast retransmit
344
Fast Recovery
ssthresh =
min(cwnd, receiver’s advertised window)/2 (at least 2
MSS)
retransmit the missing segment (fast retransmit)
cwnd = ssthresh + number of dupacks
when a new ack comes: cwnd = ssthreh
enter congestion avoidance
345
After fast recovery
10
Receiver’s advertised window
8
Window size (segments)
6
4
2
0
Slow-start
Congestion avoidance
Fast retransmit
Fast recovery
347
TCP Performance
in
Mobile Ad Hoc Networks
348
Performance of TCP
349
Random Errors
350
Random Errors May Cause Fast Retransmit
40 39 38 37
34 36
351
Random Errors May Cause Fast Retransmit
41 40 39 38
34 36
352
Random Errors May Cause Fast Retransmit
42 41 40 39
36 36
dupack
353
Random Errors May Cause Fast Retransmit
43 42 41 40
36 36 36
Duplicate acks
354
Random Errors May Cause Fast Retransmit
44 43 42 41
36 36 36
355
Random Errors May Cause Fast Retransmit
356
Sometimes Congestion Response May be
Appropriate in Response to Errors
1600000
1200000
800000 bits/sec
400000
0
16384 32768 65536 131072
1/error rate (in bytes)
359
Random Errors May Also Cause Timeout
360
Impact of Transmission Errors
Throughput suffers
361
This Tutorial
363
Mobile Ad Hoc Networks
364
Mobile Ad Hoc Networks
365
Throughput over Multi-Hop Wireless Paths
[Gerla99]
366
Impact of Multi-Hop Wireless Paths
[Holland99]
1600
1400
1200
1000 TCP
800 Throughtput
600 (Kbps)
400
200
0
1 2 3 4 5 6 7 8 9 10
Number of hops
368
Ideal Throughput
369
Impact of Mobility
TCP Throughput
2 m/s 10 m/s
Actual throughput
20 m/s 30 m/s
Actual throughput
Ideal throughput
371
Throughput generally degrades with increasing
speed …
Ideal
Average
Throughput
Over
50 runs Actual
Speed (m/s)
372
But not always …
30 m/s
20 m/s
Actual
throughput
No
throughput
No throughput
despite route repair
No throughput
No throughput
despite route repair
D D D
C C C
B B B A
A A
TCP times out after another 2 seconds, and only then resumes.
376
Why Does Throughput Improve?
Higher (double) Speed Scenario
D D D
C C C
B B B A
A A
Network state
Link/route status
Route caches
Congestion
378
How to Improve Throughput
(Bring Closer to Ideal)
Network feedback
379
Performance Improvement
Ideal throughput
2 m/s speed 380
Performance Improvement
Ideal throughput
381
30 m/s speed
Performance with Explicit Notification
[Holland99]
throughput as a fraction of
1
0.8
Base TCP
0.6
ideal
0
2 10 20 30
mean speed (m/s)
382
Issues
Network Feedback
385
Why Performance Degrades With Caching
387
Caching and TCP performance
388
TCP Performance
389
Issues
Window Size After Route Repair
390
Issues
RTO After Route Repair
391
Out-of-Order Packet Delivery
Out-of-order (OOO) delivery may occur due to:
Route changes
Link layer retransmissions schemes that deliver OOO
Significantly OOO delivery confuses TCP, triggering
fast retransmit
Potential solutions:
Deterministically prefer one route over others, even if multiple
routes are known
Reduce OOO delivery by re-ordering received packets
• can result in unnecessary delay in presence of packet loss
Turn off fast retransmit
• can result in poor performance in presence of congestion
392
Impact of Acknowledgements
393
Impact of Acks: Mitigation [Balakrishnan97]
394
Security Issues
395
Caveat
396
Security Issues in Mobile Ad Hoc Networks
What’s new ?
397
What’s New ?
398
Resurrecting Duckling [Stajano99]
399
Secure Routing [Zhou99]
401
MANET Authentication Architecture
[Jacobs99ietf-id]
402
Techniques for Intrusion-Resistant Ad Hoc
Routing Algorithms (TIARA) [Ramanujan00Milcom]
B C
A
D
T
intruder
403
Techniques for Intrusion-Resistant Ad Hoc
Routing Algorithms (TIARA) [Ramanujan00Milcom]
A
D
T Bogus traffic
intruder
404
Intrusion Detection [Zhang00Mobicom]
406
Packet Purse Model [Byttayn00MobiHoc]
Security issues:
How to ensure that some node does not sale the same packet to too
many people to make money ?
How to ensure that each receiver indeed has money to pay for service?
407
Implementation Issues
408
Existing Implementations
409
CMU Implementation [Maltz99]
User space
rexmit
dsr_xmit
buffer
Kernel space
Physical
devices 410
WaveLan-I CDPD
CMU Implementation: Lessons Learned
411
CMU Implementation: Lessons Learned
412
BBN Implementation [Ramanathan00Wcnc]
Nokia IP Stack
DAWN IP Gateway
Scalable Elastic
DAWN Topology
Link State Virtual
Protocols = control
Routing Circuits
Qos Based Forwarding
Nokia MAC
Scalable link state routing: Link state updates with small TTL
(time-to-live) sent more often, than those with greater TTL
As a packet gets closer to the destination, more accurate info is used
for next hop determination
414
Implementation Issues:
Where to Implement Ad Hoc Routing
Link layer
Network layer
Application layer
415
Implementation Issues:
Address Assignment
416
Implementation Issues:
Address Assignment
How to assign the addresses ?
Random assignment
What happens if two nodes get the same address ?
Duplicate address detection needed
One procedure for detecting duplicates within a connected
component [Perkins00ietf-id]: When a node picks address A, it
first performs a few route discoveries for destination A. If no
route reply is received, then address A is assumed to be unique.
417
Duplicate Address Detection
418
Implementation Issues:
Security
419
Implementation Issues
420
Implementation Issues
421
Integrating MANET with the Internet [Broch99]
423
Distributed Algorithms
424
Distributed Algorithms
425
Distributed Algorithms: Research Opportunities
427
Internet Engineering Task Force (IETF)
Activities
428
Internet Engineering Task Force (IETF)
Activities
429
Related Standards Activities
BlueTooth
http://www.bluetooth.com
HomeRF [Lansford00ieee]
http://www.homerf.org
IEEE 802.11
http://grouper.ieee.org/groups/802/11/
Hiperlan/2
http://www.etsi.org/technicalactiv/hiperlan2.htm
430
Bluetooth
[Haartsen98,Bhagawat00Tutorial]
1800+ adopters
431
Bluetooth: Link Types
432
Bluetooth: Piconet
433
Inter-Piconet Communication
434
Bluetooth: Scatternet
436
Open Issues
in
Mobile Ad Hoc Networking
437
Open Problems
439
References
440
Thank you !!