Загрузка...



  • 17.1 Введение
  • 17.2 Иерархия групп новостей Интернета
  • 17.3 Агенты новостей
  • 17.4 Модель новостей
  • 17.5 Сценарий NNTP
  • 17.6 Применение агентов новостей для настольных систем
  • 17.7 Протокол NNTP
  • 17.7.1 Команды NNTP
  • 17.7.2 Коды состояния NNTP
  • 17.8 Различия между новостями и рассылочным списком
  • 17.9 Дополнительная литература
  • Глава 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"]

      [<distributions>]

     newnews newsgroups yymmdd hhmmss ["GMT"]

      [<distributions>]

     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 <usenet@cs.yale.edu>

    .

    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

    <Unix-faq/faq/part2_814199602

    @rtfm.mit.edu>

    <Unix-faq/faq/part3_814199602

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

    <Unix-faq/faq/part4_814199602

    @rtfm.mit.edu>

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

    <Skydiving-faq_814424705

    @frc2.frc.ri.cmu.edu>

    . . .

    <Civil-war-usa/faq/part1_814453424

    @rtfm.mit.edu>

    <Civil-war-usa/faq/part2_814453424

    @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 <sci>

    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.








    Главная | В избранное | Наш E-MAIL | Прислать материал | Нашёл ошибку | Наверх