Сервер новостей

редактировать

A Сервер новостей - это набор программного обеспечения, используемого для обработки статей Usenet. Он также может относиться к самому компьютеру, который в основном или исключительно используется для работы с Usenet. Доступ к Usenet доступен только через провайдера сервера новостей.

Содержание
  • 1 Статьи и сообщения
    • 1.1 Заголовки и обзоры
  • 2 Атрибуты новостного сервера
    • 2.1 Скорость
    • 2.2 Размеры статьи
    • 2.3 Сохранение
    • 2.4 Завершение
  • 3 Работа сервера новостей
    • 3.1 Пиринг
    • 3.2 Спул
  • 4 Типа серверов
    • 4.1 Транзитный сервер
    • 4.2 Сервер чтения
    • 4.3 Гибридный сервер или сервер кэширования
  • 5 Ссылки
  • 6 См. Также
  • 7 Внешние ссылки
Статьи и сообщения

Конечные пользователи часто используют термин «публикация» для обозначения отдельного сообщения или файла, размещенного в Usenet. Для статей, содержащих простой текст, это синоним статьи. Для двоичного содержимого, такого как изображения и файлы, часто бывает необходимо разделить содержимое между несколькими статьями. Обычно за счет использования пронумерованных заголовков «Тема:» сообщения с несколькими статьями автоматически собираются в единый блок программой чтения новостей . Большинство серверов не различают одиночные и составные публикации, работая только на уровне отдельных статей-компонентов.

Заголовки и обзоры

Каждая новостная статья содержит полный набор строк заголовков, но обычно термин «заголовки» также используется при ссылке на Обзор новостей база данных. Обзор представляет собой список наиболее часто используемых заголовков и дополнительную информацию, такую ​​как размеры статей, обычно получаемые клиентским программным обеспечением с помощью команды NNTP XOVER . Обзоры ускоряют чтение группы новостей как для клиента, так и для сервера, устраняя необходимость открывать каждую отдельную статью для представления их в виде списка.

Если требуются не-обзорные заголовки, например, при использовании файла уничтожения, все же может потребоваться более медленный метод чтения всех полных заголовков статей. Многие клиенты не могут этого сделать и ограничивают фильтрацию тем, что доступно в сводках.

Атрибуты сервера новостей

Операторы и пользователи коммерческих серверов новостей постоянно обеспокоены растущими проблемами. требования к емкости хранилища и сети и их влияние. Завершение (способность сервера успешно принимать весь трафик), удержание (количество времени, в течение которого статьи становятся доступными для читателей) и общая производительность системы. В связи с возрастающими требованиями роли транзитного сервера и сервера считывания обычно подразделяются на системы нумерации, хранения и внешнего интерфейса. Эти фермы серверов постоянно контролируются как инсайдерами, так и посторонними, и измерения этих характеристик часто используются потребителями при выборе службы коммерческих новостей.

Скорость

Скорость по отношению к Usenet - это то, насколько быстро сервер может доставить статью пользователю. Сервер, к которому подключается пользователь, обычно является частью серверной фермы, в которой много серверов выделено для выполнения нескольких задач. Скорость передачи данных по ферме - это первое, что влияет на скорость доставки.

Скорость передачи данных по ферме может быть сильно затруднена из-за операций с жестким диском. Получение статьи и обзорной информации может вызвать серьезную нагрузку на жесткие диски. Для борьбы с этим были разработаны технология кэширования и системы хранения файлов цилиндрической формы.

Когда ферма может доставлять данные в сеть, поставщик имеет ограниченный контроль над скоростью для пользователя. Поскольку сетевой путь к каждому пользователю разный, у некоторых пользователей будут хорошие маршруты, и данные будут передаваться быстро. У других пользователей между ними и провайдером будут перегружены маршрутизаторы, что приведет к задержкам. Все, что может сделать провайдер в этом случае, - это попытаться переместить трафик по другому маршруту. Если ISP имеет ограниченное подключение к сети, изменения маршрутизации могут иметь незначительный эффект.

