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


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…’


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

Apr 12, 2024 Wiki page
What Can I Do About Bufferbloat?
Dec 3, 2022 Wiki page
Codel Wiki
Jun 11, 2022 Wiki page
More about Bufferbloat
Jun 11, 2022 Wiki page
Tests for Bufferbloat
Dec 7, 2021 Wiki page
Getting SQM Running Right

Find us elsewhere

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


Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation

Bufferbloat Related Projects

OpenWrt Project
Congestion Control Blog
Flent Network Test Suite
The Cake shaper
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".