inetd (inetd)

Перейти к навигации Перейти к поиску

Inetdдемон, запускающий по необходимости некоторые другие сетевые серверные процессы.

Функционирование

[править | править код]

Inetd запускается при старте системы, читает файл конфигурации и начинает прослушивать указанные TCP и UDP порты. После того, как будет установлено новое соединение, дескриптор полученного сокета дублируется в три новых, с номерами 0,1 и 2 (стандартные потоки ввода, вывода и сообщений об ошибках) и запускается программа, обрабатывающая данный запрос. Эта технология позволяет упростить серверные процессы за счёт того, что часть кода вынесена в inetd (не требуется устанавливать сетевые соединения, программа работает со стандартными потоками ввода-вывода) и уменьшить количество одновременно запущенных процессов на малонагруженном сервере. Однако, при сильной загрузке сервера inetd ухудшает производительность системы и поэтому обычно не используется. В этом случае каждый серверный процесс является отдельным демоном, самостоятельно принимающим и обрабатывающим поступающие запросы.

Для фильтрации входящих соединений в файле конфигурации inetd, вместо непосредственно запускаемого процесса, можно указывать промежуточный обработчик tcpd, который проверяет допустимость обращения с данного адреса к указанному сервису и, при успешной проверке, запускает обработчик запроса.

В новых дистрибутивах операционных систем inetd заменяется на расширенную версию — xinetd.

Литература

[править | править код]
  • Bozidar Levi. 15.5 Super Internet Server // UNIX Administration: A Comprehensive Sourcebook for Effective Systems & Network Management. — CRC Press, 2002. — Vol. 2. — 768 p. — ISBN 9781420000030.
  • W. Richard. Stevens. 13.5 inetd Daemon // UNIX Network Programming / Bill. Fenner, Andrew M Rudoff. — Addison-Wesley Professional, 2004. — Vol. 1. — 991 p. — ISBN 9780131411555.