Глава 17 Сетевые новости

17.1 Введение

Ежедневно через сетевые новости (Usenet News) Интернета распространяется самая свежая информация о науке, технологии, компьютерах, экономике, спорте, музыке, образовании и т.д. Группы новостей (news group) подобны службам электронных досок объявления (bulletin-board). Новости доступны в форме статей (articles), которые посылаются в соответствующую группу.

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

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

Приложения для работы с новостями обеспечивают возможности, далеко выходящие за рамки исходных досок объявления Интернета. Такие приложения часто используются организациями для публикации внутренней информации. Можно сказать, что такие программы изменили обычный издательский бизнес. Публикации на информационных серверах крупнейших агентств новостей, подобных АР, UPI или Рейтер, доставляются своим подписчикам через протокол работы с новостями Интернета.

17.2 Иерархия групп новостей Интернета

Уже созданы тысячи групп новостей Интернета. Каждая из них имеет имя, отражающее тематику группы. Имена групп организованы в древовидную структуру (см. рис. 17.1).

Рис. 17.1. Иерархия групп новостей

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

rec.sport.basketball.college

17.3 Агенты новостей

Как и пользовательские агенты, позволяющие получать и отправлять почтовые сообщения, агенты новостей (news agent) разрешают пользователям подписываться на группы новостей, читать статьи из групп и публиковать собственные статьи в группе.

17.4 Модель новостей

Клиентский процесс новостей взаимодействует с сервером сетевых новостей по протоколу пересылки сетевых новостей (Network News Transfer Protocol — NNTP). Клиентский процесс может размещаться в агенте новостей конечного пользователя или на сервере новостей того же уровня. Протокол NNTP обеспечивает следующие возможности:

■ Сервер новостей может получать новости от другого сервера новостей.

■ Клиентский агент новостей может получать новости от сервера новостей.

■ Клиентский агент новостей может публиковать статьи на сервере новостей.

На рис. 17.2 показано, как клиент извлекает новости из сервера по протоколу NNTP, а серверы обмениваются новостями по этому же протоколу.

Рис. 17.2. Запрос и обмен новостями

17.5 Сценарий NNTP

Как и SMTP, протокол NNTP работает поверх сеанса telnet в режиме NVT. Показанный ниже диалог демонстрирует взаимодействие по пересылке новостей. В данном случае клиент:

■ Соединяется с сервером

■ Запрашивает у сервера список поддерживаемых команд

■ Запрашивает список групп новостей, которые были созданы после 23 октября 1995 г.

■ Обращается к группе новостей news.answers

■ Читает статью из этой группы

200 yale InterNetNews NNRP server INN 1.4 
Сервер идентифицирует себя и указывает

22-Dec-93 ready (posting ok)        
на возможность публикации статей.

help

100 Legal commands             
Поддерживаемые на сервере команды

 authinfo user Name|pass Password

 article [MessageID|Number]

 body [MessageID|Number]

 date

 group newsgroup

 head [MessageID|Number]

 help

 ihave

 last

 list

  [active|newsgroups|distributions|schema]

 listgroup newsgroup

 mode reader

 newgroups yymmdd hhmmss ["GMT"]

 []

 newnews newsgroups yymmdd hhmmss ["GMT"]

 []

 next

 post

 slave

 stat [MessageID|Number]

 xgtitle [group_pattern]

 xhdr header [range|MessageID]

 xover [range]

 xpat header range|MessageID pat [morepat...]

 xpath xpath MessageID

Report problems to 

.

newgroups 951023 010000          
Эта команда запрашивает список групп

новостей, созданных после 23 октября 1995 г. (с часу ночи)

231 New newsgroups follow.

rec.music.iranian 14 1 y

soc.atheism 0 1 m

soc.culture.jewish.parenting 1 1 m

soc.culture.rep-of-georgia 3 1 y


newnews news.answers 951020 110101     
Документы FAQ (часто задаваемые

вопросы) публикуются в news.answers и содержат сведения по различной тематике. Команда запрашивает список новых FAQ, опубликованных после 20 октября 1995 г. (от 11:01).

230 New news follows

@rtfm.mit.edu>

@rtfm.mit.edu>               
Выводится очень большой список.

@rtfm.mit.edu>

. . .                   
Показывает подмножество списка.

@frc2.frc.ri.cmu.edu>

. . .

@rtfm.mit.edu>

@rtfm.mit.edu>

. . .

<461fkk$lt2@cst715.iac.honeywell.com>

<461flf$lt2@cst715.iac.honeywell.com>

. . .

.

group news.answers             
Переход к группе news.answers.

211 321 52807 53147 news.answers

Article                  
Запрос просмотра статьи.

<461fkk$lt2@cst715.iac.honeywell.com>   
Это длинный заголовок.

220 0 article               
Домашним хостом для группы служит

iac.honeywell.com.

<461fkk$lt2@cst715.iac.honeywell.com>

Path:

yale!yale.edu!spool.mu.edu!

 howland.reston.ans.net!newsfeed.

 internetmci.com

!in2.uu.net!news.iac.honeywell.comldwe

