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

Packet number echo #351

Closed
wants to merge 3 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions draft-ietf-quic-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ decryption. These packets contain:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Packet Number (1/2/4) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Packet Number Echo (optional) |
| [Packet Number Echo (1/2/4)] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Expand All @@ -472,7 +472,9 @@ this version, it contains:
* 01: 1-RTT packet (packet number size = 1)
* 02: 1-RTT packet (packet number size = 2)
* 03: 1-RTT packet (packet number size = 4)
* 07: 1-RTT packet (packet number size = 4, with packet number echo)
* 05: 1-RTT packet (packet number size = 1, packet number echo size = 1)
* 06: 1-RTT packet (packet number size = 2, packet number echo size = 2)
* 07: 1-RTT packet (packet number size = 4, packet number echo size = 4)
* Octets 1-2/3/4 or 9-10/11/12: Packet Number (lower 8, 16, or 32 bits)
* Octets 13-16, if present: Packet Number Echo
* Remainder of this packet: Payload.
Expand Down Expand Up @@ -610,10 +612,11 @@ equivalent to present techniques using TCP sequence and acknowledgement numbers
and/or timestamps.

The Packet Number Echo field SHOULD be present on 1-RTT packets containing at
least one ACK frame (see {{frame-ack}}); if no packet with a Packet Number Echo
least one ACK frame (see {{frame-ack}}). If no packet with a Packet Number Echo
field has been sent within the last round-trip time, the Packet Number Echo
field MUST be present.

field MUST be present. When present, the Packet Number Echo field MUST be at
least the size of the Packet Number field on the packet whose Packet Number is
being echoed.

## Frames and Frame Types {#frames}

Expand Down