Networking
TCP selective acknowledgment: range evidence and gap recovery
TCP selective acknowledgment reports received byte ranges. Follow out-of-order reception, a loss recovery scoreboard and decisions under explicit assumptions.

A receiver can have later bytes in hand while an earlier part of a TCP stream is still missing. A cumulative acknowledgment identifies how far the uninterrupted received prefix extends. By itself, it leaves the sender with limited information about data that arrived beyond the first gap.
TCP selective acknowledgment adds reports of received byte ranges. Those reports let a sender keep a more detailed account of reception and choose recovery actions with better evidence. They still do not give it an omniscient record of every packet's fate.
A sender deciding what to resend needs to preserve that distinction. A range that has been reported received is useful positive evidence. An unreported range can be missing, delayed, or omitted from the particular report. Turning that absence into a recovery decision requires a rule with additional assumptions.
Map out-of-order reception around an early gap
Use a hypothetical stream whose byte ranges are written with an included starting position and an excluded ending position. The range from zero to one thousand contains bytes before position one thousand. The next range begins at one thousand, so adjoining ranges can be joined without counting a boundary byte twice.
Suppose the receiver has the range from zero to one thousand and the later range from three thousand to five thousand. The interval from one thousand to three thousand is absent from its reception map at the observation time. Later data has arrived around that early gap.
Under the cumulative convention used here, the acknowledgment points to one thousand as the next position needed to extend the uninterrupted prefix. Receiving more data beyond the gap does not move that prefix forward until the missing interval is filled.
A selective report can additionally identify the range from three thousand to five thousand as received. The sender then has two different facts: the cumulative prefix reaches one thousand, and the receiver reports possession of a later interval. The report identifies received data without identifying the cause of the hole between those intervals.
TCP's application-facing stream remains ordered even when later ranges arrive first. The acknowledgment-clocking guide follows new delivery reports and when they permit replacement packets. Its sending-account view is a useful comparison for out-of-order reception: later received ranges and progress in the cumulative prefix are different facts. The presence of a later range does not mean the application receives it independently of earlier stream positions.
Compare cumulative progress with selective evidence
A sender that sees only the cumulative acknowledgment at one thousand knows where continuous progress stops under the stated convention. It cannot infer from that value alone that the later two thousand bytes were also received. Several different reception maps can produce the same cumulative boundary.
Adding the later range makes one of those distinctions explicit. The receiver has reported data beyond the gap, so a recovery policy can avoid treating the entire remaining tail as if no part of it had arrived. That can narrow the work the sender considers for retransmission.
Selective evidence also needs to be interpreted with its reporting boundary. A report that lists a range supplies information about that range. Unless the report is defined as a complete inventory, it does not prove that every unlisted range is absent from the receiver.
Reporting space and protocol rules can constrain what one message conveys. An explanation should therefore state whether an illustrative report is complete or partial. The examples here use explicit listed intervals; they never assume that silence about an interval establishes its loss.
Receipt of a later interval can occur without any advance in cumulative progress. A reported later interval can be useful while the cumulative boundary remains fixed. Both pieces of evidence are needed to describe a stream with a gap.
Update a loss recovery scoreboard without double counting
A loss recovery scoreboard records the sender's view of which outstanding byte ranges have been reported received and which still lack the relevant evidence. The exact state structure depends on the recovery model, but it should respect interval identity rather than count each repeated report as new data.
Begin with the cumulative prefix ending at one thousand and the reported interval from three thousand to five thousand. If the next feedback message repeats the same later interval, the scoreboard retains that interval. It does not add another two thousand received bytes to the account.
Now let a report describe a range from four thousand to six thousand. Combined with the previously recorded range, the reported coverage can extend from three thousand to six thousand. The overlap from four thousand to five thousand is counted once, and the new coverage extends the right boundary.
This combination assumes the receiver retains the reported data and that the scoreboard's model permits the accumulated evidence to be kept. If those assumptions do not hold, a sender cannot treat an old report as an unconditional permanent promise. State-retention requirements belong to the contract being used.
Suppose the early portion from one thousand to two thousand then arrives. The cumulative boundary can advance to two thousand, while the later coverage remains available under our retention assumption. The outstanding hole is now narrower: the interval from two thousand to three thousand still prevents the cumulative prefix from reaching the already reported later data.
A partial report can omit an earlier listed range. Under this example's retained-data contract, omission alone does not erase the recorded positive evidence. A rule that discards or invalidates it needs its own justification; it should not be smuggled in as the meaning of an absent field.
Reordering and loss can look alike at first
Imagine two histories that lead to the receiver map containing the prefix to one thousand and the later interval from three thousand to five thousand. In the first, the intervening data is still travelling and will arrive later. In the second, that data was lost on the path.
At the observation time, the receiver can produce the same cumulative and selective reports in both histories. Those reports describe what has arrived so far. They do not identify whether an absent interval is still progressing elsewhere in the network.
A sender considering retransmission therefore needs to distinguish the observation from its classification. The observation is a gap beside reported later data. The classification that the gap is sufficiently likely to need recovery comes from the recovery policy and its assumptions about ordering, elapsed time, or further progress.
The delayed history can later resolve when the original data fills the hole. The lost history needs another means of supplying the missing bytes if delivery is to continue. The fact that the two histories eventually differ does not make their earlier identical feedback distinguish them retrospectively at the earlier decision point.
A related uncertainty appears when a loss recovery scoreboard is considered alongside a retransmission timer. The related timing topic examines uncertain delays and ambiguous original/retransmitted-copy observations. A scoreboard supplies range evidence, while a timer supplies a waiting decision; neither should be described as direct proof that an unreported original can no longer arrive.
State the recovery rule before acting on the gap
For an illustrative policy, assume the receiver retains reported ranges and the sender observes two specified later-range progress events while an earlier gap remains unconfirmed. Stipulate that this sequence makes the earliest outstanding gap eligible for retransmission in our example. The event count is part of this invented policy, not a universal TCP requirement.
Under that rule, the sender can select the gap from one thousand to three thousand rather than blindly resend every byte after the cumulative boundary. The selective report supports the distinction between the gap and the later received range. The choice to act after those two progress events comes from the stipulated policy.
If the early portion to two thousand is newly acknowledged before the action is taken, the current account matters. The sender should reconsider the remaining gap using the updated state rather than resend a stale larger interval merely because it was listed earlier.
The delayed-data history can still make the recovery action unnecessary in hindsight. The rule chooses to act under uncertainty; it does not transform the current feedback into knowledge of every packet's location. Its suitability depends on whether its assumptions fit the traffic being considered.
Other recovery policies can use different evidence and thresholds. Comparing all named implementations would distract from the information boundary in this example. Separate the conclusions supported by received ranges from the actions selected by the recovery rule.
Read reports with their timing and retention conditions
Record each report's arrival alongside the data sent by that point. Later reports can change the map. Applying a current-looking summary to an earlier decision can give the sender information it did not possess at that time.
Similarly, the retention assumption should remain explicit throughout the trace. The model here accumulates reports on the understanding that the receiver keeps the corresponding data. Removing that premise changes which conclusions the scoreboard can safely support.
Keep the meaning of each byte boundary fixed throughout the trace. A range's ending position is excluded in the notation used here. Joining overlapping or adjacent intervals must preserve that meaning, or the account can invent coverage, double count bytes, or leave a false gap.
A receiver-range account must come from connection feedback, even when the traffic crosses identifiable networking equipment. The MSI RADIXAXE6600 tri-band Wi-Fi 6E router is described as a gaming router. That catalogue information supplies no received-byte map, report-arrival record or endpoint retention contract for the connection being analyzed.
The listing for the Nighthawk RS200 dual-band Wi-Fi 7 router says it has no cable modem built in. The hardware description does not identify why a byte-range hole exists. Distinguishing delayed data from lost data still requires traffic evidence and an explicit recovery policy.
TCP selective acknowledgment makes the reception account more informative. It gives positive evidence about listed ranges while leaving uncertainty about unreported data and its future arrival. Follow the cumulative boundary and selective coverage together, then apply the stated policy to the uncertainty that remains.