Bug #309

Turning off wireless acknowledgements for local tcp connnections

Added by Dave Täht on Nov 25, 2011. Updated on Apr 21, 2012.
New Normal Dave Täht

Description

A crazy idea that I’ve been nursing for a while has been that the core reason why we do all the retries and acknowledgements in the wireless layer to avoid packet loss is because tcp + wireless over the LFN - 30+ms latencies - works really badly. HOWEVER:

I theorize that local connections (e.g. inside the home) have sufficiently low RTTS for tcp to compensate well for the actual wireless packet loss that is occurring.
(and not only that, deal with congestion much better). Furthermore if fair queuing is applied on streams to stations, the bursty packet loss that is typical of wireless would be minimized.

Now, since we can’t depend on the RTT measurement due to bufferbloat, inspecting TTL (for ipv6, that’s hopcount) at the Access Point, and turning off mac layer acknowledgements when appropriate may actually work. Nobody mucks very much with hopcount. For a TTL of greater than 61 (for ipv4) and a hopcount of greater than 251 (possibly incorrect, have to check the default for ipv6), the connection is pretty much guaranteed to be very local.

with acks turned off a good wireless connection would actually run faster in the general case, and recover quicker. On a bad connection, this would provide feedback
much sooner than the heroic measures being taken to get the packets through.

mildly deeper packet inspection (only turning off mac layer acks for tcp streams) might work better. OR, applying the don’t ack this frame idea algorithmically,
like red, might work as well.

This idea was inspired by seeing patches go by that make turning off mac layer acks a property of the queue for 802.11e. This would make it a property of the packet…

(and this idea only applies to access points. Turning off mac acks at the station layer, mmm… can’t do that based on hopcount.)

Now, everybody sing… with appropriate irony… ‘Every packet’s sacred…’

History

Updated by Dave Täht on Apr 21, 2012.

This is a static export of the original bufferbloat.net issue database. As such, no further commenting is possible; the information is solely here for archival purposes.
RSS feed

Recent Updates

Dec 2, 2024 Wiki page
What Can I Do About Bufferbloat?
Dec 1, 2024 Wiki page
Bufferbloat FAQs
Jul 21, 2024 Wiki page
cake-autorate
Jul 21, 2024 Wiki page
Tests for Bufferbloat
Jul 1, 2024 Wiki page
RRUL Chart Explanation

Find us elsewhere

Bufferbloat Mailing Lists
#bufferbloat on Twitter
Google+ group
Archived Bufferbloat pages from the Wayback Machine

Sponsors

Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation
GoFundMe

Bufferbloat Related Projects

OpenWrt Project
Congestion Control Blog
Flent Network Test Suite
Sqm-Scripts
The Cake shaper
AQMs in BSD
IETF AQM WG
CeroWrt (where it all started)

Network Performance Related Resources


Jim Gettys' Blog - The chairman of the Fjord
Toke's Blog - Karlstad University's work on bloat
Voip Users Conference - Weekly Videoconference mostly about voip
Candelatech - A wifi testing company that "gets it".