1 Wireless TCP KAIST CS644 Advanced Topics in Networking Jeonghoon Mo School of Engineering Information and Communications University
Jeonghoon Mo October Overview TCP Basics Challenges in Wireless Networks High Bit Error Rate Variable Delays Mobility Interaction with other Layers
Jeonghoon Mo October 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
Jeonghoon Mo October Challenges in Wireless Networks High Bit Error Rate Variable Delays Mobility (Handoff) Interaction with Lower Layer Protocol (MAC)
Jeonghoon Mo October 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
Jeonghoon Mo October 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
Jeonghoon Mo October 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 BS TCP Link Layer Rxmt Host
Jeonghoon Mo October 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)
Jeonghoon Mo October Forward Error Correction Source: Adaptive End-to-End FEC for Improving TCP Performance over Wireless Links (ICC 2004) Westwood+ performs better than TCP with FEC. Performance Improvement comes more from good ABE algorithm than FEC.
Jeonghoon Mo October 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
Jeonghoon Mo October How to Differentiate them? Explicit Notification End-to-End Differentiation
Jeonghoon Mo October 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
Jeonghoon Mo October XCP 1. Congestion Controller 2. Fairness Controller XCP: An eXplicit Control Protocol Explicit feedback (Source: XCP Presentation)
Jeonghoon Mo October XCP Feedback Round Trip Time Congestion Window Congestion Header Feedback Round Trip Time Congestion Window Feedback = packet (Source: XCP Presentation)
Jeonghoon Mo October XCP Feedback = packet Round Trip Time Congestion Window Feedback = packet (Source: XCP Presentation)
Jeonghoon Mo October XCP Congestion Window = Congestion Window + Feedback Routers compute feedback without any per-flow state XCP extends ECN and CSFQ (Source: XCP Presentation)
Jeonghoon Mo October 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
Jeonghoon Mo October 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
Jeonghoon Mo October 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.
Jeonghoon Mo October Summary ECN Deployment Issue Will be used in the Future E2E Differentiation Has Limitations in differentiating congestion losses from the wireless losses.
Jeonghoon Mo October 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
Jeonghoon Mo October ABE Algorithm : arrival Time of the n-th ACK : acked amount by the n-th ACK : bandwidth estimate
Jeonghoon Mo October TCP Westwood Accuracy of ABE Throughput Gain source: TCP Westwood: Congestion Window Control Using Bandwidth Estimation
Jeonghoon Mo October 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 source: TCP-Jersey for Wireless IP Communications Jersey
Jeonghoon Mo October 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%.
Jeonghoon Mo October Decoupled TCP Two Ideas: Decouple Loss Recovery from Congestion Control (NETBLT) New ABE Algorithm
Jeonghoon Mo October New ABE Algorithm ABE Algorithm of Westwood ABE Algorithm of DTCP Westwood DTCP
Jeonghoon Mo October Decoupled TCP Reno, Sack Westwood DTCP
Jeonghoon Mo October Challenges in Wireless Networks High Bit Error Rate Variable Delays Mobility (Handoff) Interaction with Lower Layer Protocol (MAC)
Jeonghoon Mo October 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
Jeonghoon Mo October 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.
Jeonghoon Mo October Challenges in Wireless Networks High Bit Error Rate Variable Delays Mobility (Handoff) Interaction with Lower Layer Protocol (MAC)
Jeonghoon Mo October 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
Jeonghoon Mo October 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)
Jeonghoon Mo October TCP Throughput vs. Mobile Speed Decreasing function of speed Not Always source: Analysis of TCP Performance over Mobile Ad Hoc Networks
Jeonghoon Mo October 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]
Jeonghoon Mo October Freeze-TCP (Goff, 00) Fixed Host (Sender) ZW A ZWP BS MH Connection Probe res ZWA: Zero Window Advertisement ZWP : Zero Window Probing Freeze transmission during hand-off (source:
Jeonghoon Mo October Challenges in Wireless Networks High Bit Error Rate Variable Delays Mobility (Handoff) Interaction with Lower Layer Protocol (MAC)
Jeonghoon Mo October 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?
Jeonghoon Mo October TCP Throughput vs. # of Hops in a Network Not Always source: Analysis of TCP Performance over Mobile Ad Hoc Networks
Jeonghoon Mo October Challenges in Wireless Transport
42 BACKUP
Jeonghoon Mo October AIMD Congestion Control Packet Loss window Time Cd+B Loss-based Congestion detection: Increase the window size until packet loss. Additive Increase and Multiplicative Decrease (AIMD) of Window Size
Jeonghoon Mo October 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
Jeonghoon Mo October 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.
Jeonghoon Mo October 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)
Jeonghoon Mo October TCP Implementations TCP DCR [TAMU ] Delayed Congestion Response Similar to Snoop in that it uses link layer retransmission
Jeonghoon Mo October TCP-PR (Persistent Reordering) does not use DUP as the signal of packet loss