From: dwe@eng.iac.honeywell.com (Dave Eaton)

. . .

Archive-name:

 sw-config-mgmt/cm-tools

Last-modified: 1995/10/25

Version: 2.5                
Наконец добрались до начала статьи.

Posting-Frequency: monthly

.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

Configuration Management Tools Summary

.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

This is the newsgroup comp.

Software.config-mgmt

"Frequently Asked Questions"

(FAQ) posting of a Software

Configuration Management tools summary.

This is part 2 of the 3 part FAQ.

( ... и т.д.)

.                     
Конец статьи обозначен строкой,

содержащей только символ точки.

Quit                    
Конец сеанса.

205

Connection closed by foreign host.

17.6 Применение агентов новостей для настольных систем

Рассмотрим, как будет выглядеть аналогичный диалог для агента настольной системы. На рис. 17.3 показан вывод новостей в Chameleon. Список новых групп новостей выводится щелчком мыши на соответствующем пункте меню.

Рис. 17.3. Пункты меню для групп

На рис. 17.4 показан отслеживаемый набор групп новостей (на которые подписался пользователь).

Рис. 17.4. Просмотр групп, на которые подписался пользователь

Список непрочитанных статей из популярной группы news.answers запрашивается двойным щелчком мыши на строке news.answers. Результат этой операции представлен на рис. 17.5, а сама статья — на рис. 17.6. Длинный заголовок статьи можно не выводить, если только этого не захочет сам пользователь.

Рис. 17.5. Список непрочитанных статей из группы news.answers

Рис. 17.6. Вывод выбранной статьи

На рис. 17.7 показан вывод статьи из группы новостей в браузере WWW (в данном случае — Netscape Navigator), применяющемся для чтения статей. Сама статья была написана информационным агентством Рейтер и опубликована в электронном виде через службу новостей Clarinet.

Рис. 17.7. Статья сетевых новостей

17.7 Протокол NNTP

17.7.1 Команды NNTP

Для доступа к статье группы новостей клиентский процесс соединяется с портом 119 сервера новостей. Клиент отправляет серию команд и получает на них ответы. Команды не чувствительны к регистру символов.

Существуют команды для запроса:

■ Списка всех групп

■ Выбора конкретной группы

■ Выбора определенной статьи

Указатель на текущую статью (current article pointer) сервера сохраняет свою позицию на время сеанса пользователя. Команды NNTP перечислены в таблице 17.1.


Таблица 17.1 Команды и параметры NNTP

Команда Параметры Описание
article "<Идентификатор сообщения>", номер статьи или ничего Извлечение статьи по идентификатору или номеру либо извлечение текущей статьи
body Извлечение содержимого текущей статьи
group Имя группы Переход к указанной группе новостей
head Вывод заголовка текущей статьи
help Запрос списка поддерживаемых сервером команд
ihave <Идентификатор сообщения> Сервер указывает другому серверу на наличие статьи. При необходимости копия статьи может быть затребована другим сервером.
last Перемещение указателя текущей статьи на одну статью назад в списке текущей группы
list Запрос списка групп новостей и количества доступных в них статей
newgroup Дата, время Запрос списка групп новостей (при необходимости по категориям), созданных после указанной даты и времени
и необязательный параметр <распространитель>
newnews Группа новостей, дата, время и необязательный параметр <распространитель> Запрос списка новых статей группы, опубликованных после указанной даты и времени
next Перемещение указателя текущей статьи на одну статью вперед в списке текущей группы
post Опубликовать новую статью в группе новостей
quit Выход
slave Указывает на запрос от почтового сервера, а не от отдельного клиента
stat Номер сообщения Выбор статьи

Необязательный параметр <распространитель> (distributions) разрешает пользователю выбрать список категорий высокого уровня, например comp или news. Список должен заключаться в угловые скобки, а его элементы разделяться запятыми. Например, ниже показан список новых групп новостей, расположенных под sci:

newsgroup 950601 010000 

231 New newsgroups follow.

sci.physics.cond-matter 552 1 y

sci.techniques.mass-spec 279 1 m

sci.psychology.consciousness 164 1 m

. . .

17.7.2 Коды состояния NNTP

В диалоге из раздела 17.5 видно, что каждый ответ сервера NNTP начинается с числового кода состояния. При этом используются одинаковые для серверов SMTP и FTP правила:

1xx Информационное сообщение
2xx Успешная команда
3xx Команда пока была успешна, нужно послать ее остаток
4xx Команда корректна, но не выполнена по некоторым причинам
5xx Команда не реализована или неверна, либо возникла серьезная ошибка в программе

Как и ранее, вторая цифра кода представляет более специфичную информацию:

x0x Соединение, установка или дополнительное сообщение
x1x Выбор новой группы новостей
x2x Выбор статьи
x3x Функция распространения
x4x Публикация
x8x Нестандартное расширение
x9x Отладочный вывод

17.8 Различия между новостями и рассылочным списком

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

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

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

Многие рассылочные списки автоматически публикуют свои сообщения в группах новостей.

17.9 Дополнительная литература

Протокол NNTP определен в RFC 977.

Загрузка...