Starlink has bufferbloat. Bad.
 help / color / mirror / Atom feed
From: David Lang <david@lang.hm>
To: Sebastian Moeller <moeller0@gmx.de>
Cc: David Lang <david@lang.hm>,
	Ulrich Speidel <u.speidel@auckland.ac.nz>,
	 "starlink@lists.bufferbloat.net"
	<starlink@lists.bufferbloat.net>
Subject: Re: [Starlink] Starlink hidden buffers
Date: Mon, 15 May 2023 04:07:54 -0700 (PDT)	[thread overview]
Message-ID: <p938183r-0074-49s9-3p47-s17po23q0s69@ynat.uz> (raw)
In-Reply-To: <F6D7E8EA-A3AA-49DF-B6D1-7E3ED6A4304D@gmx.de>

On Mon, 15 May 2023, Sebastian Moeller wrote:

>> I have two starlink dishes in the southern california area, I'm going to put one on the low-priority mobile plan shortly. These are primarily used for backup communication, so I would be happy to add something to them to do latency monitoring.
>
>
> 	[SM] I would consider using irtt for that (like running in for 15 minutes with say 5ms spacing a few times a day, sometimes together with a saturating load sometimes without), this is a case where OWDs are especially interesting and irtt will also report the direction in which packets were lost. Maybe Dave (once back from his time-off) has an idea about which irtt reflector to use?
>
>
>> In looking at what geo-location reports my location as, I see it wander up and down the west coast, from the Los Angeles area all the way up to Canada.
>
> 	[SM] Demonstrating once more that geoIP is just a heuristic ;)

and/or demonstrating that starlink is connecting me to different ground stations 
at different times.

>>>> I think that active queue management on the sending side of the bottleneck will handle it fairly well. It doesn't have to do calculations based on what the bandwidth is, it just needs to know what it has pending to go out.
>>
>>> Understood - but your customer for AQM is the sending TCP client, and there are two questions here: (a) Does your AQM handle rapid load changes and (b) how do your TCP clients actually respond to your AQM's handling?
>>
>> AQM allocates the available bandwidth between different connections (usually different users)
>
> 	[SM] Not sure AQM is actually defined that stringently, I was under the impression anything other that FIFO with tail drop would already count as AQM, no?

technically true, but I think that doing anything other than FIO with tail drop 
is allocating the bandwidth. I think it makes for a nice shorthand explination 
without getting into mechanisms.

>> When it does this indirectly for inbound traffic by delaying acks, the results depend on the senders handling of these indirect signals that were never intended for this purpose.
>
> 	[SM] Hmm, ACKs where intended to be a feed-back mechanism for the sender to use to asses the in-flight data, so I am not sure whether delaying ACKs is something that was never envisaged by TCP's creators?

It was not, it seems to work in practice, but imperfectly.

>> But when it does this directly on the sending side, it doesn't matter what the senders want, their data WILL be managed to the priority/bandwidth that the AQM sets, and eventually their feedback is dropped packets, which everyone who is legitimate responds to.
>
> 	[SM] Some more quickly than others though, looking at you BBR ;)
>
>
>> But even if they don't respond (say a ping flood or DoS attack), the AQM will limit the damage to that connection, allowing the other connections trying to use that link to continue to function.
>
> 	[SM] Would that not require an AQM with effectively a multi-queue scheduler? I think it seems clear that starlink uses some form of AQM (potentially ARED), but on the scheduler/queue side there see to be competing claims ranging from single-queue FIFO (with ARED) to FQ-scheduler. Not having a starlink-link I can not test any of this so all I can report is competing reports from starlink users...

no, it just requires a AQM that drops packets from a flow. It doesn't matter if 
it does this with multiple queues, or by just dropping packets from a busy 
connection when the queue is close to full while allowing other connections to 
get added to the queue.

And I didn't mean to imply that all AQMs achieve the goal of isolating the 
problem traffic, just that they all attempt to do so.

David Lang


  reply	other threads:[~2023-05-15 11:07 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-13 10:10 Ulrich Speidel
2023-05-13 11:20 ` Sebastian Moeller
2023-05-13 12:16   ` Ulrich Speidel
2023-05-13 23:00     ` David Lang
2023-05-13 22:57 ` David Lang
2023-05-14  6:06   ` Ulrich Speidel
2023-05-14  6:55     ` David Lang
2023-05-14  8:43       ` Ulrich Speidel
2023-05-14  9:00         ` David Lang
2023-05-15  2:41           ` Ulrich Speidel
2023-05-15  3:33             ` David Lang
2023-05-15  6:36               ` Sebastian Moeller
2023-05-15 11:07                 ` David Lang [this message]
2023-05-24 12:55               ` Ulrich Speidel
2023-05-24 13:44                 ` Dave Taht
2023-05-24 14:05                   ` David Lang
2023-05-24 14:49                   ` Michael Richardson
2023-05-24 15:09                     ` Dave Collier-Brown
2023-05-24 15:31                     ` Dave Taht
2023-05-24 18:30                       ` Michael Richardson
2023-05-24 18:45                         ` Sebastian Moeller
2023-05-24 13:59                 ` David Lang
2023-05-24 22:39                   ` Ulrich Speidel
2023-05-25  0:06                     ` David Lang
2023-07-27 20:37                     ` Ulrich Speidel
2023-05-24 15:18                 ` Mark Handley
2023-05-24 21:50                   ` Ulrich Speidel
2023-05-25  0:17                     ` David Lang
2023-05-14  9:06         ` Sebastian Moeller
2023-05-14  9:13           ` David Lang
2023-05-14  9:57 ` Oleg Kutkov
2023-05-14  9:59   ` Oleg Kutkov
2023-05-24 15:26 ` Bjørn Ivar Teigen
2023-05-24 21:53   ` Ulrich Speidel

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/starlink.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=p938183r-0074-49s9-3p47-s17po23q0s69@ynat.uz \
    --to=david@lang.hm \
    --cc=moeller0@gmx.de \
    --cc=starlink@lists.bufferbloat.net \
    --cc=u.speidel@auckland.ac.nz \
    /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