Протокол передачи сетевых новостей
Протокол передачи сетевых новостей (NNTP ) — это приложение протокол, используемое для передачи Usenet новостных статей (netnews) между серверами новостей, а также для чтения и размещения статей клиентскими приложениями конечных пользователей. Брайан Кантор из Калифорнийского университета в Сан-Диего и Фил Лэпсли из Калифорнийского университета в Беркли написали RFC 977, спецификация протокола передачи сетевых новостей, в марте 1986 года. Среди других участников были представители Медицинского колледжа Бейлора и Apple Computer.
Usenet. изначально спроектирован на основе сети UUCP, при этом большая часть статей пересылается по прямым двухточечным телефонным каналам между серверами новостей, которые были мощными системами разделения времени. Читатели и плакаты заходили на эти компьютеры, читая статьи прямо с локального диска.
По мере увеличения числа участников локальных сетей и Интернета стало желательно разрешить запускать программы чтения новостей на персональных компьютерах, подключенных к локальным сетям. В результате был получен протокол NNTP, который напоминал простой протокол передачи почты (SMTP), но был адаптирован для обмена статьями группы новостей.
Программа чтения новостей, также известная как новостной клиент, представляет собой программное приложение, которое читает статьи в Usenet либо непосредственно с дисков сервера новостей, либо через NNTP.
общеизвестный порт TCP 119 зарезервирован для NNTP. Хорошо известный TCP-порт 433 (NNSP ) может использоваться при массовой передаче статей с одного сервера на другой. Когда клиенты подключаются к серверу новостей с Transport Layer Security (TLS), часто используется TCP-порт 563. Иногда это называется NNTPS . В качестве альтернативы соединение с обычным текстом через порт 119 можно изменить на использование TLS с помощью команды STARTTLS .
В октябре 2006 года IETF выпустила RFC 3977, который обновляет NNTP и кодифицирует многие дополнения, сделанные за годы, прошедшие после RFC 977. В то же время IETF также выпустила RFC 4642, который определяет использование Transport Layer Security (TLS) через NNTP поверх STARTTLS..
Протокол сетевого чтения новостей
Во время неудачной попытки обновления Стандарт NNTP в начале 1990-х, специализированная форма NNTP, предназначенная специально для использования клиентами, была предложена NNRP. Этот протокол так и не был завершен или полностью реализован, но его имя сохранилось в программе nnrpd (INN) InterNetNews. В результате подмножество стандартных команд NNTP, полезных для клиентов, иногда по-прежнему называют «NNRP».
Программное обеспечение сервера NNTP
См. Также
Внешние ссылки
- Кантор, Брайан и Фил Лэпсли. RFC977 «Протокол передачи сетевых новостей: предлагаемый стандарт для потока — Основанная передача новостей «. 1986.
- Хортон, Марк и Р. Адамс. RFC1036 «Стандарт для обмена сообщениями USENET». 1987.
- Barber, Stan, et al. RFC2980 «Общие расширения NNTP». 2000
- Рабочая группа IETF nntpext
- Фезер, Клайв. RFC3977 «Протокол передачи сетевых новостей (NNTP)». 2006
- Мерчисон, К., Дж. Винокур и К. Ньюман. RFC4642 «Использование безопасности транспортного уровня (TLS) с протоколом передачи сетевых новостей (NNTP)» 2006
- Серверные программы Usenet в Керли
- Серверы публичных новостей в Curlie
7. Протокол передачи новостей (nntp).
Современное общество предъявляет весьма жесткие требования ко времени получения новостной (событийной) информации. Это могут быть технические новинки, политические новости, уведомления о событиях (произошедших или грядущих) и т.д. Одной из форм оперативной рассылки и получения информации является электронная почта (например, система LISTSERV). В таких системах помимо воли клиента в его почтовом ящике, как правило, скапливается огромное количество сообщений. В прошлом (когда была очень важна экономия дискового пространства) не существовало каких-либо качественных механизмов фильтрации и решение предлагал протокол NNTP и сеть рассылки новостей USENET (RFC-3977, RFC-1036, Standard for interchange of USENET messages).
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, принадлежит сети Usenet.
Основные характеристики nntp.
Уровень по модели OSI: прикладной;
Назначение протокола: Доступ к группам новостей;
Основные реализации (клиенты): Outlook Express, Mozilla Thunderbird;
Основные реализации (серверы): INN.
Принцип работы nntp и сети рассылки новостей usenet.
В USENET системе сообщение запоминается в базе данных сервера, а не в почтовых ящиках подписчиков. Региональный депозитарий снабжается специальным программным обеспечением, которое позволяет подписчику отбирать статьи, представляющие для него интерес. Система имеет индексацию, облегчающую поиск, и удаление устаревших статей.
Для кластеров ЭВМ, объединенных ETHERNET (или другой быстродействующей локальной сетью) представляется целесообразным сконцентрировать функции хранения и распределения новостей в одном узле. При этом клиент может запросить любую статью тогда, когда это ему нужно, и он не обязан предоставлять ресурсы для хранения копий статей. Учитывая то, что даже в небольшой локальной сети обычно достаточно много клиентов-подписчиков такая схема позволяет сэкономить достаточно большой объем дискового пространства. Сервер новостей должен размещаться в локальной сети, т. к. именно в этом случае время доступа минимально. Этот сервер должен заниматься сбором новостей и созданием необходимых индексных файлов. При большом числе ЭВМ такая схема дает значительную экономию дискового пространства.
NNTP представляет собой протокол для рассылки, подписки, поиска и доставки новостей на основе надежного протокола поточного типа (например, TCP) с использованием схемы клиент-сервер. NNTP сконструирован так, что статья, записанная в одном из серверов, становится доступной для всех подписчиков-клиентов.
Протокол NNTP предполагает применения стандартных сообщений, формат которых следует рекомендациям RFC 850. NNTP-сервер обычно работает в фоновом режиме. В больших сетях, где число клиентов велико, возможно использование нескольких серверов новостей, которые образуют иерархическую систему. При этом клиент сначала пытается подключиться к ближайшему серверу. При неуспехе соединение либо абортируется, либо переадресуется другому серверу.
Единицей хранения на сервере является статья. Статьи составляют содержательную часть пересылаемых сообщений. В NNTP предусмотрены команды, которые обеспечивают непосредственный обмен статьями между взаимодействующими узлами (более эффективно, чем это позволяет, например, uucp).
Традиционный метод рассылки новостей предполагает распространение статей от узла к узлу, так что каждый сервер пересылает другому все новости, которые имеет. При этом неизбежно дублирование, связанное с этим увеличение трафика и повышенный расход ресурсов ЭВМ. Но такая схема предельно проста и вполне оправдана, когда обмен новостями происходит один раз в сутки (дубликаты статей могут быть отфильтрованы позднее).
Протокол NNTP, как и SMTP, является текстовым, т. е. все команды и ответы на них являются обычными текстовыми строками. Важной особенностью протокола NNTP является его эффективность в случае сложных графов связей между серверами новостей.
При использовании NNTP ЭВМ, обменивающиеся новостями, пользуются интерактивным механизмом в процессе принятия решения о том, какие статьи следует передать. При этом ЭВМ контактирует с одним или несколькими серверами новостей. Процедура начинается с запроса о формировании новых групп новостей, для чего выдается команда NEWGROUPS. Далее клиент делает запрос о наличии новых статей из групп, представляющих интерес (команда NEWNEWS). В ответ сервер высылает список статей, а клиент может запросить их присылку, если он их не имеет. В случае расширения stream NNTP эта концепция развивается ещё дальше: отправляющая сторона шлёт список идентификаторов новых статей, не дожидаясь ответа на каждый из них, и сами статьи, если принимающая запросила их по идентификаторам. В заключение клиент может сообщить серверу, какие новые статьи он получил в последнее время.
Сервер новостей, специфицированный в NNTP, использует поточный обмен (подобный TCP), а также набор команд и откликов, схожий с SMTP. Этот сервер является единственным интерфейсом между программами и базами данных, хранящими новости. Он не выполняет взаимодействия с пользователем или каких-либо операций презентационного уровня. Эти функции передаются программам клиента, которые имеют исчерпывающую информацию о среде. При работе через Интернет в рамках протокола TCP используется порт 119. На команды, посылаемые клиентом, предусмотрены текстовые и статусные отклики. Всякая сессия начинается с процедуры установления соединения между клиентом и сервером по инициативе клиента (например, с использованием протокола TCP).