Skip to content

Commit ee4739d

Browse files
committed
Jana's comments
1 parent 0d940af commit ee4739d

File tree

1 file changed

+21
-19
lines changed

1 file changed

+21
-19
lines changed

draft-ietf-quic-transport.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -412,8 +412,7 @@ have the VERSION bit set. This bit is always set on packets that are sent prior
412412
to connection establishment. When receiving a packet that is not associated
413413
with an existing connection, packets without a VERSION bit MUST be discarded.
414414

415-
While there might be similarities between different versions of this protocol,
416-
implementations have to assume that a version that it does not support uses a
415+
Implementations have to assume that a version that it does not support uses a
417416
different packet format.
418417

419418
Between different versions the following things are guaranteed to remain
@@ -633,7 +632,7 @@ on the two endpoints agreeing on a version.
633632
A QUIC connection begins with a client sending a handshake packet. Until the
634633
cryptographic handshake ({{handshake}}) produces 1-RTT keys, packets sent by a
635634
client MUST include the version in the packet header. This allows the server to
636-
identify early packets and to enable version negotiation.
635+
identify 0-RTT packets and to enable version negotiation.
637636

638637
When the server receives a packet from a client with the VERSION flag set, it
639638
compares the client's version to the versions it supports.
@@ -645,7 +644,7 @@ list of versions that the server will accept. A server MUST send a version
645644
negotiation packet for every packet that it receives with an unacceptable
646645
version.
647646

648-
If the packet contains a version that is acceptable to the server, the server
647+
If the version selected by the client is acceptable to the server, the server
649648
proceeds with the handshake ({{handshake}}). All subsequent packets sent by the
650649
server MUST have the VERSION flag unset. This commits the server to the version
651650
that the client selected.
@@ -795,13 +794,21 @@ COPT (0x0005):
795794
cases include changing congestion control algorithms and parameters such as
796795
initial window. (TODO: List connection options.)
797796

797+
798798
### Values of Transport Parameters for 0-RTT
799799

800-
Transport parameters from the server are remembered by the client for 0-RTT
801-
connections. If values change as a result of completing the handshake, the
802-
client is expected to respect the new values. This introduces some potential
803-
problems, particularly with respect to transport parameters that establish
804-
limits:
800+
Optional transport parameters from the server MUST be reset to default values by
801+
the client for 0-RTT connections.
802+
803+
The mandatory transport parameters for stream and connection flow control and
804+
concurrent stream limits MUST be remembered by the client. The idle timeout value
805+
is not expected to be relevant for the short time that it takes to obtain 1-RTT
806+
keys.
807+
808+
809+
Transport parameter values could change as a result of completing the handshake.
810+
The client MUST respect the new values when the handshake completes. This
811+
introduces some potential problems:
805812

806813
* A client might exceed a newly declared connection or stream flow control limit
807814
with 0-RTT data. If this occurs, the client ceases transmission as though the
@@ -815,20 +822,15 @@ limits:
815822

816823
A client cannot use or rely upon any other transport parameter that was enabled
817824
in a previous connection. This includes those defined in this document. A
818-
client MUST assume that the transport parameter was absent, unless the
819-
definition of a transport parameter provides explicit rules for use of the
820-
option in 0-RTT.
825+
client MUST assume that the transport parameter was absent unless the definition
826+
of a transport parameter provides explicit rules for use of the option in 0-RTT.
821827

822828

823829
### New Transport Parameters
824830

825-
An endpoint MUST ignore transport parameters that it does not support.
826-
827-
The definition of new transport parameters can be used to negotiate new protocol
828-
behavior. Endpoints that support features that deviate from this specification
829-
MUST assume that a peer will operate as described in this document unless it
830-
provides an explicit signal of support. A new transport parameter could be used
831-
to provide this signal.
831+
New transport parameters can be used to by endpoints to advertise new
832+
capabilities. This can be used to negotiate new protocol behavior. An endpoint
833+
MUST ignore transport parameters that it does not support.
832834

833835
New transport parameters can be registered according to the rules in
834836
{{iana-transport-parameters}}.

0 commit comments

Comments
 (0)