TCP Prague Fall-back on Detection of a Classic ECN AQM (1911.00710v3)
Abstract: The IETF's Prague L4S Requirements [DSBE20] expect an L4S congestion control to somehow detect if there is a classic ECN [RFB01] AQM at the bottleneck and fall back to Reno-friendly behaviour (as it would on a loss). This paper addresses that requirement in depth. A solution has been implemented in Linux and extensively tested, which distinguishes L4S from Classic AQMs primarily by their delay variation. This paper describes version 2 of the design of that solution, giving extensive rationale and pseudocode. It briefly summarizes a comprehensive testbed evaluation of the solution, referring to the full details online. The v2 algorithm very rarely falsely detects a Classic AQM as L4S. It also rarely detects an L4S AQM as Classic in the majority of scenarios, but not at low link rates and large RTTs. This report is a work in progress. It suggests ideas for improving on the approach. It also outlines new ideas that could solve the problem in complementary or alternative ways.