Reliable Data Transport in Wireless Networks Anna Brunstrom Dept. of Computer Science Karlstad University Outline • • • • • • Introduction TCP Basics Challanges and Proposed Enhancements Personal Reflections SCTP Conclusions April 11, 2007 Reliable Data Transport in Wireless Networks 2 Introduction • Explosive growth of the Internet • ”Thin waist” behind the success • Design based on endto-end principle • TCP dominant transport protocol April 11, 2007 Application Transport - TCP/UDP Network – IP Reliable Data Transport in Wireless Networks Data link Physical 3 TCP Basics Reliable Data Transfer in TCP • Based on retransmission of lost packets • A timer is started when a packet is sent – Dynamically calculated based on RTT • When the packet arrives at the receiver a cumulative acknowledgment (ACK) is sent – End-to-end semantics • If an ACK is not received in time, then the packet is retransmitted – Exponential backoff of timer • Fast retransmit rule - three duplicate ACKs trigger retransmission April 11, 2007 Reliable Data Transport in Wireless Networks 5 TCP Flow and Congestion Control • Window based control • Send rate limited by minimum of – Receiver’s advertised window – Congestion window • Estimates bandwidth based on probing – Assumes that packet loss indicates congestion April 11, 2007 Reliable Data Transport in Wireless Networks 6 TCP Flow and Congestion Control • Slow start – Cwnd grows exponentially – Ends when cwnd reaches slow-start threshold • Congestion avoidance – Cwnd grows linearly • Fast recovery – Works in conjunction with fast retransmit – Avoids slow start after single packet loss April 11, 2007 Reliable Data Transport in Wireless Networks 7 After timeout 25 cwnd = 20 20 15 10 ssthresh = 10 5 ssthresh = 8 25 22 20 15 12 9 6 3 0 0 Congestion window (segments) Timeout Scenario Time (round trips) April 11, 2007 Reliable Data Transport in Wireless Networks 8 Window size (segments) Fast Retransmit Scenario 10 After fast recovery 8 Rwnd 6 4 2 0 0 2 4 6 8 10 12 14 Time (round trips) April 11, 2007 Reliable Data Transport in Wireless Networks 9 Many TCP Variants • TCP Tahoe – Slow start, congestion avoidance, fast retransmit • TCP Reno – Slow start, congestion avoidance, fast retransmit, fast recovery • TCP New-Reno – Stay in fast recovery until all packet losses in window are recovered – Can recover 1 packet loss per RTT without causing a timeout • Selective Acknowledgements (SACK) – Provides information about out-of-order packets received by receiver – Can recover multiple packet losses per RTT April 11, 2007 Reliable Data Transport in Wireless Networks 10 Challanges and Proposed Enhancements The ”information superhighway” of wireline communications vs The ”rocky road” of mobile radio communications Challenges • Fundamental differences between wired and wireless communication – Channel errors • Due to interference, multipath fading etc. – Mobility • Handoff may cause packet loss and delay • Route failures and disconnections in MANETs – Channel contention (Ad hoc networks) • Hidden terminal and exposed terminal problems April 11, 2007 Reliable Data Transport in Wireless Networks 12 TCP suffers because… • Transmission problems at the phys/link layer and handoff/route failures due to mobility can lead to packet loss • Packet loss invokes congestion control at the sender – Exponential backoff entered for multiple losses • Spurious timeouts may occur when RTT fluctuates • High sending rate can cause channel contention April 11, 2007 Reliable Data Transport in Wireless Networks 13 Proposed Optimizations • • • • At the link layer Split connection Explicit notification/ cross layer End to end April 11, 2007 Reliable Data Transport in Wireless Networks 14 Link Layer Error Recovery • Shields upper layers (e.g. TCP) from errors that can be recovered at lower layers – Errors recovered locally • Reliable link layer beneficial to TCP – If it provides (almost) in-order delivery – If TCP’s retransmission timeout is large enough to accommodate for variable delays due to link layer retransmissions April 11, 2007 Reliable Data Transport in Wireless Networks 15 Impact of Link Layer ARQ Transmission of 3 Mb bulk data 40.00 k 35.00 k Throughput (Bps) 30.00 k 25.00 k 20.00 k 15.00 k 15% packet loss → 10.00 k TCP-L, AM, PredErr, Levels for NMSE0.1 5.00 k TCP-WW, AM, PredErr, Levels for NMSE0.1 TCP, AM, PredErr, Levels for NMSE0.1 0.00 5 10 15 20 25 30 Maximum allowed number of link layer retransmissions April 11, 2007 Reliable Data Transport in Wireless Networks 16 Link layer: Examples • Snoop [Balakrishnan95] – TCP-aware link layer – Detect packet losses on wireless link, BS performs local retransmissions – Prevents fast retransmit by supressing dupACKs at BS – Does not work with encrypted IP-payload (e.g. IPSec) • TCP SACK-Aware Snoop [Vangala03] • Reliable link layer available in most modern wireless networks April 11, 2007 Reliable Data Transport in Wireless Networks 18 Split connection • E2E TCP connection split into one connection on wired part of route and one over wireless part – Hides transmission errors from sender, local recovery – Primary responsibility at base station – If specialized transport protocol used on wireless, then wireless host also needs modification – Breaks end-to-end semantics April 11, 2007 Reliable Data Transport in Wireless Networks 19 Split connection: Examples • Indirect TCP (I-TCP) [Bakre97] – Standard TCP connection over both hops – Mainly used for mobility (transfer state between BSs’) • WAP – Own networking stack to gateway/proxy – WAP2.0 can use native TCP • Split TCP [Kopparty02] – Split long TCP connections into localized segments to deal with frequent route failures in MANETs April 11, 2007 Reliable Data Transport in Wireless Networks 20 Explicit notification • A node determines whether packets are lost for reasons other than congestion and informs sender – Sender can retransmit packet without invoking congestion control • Motivated by Explicit Congestion Notification (ECN) proposal • Proposed solutions differ in – Who sends explicit notification – How they decide to send explicit notification – What sender does on receiving notification April 11, 2007 Reliable Data Transport in Wireless Networks 21 Explicit notification: Examples • Partial Acknowledgements [Biaz97] – Sender gets partial ack from base station, and normal ack from receiver -> wireless losses can be differentiated • Checksum Based Loss Notification [Garcia02] – Detect corrupt TCP checksum, notify sender via new TCP option • Explicit Link Failure Notification [Holland02] – Targets ad hoc networks – Piggyback notification onto DSR’s route failure message to sender – TCP sender disables congestion control until route is fixed April 11, 2007 Reliable Data Transport in Wireless Networks 22 Checksum Based LN: Example Bandwidth 1 Mbps, 10 ms delay April 11, 2007 Reliable Data Transport in Wireless Networks 23 End to end optimizations • Only end node(s) are modified • Receiver-based scheme – Receiver infers cause of packet loss or other event – Explicitly or implicitly informs the sender • Sender-based scheme – Sender attempts to determine cause of packet loss April 11, 2007 Reliable Data Transport in Wireless Networks 24 End to end optimizations: Examples • TCP Westwood/Westwood+ [Casetti02] – Use rate of packets to estimate available bandwidth instead of probing • JTCP [Wu04] – Uses loss predictor based on the interarrival jitter to distinguish congestion and wireless losses • Freeze-TCP [Goff00] – When handover is about to happen, send a packet with receiver window set to zero to “freeze” transmissions • Dynamic Delayed ACK [Altman03] – Reduce contention on the wireless channel by reducing the number of ACKs, ACK generation frequency set dynamically April 11, 2007 Reliable Data Transport in Wireless Networks 25 Personal Reflections Balanced View of Problem • TCP works quite well in many wireless networks • A reliable link layer goes a long way – TCP fairly robust to delay variations – Consider the time scales • Requires – Accurate models of wireless networks – Accurate models of TCP • Compare with relevant version April 11, 2007 Reliable Data Transport in Wireless Networks 27 Impact of Buffering • Not well understood – Often neglected in studies – Still influences results • Trend towards smaller buffers • Some examples of work on this – AQM method for 3G networks, aim for single packet drop in TCP window [Sågfors03] – Apply RED to UMTS RLC buffer, pace ACKs depending on buffer occupancy [Alcaraz06] April 11, 2007 Reliable Data Transport in Wireless Networks 28 Example: Buffering in GPRS April 11, 2007 Reliable Data Transport in Wireless Networks 29 Consider Short Flows • Common assumption of bulk transfers • Most TCP flows are short • Loss recovery can be more important than congestion control April 11, 2007 Reliable Data Transport in Wireless Networks 30 SCTP Stream Control Transmission Protocol • Standardized for carrying signaling traffic over IP • Defined as a general purpose protocol • Like TCP, SCTP – is connection-oriented (association) – provides a reliable transport service – uses window-based congestion control • Unlike TCP, SCTP – – – – is message oriented supports multiple concurrent data streams supports the concept of multihoming supports unordered messages April 11, 2007 Reliable Data Transport in Wireless Networks 32 Multihoming • Multiple IP addresses at each endpoint for a single association • Originally defined for link redundancy • Extensions: increased performance by load balancing mobility management at transport layer Interface 1 ISP ISP Interface 1 Internet Host A Interface 2 April 11, 2007 ISP ISP Reliable Data Transport in Wireless Networks Interface 2 Host B 33 AISLE (autonomic interface selection) • When congestion detected: consider switching to secondary path • Based on bandwidth and capacity estimates • Time hysterisis to avoid ping-pong effects April 11, 2007 [Casetti06] Reliable Data Transport in Wireless Networks 34 Conclusions Conclusions • Wireless communication different from wireline communications • A large number of TCP optimizations proposed – – – – Small subset illustrated Based on some general principles No single “right” solution But after all, TCP works quite ok • SCTP – Adds some new features – Multihoming April 11, 2007 Reliable Data Transport in Wireless Networks 36 ? References • • • • • • • H. Balakrishnan, S. Seshan, and R. H. Katz, “Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks,” ACM Wireless Networks, vol. 1, no. 4, Nov. 1995, pp. 469–481. S. Vangala and M. Labrador, “The TCP SACK-Aware-Snoop Protocol for TCP over Wireless Networks,” IEEE VTC, Orlando, FL, vol. 4, Oct. 2003, pp. 2624–283. A. V. Bakre , B. R. Badrinath, Implementation and Performance Evaluation of Indirect TCP, IEEE Transactions on Computers, v.46 n.3, p.260-278, March 1997 S. Kopparty, S.V. Krishnamurthy, M. Faloutsos, S.K. Tripathi, "Split-TCP for Mobile Ad Hoc Networks", Proceedings of IEEE GLOBECOM, Taipei 2002. S. Biaz, M. Mehta, S. West and N. Vaidya, "TCP over Wireless Networks Using Multiple Acknowledgments", Technical Report 97-001, Texas A&M University, Jan. 1997. J. Garcia and A. Brunstrom, “Checksum-based Loss Differentiation”, Proceedings 4th IEEE Conference on Mobile and Wireless Communications Networks (MWCN 2002), Stockholm, Sweden, September 2002. G. Holland and N. Vaidya, “Analysis of TCP Performance over Mobile Ad Hoc Networks,” ACM Wireless Networks, vol. 8, no. 2, Mar. 2002, pp. 275–88. April 11, 2007 Reliable Data Transport in Wireless Networks 38 References • • • • • • S. Mascolo, C. Casetti, M. Gerla, M. Y. Sanadidi and R. Wang, “TCP Westwood: Bandwidth Estimation for Enhanced Transport over Wireless Links”, Proc. of the ACM Mobicom 2001, Rome, Italy, July 16-21 2001. E. H. K. Wu and M. Z. Chen, “JTCP: Jitter-Based TCP for Heterogeneous Wireless Networks,” IEEE JSAC, vol. 22, no. 4, May 2004, pp. 757–66 T. Goff et al., “Freeze-TCP: A True End-to-End TCP Enhancement Mechanism for Mobile Environments,” IEEE INFOCOM, vol. 3, Apr. 2000, pp. 1537–45. E. Altman and T. Jimenez, “Novel Delayed ACK Techniques for Improving TCP Performance in Multihop Wireless Networks,” Proc. Pers. Wireless Commun., Venice, Italy, Sep. 2003, pp. 237–53. M. Sågfors, R. Ludwig, M. Meyer and J. Peisa, "Queue Management for TCP Traffic over 3G Links", IEEE WCNC 2003, New Orleans, USA, March 2003 C. Casetti, C. F. Chiasserini, R. Fracchia, M. Meo, AISLE: Autonomic Interface SeLEction for Wireless Users, IEEE WoWMoM 2006, Niagara-Falls, Buffalo-NY, 2629 June 2006 April 11, 2007 Reliable Data Transport in Wireless Networks 39