Справочник по сетевым протоколам

       

Управляющие сообщения NNTP


Если сообщение содержит строку "Control:", это означает, что данное сообщение — управляющее. Управляющие сообщения используются для обмена служебной информацией между UseNet-хостами (а не пользователями). Управляющие сообщения передаются с использованием того же самого механизма, как и обычные сообщения, т. е. через систему групп или конференций подписки.

Примечание

Для совместимости со старыми версиями системы, сообщения адресованные группе "all.all.ctl" считаются управляющими. Если сообщение этой группы не содержит поля "Control:", поле предмета сообщения "Subject:" для таких сообщений интерпретируется как параметр "Control:". Кроме того, если в сообщениях этой группы первые 4 символа поля "Subject:" содержат подстроку "cmsg", оставшаяся часть поля "Subject:" интерпретируется как управляющее сообщение.

Поля "Control:" заголовка сообщения содержат команду и параметры команды: первое слово представляет собой команду, остальные — параметры этой команды. Другие поля заголовка и тело сообщения тоже могут использоваться как потенциальные параметры команды. Например:

Control: cancel <any.string@host.domen>

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

Сообщение "cancel" позволяет пользователю удалять статьи из локальной системы уже после того, как статья была тиражирована. Параметр команды — идентификатор сообщения "Message-ID".



cancel <Message-ID>

Отправить такую команду может только автор статьи или администратор локальной UseNet-системы. Обработчик данного управляющего сообщения, прежде чем его применить, сверяет параметры "Sender:" и "From:" управляющего и исходного сообщений.

<


/p>





Сообщения "ihave/sendme". Эти сообщения являются частью ihave/sendme-протокола, который позволяет одному хосту (А) сообщить другому хосту (В), что данное сообщение им получено — команда "ihave" (а другому хосту (В) запросить это сообщение — команда "sendme").






ihave <Message-ID list> [<remotesys>]

sendme <Message-ID list> [<remotesys>]



Например, хост (А) получил сообщение <1234@vax.berkeley.edu> и хочет передать его на хост (В). Тогда (А) отправляет через какую-либо из конференций, на которые подписан (В), хосту (В) управляющее сообщение "ihave <1234@vax.berkeley.edu> А". Хост (В) отвечает, опять же через какую-либо из конференций, на которые подписан хост (А), управляющим сообщением "sendme <1234@vax.berkeley.edu> В". После получения сообщения "sendme", хост (А) отправляет хосту (В) данное сообщение.

Эти команды позволяют хостам выбирать статьи для пересылки, тем самым уменьшая передаваемый поток новостей "вслепую".

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







Управляющие сообщения могут создавать или удалять группы (конференции) новостей.






newgroup <groupname> [moderated]



Это сообщение создает конференцию с именем "groupname". Тело данного управляющего сообщения может содержать краткую аннотацию новой группы (предназначение, уровень и темы дискуссий и т. д.). Если указан аргумент "moderated" — это означает, что у данной группы есть председательствующий, который следит за уровнем и темами дискуссий. По умолчанию новая конференция не имеет председательствующего. Статья новостей может быть отправлена в конференцию только после того, как данная конференция будет создана.



rmgroup <groupname>

Это сообщение удаляет конференцию с именем "groupname".

Управляющее сообщение "sendsys" ( без аргументов) представляет собой запрос к данному UseNet-хосту на получение списка всех его соседей и групп статей новостей, которые он передает своим соседям. Ответ на запрос передается отправителю данного управляющего сообщения, указанному в поле "Reply-To:" или в поле "From:" управляющего сообщения.
Передаваемая в ответ информация общедоступна и должна быть отправлена по запросу автоматически или вручную, в той или иной форме. Например, ответное сообщение может быть таким: (пользователь "mark" отправил запрос своему хосту):

From: cbosgd!mark (Mark Horton)

Date: Sun, 27 Mar 83 20:39:37 –0500

Subject: response to your sendsys request

To: mark@home.att.com

Responding-System: cbosgd.att.com

cbosgd:osg,cb,btl,bell,world,comp,sci,rec/talk,misc,news,soc

ucbvax:world,comp,to.ucbvax

cbosg:world,comp,be 11,btl,cb,osg,to.cbosg

cbosgb:osg,to.cbosgb sescent:wo rid,comp,bell,to.sescent:F:/usr/spool/outnews/sescent

Первая строчка тела сообщения содержит имя отвечающей системы, затем располагается информация ответа. Разделитель колонок — символ ":". Первая колонка содержит имя хоста соседа, вторая — имена конференций, в которые данный хост отправляет статьи. Третья и четвертая колонки не специфицированы, их интерпретация зависит от конкретной реализации программного обеспечения.

Управляющее сообщение "version" (без аргументов) используется для запроса имени и версии программного обеспечения системы UseNet, используемой на запрашиваемом хосте.
 

Содержание раздела