[e2e] TCP ssthresh setting after retransmission timeouts
Anil.Agarwal at viasat.com
Thu Jul 3 12:21:41 PDT 2003
If a TCP connection with cwnd = CWND segment experiences a retransmission
Rule 1: ssthresh is set to max(cwnd / 2, 2) segments and cwnd is set
to 1 segment or
Rule 2: ssthresh is set to max(FlightSize / 2, 2) segments and cwnd
is set to 1 segment as specified in RFC2581.
Most implementations seem to follow rule 1, including FreeBSD and NetBSD.
Q1. What happens if there is a second retransmission timeout without snd.una
having advanced? Rule 1 implies that ssthresh is set to 2 segments. Under
rule 2, the value of ssthresh will depend on the definition of FightSize. Is
FlightSize in this example equal to 1 or CWND segments? Depending on the
definition, under rule 2, sshthresh will be set to 2 or CWND/2 on this and
any subsequent retransmission timeouts. Which one is it?
Q2. Many publications imply that the window size is "halved" on each such
retransmission timeout, which sounds reasonable. I guess that really is not
I will appreciate if someone knowledgeable can clarify this issue.
ViaSat Brings Your Network to Life
More information about the end2end-interest