360 likes | 578 Views
Mitigating Egregious ACK Delays in Cellular Data Networks by Eliminating TCP ACK Clocking. Wai Kay Leong, Yin Xu , Ben Leong, Zixiao Wang National University of Singapore. Asymmetry in Cellular Networks. Congestion in Uplink Concurrent Upload RSFC [ Xu et al. 2012 ] Other Users.
E N D
Mitigating Egregious ACK Delays in Cellular Data Networks by Eliminating TCP ACK Clocking Wai Kay Leong, Yin Xu, Ben Leong, Zixiao Wang National University of Singapore
Asymmetry in Cellular Networks • Congestion in Uplink • Concurrent Upload • RSFC [Xu et al. 2012] • Other Users Uplink Downlink
Egregious ACK Delays • TCP congestion control is ACK-clocked Data Data ACK
Egregious ACK Delays • TCP congestion control is ACK-clocked • Congested uplink can delay ACKs • Downlink becomes idle Data Data ACK
Egregious ACK Delays • TCP congestion control is ACK-clocked • Congested uplink can delay ACKs • Downlink becomes idle Data ACK
Solution: Eliminate ACK Clocking Idea: If we know the bandwidth, we can send at maximum rate. cwnd Send Data at XMb/s Bandwidth: X Mb/s Data Data Data ACK Not dependent on ACK arrival
Estimating Receive Rate Mobile Receiver Sender TSval = tr0 TSval = tr1 TSval = tr0 Receive Rate ρ TSval = tr1 ΔACK/Δt=ρ tr1 – tr0 = Δt
Challenges • Estimating Bandwidth • Timestamp Granularity too Coarse • Cannot estimate with high accuracy • Bandwidth variation • Have to keep updating estimation
Solution Self-oscillating Feedback Loop • Estimate Receive Rate ρ • Send Rate σ How to detect congestion? No Congestion Send Faster ( σ > ρ) Send slower ( σ < ρ) Link Congested
Detect Congestion • Idea: Monitor Queuing Delay • How? • TCP Timestamps • Relative Difference between sender and receiver Buffer tbuff = 0 tbuff> 0
Detecting Congestion Mobile Receiver Sender ts1 x TSval = tr1 Queuing Delay (tbuff) RD – RDmin ≈ tbuff x Congestion detected when tbuff >T Min Delay (RDmin) Relative Delay (RD) A TSval = tr1 RD = tr1 – ts1
Summary of Algorithm • 1. Initial Receive Rate Estimation • 2. Buffer Management Mode • 3. Monitor Mode • a) Buffer Fill State • b) Buffer Drain State tbuff > T • Probe network • Details in paper • Send 10 packets • Estimate ρ using replies • Send Faster (σ >ρ) • SendSlower (σ <ρ) TCP-RRE (Receiver-Rate Estimation) tbuff < T Significantchanges in network
Parameters? • How much faster or slower to send? • What threshold T to use? • When to switch to monitor state? • See details in paper
ns-2 Evaluation Measured real networks to get simulation parameters
ns-2 Evaluation • Single Download with Slow Uplink • Single Download under Normal Conditions • Download with Concurrent Upload • Handling Network Fluctuation • TCP Friendliness
ns-2 Evaluation • Single Download with Slow Uplink • Single Download under Normal Conditions • Download with Concurrent Upload • Handling Network Fluctuation • TCP Friendliness
Download with Slow Uplink 1MB Data ACK 200 Uplink Speed (kb/s) 20 8 1 Downlink Speed (Mb/s) ns-2
Download with Slow Uplink Uplink speed decreases ns-2
Download under Normal Conditions Packet Loss 1400+ ns-2
Download with Concurrent Upload Download 1MB Upload until download completion 3000 Uplink Speed (kb/s) 250 8 0.5 ns-2 Downlink Speed (Mb/s)
Download with Concurrent Upload 2.5X ns-2
Evaluation in Linux • Several Places, different ISPs • Multiple times • CDF of all experiments at each place for each ISP Download 1MBwith TCP-RRE Download 1MB with CUBIC Upload until download completion
Evaluation in Linux +50%
Evaluation in Linux +25%
Conclusion • TCP-RRE • ACK Clocking • Rate Control with Feedback Loop • Use TCP Timestamp • Estimate Receive Rate • Detect Congestion • Improves TCP • Uplink is Slow • Uplink is Congested • Keep the Delay Low • Fair to Other TCP Flows
Thank You Questions
Handling Network Fluctuations TCP-RRE
TCP Friendliness • Run two RSFC uploads concurrently • Calculate Jain fairness index: