Reliable Transport Layers in Wireless Networks Mark Perillo Electrical and Computer Engineering Review of TCP • • Originally designed for wired networks Assumptions: 1) Lost packets are caused by network congestion 2) Fairly stable RTT 3) Constant bandwidth 4) Lengthy connections Characteristics of Wireless Environment • • • • • High bit error rates Errors occur in bursts High latency when FEC used Short duration sessions When adaptive coding is used, bandwidth may vary dramatically Problems With TCP in Wireless Environment • Congestion is often incorrectly assumed to be the cause of lost packets – TCP sender may attempt to resend and then begin a slow start – Throughput limited to inefficient point • Connections short enough so that three-way handshake is relatively large overhead Approaches to Solutions • Link-layer provide information / reliability at TCP-aware lower layer • End-to-end make nodes aware of dropped packets, use mechanisms to differentiate between causes • Split-connection hide link failure from source node Link-layer Protocols • Typical mechanisms used in a wired environment (not TCP-aware) Forward error correction (FEC) Retransmissions (ARQ) • Problems in a wireless environment Timer interactions, fast retransmission interactions, large round-trip variations • Conclusion: A TCP-aware link layer could be very beneficial Snoop Protocol • TCP aware link-layer protocol • Snoop module at base station monitors/caches messages and performs local retransmissions when necessary • Hides low-quality link, temporary disconnections from sender • Full compatibility with existing TCP Snoop_data() Algorithm Snoop_ack() Algorithm End-to-end Solutions • Can be purely end-to-end or end-to-end with help from lower layers • Purely end-to-end mechanisms desirable since no changes need to made to existing network infrastructure • Mechanisms typically used: Explicit loss notification (ELN) - gives information about the cause of the lost packet via one-bit flag in TCP header Selective Acknowledgements (SACKs) Internet Control Message Protocol (ICMP) • Detects corrupted TCP segment at link level • Although message is corrupted, it can be used to signal non-congestion-related loss to the transport layer (TCP header option) • Sending TCP session maintains "corruption experienced" state for two RTT intervals • During "corruption experienced" state, lost packets are retransmitted without halving the congestion window size Wireless TCP (WTCP) • Purely end-to-end protocol • Rate-based transmission control • Receiver uses inter-packet delay to make decisions regarding rate control • Predicts cause of packet loss based on history of packet losses during normal state • Fast startup scheme • Reliability – SACKs, CACKs Split-Connection Solutions Indirect TCP • Split-connection protocol • Used for connection between mobile host and fixed host (with intermediate router) • Wired link and wireless link deal with lost packets differently • Higher level acknowledgements might be necessary in some applications • Complicated handoff procedure Advantages/Disadvantages of Split-connection Solutions + Separates flow control and congestion control between wireless link and wired link + Results in good bandwidth at sender - End-to-end semantics of TCP violated - TCP header needs to be processed multiple times along route - Slow handoff procedures Summary • Existing transport protocols such as TCP not well-suited for wireless networks • Solutions are of general type link-layer, end-to-end, and split-connection • Most experimental results show that TCPaware link-level solutions give the best results in terms of overall network throughput