1 Impact of transmission errors on TCP performance (Nitin Vaidya)
2 Tutorial Outline Wireless technologies TCP basics Impact of transmission errors on TCP performance Approaches to improve TCP performance Classification Discussion of selected approaches
3 Random 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
4 Random Errors May Cause Fast Retransmit Example assumes delayed ack - every other packet ack’d
5 Random Errors May Cause Fast Retransmit Example assumes delayed ack - every other packet ack’d
6 Random Errors May Cause Fast Retransmit Duplicate acks are not delayed 36 dupack
7 Random Errors May Cause Fast Retransmit Duplicate acks
8 Random Errors May Cause Fast Retransmit duplicate acks trigger fast retransmit at sender
9 Random 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
10 Sometimes 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]
11 Various 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]
12 Split Connection Approach
13 Split 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
14 Split Connection Approach Connection between wireless host MH and fixed host FH goes through base station BS FH-MH = FH-BS + BS-MH FHMHBS Base StationMobile Host Fixed Host
15 Split 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 FHMHBS Base StationMobile Host Fixed Host
16 Split Connection Approach wireless physical link network transport application physical link network transport application physical link network transport application rxmt Per-TCP connection state TCP connection
17 Split Connection Approach Indirect TCP [Bakre95,Bakre97] FH - BS connection : Standard TCP BS - MH connection : Standard TCP
18 Split Connection Approach Selective 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
19 Split 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
20 Split 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 (MH’s 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]
21 Split 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
22 Split 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
23 Split 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 FHMHBS
24 Split 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 ack’d to sender, the sender does not buffer 40 FHMHBS
25 Split Connection Approach : Disadvantages BS retains hard state Hand-off latency increases due to state transfer Data that has been ack’d to sender, must be moved to new base station FHMHBS MH New base station Hand-off 40 39
26 Split 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
27 Split 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 FHMH data ack