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 состоит из двух компонент[1]:

  • Полномочия (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 использует архитектуру, аналогичную системам распределенных хеш-таблиц, таким как Chord или Pastry. Имя однорангового узла хешируется для создания 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[2].

См. также

Примечания

  1. Руссинович М., Соломон Д. Внутреннее устройство Microsoft Windows. — 6-е изд. — СПб.: Питер, 2013. — 800 с. — ISBN 978-5-459-01730-4.
  2. Peer Name Resolution Protocol. Дата обращения: 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.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.