Skip to content

Commit

Permalink
Remove some cruft from packet size section
Browse files Browse the repository at this point in the history
This section had a bunch of text that wasn't updated as the result of
other changes elsewhere.  Though there was a suggestion that this could
reference other sections, but as this is in some ways the authoritative
section on the subject, I decided to keep the requirements.  That's
duplicative, but I couldn't see a simple way to deal with that.

Closes #3255.
  • Loading branch information
martinthomson committed Nov 19, 2019
1 parent 81c610b commit 12d3abd
Showing 1 changed file with 12 additions and 17 deletions.
29 changes: 12 additions & 17 deletions draft-ietf-quic-transport.md
Expand Up @@ -3410,27 +3410,22 @@ later time in the connection.
The QUIC packet size includes the QUIC header and protected payload, but not the
UDP or IP header.

Clients MUST ensure they send the first Initial packet in a single IP packet.
Similarly, the first Initial packet sent after receiving a Retry packet MUST be
sent in a single IP packet.

The payload of a UDP datagram carrying the first Initial packet MUST be expanded
to at least 1200 bytes, by adding PADDING frames to the Initial packet and/or by
coalescing the Initial packet (see {{packet-coalesce}}). Sending a UDP datagram
of this size ensures that the network path supports a reasonable Maximum
Transmission Unit (MTU), and helps reduce the amplitude of amplification attacks
caused by server responses toward an unverified client address; see
The payload of a UDP datagram carrying Initial packets from a client MUST be
expanded to at least 1200 bytes, by adding PADDING frames to the Initial packet
and/or by coalescing the Initial packet (see {{packet-coalesce}}). Sending a UDP
datagram of this size ensures that the network path supports a reasonable
Maximum Transmission Unit (MTU), and helps reduce the amplitude of amplification
attacks caused by server responses toward an unverified client address; see
{{address-validation}}.

The datagram containing the first Initial packet from a client MAY exceed 1200
bytes if the client believes that the Path Maximum Transmission Unit (PMTU)
supports the size that it chooses.
These datagrams containing Initial packets MAY exceed 1200 bytes if the client
believes that the Path Maximum Transmission Unit (PMTU) supports the size that
it chooses.

A server MAY send a CONNECTION_CLOSE frame with error code PROTOCOL_VIOLATION in
response to the first Initial packet it receives from a client if the UDP
datagram is smaller than 1200 bytes. It MUST NOT send any other frame type in
response, or otherwise behave as if any part of the offending packet was
processed as valid.
response to an Initial packet it receives from a client if the UDP datagram is
smaller than 1200 bytes. It MUST NOT send any other frame type in response, or
otherwise behave as if any part of the offending packet was processed as valid.

The server MUST also limit the number of bytes it sends before validating the
address of the client; see {{address-validation}}.
Expand Down

0 comments on commit 12d3abd

Please sign in to comment.