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

Behavior around key availability delays during handshake #3874

Merged
merged 35 commits into from Sep 1, 2020
Merged
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
f851c8c
allow endpoints to generate traffic keys asynchronously, write down t…
kazuho Jul 8, 2020
6e54f3e
QUIC does not generate keys, TLS provides them
kazuho Jul 8, 2020
964fd96
Rearrange the text, based on @marten-seeman's point that the intent o…
kazuho Jul 8, 2020
2e6bc76
both endpoints refrain from sending probes before obtaining the read …
kazuho Jul 8, 2020
784b062
explicitly state from which PN spaces to choose
kazuho Jul 9, 2020
8334a5e
MT's suggestion
kazuho Jul 9, 2020
a77e003
Update draft-ietf-quic-recovery.md
kazuho Jul 9, 2020
e024864
Jana's suggestions
kazuho Jul 14, 2020
07a668e
based on the established rationale, PTO should be disabled until the …
kazuho Jul 15, 2020
9a008e7
Apply suggestions from code review
janaiyengar Aug 4, 2020
5e25bcd
Resolution from #3821 (pseudocode missing)
janaiyengar Aug 4, 2020
7f22ad8
agreed changes from editors meeting
janaiyengar Aug 4, 2020
728dc37
mt's comments
janaiyengar Aug 5, 2020
1029078
kazuho corrections
janaiyengar Aug 5, 2020
9821f07
s/MAY/SHOULD, and some editorializing
janaiyengar Aug 5, 2020
1fe9727
undo SHOULD
janaiyengar Aug 5, 2020
0000ceb
Add para on local delays when ack is buffered
janaiyengar Aug 5, 2020
8083104
Apply suggestions from code review
janaiyengar Aug 5, 2020
3d26a53
more changes
janaiyengar Aug 5, 2020
e796999
fix ref
janaiyengar Aug 6, 2020
ef2a714
tightening
janaiyengar Aug 6, 2020
4c41f55
Apply suggestions from code review
janaiyengar Aug 6, 2020
7f87ff7
move local delay para up
janaiyengar Aug 6, 2020
6635adb
Ian's comments
janaiyengar Aug 6, 2020
ddb4b86
Update draft-ietf-quic-recovery.md
janaiyengar Aug 6, 2020
0b9b2e1
RTT
janaiyengar Aug 6, 2020
936c4a0
more comments
janaiyengar Aug 6, 2020
e7d423e
Ian's comments
janaiyengar Aug 18, 2020
721ee00
s/ack immediately/not delay intentionally
janaiyengar Aug 18, 2020
952952a
Martin's concern in #4035
janaiyengar Aug 20, 2020
99d976f
kazuho's comments
janaiyengar Aug 20, 2020
2a50ecd
kazuho's comments
janaiyengar Aug 20, 2020
95988d7
Update draft-ietf-quic-recovery.md
janaiyengar Aug 28, 2020
cae02dc
reference for why Initial packets won't be delayed
janaiyengar Aug 28, 2020
1a02636
Merge branch 'master' into kazuho/pto-vs-key-generation
janaiyengar Sep 1, 2020
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: 7 additions & 8 deletions draft-ietf-quic-recovery.md
Expand Up @@ -369,6 +369,13 @@ endpoint:
is smaller than the min_rtt. This limits the underestimation of the
smoothed_rtt because of a misreporting peer.

Additionaly, an endpoint might postpone the processing of acknowledgements when
the corresponding decryption keys are not immediately available. For example, a
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Additionaly, an endpoint might postpone the processing of acknowledgements when
the corresponding decryption keys are not immediately available. For example, a
Additionaly, an endpoint might be unable to process acknowledgements when
the corresponding decryption keys are not immediately available. For example, a

Copy link
Contributor

Choose a reason for hiding this comment

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

This is a useful distinction -- endpoints that are unable to process acks because keys aren't there can simply drop those packets too. That won't reflect in the delay.

client might receive an acknowledgement for a 0-RTT packet that it cannot
decrypt because 1-RTT packet protection keys are not yet available to it. In
such cases, an endpoint SHOULD ignore such local delays in its round-trip time
janaiyengar marked this conversation as resolved.
Show resolved Hide resolved
sample until the handshake is confirmed.

smoothed_rtt and rttvar are computed as follows, similar to {{?RFC6298}}.

When there are no samples for a network path, and on the first RTT sample for
Expand Down Expand Up @@ -398,14 +405,6 @@ rttvar_sample = abs(smoothed_rtt - adjusted_rtt)
rttvar = 3/4 * rttvar + 1/4 * rttvar_sample
~~~

An endpoint might postpone the processing of acknowledgements when the
corresponding decryption keys are not immediately available. For example, a
client might receive an acknowledgement for a 0-RTT packet that it cannot
decrypt because 1-RTT packet protection keys are not yet available to it. In
such cases, an endpoint SHOULD ignore such local delays in its round-trip time
sample until the handshake is confirmed.


# Loss Detection {#loss-detection}

QUIC senders use acknowledgements to detect lost packets, and a probe
Expand Down