Have a look at TCP Retransmission Behavior article on the MSDN site:
A number of registry values under the
HKEY_LOCAL_MACHINE\System\CurrentControlSetServices\Tcpip\Parameters registry key adjust the behavior of TCP retransmission:
The per-adapter value TcpInitialRtt controls the retransmission
timer. This timer identifies the number of milliseconds to wait for an
acknowledgment after the first transmission of a segment before
The TcpMaxConnectRetransmissions value indicates the maximum
number of retransmissions that can be sent for a new connection
The TcpMaxDataRetransmissions value indicates the maximum number
of retransmissions that can be sent on an existing connection. The
default is 5.
The retransmission time-out is adjusted on the fly to match the characteristics of the connection, using Smoothed Round Trip Time (SRTT) calculations… The retransmission time-out for a given segment is doubled after each retransmission of that segment.
According to this document the default value of TcpInitialRtt is 3 and TcpMaxConnectRetransmissions is 2.
So the default connection timeout is calculated like this:
3 + 3*2 + 3*2*2 = 21 seconds,
after you set TcpMaxConnectRetransmissions to 1 it becames:
3 + 3*2 = 9 seconds.