Лабиринт Internet

Павел Храмцов, Электронинформ, 1996.

СОДЕРЖАНИЕ
Электронные коммуникацииГруппыNNTPПрограммное обеспечение

Usenet - система телеконференций Internet


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

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

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

Средства электронных коммуникаций Internet

Системы информационного обмена. Все системы информационного обмена Internet принято делить на системы индивидуальных коммуникаций и системы коллективных коммуникаций. Внутри этих групп вводят следующее деление на системы real-time и системы, "эпистолярного" типа. Для того, чтобы проиллюстрировать это деление, построим таблицу 5.1:
Классификация информационных коммуникаций Internet
Время\типИндивидуальные коммуникацииКоллективные коммуникации
Интерактивные системы real-timeTalkIRC
Системы отложенного просмотраe-mailListserv Usenet BBS
Talk -
программа информационного обмена, реализующая принцип телефона;
IRC -
система, реализующая принцип телемоста;
e-mail -
электронная почта;
Listserv -
система серверов почтовых списков BITNET;
Usenet -
система телеконференций Internet;
BBS -
электронные доски объявлений.

Первая строка этой таблицы определяет интерактивные системы коммуникаций пользователей. Работа с этими программами предполагает наличие быстрой связи с миром для того, чтобы общаться с другими пользователями в режиме реального времени. В случае программы Talk пользователи общаются по тому же принципу, как и абоненты телефонной сети, а в случае системы IRC пользователи уподобляются участникам телемоста, которые обсуждают какую-либо интересную для них тему. Во второй строке таблицы находятся программы, которые реализуют другой алгоритм взаимодействия пользователей. Посылка и просмотр сообщений разделены во времени. E-mail работает по принципу обычной почты, а программы из второго столбца аналогичны журналам, бюллетенями, доскам объявлений и т.п.

Приведенная выше классификация имеет своей целью несколько упорядочить представления о роли и месте таких хорошо известных информационных технологий, как e-mail и Usenet среди прочих систем информационных коммуникаций Internet. О электронной почте достаточно подробно было рассказано в предыдущих разделах. В данном разделе речь пойдет о Usenet.

Принцип организации и система групп Usenet

Usenet -- это система телеконференций Internet. Вообще говоря, термин телеконференция не очень удачен. В Internet есть другие средства, которые также реализуют принцип телеконференций. Ветераны Usenet предлагают придерживаться термина "newsgroup" или просто "group", который можно перевести как "группа новостей" или просто "группа". В сети существует несколько информационных ресурсов аналогичных Usenet. Это и Listserv, и BBS, однако ни один из них не организован как распределенная информационная система. Последнее значит, что в случае BBS или Listserv для каждой тематики выделена специальная машина, к которой обращаются пользователи со всего света. Аналогичным образом в сети ARPA были построены почтовые списки. В Usenet же нет центрального места хранения, и информация осуществляет постоянный круговорот в сети от сервера к серверу, от сервера к клиенту, от клиента к серверу.

В Usenet следует различать смысловую и техническую стороны. С точки зрения информационного ресурса система организована как большой иерархический каталог. Узлы этого каталога -- группы новостей. Группа новостей -- это постоянно изменяющийся набор сообщений пользователей, которые интересуются предметной областью данной группы. Сообщения в группе обычно не задерживаются более нескольких дней (стандартное значение по умолчанию -- 5). Существует порядка десятка групп верхнего уровня, которые имеют свои подгруппы. Проиллюстрировать такую организацию можно на примере группы "comp" (компьютеры и компьютерные технологии).

Пользователь может выбрать одну или несколько подгрупп и осуществить на них подписку. Подписка подразумевает процедуру оповещения пользователя о появлении новых статей по интересующей его теме. Естественно, что пользователь и сам может отправить свое мнение, оформленное в виде сообщения, в группу. Сообщение оформляется в соответствии со стандартом почтового сообщения Internet (RFC-822). Фактически Usenet выполняет функции периодического издания. В настоящее время существует несколько тысяч групп -- от достаточно серьезных и профессионально-ориентированных до групп посвященных играм, шуткам и просто всякой всячине (что, впрочем, тоже серьезное занятие).

Техническая сторона вопроса организации Usenet вызывает некоторую путаницу. Объясняется она тем, что, с одной стороны, в системе используются почтовые сообщения Internet, а с другой стороны, многие пользуются услугами Usenet только по почте. Для того чтобы разобраться в этом вопросе, сделаем небольшой экскурс в историю развития Usenet.

В настоящее время система серверов Usenet организована следующим образом:

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

Протокол обмена новостями и принципы построения системы

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

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

С использованием NNTP ситуация существенно изменилась. При использовании интерактивного протокола программы-серверы могут обмениваться информацией о наличии сообщений и заказывать только те, на которые есть запросы. В протоколе вводятся два уровня серверов. Центральный сервер обеспечивает централизованное хранение новостей в локальных сетях. Пользователи используют программы-клиенты для просмотра новостей. На этом же сервере хранятся и списки подписки пользователей на группы новостей. Промежуточный или "slave" (подчиненный) сервер обычно устанавливается на машинах с большим числом пользователей и хранит только последние поступления. За всей остальной информацией он обращается к центральному серверу сети.

