Передача новостей
В компьютерных сетях актуальной является не только задача оперативного обмена данными, но и тиражирования электронных сообщений для совместного использования информации различной тематики. Системы новостей, предназначенные для решения этой задачи, обеспечивают распространение посланных по каждой теме электронных статей всем подписавшимся на эту тему пользователям сети.
В системах новостей используются два основных метода тиражирования:
-
отправка статей по спискам рассылки;
-
использование распределенной базы новостей, статьи из которой пользователи получают сами.
В первом случае серверы тиражирования хранят у себя списки адресов подписчиков на статьи по различным темам. При необходимости тиражирования какой-либо статьи по определенной тематике пользователь отправляет данную статью в виде сообщения электронной почты по адресу соответствующего сервера. Тот, в свою очередь, рассылает копии данной статьи непосредственно по электронным адресам пользователей, подписавшихся на указанную в статье тему. Тиражирование статей на основе списков рассылки становится неэффективным при росте количества подписчиков. Это связано, прежде всего, со сложностью поддержания списков рассылки в актуальном состоянии, а также дополнительными требованиями по надежности функционирования серверов, осуществляющих рассылку.
Указанный недостаток устраняется при тиражировании путем использования распределенной базы новостей, статьи из которой пользователи получают сами. Данный способ тиражирования положен в основу службы USENET, являющейся наиболее популярной в сети Internet и ставшей общепризнанным стандартом для систем новостей.
Служба USENET изначально ориентирована на работу в архитектуре "клиент-сервер" и позволяет поддерживать базы новостей, распределенные между несколькими серверами с возможностью автоматической репликации вновь поступающих сообщений. Для взаимодействия серверов новостей друг с другом, а также клиентов с серверами был разработан протокол NNTP (Network News Transport Protocol — протокол передачи сетевых новостей).
В USENET используется формат и способ адресации сообщений, совпадающий с принятыми в SMTP-системах. Информация, специфическая для службы новостей, указывается в расширенных полях заголовка сообщения. Это позволяет разрабатывать клиентские программы для чтения почты и новостей на основе единого кода, а также использовать существующие сети SMTP для получения новостей в тех местах, где непосредственный доступ к серверу новостей по каким-либо причинам невозможен. Кроме того, применяются служебные сообщения, предназначенные для обмена управляющей информацией между серверами новостей. Благодаря служебным сообщениям упрощается процесс автоматического создания и удаления тематических групп новостей, а также ликвидации устаревших статей.
Вся информация, хранимая в USENET, представляется единым иерархическим деревом, организованным по тематическому признаку. В этом смысле USENET выступает в роли тематического каталога, содержащего мнения людей на ту или иную тему. Статьи, объединенные общей тематикой, помещаются в тематические группы, называемые группами новостей. Группы новостей, в свою очередь, могут содержаться внутри других групп, образовывая тематические иерархии. Каждый уровень иерархии называется категорией. В рамках категории группа имеет уникальное имя. Полное характерное имя группы получается последовательным добавлением слева направо имен категорий при движении вниз от корня по дереву иерархии. Имена категорий разделяются точкой. Например, имя relcom.сотр.security соответствует группе новостей по компьютерной безопасности (comp.security) русскоязычной сети Relcom.
Иерархии или их отдельные ветви реплицируются между серверами новостей, образующими пространство USENET. В качестве единицы репликации выступает отдельная статья. При репликации используется схема издатель-подписчик. Каждый сервер USENET может быть подписан на некоторое подмножество групп, предоставляемых другими серверами. Одновременно он может публиковать некоторое подмножество групп, расположенных непосредственно на нем, в том числе группы, получаемые по подписке.
В терминах USENET репликация именуется заполнением (feed). В зависимости от того, какой сервер выступает инициатором этого процесса, различают два типа заполнения:
О вытягивание (pull feed), когда сервер, ожидающий поступления новых статей, сам обращается к своему издателю;
О проталкивание (push feed), когда сервер, имеющий у себя новые статьи, производит попытку передать их подписчику.
Еще одним немаловажным моментом службы USENET является возможность создания модерированных групп новостей. В модерируемой группе каждое новое сообщение автоматически перенаправляется лицу, выполняющему роль цензора или модератора. Если сообщение не противоречит уставу конференции и одобрено модератором, оно становится публично доступным для прочтения. В противном случае — просто удаляется.
Поскольку служба новостей изначально создавалась как средство ведения хранилища публично доступной информации, в ней не были предусмотрены функции назначения и проверки прав доступа на отдельные ветви каталога. Большинство существующих служб новостей способны выполнить лишь однократную проверку имени и пароля пользователя при установлении соединения с сервером, после удачного завершения которой все статьи становятся доступны клиенту. Кроме того, не предусмотрена возможность авторизации серверов и служебных сообщений. Как следствие этого, массовое применение USENET оправдано только для организации публичных групп новостей с анонимным режимом доступа.
Возможностями надежной проверки подлинности пользователей и разграничения их доступа к статьям по темам обладают системы электронной почты и новостей, специально разработанные для корпоративных сетей, например, система Microsoft Exchange, которая совместима со службой новостей USENET.
