Chapter 03 · Reliability, Loss Recovery, and Congestion Control Mechanics
Check your understanding
14 questionsself-scored · offline
Answer to check your grasp of Chapter 03. Multiple-choice and true/false questions score themselves and reveal an explanation; short-answer questions reveal a model answer. Nothing leaves your browser.
- Q1multiple choiceHow does a QUIC ACK frame report the packets a receiver has seen?WhyThe ACK frame lists a Largest Acknowledged plus a First ACK Range and Gap/Range pairs — selective by construction, like TCP SACK but built in. [§3.1, RFC 9000 §19.3]
- Q2true / falseA QUIC acknowledgment can later be reneged, the way a TCP SACK can.WhyQUIC acknowledgments are irrevocable: once a packet is acknowledged it stays acknowledged, so the sender can free that state permanently. [§3.1, RFC 9000 §13.2]
- Q3multiple choiceA packet is declared lost when it is unacknowledged, a later packet has been acknowledged, and:WhyLoss is inferred from acknowledgments via a packet threshold (kPacketThreshold = 3) OR a time threshold (9/8 x max(latest_rtt, smoothed_rtt)). [§3.1, RFC 9002 §6.1]
- Q4multiple choiceWhen the probe timeout (PTO) fires, the sender:WhyThe PTO sends ack-eliciting probes (which may even exceed cwnd); the ACK they elicit then drives normal loss detection. It is a prompt for information, not a retransmission by itself. [§3.2, RFC 9002 §6.2]
- Q5true / falseA PTO expiry immediately reduces the congestion window, like TCP's RTO.WhyA PTO does not touch the congestion window; only loss confirmed from the elicited ACK reduces it. A spurious timeout on a jittery path costs a probe packet, not a throughput collapse. [§3.2]
- Q6multiple choiceOn a congestion event, how does the default NewReno controller set the window?WhyMultiplicative decrease: ssthresh becomes half the window (kLossReductionFactor = 0.5) and cwnd drops to that, floored at kMinimumWindow (2 x max_datagram_size). [§3.3, RFC 9002 §7.3]
- Q7multiple choiceIn congestion avoidance, the window grows by roughly:WhyCongestion avoidance is additive increase — about one max_datagram_size per round trip — versus slow start's exponential growth (bytes acked). [§3.3, RFC 9002 §7.3.2]
- Q8true / falseAn ECN-CE mark is treated as a congestion event even though no packet was dropped.WhyECN lets the network signal congestion early; QUIC reacts to an increased ECN-CE count exactly as it would to loss, but without any data being lost. [§3.3, RFC 9002 §7.1]
- Q9multiple choicePersistent congestion causes the congestion window to:WhyIf a span covering at least kPersistentCongestionThreshold (3) PTOs was entirely lost, the sender concludes the path failed and cuts cwnd to kMinimumWindow, re-entering slow start. [§3.2, §3.3]
- Q10multiple choiceFor interactive media where a late copy of a frame is worthless, the best fit is:WhyDATAGRAM frames are congestion-controlled and encrypted but not retransmitted on loss, so the application decides whether to send a fresher version rather than the transport delivering stale data. [§3.4, RFC 9221 §5]
- Q11true / falseQUIC separates loss recovery from congestion control, so a controller like CUBIC or BBR can be swapped in without changing loss detection.WhyThe recovery machinery feeds the controller a fixed set of signals (bytes acked, loss, ECN-CE, RTT); the controller decides the rate. Swapping it changes the window response, not what QUIC measures. [§3.3, RFC 9002 §7]
- Q12multiple choiceIn a healthy recovery trace, the time between a loss and its retransmission should be close to:WhyThreshold-based detection reacts about one RTT after the loss (once a later packet is acknowledged). A PTO-length gap instead signals that acknowledgments stopped and threshold detection could not fire. [§3.5, §3.1]
- Q13short answerWhy does a QUIC PTO leave the congestion window untouched, unlike TCP's RTO which collapses it?Model answerQUIC treats the PTO purely as a prompt for information: on expiry it sends ack-eliciting probes to draw out an acknowledgment, and only loss that is then confirmed from that ACK reduces the window. So a spurious timeout on a jittery path costs a probe packet rather than a throughput collapse. TCP's RTO, by contrast, assumes loss and cuts the window to one segment on every timeout. [§3.2, RFC 9002 §6.2]
- Q14short answerYou capture a slow QUIC transfer. Name two signals from the sender's qlog that help distinguish a loss-limited connection from an RTT-limited one.Model answerThe congestion-window trajectory: a loss-limited connection shows a deep, frequent sawtooth (repeated halving on packet_lost events, sometimes pinned at kMinimumWindow), while an RTT-limited one has a healthy window that simply cannot fill a long path. The packet_lost / retransmission rate distinguishes them (high for loss-limited, near zero for RTT-limited), and smoothed_rtt shows whether the path itself is long. An application-limited case shows a window that never fills at all. [§3.5]