Протокол NNTP определяет запросно-ответный механизм обмена сообщениями между серверами и сервером и программами-клиентами. Для этой цели в протоколе определен набор команд и ответов на них. Весь диалог осуществляется в текстах ASCII. Каждая команда состоит из идентификатора команды и параметров.

По командам ARTICLE, BODY, HEAD, STAT запрашиваются статьи или их части. Существует два способа запросить статью: либо по ее идентификатору (указывается в заголовке), либо по номеру статьи в группе. Команда ARTICLE возвращает заголовок и через пустую строку текст статьи, BODY -- только тело статьи, HEAD -- только заголовок, а по команде STAT устанавливается текущая позиция в группе по идентификатору статьи. При этом никакой информации не возвращается.

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

По командам LAST и NEXT перемещают указатель текущей строки в группе, а по команде LIST получают список групп с указанием количества новых статей в них и начальным и конечным номерами статей. По командам NEWGROUPS и NEWNEWS можно получить списки новых групп и новых статей соответственно, а по команде POST отправить свою статью на сервер. Команда SLAVE сообщает о наличии в качестве клиента подчиненного сервера, команда QUIT позволяет завершить сеанс. Рассмотрим пример использования протокола NNTP. Буквой S обозначен сервер, а буквой C - клиент: S: (слушает 119 порт TCP) C: (запрашивает соединение по 199 порту TCP) S: подтверждает соединение (код 200 Ok) (клиент запрашивает список групп) C: LIST S: 215 list of newsgroups follows S: net.wombats 00543 00501 y S: net.unix-wizards 10125 10011 y (more information here) S: net.idiots 00100 00001 n S: . (клиент выбирает группу) C: GROUP net.unix-wizards S: 211 104 10011 10125 net.unix-wizards group selected (there are 104 articles on file, from 10011 to 10125) (клиент выбирает статью для чтения) C: STAT 10110 S: 223 10110 <23445@sdcsvax.ARPA> article retrieved - statistics only (article 10110 selected, its message-id is <23445@sdcsvax.ARPA>) (клиент проверяет заголовок) C: HEAD S: 221 10110 <23445@sdcsvax.ARPA> article retrieved - head follows (text of the header appears here) S: . (клиент запрашивает тело сообщения) C: BODY S: 222 10110 <23445@sdcsvax.ARPA> article retrieved - body follows (body text here) S: . (клиент выбирает следующую статью) C: NEXT S: 223 10113 <21495@nudebch.uucp> article retrieved - statistics only (article 10113 was next in group) (клиент завершает сессию) C: QUIT S: 205 goodbye. Второй пример иллюстрирует рассылку новостей. S: (слушает порт 119) C: (запрашивает соединение) S: 201 Foobar NNTP server ready (no posting) (клиент запрашивает новые группы 2 двух часов дня 15 мая 1985) C: NEWGROUPS 850515 020000 S: 235 New newsgroups since 850515 follow S: net.fluff S: net.lint S: . (клиент запрашивает список новых статей с той же даты) C: NEWNEWS * 850515 020000 S: 230 New news since 850515 020000 follows S: <1772@foo.UUCP> S: <87623@baz.UUCP> S: <17872@GOLD.CSNET> S: . (клиент запрашивает статью <1772@foo.UUCP>) C: ARTICLE <1772@foo.UUCP> S: 220 <1772@foo.UUCP> All of article follows S: (sends entire message) S: . (клиент сообщает, что у него есть статья) C: IHAVE <4105@ucbvax.ARPA> S: 435 Already seen that one, where you been? (завершение сеанса) C: QUIT S: 205 Foobar NNTP server bids you farewell.
Весь этот диалог можно воспроизвести вручную по команде telnet:
telnet <доменный адрес сервера> 119

Программное обеспечение Usenet

Для работы по протоколу NNTP разработано довольно много программ просмотра новостей. Это nn, rn, trn, xrn и другие. Как правило программы используют для просмотра меню и реализуют просмотр новостей в режиме скроллинга. Для пользователей MS-DOS существует довольно удобный интегрированный пакет min-uet. Minuet был разработан в университете штата Миннесота и включает в себя прием почты по протоколу popmail (109 порт TCP), отправку почты по протоколу SMTP (порт 25), доступ к базам данных Gopher (70 порт TCP) и просмотр новостей по протоколу NNTP (119 порт TCP). Программа выполнена в стандартном для PC полноэкранном варианте с падающими меню. Работает программа через пакетный драйвер. Такой же по внешнему виду является и программа PINE, которая также предназначена для работы с почтой и чтения новостей. У PINE и Minuet есть аналоги и для Unix-платформ.

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

Завершая разговор о Usenet хочется еще раз обратить внимание на направление развития системы от системы двух машин к системе типа "STOP-GO" и далее к распределенной системе, работающей в режиме on-line. Такая тенденция прослеживается и в развитии системы электронной почты Internet, и в других информационных процедурах. Далее путь лежит к распределенным системам rеal-time, но это уже другой тип систем в соответствии с классификацией, введенной в начале раздела.


Вернуться к разделу
"Содержание".