Часто пользователь может уменьшить влияние сетевых проблем, используя несколько соединений. Некоторые серверы допускают до 60 одновременных подключений, но это сильно зависит от поставщика.

Размеры статей

Размеры статей ограничены тем, что каждый сервер новостей будет принимать. Чем больше размер статьи, тем больше места она занимает и, следовательно, тем меньше статей на каждом сервере. Обычно это означает, что сервер может работать с меньшими накладными расходами, что делает сервер более эффективным, но дает меньше статей для пользователей.

Хранение

Хранение просто определяется как длительность сервера хранит статьи. Исторически сложилось так, что большинство пользователей хотят, чтобы срок хранения был достаточно долгим, чтобы им не приходилось обращаться к серверу каждый день, но не слишком долгое хранение, которое может перегружать пользователей с медленными компьютерами или сетевыми соединениями. В современную эпоху высокоскоростные соединения, большой объем хранилища и расширенные инструменты поиска позволяют пользователям использовать обширное хранение без каких-либо недостатков.

Удержание обычно указывается отдельно для текстовых и бинарных статей, хотя оно также может варьироваться между разными группами в этих категориях. Время сильно зависит от объема памяти, доступного на серверах, и постоянного увеличения трафика. По данным на 2009 г., средние поставщики новостей обычно имеют срок хранения текста более 1000 дней и двоичного хранения более 200 дней. Крупные поставщики новостей предлагают хранение текста до 2480 дней и хранения двоичных файлов до 850 дней и более. Важно понимать, что время хранения различается для разных групп новостей в текстовых и двоичных категориях. HW Media от Omicron в настоящее время является сервером Usenet с наибольшим объемом хранения двоичных данных, а Google - сервером Usenet с наибольшим объемом хранения текста.

Конечным пользователям может быть сложно точно измерить срок хранения сервер. Один из распространенных методов - изучить самые старые статьи в группе и проверить дату, но это не всегда точно. Некоторые статьи в группе могут храниться дольше, чем другие, статьи с удаленных серверов не всегда приходят вовремя, а иногда заголовки даты просто неверны. Для обнаружения таких аномалий требуется выборка из многих или всех статей, желательно в нескольких группах новостей.

Серверы новостей не имеют неограниченного хранилища, и из-за этого они могут хранить сообщения только в течение определенного периода времени, прежде чем они должны будут удалить их, чтобы освободить место для новых сообщений. Это особая проблема двоичных групп новостей, которые передают большие объемы статей.

Для серверов новостей, предоставляемых поставщиками услуг Интернета как часть пакета подписки пользователя, типичный срок хранения обычно составляет всего 2–4 дня. Чтобы справиться с увеличением трафика Usenet, многие провайдеры обращаются к гибридной системе, в которой старые статьи, не найденные на сервере провайдера, будут запрашивать статью с другого сервера с более длительным хранением.

Завершение

Учитывая большое количество статей, передаваемых между серверами, и большой размер отдельных статей, их полное распространение на любую одну ферму серверов не гарантируется. Термин «завершение» используется для описания того, насколько хорошо служба справляется с трафиком.

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

Один из способов измерить завершенность - это доступ к нескольким серверам и получение списков статей. Поскольку заголовки Message-ID: номинально уникальны во всей сети, сравнение списков в большинстве случаев является простой задачей. Практические ограничения этого типа измерения включают невозможность получения списков со всех серверов по всему миру, тот факт, что многие серверы отфильтровывают спам или применяют смертные казни Usenet, и что некоторые серверы маскируют незавершенность. скрывая составные двоичные наборы с недостающими статьями. Также необходимо учитывать время распространения и удерживание; статья могла просто еще не прибыть на данный сервер, или она могла присутствовать, но уже просрочена.

Работа сервера новостей

Пиринг

Все серверы Usenet взаимодействуют с один или несколько других серверов для обмена статьями. Иногда появляются новые серверы. Хотя существует несколько веб-ресурсов, которые могут помочь в поиске сверстников, лучшим ресурсом является группа новостей news.admin.peering (портал групп Google).

