LinuCレベル3 プラットフォームスペシャリスト プラットフォームの最適化 問8
プラットフォームの最適化/カーネルパラメータによるネットワーク最適化TCPキープアライブに関するカーネルパラメータの説明として、正しいものをすべて選べ。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「プラットフォームの最適化」に対応。実際の試験問題ではありません)
- Atcp_keepalive_timeは、最後にデータをやり取りしてから最初のキープアライブプローブを送るまでの秒数である
- Btcp_keepalive_probesは、応答が無いまま送るプローブの回数で、超えると接続は切断されたとみなされる
- Cこれらの値はSO_KEEPALIVEを有効にしていないソケットにも適用され、全TCP接続が自動的に監視される
- Dtcp_keepalive_intvlは、キープアライブを使う接続でアプリケーションがデータを送る最小間隔を指定する
正解:A、B
解説
TCPキープアライブは、無通信のまま相手が消えた接続を検出する仕組みです。net.ipv4.tcp_keepalive_time(既定7200秒)の間やり取りが無いと最初のプローブを送り、応答が無ければnet.ipv4.tcp_keepalive_intvl(既定75秒)ごとに再送し、net.ipv4.tcp_keepalive_probes(既定9回)応答が無ければ接続を切断します。これらはSO_KEEPALIVEオプションを有効にしたソケットにだけ適用されます。ロードバランサーやファイアウォールが無通信の接続を先に切ってしまう環境では、tcp_keepalive_timeを短くして対処することがあります。
選択肢ごとの解説
- A正しい。tcp_keepalive_timeは無通信の状態が続いてから最初のプローブを送るまでの時間です。
- B正しい。tcp_keepalive_probesは、応答が無いまま送るプローブの回数で、これを超えると接続が切断されます。
- C誤り。キープアライブはSO_KEEPALIVEを有効にしたソケットだけが対象で、すべての接続が自動的に監視されるわけではありません。
- D誤り。tcp_keepalive_intvlは、応答が無いときにプローブを再送する間隔です。アプリケーションのデータ送信には関係しません。