Skip to content

Commit

Permalink
Scope packet types to long headers
Browse files Browse the repository at this point in the history
  • Loading branch information
janaiyengar committed May 16, 2017
1 parent 67ee24b commit ec3a942
Showing 1 changed file with 19 additions and 17 deletions.
36 changes: 19 additions & 17 deletions draft-ietf-quic-transport.md
Expand Up @@ -515,9 +515,9 @@ versions of QUIC are interpreted.

## Version Negotiation Packet {#packet-version}

A Version Negotiation packet has a type value of 0x01 and is sent only by
servers. The Version Negotiation packet is a response to a client packet that
contains a version that is not supported by the server.
A Version Negotiation packet has long headers with a type value of 0x01 and is
sent only by servers. The Version Negotiation packet is a response to a client
packet that contains a version that is not supported by the server.

The connection ID field contains a server-selected connection ID that the client
MUST use for subsequent packets, see {{connection-id}}.
Expand Down Expand Up @@ -561,8 +561,8 @@ described in {{QUIC-TLS}}.

### Client Initial Packet {#packet-client-initial}

The Client Initial packet has a type value of 0x02. It carries the first
cryptographic handshake message sent by the client.
The Client Initial packet uses long headers with a type value of 0x02.
It carries the first cryptographic handshake message sent by the client.

The client populates the connection ID field with randomly selected values,
unless it has received a packet from the server. If the client has received a
Expand Down Expand Up @@ -590,9 +590,10 @@ includes the packets sent after receiving a Version Negotiation

### Server Stateless Retry Packet {#packet-server-stateless}

A Server Stateless Retry packet has a type value of 0x03. It carries
cryptographic handshake messages and acknowledgments. It is used by a server
that wishes to perform a stateless retry (see {{stateless-retry}}).
A Server Stateless Retry packet uses long headers with a type value of 0x03.
It carries cryptographic handshake messages and acknowledgments. It is used
by a server that wishes to perform a stateless retry (see
{{stateless-retry}}).

The connection ID field in a Server Stateless Retry packet contains a server
selected value, see {{connection-id}}.
Expand Down Expand Up @@ -622,8 +623,9 @@ receives.

### Server Cleartext Packet {#packet-server-cleartext}

A Server Cleartext packet has a type value of 0x04. It is used to carry
acknowledgments and cryptographic handshake messages from the server.
A Server Cleartext packet uses long headers with a type value of 0x04. It is
used to carry acknowledgments and cryptographic handshake messages from the
server.

The connection ID field in a Server Cleartext packet contains a connection ID
that is chosen by the server (see {{connection-id}}).
Expand All @@ -638,8 +640,8 @@ ACK frames.

### Client Cleartext Packet {#packet-client-cleartext}

A Client Cleartext packet has a type value of 0x05 and is sent when the client
has received a Server Cleartext packet from the server.
A Client Cleartext packet uses long headers with a type value of 0x05, and is
sent when the client has received a Server Cleartext packet from the server.

The connection ID field in a Client Cleartext packet contains a server-selected
connection ID, see {{connection-id}}.
Expand Down Expand Up @@ -668,10 +670,10 @@ if that packet does not complete the handshake. Even if the client receives a
different connection ID from the server, it MUST NOT update the connection ID it
uses for 0-RTT packets. This enables consistent routing for all 0-RTT packets.

Packets protected with 1-RTT keys use a type value of 0x07 for key phase 0 and
0x08 for key phase 1; see {{QUIC-TLS}} for more details on the use of key
phases. The connection ID field for these packet types MUST contain the value
selected by the server, see {{connection-id}}.
Packets protected with 1-RTT keys that use long headers use a type value of 0x07
for key phase 0 and 0x08 for key phase 1; see {{QUIC-TLS}} for more details on
the use of key phases. The connection ID field for these packet types MUST
contain the value selected by the server, see {{connection-id}}.

The version field for protected packets is the current QUIC version.

Expand All @@ -692,7 +694,7 @@ for use by a server that has lost state (for example, through a crash or
outage). A server that wishes to communicate a fatal connection error MUST use a
CONNECTION_CLOSE frame if it has sufficient state to do so.

A Public Reset packet has a type value of 0x09.
A Public Reset packet uses long headers with a type value of 0x09.

The connection ID and packet number of fields together contain octets 1 through
12 from the packet that triggered the reset. For a client that sends a
Expand Down

0 comments on commit ec3a942

Please sign in to comment.