キープアライブ

キープアライブ (keepalive) とは、コンピュータネットワークにおいて、2つの装置間の接続が有効であることを確認し、また、接続が切断されるのを防止するために、装置間で定期的に送信される通信のことである。

概要
キープアライブは、あらかじめ決められた周期で相手装置宛に送信される。キープアライブを送信した後に相手装置からの応答が返って来ない、または、相手装置からのキープアライブが長時間送られて来ない場合、接続が切断されたと判断して、通信回線を閉じたり、再度接続し直すなどの処理を行う。

また、キープアライブ機能は、接続を維持することをインターネット基盤に明示的に示すのにも使われる。

HTTPキープアライブ

Hypertext Transfer Protocol (HTTP) は、クライアントとサーバの間の接続を維持するための明示的な手段をサポートしている。この機能は、HTTP 1.0では"Connection: Keep-alive"ヘッダを入れることで有効になったが、HTTP 1.1ではデフォルトで有効になっている。

TCPキープアライブ
Transmission Control Protocol (TCP) キープアライブは拡張機能であり、デフォルトでは無効になっている。キープアライブパケットは、空のデータを載せたパケットである。イーサネットでは、キープアライブパケットのフレーム長は60バイトであり、これに対する応答（これも空データである）は54バイトである。キープアライブに関するパラメータは以下の3つである。
 Keepalive time : 無通信状態になってから最初のキープアライブパケットを送信するまでの時間。可変値であり、デフォルトは2時間である。
 Keepalive interval : キープアライブパケットに対する応答がなかった場合の、次のキープアライブパケットを送信するまでの時間。
 Keepalive retry : キープアライブパケット送信の最大回数。この回数だけ送信を試行しても応答がなかった場合、通信を切断する。

関連項目
 ウォッチドッグタイマー
 UDPホールパンチング

脚注

コンピュータネットワーク