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.

Протокол 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 ГПИ ТПИ
Claws Mail Да Да Да Да Нет Форк Sylpheed. Работает также на Maemo.
en:Forté Agent [1] Да Нет Нет Да Нет
Gnus Да Да Да Да Да Расширение для Emacs.
Wanderlust Да Да Да Да Да Расширение для Emacs.
en:KNode ? Да Да Да Нет Входит в состав KDE.
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 Да Да Да Да Нет
en:tin Да Да Да Нет Да Работает также под OpenVMS.

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

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

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

Группы новостей[править | править код]

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

См. также[править | править код]

Примечания[править | править код]

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