Discussion of explicit congestion notification's impact on the Internet
 help / color / mirror / Atom feed
From: "Rodney W. Grimes" <4bone@gndrsh.dnsmgr.net>
To: Sebastian Moeller <moeller0@gmx.de>
Cc: Jonathan Morton <chromatix99@gmail.com>,
	ECN-Sane <ecn-sane@lists.bufferbloat.net>,
	bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Ecn-sane] [Bloat]   sce materials from ietf
Date: Sun, 1 Dec 2019 09:30:14 -0800 (PST)	[thread overview]
Message-ID: <201912011730.xB1HUERp026709@gndrsh.dnsmgr.net> (raw)
In-Reply-To: <02703449-D6CE-497D-BDBD-D79542D0EACF@gmx.de>

> Hi Jonathan,
> 
> 
> > On Nov 30, 2019, at 23:23, Jonathan Morton <chromatix99@gmail.com> wrote:
> > 
> >> On 1 Dec, 2019, at 12:17 am, Carsten Bormann <cabo@tzi.org> wrote:
> >> 
> >>> There are unfortunate problems with introducing new TCP options, in that some overzealous firewalls block traffic which uses them.  This would be a deployment hazard for SCE, which merely using a spare header flag avoids.  So instead we are still planning to use the spare bit - which happens to be one that AccECN also uses, but AccECN negotiates in such a way that SCE can safely use it even with an AccECN capable partner.
> >> 
> >> This got me curious:  Do you have any evidence that firewalls are friendlier to new flags than to new options?
> > 
> > Mirja Kuhlewind said as much during the TCPM session we attended, and she ought to know.  There appear to have been several studies performed on this subject; reserved TCP flags tend to get ignored pretty well, but unknown TCP options tend to get either stripped or blocked.
> > 
> > This influenced the design of AccECN as well; in an early version it would have used only a TCP option and left the TCP flags alone.  When it was found that firewalls would often interfere with this, the three-bit field in the TCP flags area was cooked up.
> 
> 
> 	Belt and suspenders, eh? But realistically, the idea of using an accumulating SCE counter to allow for a lossy reverse ACK path seems sort of okay (after all TCP relies on the same, so there would be a nice symmetry ).
> I really wonder whether SCE could not, in addition to its current bit, borrow the URG pointer field in cases when it is not used, or not fully used (if the MSS is smaller than 64K there might be a few bits leftover, with an MTU < 2000 I would expect that ~5 bits might still be usable in that rate case). I might be completely of to lunch here, but boy a nice rarely used contiguous 16bit field in the TCP header, what kind of mischief one could arrange with that ;) Looking at the AccECN draft, I see that my idea is not terribly original... But, hey for SCE having an additional higher fidelity SCE counter might be a nice addition, assuming URG(0), urgent pointer > 0 will not bleached/rejected by uninitiated TCP stacks/middleboxes...

We need to fix the ACK issues rather than continue to work around it.  Ack thinning is good, as long as it does not cause information loss.  There is no draft/RFC on this, one needs to be written that explains you can not just ignore all the bits, you have to preserve the reserve bits, so you can only thin if they are the same.  Jonathan already fixed Cake (I think that is the one that has ACK thinning) to not collapse ACK's that have different bit 7 values.

Note that I consider the time of the arriving ACKS to also be informaition, RACK for instance uses that, so in the case of RACK any thinning could be considered bad.  BUTT I'll settle for not tossing reserved bit changes away as a "good enough" step forward that should be simple to implement (2 gate delay xor/or function).

> 	Sebastian
> > - Jonathan Morton
-- 
Rod Grimes                                                 rgrimes@freebsd.org

  parent reply	other threads:[~2019-12-01 17:30 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-29 20:08 [Ecn-sane] " Dave Taht
2019-11-29 21:20 ` [Ecn-sane] [Bloat] " Jonathan Morton
2019-11-29 23:10   ` alex.burr
2019-11-30  1:39     ` Jonathan Morton
2019-11-30  7:27       ` Sebastian Moeller
2019-11-30 14:32         ` Jonathan Morton
2019-11-30 15:42           ` Sebastian Moeller
2019-11-30 17:11             ` Jonathan Morton
2019-12-02  5:38               ` Dave Taht
2019-12-02  7:54                 ` Sebastian Moeller
2019-12-02  9:57                 ` Pete Heist
2019-11-30 22:17           ` Carsten Bormann
2019-11-30 22:23             ` Jonathan Morton
2019-12-01 16:35               ` Sebastian Moeller
2019-12-01 16:54                 ` Jonathan Morton
2019-12-01 19:03                   ` Sebastian Moeller
2019-12-01 19:27                     ` Jonathan Morton
2019-12-01 19:32                       ` Sebastian Moeller
2019-12-01 20:30                         ` Jonathan Morton
2019-12-01 17:30                 ` Rodney W. Grimes [this message]
2019-12-01 19:17                   ` Sebastian Moeller
2019-12-02  5:10                     ` Dave Taht
2019-12-02  7:18                       ` Sebastian Moeller
2019-11-29 22:55 ` [Ecn-sane] " Rodney W. Grimes
2019-11-29 22:58   ` Rodney W. Grimes
2019-11-30  2:37 ` Dave Taht
2019-11-30  3:10   ` Rodney W. Grimes

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

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

  git send-email \
    --in-reply-to=201912011730.xB1HUERp026709@gndrsh.dnsmgr.net \
    --to=4bone@gndrsh.dnsmgr.net \
    --cc=bloat@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    --cc=ecn-sane@lists.bufferbloat.net \
    --cc=moeller0@gmx.de \
    /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