Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicit Congestion Notification (ECN) #68

Closed
ianswett opened this issue Dec 3, 2016 · 6 comments
Closed

Explicit Congestion Notification (ECN) #68

ianswett opened this issue Dec 3, 2016 · 6 comments
Labels
-recovery -transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.

Comments

@ianswett
Copy link
Contributor

ianswett commented Dec 3, 2016

ECN is not currently mentioned in the recovery draft, but it should be included.

More importantly, the transport draft has no ability for the peer to communicate ECN marks back to the sender. I suspect, like ECN, the use of this in the transport would be negotiable in the QUIC handshake.

In practice, there most userspace network stacks also cannot see if those marks are set when packets are read.

@IngJohEricsson
Copy link

The specific items that are needed are (perhaps more ?)

  • ECN echo in protocol, preferrably as a mandatory to implement part, RFC7560 can provide with valuable input in the design
  • ECN negotiation, the work on updated ECN semanticts in TSVWG should be addressed (L4S support)
  • Fallback for in various failure cases, and RFC6679 and draft-kuehlewind-tcpm-ecn-fallback-01 may provide input
  • Address user space limitation, collect best current practice to read/write ECN bits for different OS.
  • Align meaning of ECN-CE marking of ECT(0) and ECT(1) traffic with TSVWG

@mnot mnot added the design An issue that affects the design of the protocol; resolution requires consensus. label Jan 19, 2017
@mnot mnot changed the title Add ECN to the recovery and transport drafts Explicit Congestion Notification (ECN) Jan 20, 2017
@martinduke martinduke mentioned this issue Feb 8, 2017
@martinduke
Copy link
Contributor

I endorse mandatory ECN support in QUIC.

I see that there's now an internet-draft on this subject:
(https://tools.ietf.org/html/draft-johansson-quic-ecn-00)

It's debatable if it's better to put the ECE/CWR bits in the ACK frame (as the draft suggests) or in some newly-liberated public flags.

As an added feature/bug, depending on your perspective, service providers interested in enforcing fairness or bandwidth limits could use ECN bits as fairly clean way to do this. With TCP, a common flow-control tool is the receive window, but that is not available here.

@IngJohEricsson
Copy link

IngJohEricsson commented Feb 20, 2017 via email

@mnot mnot added this to Reliability in QUIC Apr 28, 2017
@britram
Copy link
Contributor

britram commented Jun 20, 2017

Another +1 to mandatory ECN support in QUIC (as mentioned in #632), largely as defined in the current individual draft, with ECN echo in the ACK frame; though I'd maybe call the mechanism in section 2.1 "ECN capability sensing" as opposed to "negotiation".

@martinthomson
Copy link
Member

I'm going to close this as a duplicate of #632. We're trying to reduce the number of issues. While not strictly a duplicate, this issue is a direct request for a particular change, whereas #632 is more phrased as an issue. We prefer issues that are more like #632 than this one.

@mnot mnot removed this from Reliability in QUIC Jun 21, 2017
@IngJohEricsson
Copy link

IngJohEricsson commented Jun 21, 2017 via email

@mnot mnot added the has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list. label Mar 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-recovery -transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.
Projects
None yet
Development

No branches or pull requests

7 participants