From ae3fa11d3d09a31563c5538771d4f0016089c7c8 Mon Sep 17 00:00:00 2001 From: Martin Thomson Date: Thu, 4 May 2017 14:44:26 +1000 Subject: [PATCH 1/2] Limit the size of packets This is primarily for constrained implementations. Based on experience with TLS, there can be real burden for those implementations just implementing an AEAD correctly over large records. This setting would allow an absurdly constrained device some defense against peers who might otherwise send jumbo packets. After all, jumbo packets can be more efficient. Closes #383. --- draft-ietf-quic-transport.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 2ebb662c8e..c40966667f 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -1052,6 +1052,7 @@ language from Section 3 of {{!I-D.ietf-tls-tls13}}. initial_max_stream_id(2), idle_timeout(3), truncate_connection_id(4), + max_packet_size(5), (65535) } TransportParameterId; @@ -1133,6 +1134,14 @@ truncate_connection_id (0x0004): length. Omitting the parameter indicates that the endpoint relies on the connection ID being present in every packet. +max_packet_size (0x0005): + +: The maximum packet size parameter places a limit on the size of packets that + the endpoint is willing to receive, encoded as an unsigned 16-bit integer. + The default for this parameter is the maximum permitted UDP payload of 65527. + Values below 256 are invalid. The initial packet from a client is exempt from + this limit. + ### Values of Transport Parameters for 0-RTT {#zerortt-parameters} @@ -3149,6 +3158,7 @@ The initial contents of this registry are shown in | 0x0002 | initial_max_stream_id | {{transport-parameter-definitions}} | | 0x0003 | idle_timeout | {{transport-parameter-definitions}} | | 0x0004 | truncate_connection_id | {{transport-parameter-definitions}} | +| 0x0005 | max_packet_size | {{transport-parameter-definitions}} | {: #iana-tp-table title="Initial QUIC Transport Parameters Entries"} From e8e98379fa639f27f5722b78ffe9a2c403e590ed Mon Sep 17 00:00:00 2001 From: Martin Thomson Date: Tue, 6 Jun 2017 16:59:22 +0200 Subject: [PATCH 2/2] Increase minimum to 1252 --- draft-ietf-quic-transport.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index c40966667f..9b28aa6a01 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -1138,9 +1138,10 @@ max_packet_size (0x0005): : The maximum packet size parameter places a limit on the size of packets that the endpoint is willing to receive, encoded as an unsigned 16-bit integer. - The default for this parameter is the maximum permitted UDP payload of 65527. - Values below 256 are invalid. The initial packet from a client is exempt from - this limit. + This indicates that packets larger than this limit will be dropped. The + default for this parameter is the maximum permitted UDP payload of 65527. + Values below 1252 are invalid. This limit only applies to protected packets + ({{packet-protected}}). ### Values of Transport Parameters for 0-RTT {#zerortt-parameters}