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

ack_delay in the first Handshake and 1RTT packet #3981

Closed
wants to merge 6 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
15 changes: 10 additions & 5 deletions draft-ietf-quic-recovery.md
Expand Up @@ -348,11 +348,16 @@ latency at the peer or loss of previous ACK frames. Any delays beyond the
peer's max_ack_delay are therefore considered effectively part of path delay and
incorporated into the smoothed_rtt estimate.

The first ACK frame in the Handshake and ApplicationData packet number spaces
can be greatly delayed due to a lack of decryption keys at the time they're
received. For these two ACK frames, the max_ack_delay MAY be ignored if the
sender chooses. If the delayed ACK frame is the first RTT sample, ignoring
max_ack_delay has no impact.
ACK frames in the Handshake and ApplicationData packet number spaces are
delayed when the receiver lacks the decryption keys to process them immediately
and instead sends an ACK frame after the keys become available. For ACK frames
which only acknowledge packets sent prior to the receiver having the decryption
keys, the max_ack_delay MAY be ignored. Note that if the delayed ACK frame
is the first RTT sample, ignoring max_ack_delay has no impact.

The server can receive 1-RTT packets containing ACK frames before the decryption
keys are available. If the packet is buffered and later processed, the server
MAY reduce the measured RTT by the amount of time the packet was buffered.
Comment on lines +358 to +360
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's the client that has this issue most often, which happens with 0-RTT. But I would switch this to just use 'endpoint'.


When adjusting an RTT sample using peer-reported acknowledgement delays, an
endpoint:
Expand Down