С 2020 года текстовые каналы обычно могут можно получить бесплатно, в то время как полные двоичные каналы могут быть бесплатными или платными (в зависимости от того, сколько статей каждый сервер отправляет другому). Из-за большого количества данных в полном двоичном + текстовом фиде Usenet (может достигать 30 терабайт в день) и высокой стоимости передачи этих данных через провайдера IP-транзита, такого как Cogent, Telia или Zayo, большинство провайдеров Usenet будут участвовать в бинарном пиринге только тогда, когда они подключены к Интернет-обмену, например AMS-IX, SIX, или DeCIX.

Спул

Когда сервер хранит тело статьи, он помещает его в область хранения на диске, обычно называемую «спулой». Существует несколько распространенных способов организации спула:

  • Один файл на статью - это самая старая схема хранения, которая до сих пор широко используется на небольших серверах и реплицируется на многих клиентах. Его производительность является прямой функцией способности базовой операционной системы создавать, удалять и находить файлы в каталоге, и часто этой схемы недостаточно, чтобы не отставать от современного трафика Usenet. Однако он обеспечивает максимальную гибкость в управлении объемом и расположением хранилища, используемого сервером. Почти все текущее программное обеспечение, использующее эту схему, хранит статьи с использованием макета B News 2.10.
  • Циклическое хранение становится все более распространенным с 1990-х годов. В этом методе хранения статьи добавляются последовательно к большим индексированным файлам-контейнерам. Когда достигается конец файла, новые статьи записываются в начало файла, перезаписывая самые старые записи. На некоторых серверах эта перезапись не выполняется, а вместо этого создаются новые файлы-контейнеры, а старые удаляются. Основные преимущества этой системы включают предсказуемые требования к хранилищу, если используется схема перезаписи, и некоторая свобода от зависимости от базовой производительности операционной системы. Однако существует меньшая гибкость для сохранения статей по возрасту, а не по используемому пространству, а традиционные инструменты обработки текста, такие как grep, менее подходят для анализа этих файлов. Определенную степень контроля долговечности статей можно осуществить, направив подмножества групп новостей на определенные наборы файлов-контейнеров.
  • В некоторых случаях реляционная база данных или аналогичная раньше содержал катушку. Это чаще всего наблюдается с программным обеспечением Интернет-форум, которое также предлагает интерфейс NNTP.
  • Некоторые серверы, такие как INN, позволяют использовать несколько схем хранения одновременно. В серверах новостей также использовались различные гибридные схемы хранения, в том числе различные организации, использующие метод «файл на статью», или контейнеры меньшего размера, вмещающие около 100 статей каждая.
Типы серверов

Сервер чтения обеспечивает интерфейс для чтения и публикации статей, как правило, с помощью новостного клиента . Транзитный сервер обменивается статьями с другими серверами. Большинство серверов могут обеспечивать обе функции.

Транзитный сервер

Современные транзитные серверы обычно используют NNTP для постоянного обмена новостями через Интернет и аналогичные постоянные соединения. В прошлом серверы обычно использовали протокол UUCP, который был разработан для прерывистых коммутируемых соединений. Другие специальные протоколы, в том числе электронная почта, встречаются реже. Серверы новостей обычно подключаются к нескольким одноранговым узлам, а избыточность помогает распределить нагрузку и гарантировать, что статьи не потеряны. Меньшие сайты, называемые конечными узлами, подключены к еще одному крупному серверу.

Статьи маршрутизируются на основе информации, содержащейся в строках заголовков, определенных в RFC 1036. Особый интерес для транзитного сервера представляют:

  • Message-ID - глобально уникальный ключ
  • Группы новостей - список из одной или нескольких групп новостей, для которых предназначена статья появляются
  • Распространение - (необязательно) дополнение к группам новостей, используемое для ограничения распространения статей.
  • Дата - время создания статьи
  • Путь - список серверы, через которые статья прошла на пути к локальному серверу
  • Срок действия истекает - (необязательно) время, когда запрашивается удаление статьи
  • Утверждено - (необязательно) указывает статью, которая был принят для модерируемой группы новостей
  • Контроль - (необязательно) содержит командные запросы

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

