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 client anti-amplification response #3445

Merged
merged 14 commits into from
Feb 27, 2020

Conversation

ianswett
Copy link
Contributor

@ianswett ianswett commented Feb 9, 2020

Clarifies why a client might send a Handshake packet, as well as improving the surrounding anti-deadlock text.

Changes 2 SHOULDs to MUSTs to line up with recovery.

Fixes #2598

Clarifies why a client might send a Handshake packet, as well as generally tries to improve the anti-deadlock text.

Fixes #2598
Copy link
Member

@martinthomson martinthomson left a comment

Choose a reason for hiding this comment

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

Thanks. Struggling a little with that second sentence though.

draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
Copy link
Contributor

@huitema huitema left a comment

Choose a reason for hiding this comment

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

This text addresses the concerns in issue #3395, and would remove the need for PR #3416. I like it. I am just a tiny bit concerned with the implications of sending a Ping that would force an Initial or Handshake response.

this deadlock, clients MUST send a packet on a probe timeout, or PTO;
see Section 5.3 of {{QUIC-RECOVERY}}. In this case, the client MUST send an
Initial packet in a UDP datagram of at least 1200 bytes if it does not have
Handshake keys, and otherwise send a Handshake packet.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes. The next question is, what content shall the client place in the Initial or Handshake packet? Just PAD? Ping and PAD?

Copy link
Member

Choose a reason for hiding this comment

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

It seems to me that this doesn't matter. Probing generally goes for ack-eliciting, and some might favour sending data over just a PING, but if the server only needs more bytes, it shouldn't matter if this is PADDING, PING, or CRYPTO.

Copy link
Contributor

Choose a reason for hiding this comment

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

I would favor pure pad, personally, so as to not require its own ack, retransmit, etc. Also, sending it with the proper DCID will get the server out of the DOD amplification control mode.

Copy link
Member

Choose a reason for hiding this comment

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

A proper, updated DCID isn't guaranteed to unblock the server. That is why we haven't expressly allowed for that to be used.

Copy link
Contributor

Choose a reason for hiding this comment

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

I am not asking for a change in the current text. This PR is fine.

@martinthomson martinthomson added the editorial An issue that does not affect the design of the protocol; does not require consensus. label Feb 25, 2020
Copy link
Contributor

@janaiyengar janaiyengar left a comment

Choose a reason for hiding this comment

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

a few suggestions

draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
draft-ietf-quic-transport.md Outdated Show resolved Hide resolved
@martinthomson martinthomson merged commit 47ba99c into master Feb 27, 2020
@martinthomson martinthomson deleted the ianswett-why-send-handshake branch February 27, 2020 03:08
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

Successfully merging this pull request may close these issues.

Explain extraordinary conditions that lead to sending a Handshake packet
4 participants