Title: Impact of transmission errors on TCP performance (Nitin Vaidya)
1Impact of transmission errorson TCP
performance(Nitin Vaidya)
2Tutorial Outline
- Wireless technologies
- TCP basics
- Impact of transmission errors on TCP performance
- Approaches to improve TCP performance
- Classification
- Discussion of selected approaches
3Random Errors
- If number of errors is small, they may be
corrected by an error correcting code - Excessive bit errors result in a packet being
discarded, possibly before it reaches the
transport layer
4Random Errors May Cause Fast Retransmit
Example assumes delayed ack - every other packet
ackd
5Random Errors May Cause Fast Retransmit
41
40
38
39
36
34
Example assumes delayed ack - every other packet
ackd
6Random Errors May Cause Fast Retransmit
42
41
39
40
36
36
dupack
Duplicate acks are not delayed
7Random Errors May Cause Fast Retransmit
40
41
43
42
36
36
36
Duplicate acks
8Random Errors May Cause Fast Retransmit
41
42
44
43
36
36
36
3 duplicate acks trigger fast retransmit at sender
9Random Errors May Cause Fast Retransmit
- Fast retransmit results in
- retransmission of lost packet
- reduction in congestion window
- Reducing congestion window in response to errors
is unnecessary - Reduction in congestion window reduces the
throughput
10Sometimes Congestion Response May be Appropriate
in Response to Errors
- On a CDMA channel, errors occur due to
interference from other user, and due to noise
Karn99pilc - Interference due to other users is an indication
of congestion. If such interference causes
transmission errors, it is appropriate to reduce
congestion window - If noise causes errors, it is not appropriate to
reduce window - When a channel is in a bad state for a long
duration, it might be better to let TCP backoff,
so that it does not unnecessarily attempt
retransmissions while the channel remains in the
bad state Padmanabhan99pilc
11Various Schemes
- Link level mechanisms
- Split connection approach
- TCP-Aware link layer
- TCP-Unaware approximation of TCP-aware link layer
- Explicit notification
- Receiver-based discrimination
- Sender-based discrimination
- For a brief overview, see Dawkins99,Montenegro99
12Split Connection Approach
13Split Connection Approach
- End-to-end TCP connection is broken into one
connection on the wired part of route and one
over wireless part of the route - A single TCP connection split into two TCP
connections - if wireless link is not last on route, then more
than two TCP connections may be needed
14Split Connection Approach
- Connection between wireless host MH and fixed
host FH goes through base station BS - FH-MH FH-BS BS-MH
FH
MH
BS
Fixed Host
Base Station
Mobile Host
15Split Connection Approach
- Split connection results in independent flow
control for the two parts - Flow/error control protocols, packet size,
time-outs, may be different for each part
FH
MH
BS
Fixed Host
Base Station
Mobile Host
16Split Connection Approach
Per-TCP connection state
TCP connection
TCP connection
17Split Connection ApproachIndirect TCP
Bakre95,Bakre97
- FH - BS connection Standard TCP
- BS - MH connection Standard TCP
18Split Connection ApproachSelective Repeat
Protocol (SRP) Yavatkar94
- FH - BS connection standard TCP
- BS - FH connection selective repeat protocol on
top of UDP - Performance better than Indirect-TCP (I-TCP),
because wireless portion of the connection can be
tuned to wireless behavior
19Split Connection Approach Other Variations
- Asymmetric transport protocol (Mobile-TCP)
Haas97icc -
- Low overhead protocol at wireless hosts, and
higher overhead protocol at wired hosts - smaller headers used on wireless hop (header
compression) - simpler flow control - on/off for MH to BS
transfer - MH only does error detection, BS does error
correction too - No congestion control over wireless hop
20Split Connection Approach Other Variations
- Mobile-End Transport Protocol Wang98infocom
- Terminate the TCP connection at BS
- TCP connection runs only between BS and FH
- BS pretends to be MH (MHs IP functionality moved
to BS) - BS guarantees reliable ordered delivery of
packets to MH - BS-MH link can use any arbitrary protocol
optimized for wireless link - Idea similar to Yavatkar94
21Split Connection Approach Classification
- Hides transmission errors from sender
- Primary responsibility at base station
- If specialized transport protocol used on
wireless, then wireless host also needs
modification
22Split Connection Approach Advantages
- BS-MH connection can be optimized independent of
FH-BS connection - Different flow / error control on the two
connections - Local recovery of errors
- Faster recovery due to relatively shorter RTT on
wireless link - Good performance achievable using appropriate
BS-MH protocol - Standard TCP on BS-MH performs poorly when
multiple packet losses occur per window (timeouts
can occur on the BS-MH connection, stalling
during the timeout interval) - Selective acks improve performance for such cases
23Split Connection Approach Disadvantages
- End-to-end semantics violated
- ack may be delivered to sender, before data
delivered to the receiver - May not be a problem for applications that do not
rely on TCP for the end-to-end semantics
24Split Connection Approach Disadvantages
- BS retains hard state
- BS failure can result in loss of data
(unreliability) - If BS fails, packet 40 will be lost
- Because it is ackd to sender, the sender does
not buffer 40
25Split Connection Approach Disadvantages
- BS retains hard state
- Hand-off latency increases due to state transfer
- Data that has been ackd to sender, must be moved
to new base station
26Split Connection Approach Disadvantages
- Buffer space needed at BS for each TCP connection
- BS buffers tend to get full, when wireless link
slower (one window worth of data on wired
connection could be stored at the base station,
for each split connection) - Window on BS-MH connection reduced in response to
errors - may not be an issue for wireless links with small
delay-bw product
27Split Connection Approach Disadvantages
- Extra copying of data at BS
- copying from FH-BS socket buffer to BS-MH socket
buffer - increases end-to-end latency
- May not be useful if data and acks traverse
different paths (both do not go through the base
station) - Example data on a satellite wireless hop, acks
on a dial-up channel
data
FH
MH
ack