A technique that addresses the problem of a TCP connection's throughput being very vulnerable to early losses implements a pair of controls around ssthresh. A first control is a loss forgiveness mechanism that applies to the first n-loss events by the TCP connection. Generally, this mechanism prevents new TCP connections from ending slow-start and becoming conservative on window growth too early (which would otherwise occur due to the early losses). The second control is a self-decay mechanism that is applied beyond the first n-losses that are handled by the first control. This mechanism decouples of ssthresh drop from cwnd and is thus useful in arresting otherwise steep ssthresh drops. The self-decay mechanism also enables TCP to enter/continue to be slow-start even after fast-recovery from a loss event.
展开▼