Interested Article - Peer Name Resolution Protocol

Peer Name Resolution Protocol ( PNRP ) — протокол, разработанный компанией Microsoft , применяющийся в одноранговой компьютерной сети с целью обращения к узлам сети по имени узла, которое связано с адресом IPv6 . Протокол не предполагает использование сервера, обновление списка имен происходит динамически. Имена узлов (пиров) в сетях, использующих протокол PNPR состоят из двух частей: полномочий (Authority) и классификатора (Classifier). Часть «Полномочий» предназначена для безопасных клиентов сети и идентифицируются SHA-1 хэшем и связанного с ним открытым ключом, а для небезопасных клиентов эта часть имеет нулевой значение. Часть «Классификатор» — представляет собой строку, в которой идентифицируется служба, предоставляемой узлом сети.

История

2001 год — PNRP версия 1, был впервые представлен на конференции P2P.

2003 год — PNRP версии 1, включен в поставку Windows XP, а после перенесен в Windows Vista под версией 2.0.

Windows Remote Assistance в Windows 7 использует PNRP, Teredo и IPv6 при выборе опции Easy Connect .

Права на протокол PNRP защищены патентом США под номером 7,065,587, выданным 20 Июня 2006.

Компоненты PNPR

Структурно PNPR состоит из двух компонент :

  • Полномочия (Authority) — 128 битный код используется для безопасных пиров (узлов), полномочия хешируются на основе SHA-1 и связанного с ним открытым ключом. В случае применения небезопасного узла поле заполняется нулями.
  • Классификатор (Classifier) — 128 бит которые идентифицируют службу, предоставляемые узлом.

Для работы необходим IPv6 и два глобальных облака, одно из которых соответствует всем IPv6 адресам, а другое служит для локальной связи, являющимся аналогом IPv4.

Принцип работы PNRP

Создание идентификатора

Создания идентификатора проходит в три этапа :

  • Происходит хеширование P2P ID 128 битным кодом, если используется безопасное хеширование, то используется открытый ключ, если не безопасное, то идентификатор заполняется нулями;
  • Создается 128 битный идентификатор службы, которое описывает расположение службы;
  • Идентификатор P2P объединяется с идентификатором службы образуя идентификатор PRNP ID.

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

Несколько объектов могут использовать одно и то же имя. Например, если одноранговое имя связано с группой, любой член группы может опубликовать адреса для однорангового имени.

Одноранговое имя может представлять собой как адрес в локальной сети, так и в сети интернет.

Публикация PNRP

Разрешение имени осуществляется в два этапа:

  • Этап 1: определяется конечная точка — запрашивающий узел определяет адрес IPv6 , на котором расположена необходимая служба, если служба не найдена на ближайшем узле, то осуществляется последовательный перебор на следующие узлы, расположенные дальше от запрашиваемого узла;
  • Этап 2: выполняется разрешение PNRP ID — выполняется запрос для идентификатора PRNP запрашиваемой службы, который возвращает комментарий состоящий из 4кБ данных, связанных с службой.


Сравнение PNRP с распределенными хеш-таблицами

Внутренне PNRP использует архитектуру, аналогичную системам распределенных хеш-таблиц , таким как или . Имя однорангового узла хешируется для создания 128-битного идентификатора, а DHT-подобный алгоритм используется для получения местоположения хоста, публикующего этот идентификатор. Но при всех сходствах, существуют и некоторые различия.

Системы DHT, такие как Chord или Pastry, хранят хеши в узлах, максимально близких к хосту, а алгоритм маршрутизации устроен так, чтобы обеспечить поиск этого узла. PNRP же, напротив, всегда хранит хеш на узле, который публикует идентификатор. Таким образом, узел будет иметь столько же записей в системе маршрутизации, сколько и идентификаторов, которые он использует. В результате складывается такая ситуация, что PNRP приходится жертвовать скоростью маршрутизации ради повышенной безопасности и надежности.

В отличие от систем DHT, PRNP разрешает нескольким хостам (например, одной группе), использовать одно и то же имя. В DHT предполагается уникальность имен. Внутренний индекс фактически состоит из 128-битного хеша имени однорангового узла и 128-битного идентификатора местоположения, полученного из IPv6-адреса узла.

Вместо таблицы маршрутизации в PNRP используется кэш записей. Каждая новая запись появляется за счет проходящего через сеть трафика. За счет этого обеспечивается актуальность информации о сети.

Поддержка

Windows XP — PNPR версия 1, версия 2.0 в загружаемом пакете;

Windows Vista — PNPR версия 2.0

Windows Vista SP1, Windows Server 2008 и Windows XP SP3 была добавлена версия протокола PNRP 2.1.

Версия 2.0 не доступна пользователям Windows XP Professional x64 Edition , а также всех редакций Windows Server 2003 .

См. также

Примечания

  1. Руссинович М. , Соломон Д. Внутреннее устройство Microsoft Windows. — 6-е изд. — СПб. : Питер, 2013. — 800 с. — ISBN 978-5-459-01730-4 .
  2. . Дата обращения: 31 января 2019. 28 января 2019 года.

Литература

  • Руссинович М. , Соломон Д. Внутреннее устройство Microsoft Windows. — 6-е изд. — СПб. : Питер, 2013. — С. 755—757. — 800 с. — ISBN 978-5-459-01730-4 .
  • James Pyles , Jeffrey L. Carrell , Ed Tittel. Guide to TCP/IP: IPv6 and IPv4. — Fifth Edition. — Boston, USA: Cengage Learning, 2017. — С. 476—478.

Ссылки

  • — на сайте microsoft.com
  • — на сайте microsoft.com
Источник —

Same as Peer Name Resolution Protocol