Improving the start-up behavior of a congestion control scheme for TCP
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Forward acknowledgement: refining TCP congestion control
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Packet reordering is not pathological network behavior
IEEE/ACM Transactions on Networking (TON)
The Eifel algorithm: making TCP robust against spurious retransmissions
ACM SIGCOMM Computer Communication Review
Congestion Control in Linux TCP
Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
General AIMD congestion control
ICNP '00 Proceedings of the 2000 International Conference on Network Protocols
CUBIC: a new TCP-friendly high-speed TCP variant
ACM SIGOPS Operating Systems Review - Research and developments in the Linux kernel
TCP enhancements for interactive thin-stream applications
Proceedings of the 18th International Workshop on Network and Operating Systems Support for Digital Audio and Video
TCP Congestion Avoidance Algorithm Identification
ICDCS '11 Proceedings of the 2011 31st International Conference on Distributed Computing Systems
Identifying performance bottlenecks in CDNs through TCP-level monitoring
Proceedings of the first ACM SIGCOMM workshop on Measurements up the stack
Trickle: rate limiting YouTube video streaming
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Late-binding: how to lose fewer packets during handoff
Proceeding of the 2013 workshop on Cellular networks: operations, challenges, and future design
packetdrill: scriptable network stack testing, from sockets to packets
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
Packet losses increase latency for Web users. Fast recovery is a key mechanism for TCP to recover from packet losses. In this paper, we explore some of the weaknesses of the standard algorithm described in RFC 3517 and the non-standard algorithms implemented in Linux. We find that these algorithms deviate from their intended behavior in the real world due to the combined effect of short flows, application stalls, burst losses, acknowledgment (ACK) loss and reordering, and stretch ACKs. Linux suffers from excessive congestion window reductions while RFC 3517 transmits large bursts under high losses, both of which harm the rest of the flow and increase Web latency. Our primary contribution is a new design to control transmission in fast recovery called proportional rate reduction (PRR). PRR recovers from losses quickly, smoothly and accurately by pacing out retransmissions across received ACKs. In addition to PRR, we evaluate the TCP early retransmit (ER) algorithm which lowers the duplicate acknowledgment threshold for short transfers, and show that delaying early retransmissions for a short interval is effective in avoiding spurious retransmissions in the presence of a small degree of reordering. PRR and ER reduce the TCP latency of connections experiencing losses by 3-10% depending on the response size. Based on our instrumentation on Google Web and YouTube servers in U.S. and India, we also present key statistics on the nature of TCP retransmissions.