NNTP и nntpd Daemon Локальное


Различные команды позволяют клиентам принимать, посылать и отправлять по почте статьи. Различие между посылкой и отправкой в том, что последняя может включать статьи с незавершенной информацией заголовка. Поиск статьи может использоваться клиентом передачи новостей также, как программами чтения (newsreaders). Это делает NNTP превосходным средством для обеспечения доступа к новостям клиентам в локальной сети без применения NFS.

NNTP также обеспечивает активый и пассивный способы передачи новостей, которые называются "pushing" и "pulling". Выталкивание (pushing), в основном, представляет собой то же самое, что и C-News протокол ihave/sendme, который рассмотрен в главе 21). Клиент предлагает статью серверу через IHAVE msgid, а сервер возвращает код ответа, который указывает, имеет ли он уже эту статью, или она требуется. В последнем случае, клиент посылает статью, завершенную одиночной точкой в отдельной строке.

Выталкивание новостей имеет один недостаток: оно вызывает значительную загрузку сервера, так как он должен искать в базе данных хронологий каждую конкретную статью.

Противоположная методика: перемещать (pulling) новости. Клиент запрашивает список всех доступных статей группы, которые прибыли после заданной даты. Этот запрос выполняется командой NEWNEWS. Из возвращенного списка сообщений, клиент выбирает те статьи, которые он еще не имеет, используя команду ARTICLE для каждой из них.

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

Имеется также ряд команд для newsreaders, которые разрешают им отыскивать заголовок и тело статьи отдельно или даже находтьь коекретные строки заголовка из набора статей. Это дает возможность хранить все новости на центральной машине, используя nntp-основанные клиентские программы для чтения и регистрации. Это альтернатива экспорту каталогов новостей через NFS, который описан в главе 21.

Полная проблема NNTP состоит в том, что он позволяет хорошо осведомленному специалисту вставлять статьи в поток новостей с ложной спецификацией отправителя. Это называется news faking или spoofing. Расширение NNTP позволяет требовать установления подлинности пользователя для некоторых команд.

Имеется ряд доступных пакетов NNTP. Один из наиболее широко известных: NNTP daemon. Первоначально, он был написан Stan Barber и Phil Lapsley, чтобы проиллюстрировать подробности RFC-977. Вы можете найти его в большинстве дистрибутивов Linux, а также получить исходники и откомпилировать их.

Пакет nntpd состоит из сервера и двух клиентов для перемещения и выталкивания новостей, соответственно, и свою версию программы inews. Они живут в среде B-news, но с небольшими дополнениями, они будут работать с C-news. Однако, если Вы планируете использовать NNTP больше, чем для доступа newsreaders к серверу новостей, эта реализация недостаточна. Мы обсудим только NNTP daemon, содержащийся в пакете nntpd и не будем останавливаться на клиентских программах.

Если Вы желаете использовать большой сайт новостей, Вы должны рассмотреть пакет InterNet News (INN), который был написан Rich Salz. Этот пакет обеспечивает NNTP и UUCP-доставку новостей, что определенно лучше, чем nntpd. INN подробно рассматривается в главе 23.



Содержание раздела