3. The Phases of CC Using Careful Resume
Careful Resume uses a sequence of phases so a sender can benefit from saved path knowledge without overwhelming a shared bottleneck.
| Phase | Role | Key exits or actions |
|---|---|---|
| Observing | Save CC parameters for a Remote Endpoint | MUST NOT retain more than one set; SHOULD update or replace later observations |
| Reconnaissance | Confirm the saved path while using normal CC | stop on congestion, path change, expired Lifetime, reused saved_cwnd, or minimum RTT <= saved_rtt / 2 |
| Unvalidated | Tentatively jump CWND using paced transmission | jump_cwnd <= Min(max_jump, saved_cwnd/2); all packets MUST use pacing based on current RTT |
| Validating | Check whether unvalidated packets arrived without congestion | enter Safe Retreat on packet loss or ECN-CE; exit after last unvalidated packet is acknowledged |
| Safe Retreat | Recover safely after congestion from unvalidated packets | delete saved parameters; CWND <= PipeSize/2; CWND MUST NOT increase; ssthresh <= PipeSize * Beta |
If the sender detects congestion in Reconnaissance, it MUST continue normal CC. If another connection has already started using the saved_cwnd, the sender MUST exit Careful Resume. If the Remote Endpoint does not match, local stack signals a path change, Lifetime is exceeded, or the measured minimum RTT is less than or equal to saved_rtt / 2, the sender MUST stop using Careful Resume.
The sender MAY enter the Unvalidated Phase only after ACKs confirm all initial data, usually the IW, without reported congestion. If Unvalidated transmission completes or an ACK for an unvalidated packet arrives, the sender evaluates whether to validate or return to normal CC. If flight_size is below IW or no greater than PipeSize, CWND is reset to PipeSize and the sender returns to normal CC. Otherwise, CWND MUST be set to flight_size and the sender enters Validating. On leaving Safe Retreat, ssthresh MUST be set no larger than PipeSize * Beta, where the default Beta is 0.5 and CUBIC defines Beta__cubic as 0.7.