NNTP

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
NNTP
Название Network News Transfer Protocol
Уровень (по модели OSI) Прикладной
Семейство TCP/IP, Usenet
Создан в 1985
Порт/ID 119/TCP
Назначение протокола Доступ к группам новостей
Спецификация RFC 3977
Основные реализации (клиенты) Outlook Express, Mozilla Thunderbird
Основные реализации (серверы) InterNetNews (INN)[англ.]
Расширяемость Доп. команды
Основные расширения См. RFC 2980

NNTP (англ. Network News Transfer Protocol) — представляет собой сетевой протокол распространения, запрашивания, размещения и получения групп новостей при взаимодействии между сервером групп новостей и клиентом.

Введение

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

Существует вариация протокола NNTP, называемая NNRP (Network News Readers Protocol). Она отличается только набором поддерживаемых команд, и предназначена для чтения конференций с сервера новостей клиентским ПО в режиме онлайн. Функционально NNTP ориентирован на то, что статьи отправляются подписчикам при их появлении на сервере, а NNRP — по запросу клиента. Соответственно, NNTP используется для обмена сообщениями между серверами новостей, а NNRP — для чтения сообщений с ньюссервера и создания новых сообщений.

За NNTP закреплён TCP-порт 119. При подключении к NNTP-серверу по SSL (т. н. NNTPS) используется порт 563.

NNTP предполагает, что серверы новостей имеют постоянное IP-подключение. Когда онлайн-технологии были менее распространены, серверы новостей обменивались новостями посредством uucp.

Переписка в Usenet
Переписка в Usenet

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

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

Пример NNTP-сессии

A: — отвечающая сторона, O: — вызывающая сторона

A: (ожидает соединения)
O: (Подключается к порту 119 сервера)
A: 200 news.company.tld InterNetNews server INN 2.3.0 ready
O: IHAVE <ident@message>
A: 435 Duplicate
O: IHAVE <ident@another.message>
A: 335
O: Newsgroups: test.group
O: Subject: test
O: Message-Id: <ident@another.message>
O: From: Some Persone <some@another.message>
O: Date: Wed, 25 Apr 2007 14:18:31 +0300
O:
O: message body
O: .
A: 235
O: QUIT
A: 205 .
A: (закрывает соединение)

Клиенты групп новостей и серверы групп новостей

Иногда говорят «клиент групп новостей» вместо «NNTP-клиент». Следует понимать, что NNTP-клиенты поддерживают протокол NNTP не в полной мере, а лишь его вариацию NNRP. На сегодняшний день доступны следующие клиентские программы:

Название Операционные системы Интерфейс Примечание
Microsoft Windows UNIX Mac OS X Android iOS ГПИ ТПИ
Claws Mail Да Да Да ? ? Да Нет Форк Sylpheed. Работает также на Maemo.
en:Forté Agent [1] Да Нет Нет ? ? Да Нет
Gnus Да Да Да ? ? Да Да Расширение для Emacs.
Wanderlust Да Да Да ? ? Да Да Расширение для Emacs.
en:KNode ? Да Да ? ? Да Нет Входил в состав KDE до версии 4 включительно.
Mozilla Thunderbird Да Да Да ? ? Да Нет Есть сторонняя сборка под OS/2.
SeaMonkey Да Да Да ? ? Да Нет
MyGate Да Нет Нет ? ? Да Нет Расширение для The Bat!.
Opera Mail Да Да Да ? ? Да Нет Входит в состав Opera.
Outlook Express [2] Да Нет Нет ? ? Да Нет Есть версия под Mac OS 9.
en:Pan Да Да Да ? ? Да Нет Входит в состав GNOME.
slrn Да Да Да ? ? Нет Да Работает также на иных платформах (BeOS, OS/2, OpenVMS).
Sylpheed Да Да Да ? ? Да Нет
tin Да Да Да ? ? Нет Да Работает также под OpenVMS.
PiaoHong.Usenet.Client Нет Нет Нет Да Нет Да Нет Есть платная версия
NewsTap Нет Нет Нет Нет Да Да Нет

Из серверного программного обеспечения известно:

Название Операционные системы Примечание
Microsoft Windows UNIX Mac OS X
en:Apache James Да Да Да Написан на Java.
en:InterNetNews (INN) Нет Да Нет Самый известный сервер, разрабатываемый en:ISC.
en:Leafnode Нет Да Нет Прокси-сервер.
en:Cyrus_IMAP_server Нет Да Нет E-Mail сервер с расширенной функциональностью.

Другие реализации можно попытаться найти в ODP.[3]

Группы новостей

Большинство групп новостей, распространяемых при помощи NNTP, принадлежит сети Usenet. В Интернете существуют однако и другие группы новостей: предоставляемые шлюзами других сетей, частные и т. п.

См. также

Примечания

  1. Forté Agent — настройка для русского NNTP Архивировано 30 июня 2009 года.
  2. Для программы Outlook Express существует надстройка под названием Fidolook. Она значительно расширяет возможности Outlook Express и нередко используется пользователями Фидонета.
  3. Open Directory — Computers: Software: Internet: Servers: Usenet (недоступная ссылка). Дата обращения: 29 марта 2018. Архивировано 27 октября 2017 года.