Dê uma olhada no artigo Comportamento de retransmissão de TCP no site do MSDN:
Vários valores de registro na chave de registro HKEY_LOCAL_MACHINE\System\CurrentControlSetServices\Tcpip\Parameters
ajustam o comportamento da retransmissão TCP:
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 retransmitting it.
The TcpMaxConnectRetransmissions value indicates the maximum number of retransmissions that can be sent for a new connection request.
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.
De acordo com este documento , o valor padrão TcpInitialRtt é 3 e TcpMaxConnectRetransmissions é 2 .
Portanto, o tempo limite de conexão padrão é calculado da seguinte forma: 3 + 3*2 + 3*2*2 = 21 seconds
,
depois que você definir TcpMaxConnectRetransmissions para 1, ele se tornará: 3 + 3*2 = 9 seconds
.