rfc9002v4.txt | rfc9002.txt | |||
---|---|---|---|---|
skipping to change at line 49 ¶ | skipping to change at line 49 ¶ | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction | 1. Introduction | |||
2. Conventions and Definitions | 2. Conventions and Definitions | |||
3. Design of the QUIC Transmission Machinery | 3. Design of the QUIC Transmission Machinery | |||
4. Relevant Differences Between QUIC and TCP | 4. Relevant Differences between QUIC and TCP | |||
4.1. Separate Packet Number Spaces | 4.1. Separate Packet Number Spaces | |||
4.2. Monotonically Increasing Packet Numbers | 4.2. Monotonically Increasing Packet Numbers | |||
4.3. Clearer Loss Epoch | 4.3. Clearer Loss Epoch | |||
4.4. No Reneging | 4.4. No Reneging | |||
4.5. More ACK Ranges | 4.5. More ACK Ranges | |||
4.6. Explicit Correction For Delayed Acknowledgments | 4.6. Explicit Correction for Delayed Acknowledgments | |||
4.7. Probe Timeout Replaces RTO and TLP | 4.7. Probe Timeout Replaces RTO and TLP | |||
4.8. The Minimum Congestion Window Is Two Packets | 4.8. The Minimum Congestion Window Is Two Packets | |||
4.9. Handshake Packets Are Not Special | 4.9. Handshake Packets Are Not Special | |||
5. Estimating the Round-Trip Time | 5. Estimating the Round-Trip Time | |||
5.1. Generating RTT Samples | 5.1. Generating RTT Samples | |||
5.2. Estimating min_rtt | 5.2. Estimating min_rtt | |||
5.3. Estimating smoothed_rtt and rttvar | 5.3. Estimating smoothed_rtt and rttvar | |||
6. Loss Detection | 6. Loss Detection | |||
6.1. Acknowledgment-Based Detection | 6.1. Acknowledgment-Based Detection | |||
6.1.1. Packet Threshold | 6.1.1. Packet Threshold | |||
skipping to change at line 188 ¶ | skipping to change at line 188 ¶ | |||
performance of the QUIC handshake and use shorter timers for | performance of the QUIC handshake and use shorter timers for | |||
acknowledgment. | acknowledgment. | |||
* Packets containing frames besides ACK or CONNECTION_CLOSE frames | * Packets containing frames besides ACK or CONNECTION_CLOSE frames | |||
count toward congestion control limits and are considered to be in | count toward congestion control limits and are considered to be in | |||
flight. | flight. | |||
* PADDING frames cause packets to contribute toward bytes in flight | * PADDING frames cause packets to contribute toward bytes in flight | |||
without directly causing an acknowledgment to be sent. | without directly causing an acknowledgment to be sent. | |||
4. Relevant Differences Between QUIC and TCP | 4. Relevant Differences between QUIC and TCP | |||
Readers familiar with TCP's loss detection and congestion control | Readers familiar with TCP's loss detection and congestion control | |||
will find algorithms here that parallel well-known TCP ones. | will find algorithms here that parallel well-known TCP ones. | |||
However, protocol differences between QUIC and TCP contribute to | However, protocol differences between QUIC and TCP contribute to | |||
algorithmic differences. These protocol differences are briefly | algorithmic differences. These protocol differences are briefly | |||
described below. | described below. | |||
4.1. Separate Packet Number Spaces | 4.1. Separate Packet Number Spaces | |||
QUIC uses separate packet number spaces for each encryption level, | QUIC uses separate packet number spaces for each encryption level, | |||
skipping to change at line 256 ¶ | skipping to change at line 256 ¶ | |||
implementations on both sides and reducing memory pressure on the | implementations on both sides and reducing memory pressure on the | |||
sender. | sender. | |||
4.5. More ACK Ranges | 4.5. More ACK Ranges | |||
QUIC supports many ACK ranges, as opposed to TCP's three SACK ranges. | QUIC supports many ACK ranges, as opposed to TCP's three SACK ranges. | |||
In high-loss environments, this speeds recovery, reduces spurious | In high-loss environments, this speeds recovery, reduces spurious | |||
retransmits, and ensures forward progress without relying on | retransmits, and ensures forward progress without relying on | |||
timeouts. | timeouts. | |||
4.6. Explicit Correction For Delayed Acknowledgments | 4.6. Explicit Correction for Delayed Acknowledgments | |||
QUIC endpoints measure the delay incurred between when a packet is | QUIC endpoints measure the delay incurred between when a packet is | |||
received and when the corresponding acknowledgment is sent, allowing | received and when the corresponding acknowledgment is sent, allowing | |||
a peer to maintain a more accurate RTT estimate; see Section 13.2 of | a peer to maintain a more accurate RTT estimate; see Section 13.2 of | |||
[QUIC-TRANSPORT]. | [QUIC-TRANSPORT]. | |||
4.7. Probe Timeout Replaces RTO and TLP | 4.7. Probe Timeout Replaces RTO and TLP | |||
QUIC uses a probe timeout (PTO; see Section 6.2), with a timer based | QUIC uses a probe timeout (PTO; see Section 6.2), with a timer based | |||
on TCP's retransmission timeout (RTO) computation; see [RFC6298]. | on TCP's retransmission timeout (RTO) computation; see [RFC6298]. | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |