Skip to content

Commit

Permalink
Up to two full-sized datagrams, not packets (#2915)
Browse files Browse the repository at this point in the history
* Up to two full-sized datagrams, not packets

Now that the PTO retransmits Initial and Handshake data, it's possible and likely desirable to bundle multiple QUIC packets in a single datagram.  This change makes it clear that is allowed.

* Update draft-ietf-quic-recovery.md

Co-Authored-By: MikkelFJ <mikkelfj@gmail.com>

* Update draft-ietf-quic-recovery.md

Co-Authored-By: Jana Iyengar <jri.ietf@gmail.com>

* Update draft-ietf-quic-recovery.md

Co-Authored-By: Jana Iyengar <jri.ietf@gmail.com>

* Fix a long line
  • Loading branch information
ianswett committed Jul 21, 2019
1 parent 02c8c88 commit d3c66d2
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions draft-ietf-quic-recovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -514,11 +514,11 @@ and larger thresholds increase loss detection delay.

## Probe Timeout {#pto}

A Probe Timeout (PTO) triggers sending one or two probe packets when
A Probe Timeout (PTO) triggers sending one or two probe datagrams when
ack-eliciting packets are not acknowledged within the expected period of
time or the handshake has not been completed. A PTO enables a connection to
recover from loss of tail packets or acks. The PTO algorithm used in QUIC
implements the reliability functions of Tail Loss Probe
recover from loss of tail packets or acknowledgements. The PTO algorithm used
in QUIC implements the reliability functions of Tail Loss Probe
{{?TLP=I-D.dukkipati-tcpm-tcp-loss-probe}} {{?RACK}}, RTO {{?RFC5681}} and
F-RTO algorithms for TCP {{?RFC5682}}, and the timeout computation is based on
TCP's retransmission timeout period {{?RFC6298}}.
Expand Down Expand Up @@ -598,8 +598,8 @@ discarded.

When a PTO timer expires, a sender MUST send at least one ack-eliciting packet
as a probe, unless there is no data available to send. An endpoint MAY send up
to two ack-eliciting packets, to avoid an expensive consecutive PTO expiration
due to a single packet loss.
to two full-sized datagrams containing ack-eliciting packets, to avoid an
expensive consecutive PTO expiration due to a single lost datagram.

It is possible that the sender has no new or previously-sent data to send. As
an example, consider the following sequence of events: new application data is
Expand Down

0 comments on commit d3c66d2

Please sign in to comment.