Middleboxes that randomize TCP sequence numbers do not update the sequence numbers inside TCP SACK blocks; tracebox found two PlanetLab VPs with stateful seq-number randomizers that cycled approximately every 20 seconds. When SACK blocks reference sequence numbers outside the current window, the Linux TCP stack waits for a full RTO instead of fast-retransmitting, producing up to 50% throughput degradation in controlled measurements.
From 2013-detal-revealing — Revealing Middlebox Interference with Tracebox
· §3.3
· 2013
· Internet Measurement Conference
Implications
Implement application-layer sequence numbers or encryption-layer record ordering independent of TCP sequence integrity; do not rely on SACK for loss recovery in circumvention tunnels traversing untrusted middleboxes.
Monitor for sudden throughput drops (~50%) that may indicate seq-number mangling rather than congestion; a mismatch between retransmit rate and observed packet-loss rate is a diagnostic signal.