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

Clarify ACK sending text in transport #3480

Closed
ianswett opened this issue Feb 24, 2020 · 4 comments
Closed

Clarify ACK sending text in transport #3480

ianswett opened this issue Feb 24, 2020 · 4 comments
Assignees
Labels
-transport editorial An issue that does not affect the design of the protocol; does not require consensus.

Comments

@ianswett
Copy link
Contributor

The end of #3451 strayed into whether you could expect ACKs for non-ack-eliciting packets and why it was a SHOULD not a MUST to ACK every ACK-only packet at least once.

I'm filing this to add some text about cases when you definitely would not expect to receive an ACK of an ACK-only packet(ie: connection close and dropping PN space) and clarify that a sender cannot rely on receiving an acknowledgement of every packet, whether it's ack-eliciting or not, because ACKs get lost.

It's also possible there needs to be more clarity around "An endpoint MUST NOT send a non-ack-eliciting packet in response to a non-ack-eliciting packet, even if there are packet gaps which precede the received packet." since I intended to disallow Igor's suggestion when I wrote that.

@ianswett ianswett added editorial An issue that does not affect the design of the protocol; does not require consensus. -transport labels Feb 24, 2020
@igorlord
Copy link
Contributor

igorlord commented Mar 1, 2020

a sender cannot rely on receiving an acknowledgement of every packet, whether it's ack-eliciting or not, because ACKs get lost.

I do not understand this statement. Yes, packets with ACKs can get lost. But the mechanics of QUIC is that until an ACK-of-the-ACK is received, the sender will continue to acknowledge all packet ranges from the original ACK in every subsequent ACK. So if at least some ACK gets through, everything will get ACKed, despite of some losses of ACKs.

@ianswett
Copy link
Contributor Author

ianswett commented Mar 1, 2020

The ACK-of-the-ACK algorithm is a recommendation, not a requirement.

@martinthomson
Copy link
Member

@ianswett, it sounds like you have a plan here. I'm going to assign this to you. I don't think that this is critical, but it would be nice to have some of this written down (especially the bit about not being able to rely on getting an ACK for every packet that was processed by a peer).

@ianswett
Copy link
Contributor Author

SG, happy to work on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport editorial An issue that does not affect the design of the protocol; does not require consensus.
Projects
None yet
Development

No branches or pull requests

3 participants