Keepalive

Uses your system voice; voice and rate in settings.

Snapshot

≈ 3 min read

Names in other languages

No names in other languages are held for this entry yet.

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

A keepalive (KA) is a message sent by one device to another to check that the link between the two is operating, or to prevent the link from being broken.

A keepalive (KA) is a message sent by one device to another to check that the link between the two is operating, or to prevent the link from being broken. ==Description== Once a TCP connection has been established, that connection is defined to be valid until one side closes it. Once the connection has entered the connected state, can theoretically remain connected indefinitely. In reality, the connection will not last indefinitely. Many firewall or NAT systems will close a connection if there has been no activity in some time period. The Keep Alive signal can be used to trick intermediate hosts to not close the connection due to inactivity. It is also possible that one host is no longer listening (e.g. application or system crash). In this case, the connection is closed, but no FIN (short for 'finish') was ever sent. In this case, a KeepAlive packet can be used to interrogate a connection to check if it is still intact. A keepalive signal is often sent at predefined intervals, and plays an important role on the Internet. After a signal is sent, if no reply is received, the link is assumed to be down and future data will be routed via another path until the link is up again. A keepalive signal can also be used to indicate to Internet infrastructure that the connection should be preserved. Without a keepalive signal, intermediate NAT-enabled routers can drop the connection after timeout. Since the only purpose is to find links that do not work or to indicate connections that should be preserved, keepalive messages tend to be short and not take much bandwidth. However, their precise format and usage terms depend on the communication protocol. ==TCP keepalive== Transmission Control Protocol (TCP) keepalives are an optional feature, and if included must default to off. ==Keepalive on higher layers== Since TCP keepalive is optional, various protocols (e.g. SMB and TLS ) implement their own keep-alive feature on top of TCP. It is also common for protocols which maintain a session over a connectionless protocol, e.g. OpenVPN over UDP, to implement their own keep-alive. ==Similar concepts== ===HTTP keepalive=== The Hypertext Transfer Protocol (HTTP) uses the keyword keep-alive in the Connection header to signal that the connection should be kept open for further messages (this is the default in HTTP 1.1, but in HTTP 1.0 the default was to use a new connection for each request/reply pair). Despite the similar name, this function is entirely unrelated. ==See also== ==References==

Text derived from https://en.wikipedia.org/w/index.php?oldid=1335153359 under CC BY-SA 4.0; modifications have been made.