The retransmission timeout (RTO) values used by Solaris are far too aggressive for wide area networks, although they can be considered appropriate for local area networks. Sun thus did not follow the suggestions mentioned in RFC 1122. Newer releases of the Solaris kernel are correcting the values in question:
The recommended upper and lower bounds on the RTO are known to be inadequate on large internets. The lower bound SHOULD be measured in fractions of a second (to accommodate high speed LANs) and the upper bound should be 2*MSL, i.e., 240 seconds.
Besides the retransmit timeout value two further parameters, R1 and R2, may be of interest. These don’t seem to be tunable via any Solaris interface that I know of:
The value of R1 SHOULD correspond to at least 3 retransmissions, at the current RTO. The value of R2 SHOULD correspond to at least 100 seconds.
However, the values of R1 and R2 may be different for SYN and data segments. In particular, R2 for a SYN segment MUST be set large enough to provide retransmission of the segment for at least 3 minutes. The application can close the connection (i.e., give up on the open attempt) sooner, of course.
Many internet servers that are running Solaris do retransmit segments unnecessarily often. The current condition of European networks means that a connection to the U.S. may take up to 2 seconds. All parameters mentioned in the first part of this section relate to each other!
As a starter, take this little ...