LinuCレベル3 プラットフォームスペシャリスト プラットフォームの最適化 問4
プラットフォームの最適化/カーネルパラメータによるネットワーク最適化Linuxカーネルのネットワーク関連パラメータに関する説明として、正しいものをすべて選べ。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「プラットフォームの最適化」に対応。実際の試験問題ではありません)
- Anet.ipv4.tcp_tw_reuseは、TIME_WAIT状態のソケットを即座に破棄し、TIME_WAIT状態そのものを無効化するパラメータである
- Bnet.ipv4.tcp_max_syn_backlogは、3ウェイハンドシェイクが完了した接続のaccept待ちキューの長さを決めるパラメータである
- Cnet.core.somaxconnは、listen()したソケットのaccept待ちキューの最大長を決めるパラメータである
- Dnet.ipv4.ip_local_port_rangeは、送信元ポートとして自動的に割り当てられるポート番号の範囲を決めるパラメータである
正解:C、D
解説
net.core.somaxconnはlisten()したソケットのaccept待ちキュー(完了済みキュー)の最大長を、net.ipv4.ip_local_port_rangeはアウトバウンド接続の送信元ポートに自動的に割り当てられる範囲を決めます。net.ipv4.tcp_tw_reuseはTIME_WAIT状態のソケットを条件付きで新しい接続に再利用できるようにするもので、TIME_WAITを無効化するものではありません。net.ipv4.tcp_max_syn_backlogはハンドシェイク途中(SYN_RECV)の接続を保持するキューの長さで、完了済みの接続を保持するキューとは別物です。
選択肢ごとの解説
- A誤り。tcp_tw_reuseは条件を満たす場合にTIME_WAIT状態のソケットを新しい接続へ再利用できるようにするもので、TIME_WAIT自体を無くす設定ではありません。
- B誤り。tcp_max_syn_backlogはハンドシェイク途中(SYN_RECV状態)の接続を保持するキューの長さで、完了済み接続のキューはsomaxconnの側です。
- C正しい。net.core.somaxconnはaccept待ちキューの最大長を決めるパラメータです。
- D正しい。net.ipv4.ip_local_port_rangeは自動割り当てされる送信元ポートの範囲を決めるパラメータです。