inetd 【internet daemon】
概要
inetd(internet daemon)とは、LinuxなどのUNIX系OSでよく利用される常駐プログラム(デーモン)の一つで、ネットワーク接続の待ち受けを行い、接続要求に応じて必要なデーモンを起動して処理を引き継ぐ「スーパーサーバ」と呼ばれる種類のデーモン。UNIX系OSでサーバを運用する場合、サービス(Web、Telnet、FTPなど)ごとに専門のデーモンが存在し、外部からの要求を受け付けて応答を返す。各サービスにはそれぞれTCPやUDPのポート番号が割り当てられており、デーモンはその番号への着信が無いか待ち受けている。
必要なサービスについて各デーモンが常にメインメモリ上に常駐して各々のポート番号で待ち受けると大量のメモリが必要となるため、inetdが全ポートの通信を監視し、着信があると対応するデーモンを呼び出して処理を引き継ぐという方式が用いられる。
標準では、どのサービスがどのポートで待ち受けるかは「/etc/services」という設定ファイルに、どのサービスをどのデーモンが担当するかは「/etc/inetd.conf」という設定ファイルにそれぞれ記述する。単純なサービスの場合はinetd自身が処理する場合もある。
デーモンが常時ポートを監視する場合に比べ、接続要求を一旦inetdが中継し、デーモンを起動するという処理が加わるため、一件ずつの処理で比較すると応答がもたつくことがある。WebサーバのTCP80番や443番のように頻繁に呼び出されるポートはinetdの管轄から外してデーモンが常駐して受け付けるという構成にすることもある。
(2021.12.6更新)