Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Nitin H. Vaidya
University of Illinois at Urbana-Champaign
nhv@uiuc.edu
http://www.crhc.uiuc.edu/~nhv
1
Notes
http://www.cs.tamu.edu/faculty/vaidya/
3
Internet Engineering Task Force (IETF)
Activities
4
Internet Engineering Task Force (IETF)
Activities
5
Tutorial Outline
Wireless technologies
TCP basics
Impact of transmission errors on TCP performance
Approaches to improve TCP performance
Classification
Discussion of selected approaches
TCP over satellite
6
Tutorial Outline
7
Notable Omissions
Wireless ATM
8
Wireless Technologies
9
Wireless Technologies
10
Wireless Local Area Networks
11
Cellular Wireless
12
Multi-Hop Wireless
13
Multi-Hop Wireless - Mobility
Mobile Ad Hoc Networks (MANET)
Mobility causes route changes
14
Multi-Hop Wireless
Metricom’s Ricochet Network
Around 28.8 Kbps (128 Kbps to come)
Wireless hosts
modem
Poletop
internet
radio
15
Satellites
SAT
ground stations
16
Satellites
Low-Earth Orbit (LEO) Satellites
example: Iridium (66 satellites) (2.4 Kbps data)
SAT constellation
SAT
SAT
ground stations
17
Satellites
GEO
long delay - 250-300 ms propagation delay
LEO
relatively low delay - 40 - 200 ms
large variations in delay - multiple hops/route changes,
relative motion of satellites, queueing
18
Wireless Connectivity - Characteristics
Transmission errors
Wireless LANs - 802.11, Hyperlan
Cellular wireless
Multi-hop wireless
Satellites
Low bandwidth
Cellular wireless
Packet radio (e.g., Metricom)
Long or variable latency
GEO, LEO satellites
Packet radio - high variability
Asymmetry in bandwidth, error characteristics
Satellites (example: DirectPC)
19
Transmission Control Protocol / Internet Protocol
TCP/IP
20
Internet Protocol (IP)
21
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
22
TCP Basics
Cumulative acknowledgements
40 39 38 37
33 34 35 36
41 40 39 38
34 35 36 37
i data i ack 24
Delayed Acknowledgements
An ack is delayed until
another packet is received, or
delayed ack timer expires (200 ms typical)
Reduces ack traffic New ack not produced
on receipt of packet 36,
but on receipt of 37
40 39 38 37
33 35
41 40 39 38
35 37
25
Duplicate Acknowledgements
40 39 38 37
34 36
42 41 40 39
36 36
Dupack
On receipt of 38 26
(Above example assumes delayed acks)
Duplicate Acknowledgements
Duplicate acks are not delayed
Duplicate acks may be generated when
a packet is lost, or
a packet is delivered out-of-order (OOO)
40 39 37 38
34 36
41 40 39 37
36 36
Dupack
On receipt of 38 27
Number of dupacks depends on how much
OOO a packet is
40 39 37 38
34 36
New Ack New Ack
41 40 39 37
34 36 36
42 41 40 39
36 36 38
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
Sender’s window 30
Ack Clock
31
Window Based Flow Control
32
Ideal Window Size
Duplicate acknowledgements
34
Detecting Packet Loss Using
Retransmission Timeout (RTO)
35
Retransmission Timeout (RTO) calculation
36
Timeout Granularity
37
Exponential Backoff
T1 T2 = 2 * T1
Timeout interval doubled
Packet
transmitted
Time-out occurs
before ack received,
packet retransmitted
38
Fast Retransmission
Fast retransmit
39
Detecting Packet Loss Using Dupacks
Fast Retransmit Mechanism
Dupacks may be generated due to
packet loss, or
out-of-order packet delivery
Slow Start
initially, congestion window size cwnd = 1 MSS
slow-start threshold
42
14 Congestion
12 avoidance
Congestion Window size
10
(segments)
8
6 Slow start
4 threshold
Slow start
2
0
0 1 2 3 4 5 6 7 8
Tim e (ro un d trips)
44
Congestion Control -- Timeout
45
After timeout
Congestion window (segments)
25
20 cwnd = 20
15
10
5
ssthresh = 8 ssthresh = 10
0
12
20
22
0
15
25
Time (round trips)
46
Congestion Control - Fast retransmit
47
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
48
After fast recovery
10
Receiver’s advertized window
8
Window size (segments)
6
4
2
0
0 2 4 6 8 10 12 14
Tim e (ro und trips)
Slow-start
Congestion avoidance
Fast retransmit
Fast recovery
50
Fast Recovery
Fast recovery can result in a timeout with multiple losses per RTT
.
TCP New-Reno [Hoe96]
stay in fast recovery until all packet losses in window are recovered
can recover 1 packet loss per RTT without causing a
timeout
51
Impact of transmission errors
on TCP performance
52
Tutorial Outline
Wireless technologies
TCP basics
Impact of transmission errors on TCP performance
Approaches to improve TCP performance
Classification
Discussion of selected approaches
53
Random Errors
54
Random Errors May Cause Fast Retransmit
40 39 38 37
34 36
55
Random Errors May Cause Fast Retransmit
41 40 39 38
34 36
56
Random Errors May Cause Fast Retransmit
42 41 40 39
36 36
dupack
57
Random Errors May Cause Fast Retransmit
43 42 41 40
36 36 36
Duplicate acks
58
Random Errors May Cause Fast Retransmit
44 43 42 41
36 36 36
59
Random Errors May Cause Fast Retransmit
60
Sometimes Congestion Response May be
Appropriate in Response to Errors
62
Impact of Random Errors [Vaidya99]
1600000
1200000
800000 bits/sec
400000
0
16384 32768 65536 131072
1/error rate (in bytes)
64
Burst Errors May Cause Timeouts
65
Random Errors May Also Cause Timeout
66
Impact of Transmission Errors
67
Tutorial Outline
Wireless technologies
TCP basics
Impact of transmission errors on TCP performance
Approaches to improve TCP performance
Classification
Discussion of selected approaches
68
Classification of Schemes to
Improve Performance of TCP in
Presence of Transmission Errors
69
Techniques to Improve TCP Performance
in Presence of Errors
Classification 1
70
Techniques to Improve TCP Performance
in Presence of Errors
Classification 2
71
Ideal Behavior
72
Tutorial Outline
Wireless technologies
TCP basics
Impact of transmission errors on TCP performance
Approaches to improve TCP performance
Classification
Discussion of selected approaches
73
Selected Schemes to
Improve Performance of TCP in
Presence of Transmission Errors
74
Caveat
75
Various Schemes
76
Link Level Mechanisms
77
Link Layer Mechanisms
Forward Error Correction
78
Link Layer Mechanisms
Link Level Retransmissions
79
Link Layer Mechanisms
In general
80
Link Level Retransmissions
Link layer state
TCP connection
wireless
81
Link Level Retransmissions
Issues
How many times to retransmit at the link level before
giving up?
Finite bound -- semi-reliable link layer
No bound -- reliable link layer
83
Link Level Retransmissions
Issues
Receiver 1
84
Link Level Retransmissions
Issues
Receiver 1
85
Link Level Retransmissions
An Early Study [DeSimone93]
86
RTO Variations
Wireless
Packet loss
RTT sample
RTO
87
A More Accurate Picture
88
Link Level Retransmissions
A More Accurate Picture
89
Link-Layer Retransmissions
A More Accurate Picture [Ludwig98]
data ack
1 2
Timeout = RTO
Reset, Timeout = RTO
91
Link Level Retransmissions
Selective repeat protocols can deliver packets out of
order
6 2 5 4 3 2 1 92
Link Level Retransmissions
In-order delivery
6 5 4 3 2 2 1
6 5 2 4 3 2 1
93
Link Level Retransmissions
In-order delivery
94
Adaptive Link Layer Strategies
[Lettieri98,Eckhardt98,Zorzi97]
FEC code
retransmission limit
frame size
95
Link Layer Retransmissions [Vaidya99]
2000000
1600000
base TCP
1200000
800000 Link layer
retransmission
400000
0
16384
32768
65536
10 Mbps 2 Mbps
and
97
Link Layer Schemes: Classification
98
Various Schemes
99
Split Connection Approach
100
Split Connection Approach
101
Split Connection Approach
FH BS MH
FH BS MH
wireless 104
Split Connection Approach
Indirect TCP [Bakre95,Bakre97]
105
Split Connection Approach
Selective Repeat Protocol (SRP) [Yavatkar94]
106
Split Connection Approach : Other Variations
107
Split Connection Approach : Other Variations
109
Split Connection Approach : Advantages
BS-MH connection can be optimized independent of FH-
BS connection
Different flow / error control on the two connections
110
Split Connection Approach : Disadvantages
39
40
38 37
FH BS MH
40 36
111
Split Connection Approach : Disadvantages
39
40
38 37
FH BS MH
40 36
112
Split Connection Approach : Disadvantages
39
40 MH Hand-off
113
New base station
Split Connection Approach : Disadvantages
114
Split Connection Approach : Disadvantages
FH MH
115
ack
Various Schemes
116
TCP-Aware Link Layer
117
Snoop Protocol [Balakrishnan95acm]
118
Snoop Protocol
TCP connection
FH BS MH
wireless
119
Snoop Protocol
FH BS MH
120
Snoop : Example
35 TCP state
maintained at
36
link layer
37
38
40 39 38 37
FH BS MH
34 36
121
Snoop : Example
35 39
36
37
38
41 40 39 38
34 36
122
Snoop : Example
37 40
38
39
42 41 40 39
36 36
dupack
123
Snoop : Example
37 40
38 41
39
43 42 41 40
36 36 36
Duplicate acks
124
Snoop : Example
37 40
38 41
39 42
44 43 37 41
FH BS MH
36 36
Discard
dupack
BS needs to be TCP-aware to
be able to interpret TCP headers 125
Snoop : Example
37 40 43
38 41
39 42
45 44 42 37
36 36
36
36
126
Snoop : Example
37 40 43
38 41 44
39 42
46 45 43 42
36 41
36
127
Snoop : Example
37 40 43
38 41 44
39 42 45
47 46 44 43
41
36 36
128
Snoop : Example
42 45
43 46
44
48 47 45 44
FH BS MH
41 43
36 36
36 36
129
Snoop [Balakrishnan95acm]
2000000
1600000
bits/sec
400000
0
16K
32K
64K
128K
256K
no error
1/error rate (in bytes)
132
Snoop Protocol : Advantages
133
Snoop Protocol : Disadvantages
134
WTCP Protocol [Ratnam98]
FH BS MH
135
WTCP Protocol
136
WTCP Example
3 3
FH BS MH
4 3
137
WTCP : Disadvantages
139
TCP-Unaware Approximation of
TCP-Aware Link Layer
140
Delayed Dupacks Protocol [Mehta98,Vaidya99]
wireless
142
Delayed Dupacks Protocol
Link layer retransmission scheme at the base station
With OOO link layer delivery, loss of a packet from one flow
does not block delivery of packets from another flow
145
Delayed Dupacks : Example
35
Link layer state
36
37
38
40 39 38 37
34 36
37
38
39
41 40 39 38
BS
34 36
37 40
38
39
42 41 40 39
36 36
dupack
148
Delayed Dupacks : Example
37 40
38 41
39
43 42 41 40
36 36 36
149
Delayed Dupacks : Example
37
39 41
40 42
44 43 37 41
36 36
36
dupack dupacks
Delayed
dupack
Base station forwards dupacks
150
Delayed Dupacks : Example
37 42
40 43
41
45 44 42 37
36 36
36
dupacks 36
Delayed dupacks
151
Delayed Dupacks : Example
37 43
41 44
42
46 45 43 42
36 41
32768
65536
1E+05
1/error rate (in bytes)
20 ms 20 ms
10 Mbps 2 Mbps
32768
65536
1E+05
1/error rate (in bytes)
20 ms 20 ms
10 Mbps 2 Mbps
155
Delayed Dupacks Scheme : Disadvantages
156
Various Schemes
Link-layer retransmissions
Split connection approach
TCP-Aware link layer
TCP-Unaware approximation of TCP-aware link layer
Explicit notification
Receiver-based discrimination
Sender-based discrimination
157
Explicit Notification
158
Explicit Notification Schemes
General Philosophy
159
Explicit Notification Schemes
160
Explicit Notification
Space Communication Protocol Standards-
Transport Protocol (SCPS-TP)
Satellite
wireless
TCP destinations
Ground station
161
Space Communication Protocol Standards-
Transport Protocol (SCPS-TP)
The receiving ground station keeps track of how many
packets with errors are received (their checksums failed)
When the error rate exceeds a threshold, the ground station
sends corruption experienced messages to destinations of
recent error-free TCP packets
destinations are cached
The TCP destinations tag acks with corruption-experienced
bit
TCP sender, after receiving an ack with corruption-
experienced bit, does not back off until it receives an ack
without that bit (even if timeout or fast retransmit occurs)
162
Explicit Loss Notification [Balakrishnan98]
when MH is the TCP sender
Wireless link first on the path from sender to receiver
The base station keeps track of holes in the packet
sequence received from the sender
When a dupack is received from the receiver, the
base station compares the dupack sequence number
with the recorded holes
if there is a match, an ELN bit is set in the dupack
When sender receives dupack with ELN set, it
retransmits packet, but does not reduce congestion
window Record
hole at 2
4 3 2 1 4 3 1
MH BS FH
wireless 1 1 1 1 163
Dupack with ELN set
Explicit Bad State Notification [Bakshi97]
when MH is TCP receiver
164
Partial Ack Protocols
[Cobb95][Biaz97]
Send two types of acknowledgements
A partial acknowledgement informs the sender that a
packet was received by an intermediate host
(typically, base station)
Normal TCP cumulative ack needed by the sender for
reliability purposes
165
Partial Ack Protocols
37
37 36
166
Variations
37
37 36
167
Explicit Loss Notification [Biaz99thesis]
when MH is TCP receiver
Attempts to approximate hypothetical ELN proposed
in [Balakrishnan96] for the case when MH is receiver
Sequence numbers 39
cached at base station
38
37
39 38 37
36 37 37
169
Various Schemes
Link-layer retransmissions
Split connection approach
TCP-Aware link layer
TCP-Unaware approximation of TCP-aware link layer
Explicit notification
Receiver-based discrimination
Sender-based discrimination
170
Receiver-Based Discrimination Scheme
171
Receiver-Based Scheme [Biaz98Asset]
MH is TCP receiver
Receiver uses a heuristic to guess cause of packet
loss
When receiver believes that packet loss is due to
errors, it sends a notification to the TCP sender
TCP sender, on receiving the notification, retransmits
the lost packet, but does not reduce congestion
window
172
Receiver-Based Scheme
FH BS MH
12 10
FH BS MH
11
Congestion loss 173
Receiver-Based Scheme
FH BS MH
2T
12 11 10
Error loss
FH BS MH
174
Receiver-Based Scheme
175
Receiver-Based Scheme
Diagnostic Accuracy [Biaz99Asset]
Limited applicability
177
Receiver-Based Scheme : Advantages
178
Various Schemes
Link-layer retransmissions
Split connection approach
TCP-Aware link layer
TCP-Unaware approximation of TCP-aware link layer
Explicit notification
Receiver-based discrimination
Sender-based discrimination
179
Sender-Based Discrimination Scheme
180
Sender-Based Discrimination Scheme
[Biaz98ic3n,Biaz99techrep]
181
Heuristics for Congestion Avoidance
throughput
cliff
knee
RTT
load load
182
Heuristics for Congestion Avoidance
r = [RTT(i)-RTT(i-1)] / [RTT(i)+RTT(i-1)]
w = [W(i)-W(i-1)] / [W(i)+W(i-1)]
184
Heuristics for Congestion Avoidance
Some proposals
Throughput gradient
TG(i) = [T(i) - T(i-1) ] / [ W(i)-W(i-1)]
185
Heuristics for Congestion Avoidance
Some proposals
186
Sender-Based Heuristics
187
Sender-Based Schemes
Diagnostic Accuracy [Biaz99ic3n]
188
Sender-Based Schemes
Diagnostic Accuracy [Biaz99ic3n]
189
Sender-Based Heuristics : Disadvantage
Reason
190
Sender-Based Heuristics : Advantages
191
Why do Statistical Technique Perform Poorly?
The techniques we evaluated use simple statistics on
RTT and window size W to draw conclusions about
state of the network
Unfortunately, correlation between RTT and W is
often weak
Fraction of TCP
connections
193
TCP in Presence of Transmission Errors
Summary
194
Tutorial Outline
195
TCP Over Satellite
196
TCP over Satellite
197
Problems Addressed by Various Schemes
Long delay
Large delay-bandwidth products
Transmission errors
198
Improving TCP-over-Satellite [Allman98sept]
[IETF-TCPSAT]
199
Larger Initial Window
[Allman98september] [Allman98august]
approximately 4 Kbyte
200
Byte Counting [Allman98august]
201
Space Communications Protocol Standard-
Transport Protocol (SCPS-TP) [Durst96]
Sender makes default assumption about source of
packet loss
default assumption can be set by network manager on a
per-route basis
default assumption can be changed due to explicit feedback
from the network
Congestion control algorithm derived from TCP-
Vegas, to bound window growth, to reduce
congestion-induced losses
202
Space Communications Protocol Standard-
Transport Protocol (SCPS-TP)
During link outage, TCP sender freezes itself, and
resumes when link is restored
outage assumed to occur in both directions simultaneously
ground station can detect outage of incoming link (for
instance, by low signal levels), and infers outage of outgoing
link
ground stations provide link outage information to any
sender that attempts to send packets on the outgoing link
sender does not unnecessarily timeout or retransmit until it
is informed that link has recovered
Selective acknowledgement protocol to recover
losses quickly
203
Satellite Transport Protocol (STP)
[Henderson98]
Uses split connection approach
Protocol on satellite channel different from TCP
selective negative acks when receiver detects losses
no retransmission timer
transmitter periodically requests receiver to ack received
data
reduces reverse channel bandwidth usage when losses are
rare
204
Early Acks
Spoofing
Ground station acks packets
Should take responsibility for delivering packets
Early acks from ground station result in faster congestion
window growth
205
Tutorial Outline
206
Impact of Mobility on TCP Performance
207
Impact of Mobility
208
Impact of Mobility
209
Impact of Mobility
If hand-off visible to IP
Need Mobile IP [Johnson96]
packets may be lost while a new route is being established
reliability despite handoff
We consider this case
210
Mobile IP [Johnson96]
MH Router
S
3
Home
agent
Router Router
1 2
211
Mobile IP [Johnson96]
move
Router
S MH
3
Foreign agent
Home agent
212
Example Hand-Off Procedure
4
Old New
BS 5,6 BS
1
2
3
MH
7
213
Hand-Off Procedure
3. New BS acknowledges the greeting, and begins to
route the MH’s packets
4. New BS informs old BS
5. Old BS changes routing table, to forward any
packets for the MH to the new BS
6. Old BS sends an ack to new BS
7. New BS sends handoff-completion message to MH
4
Old New
BS 5,6 BS
1
2
3
MH
7 214
Mobile IP
215
Hand-off
216
Impact of Handoffs on Schemes to Improves
Performance in Presence of Errors
Split connection approach
hard state at base station must be moved to new base station
Snoop protocol
soft state need not be moved
while the new base station builds new state, packet losses may not
be recovered locally
217
Techniques to
Improve TCP Performance
in Presence of Mobility
218
Classification
219
Using Fast Retransmits to Recover from
Timeouts during Handoff [Caceres95]
Last
timed 1.0
transmit
Four environments
1. No moves
2. Moves (once per 8 sec) between overlapping cells
3. Moves between non-overlapping cells, 0 sec delay
4. Moves between non-overlapping cells, 1 sec delay
223
TCP Performance
c.
lls
y
la
se
ov
ce
de
1
m
p/
0
in
p/
o
la
pp
N
la
er
er
la
ov
ov
er
n-
ov
n-
no
no
224
TCP Performance
225
Mitigation Using Fast Retransmit
226
0-second Rendezvous Delay
Improvement using Fast Retransmit
Cell crossing Retransmission
Handoff complete
+ beacon timeout
Routes updated
arrives does not occur
Fast retransmit
Last
timed 1.0
transmit
0 0.15 0.8
Packet loss
Idle sender
227
TCP Performance Improvement
1800 1600
1600 1510 1490
1400 1380
1400
1200 1100
1000 Kbit/sec
800 With fast rxmit
600
400
200
0
1 2 3 4
228
TCP Performance Improvement
229
Improving Performance by Smooth Handoffs
[Caceres95]
or
Buffer packets at BS
Discard the packets after a short interval
If handoff occurs before the interval expires, forward the packets
to the new base station
Prevents packet loss on handoff
230
M-TCP [Brown97]
231
M-TCP Uses
TCP Persist Mode
When a new ack is received with receiver’s advertised
window = 0, the sender enters persist mode
232
M-TCP
FH BS MH
233
M-TCP
FH BS MH
234
M-TCP
235
M-TCP
Mobile
TCP receiver
FH BS MH
237
FreezeTCP [Goff99]
FH BS MH
238
Using Multicast to Improve Handoffs
[Ghai94,Seshan96]
Define a group of base stations including
current cell of a mobile host
cells that the mobile host is likely to visit next
Address packets destined to the mobile host to the
group
Only one base station transmits the packets to the
mobile host
if rest of them buffer the packets, then packet loss
minimized on handoff
239
Using Multicast to Improve Handoffs
240
Using Multicast to Improve Handoffs
241
Tutorial Outline
242
TCP in Mobile Ad Hoc Networks
243
Mobile Ad Hoc Networks (MANET)
244
Mobile Ad Hoc Networks
[IETF-MANET]
Mobility causes route changes
245
TCP in Mobile Ad Hoc Networks
Issues
Route changes due to mobility
Wireless transmission errors
problem compounded with multiple hops
Out-of-order packet delivery
frequent route changes may cause out-of-order delivery
TCP does not perform well if packets are significantly OOO
Multiple access protocol
choice of MAC protocol can impact TCP performance
significantly
Half-duplex radios
cannot send and receive packets simultaneously
changing mode (send or receive) incurs overhead
246
Throughput over Multi-Hop Wireless Paths
[Gerla99]
247
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
249
Impact of Mobility
TCP Throughput
2 m/s 10 m/s
Actual throughput
20 m/s 30 m/s
Actual throughput
Ideal throughput
251
Throughput generally degrades with increasing
speed …
Ideal
Average
Throughput
Over
50 runs Actual
Speed (m/s)
252
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
1.5 second route failure
TCP times out after another 2 seconds, and only then resumes.
256
Why Does Throughput Improve?
Higher (double) Speed Scenario
D D D
C C C
B B B A
A
A
0.75 second route failure
258
How to Improve Throughput
(Bring Closer to Ideal)
Network feedback
259
Performance Improvement
Ideal throughput
2 m/s speed 260
Performance Improvement
Ideal throughput
261
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)
262
Issues
Network Feedback
263
Impact of Caching
265
Why Performance Degrades With Caching
267
Caching and TCP performance
268
Issues
Window Size After Route Repair
269
Issues
RTO After Route Repair
Proposal: new RTO = function of old RTO, old route length, and
new route length
Example: new RTO = old RTO * new route length / old route length
Not evaluated yet
270
Impact of MAC - Delay Variability
271
Impact of MAC - Delay Variability
[Balakrishnan97]
Several techniques may be used to mitigate problem,
based on minimizing ack transmissions
to reduce frequency of send-receive turnaround and
contention between acks and data
Piggybacking link layer acks with data
Sending fewer TCP acks - ack every d-th packet (d
may be chosen dynamically)
• but need to use rate control at sender to reduce
burstiness (for large d)
Ack filtering - Gateway may drop an older ack in the
queue, if a new ack arrives
reduces number of acks that need to be delivered to the
sender
272
Out-of-Order Packet Delivery
Potential solutions:
Avoid OOO delivery by ordering packets before delivering to IP
layer
•can result in variable delay
turn off fast retransmit
•can result in poor performance in presence of congestion
273
Other Topics
274
Header Compression for Wireless Networks
[Degermark96]
In TCP packet stream, most header bits are identical
Van Jacobson’s scheme exploits this observation to compress
headers, by only sending the “delta” between the previous and
current header
Packet losses result in inefficiency, as headers cannot be
reconstructed due to lost information
Packet losses likely on wireless links
[Degermark96] proposes a technique that works well despite
single packet loss
“twice” algorithm
if current packet fails TCP checksum, assume that a single packet is lost
apply delta for the previous packet twice to the current header, and test
checksum again
275
Twice Algorithm : Example
delta 2 delta
276
Channel State Dependent Packet Scheduling
[Bhagwat96]
Head-of-the Line blocking can occur with FIFO (first-
in-first-out) scheduling, if sender attempts to
retransmit packets on a channel in a bad state
M1
Wireless
M1 M2 M2 M3 M1 card
M2
M3
277
Channel State Dependent Packet Scheduling
M1
M1 M1
Wireless
M2 M2 scheduler card
M2
Per
M3
destination
queues
Channel status M3
monitor
278
Channel State Dependent Packet Scheduling
M1
M1 M1
Wireless
M2 M2 scheduler card
M2
Per
M3
destination
queues
Channel status M3
monitor
279
Channel State Dependent Packet Scheduling
M1
M1 M1
Wireless
M2 M2 scheduler card
M2
Per
M3
destination
queues
Channel status M3
monitor
280
Automatic TCP Buffer Tuning [Semke98]
281
Tutorial Outline
282
Issues for Further Investigation
283
Link Layer Protocols
284
End-to-End Techniques
285
Impact of Congestion Losses
286
Multiple TCP Transfers
288
TCP for Mobile Ad Hoc Networks
289
References
290
Thank you !!