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

Why no minimum Handshake packet size during anti-amplification? #3876

Closed
MikeBishop opened this issue Jul 8, 2020 · 3 comments
Closed

Why no minimum Handshake packet size during anti-amplification? #3876

MikeBishop opened this issue Jul 8, 2020 · 3 comments

Comments

@MikeBishop
Copy link
Contributor

Recovery, Section 6.2.2.1:

Since the server could be blocked until more packets are received from the client, it is the client’s responsibility to send packets to unblock the server until it is certain that the server has finished its address validation (see Section 8 of [QUIC-TRANSPORT]). That is, the client MUST set the probe timer if the client has not received an acknowledgement for one of its Handshake or 1-RTT packets, and has not received a HANDSHAKE_DONE frame. If Handshake keys are available to the client, it MUST send a Handshake packet, and otherwise it MUST send an Initial packet in a UDP datagram of at least 1200 bytes.

As the sentence currently reads, the size requirement only applies if the client does not have handshake keys. However, since the server's anti-amplification limit is in bytes, not packets, sending a small Handshake packet will not enable the server to make forward progress.

I would suggest the sentence be rearranged to require sending a packet in a 1200-byte datagram, and switch only the type of packed based on possession of handshake keys. This might be the intent of the current text, in which case this issue is editorial.

@ekr
Copy link
Collaborator

ekr commented Jul 8, 2020

Because receipt of a handshake packet proves reachability, the amplification limits no longer apply once it is received.

@MikeBishop
Copy link
Contributor Author

Ah, right. Forgive the silly question. 🙄

@ekr
Copy link
Collaborator

ekr commented Jul 8, 2020

Heck, I keep having to work through the logic myself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants