キープアライブ

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

概要

[編集]

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

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

HTTPキープアライブ

[編集]

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

TCPキープアライブ

[編集]

Transmission Control Protocol (TCP) キープアライブは拡張機能であり、デフォルトでは無効になっている[2]。キープアライブパケットは、空のデータを載せたパケットである。イーサネットでは、キープアライブパケットのフレーム長は60バイトであり、これに対する応答(これも空データである)は54バイトである[3]。キープアライブに関するパラメータは以下の3つである。

  • Keepalive time : 無通信状態になってから最初のキープアライブパケットを送信するまでの時間。可変値であり、デフォルトは2時間である。
  • Keepalive interval : キープアライブパケットに対する応答がなかった場合の、次のキープアライブパケットを送信するまでの時間。
  • Keepalive retry : キープアライブパケット送信の最大回数。この回数だけ送信を試行しても応答がなかった場合、通信を切断する。

関連項目

[編集]

脚注

[編集]
  1. ^ HTTP Keep Alive discourse by Jim Driscoll”. 2010年8月13日時点のオリジナルよりアーカイブ。2013年11月8日閲覧。
  2. ^ Requirements for Internet Hosts - Communication Layers”. IETF (October 1989). November 8, 2013閲覧。
  3. ^ File Session Traffic”. Microsoft TechNet. November 6, 2013閲覧。