Keepalive
From Wikipedia, the free encyclopedia
| This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (September 2006) |
| This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (October 2008) |
A keepalive is a message sent by one device to another to check that the link between the two is operating.
Contents |
[edit] Description
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.
Since the only purpose is to find links that don't work, keepalive messages tend to be short and not take much bandwidth. However, their precise format and usage terms depend on the communication protocol.
[edit] HTTP Keepalive
Keepalive messages were not officially supported in HTTP 1.0. In HTTP 1.1 all connections are considered persistent, unless declared otherwise. However, the default keepalive timeout of Apache2 httpd is as little as 15 seconds.
[edit] TCP Keepalive
According to RFC 1122, TCP Keep-alives is an optional feature of the protocol, and if included must default to off.
There are three parameters related to keepalive, viz. Time, interval and retry.
Keepalive time is the duration between two keepalive transmission in idle condition. TCP keepalive period is required to be configurable and by default is set to no less than 2 hours.
Keepalive Interval is the duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received.
Keepalive Retry is the number of retransmissions to be carried out before declaring that remote end is not available.
Keepalive packet contains null data. In a TCP/IP over ethernet network, a keepalive frame is of 60 bytes, while acknowledge to this also null data frame and is of 54 bytes.

