Lets make wifi fast again!
 help / color / mirror / Atom feed
From: Keith Winstein <keithw@cs.stanford.edu>
To: Michael Welzl <michawe@ifi.uio.no>
Cc: Omer Shapira <omer_shapira@apple.com>,
	Rpm <rpm@lists.bufferbloat.net>,
	 Make-Wifi-fast <make-wifi-fast@lists.bufferbloat.net>
Subject: Re: [Make-wifi-fast] [Rpm] tack - reducing acks on wlans
Date: Thu, 21 Oct 2021 13:19:19 -0700	[thread overview]
Message-ID: <CAMzhQmMkpPL+vR=3Ly965teQTXLxBfuJJ-vW1tO2HLdg-BF6TA@mail.gmail.com> (raw)
In-Reply-To: <A88BD19B-507E-4474-90D2-EE7A1F4E85C5@ifi.uio.no>

[-- Attachment #1: Type: text/plain, Size: 2301 bytes --]

Hi Michael -- glad we are mostly of like mind! Let me try to explain where
I was coming from with the super-delayed E2E ACKs below...

On Thu, Oct 21, 2021 at 1:42 AM Michael Welzl <michawe@ifi.uio.no> wrote:

> Hi Keith !
>
>
>    - Protocol 1: The endpoints can now decide what to do with this extra
>    info. For example, they could decide that the endpoint receiver should
>    switch to super delayed ACKs itself (maybe one every N seconds or M
>    megabytes), and the sender will trust the Protocol 2 ACKs for
>    congestion-control and retransmission purposes, while still using the
>    Protocol 1 ACKs for ultimate reliability. (I.e. the sender won't discard
>    outstanding data from a reliable stream until it's been ACKed by the
>    endpoint.)
>
> Not sure I see the point of super delayed ACKs, but …. either way, I think
> we agree on “The endpoints can now decide what to do with this extra info.”
>  There can be many variations.
>

 My thinking here was that ACKs serve at least three different purposes in
an ARQ-style transport protocol:

   1. congestion control
   2. loss detection and triggering retransmission of previously sent data
   (via timeout, dupacks, sender-side timestamp schemes (Sprout/RACK), etc.)
   3. guaranteeing the abstraction of a reliable byte stream, by making the
   sender retain a copy of the outstanding data (ready for possible
   retransmission) until ACKed by the receiver

I think most endpoints might be willing to delegate #1 and #2 to an
untrusted intermediary that's along the network path and eager to help
(it's no worse than a transparent TCP accelerator today), especially if
there's some ability for the endpoints to double-check the intermediary's
work and say, "you know what, no thanks" if unsatisfied.

But #3 feels different -- if an untrusted intermediary's false ACK causes
the sender to delete its copy of data that never makes it to the receiver,
that threatens the core service model of the protocol. It's not possible to
recover from that without escalating to the application. So the sender
probably shouldn't discard data irreversibly until it hears a
cryptographically authentic ACK from the E2E receiver, but that could come
much later and less frequently.

-Keith

[-- Attachment #2: Type: text/html, Size: 2803 bytes --]

  reply	other threads:[~2021-10-21 20:19 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-19 20:12 [Make-wifi-fast] " Dave Taht
2021-10-19 20:25 ` [Make-wifi-fast] [Rpm] " Matt Mathis
2021-10-19 20:31   ` Omer Shapira
2021-10-20  7:00 ` [Make-wifi-fast] " Michael Welzl
2021-10-20  9:44   ` Toke Høiland-Jørgensen
2021-10-20 10:13     ` Michael Welzl
2021-10-20 10:44       ` Toke Høiland-Jørgensen
2021-10-20 10:54         ` Michael Welzl
2021-10-20 11:52           ` Toke Høiland-Jørgensen
2021-10-20 12:21             ` Michael Welzl
2021-10-20 15:57               ` Toke Høiland-Jørgensen
2021-10-20 17:08                 ` Michael Welzl
2021-10-20 22:04                   ` Toke Høiland-Jørgensen
2021-10-20 23:06                     ` Anna Brunström
2021-10-21  6:01                       ` Michael Welzl
2021-10-20 23:20           ` [Make-wifi-fast] [Rpm] " Omer Shapira
2021-10-21  6:19             ` Michael Welzl
2021-10-21  7:18               ` Michael Welzl
2021-10-21  7:57                 ` Keith Winstein
2021-10-21  8:42                   ` Michael Welzl
2021-10-21 20:19                     ` Keith Winstein [this message]
2021-10-20 23:08       ` Omer Shapira
2021-10-20 10:58 ` Sebastian Moeller
2021-10-20 11:55   ` Toke Høiland-Jørgensen
2021-10-20 20:37     ` Sebastian Moeller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/make-wifi-fast.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMzhQmMkpPL+vR=3Ly965teQTXLxBfuJJ-vW1tO2HLdg-BF6TA@mail.gmail.com' \
    --to=keithw@cs.stanford.edu \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    --cc=michawe@ifi.uio.no \
    --cc=omer_shapira@apple.com \
    --cc=rpm@lists.bufferbloat.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox