try entering a non-zero value in this field. The value is measured in seconds; so, for example, if your firewall cuts connections off after ten minutes then you might want to enter 300 seconds (5 minutes) in the box.
Note that keepalives are not always helpful. They help if you have a firewall which drops your connection after an idle period; but if the network between you and the server suffers from breaks in connectivity then keepalives can actually make things worse. If a session is idle, and connectivity is temporarily lost between the endpoints, but the connectivity is restored before either side tries to send anything, then there will be no problem - neither endpoint will notice that anything was wrong. However, if one side does send something during the break, it will repeatedly try to re-send, and eventually give up and abandon the connection. Then when connectivity is restored, the other side will find that the first side doesn't believe there is an open connection any more. Keepalives can make this sort of problem worse, because they increase the probability that PuTTY will attempt to send data during a break in connectivity. (Other types of periodic network activity can cause this behaviour; in particular, SSH-2 re-keys can have this effect. See
section 4.19.2
.)
Therefore, you might find that keepalives help connection loss, or you might find they make it worse, depending on what kind of network problems you have between you and the server.
Keepalives are only supported in Telnet and SSH; the Rlogin and Raw protocols offer no way of implementing them. (For an alternative, see
section 4.13.3
.)
Note that if you are using SSH-1 and the server has a bug that makes it unable to deal with SSH-1 ignore messages (see
section
4.26.1
), enabling keepalives will have no effect.
4.13.2 ‘Disable Nagle's algorithm’
Nagle's algorithm is a detail of TCP/IP implementations that tries to minimise the number of small data packets sent down a network connection. With Nagle's algorithm enabled, PuTTY's bandwidth usage will be slightly more efficient; with it disabled, you may find you get a faster response to your keystrokes when connecting to some types of server.
The Nagle algorithm is disabled by default for interactive connections.
4.13.3 ‘Enable TCP keepalives’
NOTE: TCP keepalives should not be confused with the application-level keepalives described in
section 4.13.1
. If in doubt, you
probably want application-level keepalives; TCP keepalives are provided for completeness.
The idea of TCP keepalives is similar to application-level keepalives, and the same caveats apply. The main differences are:
TCP keepalives are available on all connection types, including Raw and Rlogin.
The interval between TCP keepalives is usually much longer, typically two hours; this is set by the operating system, and cannot be configured within PuTTY.
If the operating system does not receive a response to a keepalive, it may send out more in quick succession and terminate the connection if no response is received.
TCP keepalives may be more useful for ensuring that half-open connections are terminated than for keeping a connection alive.
TCP keepalives are disabled by default.
4.13.4 ‘Internet protocol’
This option allows the user to select between the old and new Internet protocols and addressing schemes (IPv4 and IPv6). The selected protocol will be used for most outgoing network connections (including connections to proxies); however, tunnels have their own configuration, for which see
section 4.25.2
.
The default setting is ‘Auto’, which means PuTTY will do something sensible and try to guess which protocol you wanted. (If you specify a literal Internet address, it will use whichever protocol that address implies. If you provide a hostname, it will see what kinds of address exist for that hostname; it will use IPv6 if there is an IPv6 address available, and fall back to IPv4 if not.)
If you need to force PuTTY to use a particular protocol, you can explicitly set this to ‘IPv4’ or ‘IPv6’.
4.13.5 ‘Logical name of remote host’