270 likes | 403 Views
Impact of transmission errors on TCP performance (Nitin Vaidya). Tutorial Outline. Wireless technologies TCP basics Impact of transmission errors on TCP performance Approaches to improve TCP performance Classification Discussion of selected approaches. Random Errors.
E N D
Impact of transmission errorson TCP performance(Nitin Vaidya)
Tutorial Outline • Wireless technologies • TCP basics • Impact of transmission errors on TCP performance • Approaches to improve TCP performance • Classification • Discussion of selected approaches
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
40 39 38 37 34 36 Random Errors May Cause Fast Retransmit Example assumes delayed ack - every other packet ack’d
Random Errors May Cause Fast Retransmit 41 40 39 38 34 36 Example assumes delayed ack - every other packet ack’d
Random Errors May Cause Fast Retransmit 42 41 40 39 36 36 dupack Duplicate acks are not delayed
Random Errors May Cause Fast Retransmit 43 42 41 40 36 36 36 Duplicate acks
Random Errors May Cause Fast Retransmit 44 43 42 41 36 36 36 3 duplicate acks trigger fast retransmit at sender
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
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]
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]
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
Split Connection Approach • Connection between wireless host MH and fixed host FH goes through base station BS • FH-MH = FH-BS + BS-MH FH BS MH Fixed Host Base Station Mobile Host
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 FH BS MH Fixed Host Base Station Mobile Host
application application application rxmt transport transport transport network network network link link link physical physical physical wireless Split Connection Approach Per-TCP connection state TCP connection TCP connection
Split Connection ApproachIndirect TCP[Bakre95,Bakre97] • FH - BS connection : Standard TCP • BS - MH connection : Standard TCP
Split 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
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
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]
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
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 performanceachievable 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
39 40 38 37 FH BS MH 36 40 Split Connection Approach : Disadvantages • End-to-end semanticsviolated • 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
39 40 38 37 FH BS MH 36 40 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
39 40 38 37 FH BS MH 36 40 39 Hand-off 40 MH New base station 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
Split Connection Approach : Disadvantages • Buffer spaceneeded 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
Split Connection Approach : Disadvantages • Extra copying of data at BS • copying from FH-BS socket buffer to BS-MH socket buffer • increases end-to-endlatency • 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