Принимающий сервер проверяет входящие статьи. Сообщение обычно отбрасывается, если идентификатор сообщения дублируется уже полученной статьей (т. Е. Другой сервер отправил его тем временем), строки Date или Expires указывают на то, что статья слишком старая, синтаксис заголовка кажется недопустимым, заголовок "Утверждено" отсутствует для модерируемой группы новостей, или дополнительные местные правила запрещают его. Большинство серверов также поддерживают список активных групп новостей. Если заголовок группы новостей новой статьи не соответствует активному списку, он может быть удален или помещен в специальную группу новостей. После сохранения статьи сервер пытается повторно передать ее на любой сервер в своем собственном списке каналов новостей.

Статьи с контрольными строками подвергаются особой обработке. Обычно они помещаются в специальные «контрольные» группы новостей и могут заставлять сервер автоматически выполнять исключительные действия. Команды newgroupи rmgroupмогут вызывать создание или удаление групп новостей; контрольные группымогут использоваться для согласования локального активного списка с общепринятым набором; и cancelкоманды используются для запроса удаления конкретной статьи. ihaveи sendmeиногда используются с UUCP для передачи списков предлагаемых и желаемых идентификаторов сообщений. Другие команды (версия, sentysи uuname) представляют собой запросы деталей конфигурации сервера. Когда-то использовавшиеся для создания сетевых карт, теперь они, как правило, устарели.

Сервер чтения

Сервер чтения - это тот сервер, который делает статьи доступными на иерархическом диске формат каталога, созданный B News 2.10, или предлагает команды NNTP или IMAP для использования программами чтения новостей. Сервер чтения обычно также работает как транзитный сервер, но он может работать независимо или служить альтернативным интерфейсом для Интернет-форума. При получении новостей сервер этого типа должен выполнять дополнительные шаги по занесению статей в группы новостей и присвоению порядковых номеров внутри каждой группы. Обычно добавляется строка Xref, в которой перечислены все группы, в которых появляется сообщение, и порядковые номера. В отличие от идентификаторов сообщений, количество и порядок статей на каждом сервере будут отличаться; но связанные серверы могут принудительно согласиться, работая в подчиненном режиме, повторно используя строки внешних ссылок своих братьев и сестер. Серверы чтения обычно также поддерживают базу данных Обзор новостей (NOV), которая позволяет программам чтения новостей быстро получать сводки сообщений и представлять сообщения в виде цепочек.

Большинство серверов чтения поддерживают отправку сообщений через NNTP или специальная программа inews. Когда статья публикуется, процесс во многом такой же, как когда транзитный сервер получает новости, но с дополнительными проверками. Для публикации сервер обычно заполняет отсутствующие строки Path и Message-ID и проверяет синтаксис заголовков, предназначенных для чтения людьми, таких как From и Subject. Если статья размещена в модерируемой группе, сервер попытается отправить ее модератору группы новостей, если заголовок «Утверждено» отсутствует. На этом этапе также обычно применяются дополнительные проверки личности и фильтры.

Гибридный или кэширующий сервер

Небольшие сайты с ограниченной пропускной способностью сети могут использовать «всасывающие» или кэш-серверы. Они выполняют ту же роль сервера чтения, что и обычные серверы новостей, но сами действуют как программы чтения новостей для обмена статьями с другими серверами чтения. Гибридные серверы обеспечивают большую гибкость для оператора сервера в том, что полученные группы могут быть настроены без ручного вмешательства оператора. Они также могут быть единственными доступными средствами для получения статей с удаленных серверов, которые не предлагают традиционное кормление.

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

Ссылки
См. Также
  • Список серверов новостей
Внешние ссылки
Последняя правка сделана 2021-05-31 07:35:09
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте