target = "https://www.rfc-editor.org/rfc/rfc9002#section-6.1" # 6.1. Acknowledgment-Based Detection # # Acknowledgment-based loss detection implements the spirit of TCP's # Fast Retransmit [RFC5681], Early Retransmit [RFC5827], Forward # Acknowledgment [FACK], SACK loss recovery [RFC6675], and RACK-TLP # [RFC8985]. This section provides an overview of how these algorithms # are implemented in QUIC. # # A packet is declared lost if it meets all of the following # conditions: # # * The packet is unacknowledged, in flight, and was sent prior to an # acknowledged packet. # # * The packet was sent kPacketThreshold packets before an # acknowledged packet (Section 6.1.1), or it was sent long enough in # the past (Section 6.1.2). # # The acknowledgment indicates that a packet sent later was delivered, # and the packet and time thresholds provide some tolerance for packet # reordering. # # Spuriously declaring packets as lost leads to unnecessary # retransmissions and may result in degraded performance due to the # actions of the congestion controller upon detecting loss. # Implementations can detect spurious retransmissions and increase the # packet or time reordering threshold to reduce future spurious # retransmissions and loss events. Implementations with adaptive time # thresholds MAY choose to start with smaller initial reordering # thresholds to minimize recovery latency. [[spec]] level = "MAY" quote = ''' Implementations with adaptive time thresholds MAY choose to start with smaller initial reordering thresholds to minimize recovery latency. '''