480 likes | 621 Views
Wireless TCP KAIST CS644 Advanced Topics in Networking. Jeonghoon Mo <jhmo@icu.ac.kr> School of Engineering Information and Communications University. Overview. TCP Basics Challenges in Wireless Networks High Bit Error Rate Variable Delays Mobility Interaction with other Layers.
E N D
Wireless TCP KAIST CS644Advanced Topics in Networking Jeonghoon Mo <jhmo@icu.ac.kr> School of Engineering Information and Communications University
Overview • TCP Basics • Challenges in Wireless Networks • High Bit Error Rate • Variable Delays • Mobility • Interaction with other Layers
TCP Basics • Transmission Control Protocol • A Protocol for Reliable Data Transmission • Two important roles • Congestion Control for efficient and fair bandwidth sharing • Addtive increase and multiplicative decrease (AIMD) of window • Fast recovery • Fast retransmit • Loss Recovery for Reliable Transmission • Timer-based Retransmission • RTO = mean (RTT) + 4 Std.Dev(RTT) • Cumulative ACK from receiver
Challenges in Wireless Networks • High Bit Error Rate • Variable Delays • Mobility (Handoff) • Interaction with Lower Layer Protocol (MAC)
High Bit Error Rate Challenge • Physical Property of Wireless Medium • Raleigh fading, Slow Fading, Interference • TCP Throughput • 1/sqrt(p) • Very poor performance with High Bit Error Rate
Responses – High Bit Errors • Extensive Research • (599 results in IEEE Explorer) • Link Layer Retransmissions/ FEC • Differentiation of Wireless and Congestion Losses • Explicit Notification • End-to-End Differentiations • Use of Available Bandwidth Estimate
TCP Host Link Layer Rxmt BS Link Layer Retransmission/FEC • Link Layer Solution • Little or No Modifications in the TCP stack • Cellular Networks uses ARQ/FEC. • TCP Snoop (95), I-TCP
Link Layer Retransmission • Link Layer Retransmission helps improving performance. 16 Retrx Limit 128 Retrx Limit Source: Wireless TCP Performance with Link Layer FEC/ARQ (ICC 1999)
Forward Error Correction • Westwood+ performs better than TCP with FEC. • Performance Improvement comes more from good ABE algorithm than FEC. Source: Adaptive End-to-End FEC for Improving TCP Performance over Wireless Links (ICC 2004)
Wireless Loss vs. Congestion Loss • IDEAL TCP • CURRENT TCP (TCP Reno) • If (congestion) • Perform congestion recovery • If (loss from ERROR) • Perform loss recovery • If (congestion || loss from ERROR) • Perform congestion recovery and • loss recovery
How to Differentiate them? • Explicit Notification • End-to-End Differentiation
Explicit Notifications • Router or Access Point notifies TCP whether or not the loss is from Wireless Error. • Motivated from the ECN proposal • Usually, BS or AP needs some modifications • Deployment Issue • Next Generation Network will use feedback in the header. • Examples • Explicit Loss Notification (ELN) • Explicit Bad State Notification (ESBN) • XCP, TCP Jersey, FAST
XCP XCP: An eXplicit Control Protocol Explicit feedback • Congestion Controller • Fairness Controller (Source: XCP Presentation)
Round Trip Time Round Trip Time Congestion Window Congestion Window Feedback Feedback Congestion Header XCP Feedback = + 0.1 packet (Source: XCP Presentation)
Round Trip Time Congestion Window Feedback = + 0.1 packet XCP Feedback = - 0.3 packet (Source: XCP Presentation)
XCP Congestion Window = Congestion Window + Feedback XCP extends ECN and CSFQ Routers compute feedback without any per-flow state (Source: XCP Presentation)
End-to-End Differentiation • To overcome deployment issue of ECN, use only available information to the end hosts. • Sender or Receiver tries to differentiate two different losses based on information such as • interarrival time of lost packets [biaz99] • use rtt, window size, loss pattern
Some Ideas of E2E Differentiation • Vegas: use “w-xd” to measure congestion • Biaz: • Spike: • Jitter-based TCP (JTCP) • w· (queue_ratio) > k then congestion loss • queue_ratio = (interarrival – interdeparture)/ interdeparture
Jitter-based TCP (Wu04) • Similar to Vegas. • However, uses jitter ratio measurement with the help from the receiver • If the expected queue ratio is larger than the threshold, the loss is from the congestion.
Summary • ECN • Deployment Issue • Will be used in the Future • E2E Differentiation • Has Limitations in differentiating congestion losses from the wireless losses.
Available Bandwidth Estimation • AIMD -> AIAD • adaptive decrease algorithm • After 3 DUPs, ssthresh =ABE() * RTTmin cwin = min (cwin, ssthresh) • After TIMEOUT ssthresh =ABE() * RTTmin cwin = 1 • TCP Westwood(01), TCP Jersey
ABE Algorithm : arrival Time of the n-th ACK : acked amount by the n-th ACK : bandwidth estimate
TCP Westwood Accuracy of ABE Throughput Gain source: TCP Westwood: Congestion Window Control Using Bandwidth Estimation
TCP Jersey (04) • Similar to TCP Westwood in that it uses ABE technique • Their estimate method is a bit different • Uses Congestion Warning • simpler version of RED Jersey source: TCP-Jersey for Wireless IP Communications
Decoupled TCP (Mo, Kang & Kim 04) • Motivations • How to differentiate has received attentions. • What to do with the differentiation has not. • Low performance of the newest protocols at high loss rate • TCP Westwood gets about 10% of whole bandwidth when the loss rate is 10%.
Decoupled TCP • Two Ideas: • Decouple Loss Recovery from Congestion Control (NETBLT) • New ABE Algorithm
New ABE Algorithm ABE Algorithm of DTCP ABE Algorithm of Westwood DTCP Westwood
Decoupled TCP DTCP Reno, Sack Westwood
Challenges in Wireless Networks • High Bit Error Rate • Variable Delays • Mobility (Handoff) • Interaction with Lower Layer Protocol (MAC)
Variable Delays • TCP sets RTO = mean(RTT) + 4 std.dev(RTT) • High delay variation causes spurious TIMEOUT. • Spurious TIMEOUT causes unnecessary retransmission and rate reduction
TCP-Eifel: Variable Delays • Eifel: A name of Mt. range in W. Germany • Use timestamp option • The sender timestamps packets and stores times of retransmitted packets. • The receiver echoes back the timestamp.
Challenges in Wireless Networks • High Bit Error Rate • Variable Delays • Mobility (Handoff) • Interaction with Lower Layer Protocol (MAC)
Mobility • As we move towards Ubiquitous paradigm, seamless service is considered more important. • Supporting mobile users with QoS has been an issue. • Impact of Mobility on TCP Performance • Mobile IP • Ad-hoc wireless Networks • Hand-off • Approaches to improve TCP performance • M-TCP • Freeze TCP • Use of Multicast
Mobility Increase the Capacity of Ad-hoc Wireless Networks • Best paper award at INFOCOM 2001 • Showed that throughput can be increase via mobile relay nodes. • Can TCP exploit this results??? (Grossglauser and Tse, 01)
TCP Throughput vs. Mobile Speed Decreasing function of speed Not Always source: Analysis of TCP Performance over Mobile Ad Hoc Networks
Why this happens? • The TCP throughput decreases with movement because • after route failure, it takes time for TCP to recover • during which TCP fails to utilize bandwidth • Why not always, • sometimes after reroute, the new path can be better than old one. • Mobility increases the capacity of Ad-hoc Wireless networks [DTSE2001]
BS BS Fixed Host (Sender) Probe res ZWP Connection ZWA MH MH MH MH Freeze-TCP (Goff, 00) Freeze transmission during hand-off ZWA: Zero Window Advertisement ZWP : Zero Window Probing (source: http://home.postech.ac.kr/~really97/Freeze.ppt)
Challenges in Wireless Networks • High Bit Error Rate • Variable Delays • Mobility (Handoff) • Interaction with Lower Layer Protocol (MAC)
Interaction with MAC • Downlink of GPRS networks : TDMA • Downlink of CDMA2000 HDR : PF scheduling • TCP performs AIMD cogestion control for fairness and Efficiency. • Is the AIMD control required?
TCP Throughput vs. # of Hops in a 802.11 Network Not Always source: Analysis of TCP Performance over Mobile Ad Hoc Networks
window Cd+B Time AIMD Congestion Control Packet Loss Loss-basedCongestion detection: Increase the window size until packet loss. Additive Increase and Multiplicative Decrease (AIMD) of Window Size
Fast Retransmit • RTO = mean(RTT) + 4 * std.dev(RTT) • The RTO value is too long. • Instead of waiting for the timer expiration, after 3 duplicate packets, the sender retransmit packets. • can cause spurious retransmission problem in ad-hoc networks
Fast Recovery • Inflate congestion window temporarily to allow packet to be transmitted after a packet loss. • cwnd = ssthresh + number of dupacks • Why increase cwnd ? • the starting point of sliding window stops. • the sender cannot send until the lost packet is recovered due to window restriction • can cause link under utilization.
Round Trip Time Measurement Adaptive Retransmission Time Out • Keep track of mean(RTT) and Deviation(RTT) • Retransmission Time Out (RTO) • RTO = mean(RTT) + 4 Deviation(RTT)
TCP Implementations • TCP DCR [TAMU ] • Delayed Congestion Response • Similar to Snoop in that it uses link layer retransmission
TCP-PR (Persistent Reordering) • does not use DUP as the signal of packet loss