Протокол PNRPPeer Name Resolution Protocol

В одноранговых средах одноранговые узлы используют определенные системы разрешения имен для определения сетевого расположения (адреса, протоколы и порты) друг друга на основе имен и идентификаторов других типов.In peer-to-peer environments, peers use specific name resolution systems to resolve each other's network locations (addresses, protocols, and ports) from names or other types of identifiers. Раньше разрешение имен одноранговых узлов было затруднено из-за временного характера подключений, а также других недостатков службы доменных имен (DNS).In the past, peer name resolution has been complicated by the inherently transient connectivity as well as other shortcomings within the Domain Name System (DNS).

Платформа одноранговых сетей Microsoft® Windows® решает эту проблему за счет применения протокола PNRP, который представляет собой безопасный масштабируемый динамический протокол регистрации и разрешения имен, изначально разработанный для Windows XP и позднее модернизированный для Windows Vista™.The Microsoft® Windows® Peer-to-Peer Networking platform solves this problem with the Peer Name Resolution Protocol (PNRP), a secure, scalable, and dynamic name registration and name resolution protocol first developed for Windows XP and then upgraded in Windows Vista™. Принципы работы протокола PNRP значительно отличаются от других традиционных систем разрешения имен, что открывает перед разработчиками совершенно новые возможности.PNRP works very differently from traditional name resolution systems, opening up exciting new possibilities for application developers.

При использовании протокола PNRP имена одноранговых узлов могут назначаться компьютерам, отдельным приложениям или службам на компьютере.With PNRP, peer names can be applied to the machine, or individual applications or services on the machine. Процесс разрешения имен одноранговых узлов включает адрес, порт и, возможно, расширенные полезные данные.A peer name resolution includes an address, port, and possibly an extended payload. К преимуществам такой системы относятся высокая отказоустойчивость, отсутствие узких мест и механизм разрешения имен, ни при каких обстоятельствах не возвращающий устаревшие адреса, что делает этот протокол оптимальным решением для обнаружения мобильных пользователей.Benefits of this system include fault tolerance, no bottlenecks, and name resolutions that will never return stale addresses; making the protocol an excellent solution for locating mobile users.

С точки зрения безопасности имена одноранговых узлов могут публиковаться в безопасной (защищенной) или небезопасной (незащищенной) форме.In terms of security, peer names can be published as secured (protected) or unsecured (unprotected). Протокол PNRP использует шифрование с открытым ключом для защиты безопасных имен одноранговых узлов от подделки. Протокол PNRP можно использовать для присвоения имен как компьютерам, так и службам.PNRP uses public key cryptography to protect secure peer names against spoofing; both computers and services can be named with PNRP.

Протокол PNRP характеризуется следующими свойствами:The Peer Name Resolution Protocol demonstrates the following properties:

  • Распределенность и практически полное отсутствие серверов.Distributed and almost entirely serverless. Использование серверов только в процессе начальной загрузки.Servers are only required for the bootstrapping process.

  • Публикация безопасных имен без привлечения третьих лиц.Secure name publication without the involvement of third parties. В отличие от службы DNS, публикация имен с использованием протокола PNRP осуществляется мгновенно и не требует финансовых затрат.Unlike DNS name publication, PNRP name publication is instantaneous and without financial cost.

  • Обновления протокола PNRP осуществляются в режиме реального времени, что позволяет исключить разрешение устаревших адресов.PNRP updates in real-time, which prevents the resolution of stale addresses.

  • Протокол PNRP поддерживает разрешение имен не только для компьютеров, но и для служб.The resolution of names via PNRP extends beyond computers by also allowing name resolution for services.

Пространство имен System.Net.PeerToPeerThe System.Net.PeerToPeer namespace

  • Функции протокола PNRP определены в пространстве имен System.Net.PeerToPeer на платформе .NET Framework версии 3.5.PNRP functionality is defined by the System.Net.PeerToPeer namespace within the .NET Framework version 3.5. В этом пространстве имен представлен набор типов, которые могут использоваться для регистрации и разрешения имен одноранговых узлов с использованием доступной службы PNRP.It provides a set of types that can be used to register and resolve peer names with an available PNRP service.

  • (Распознаватели PNRP и пользовательские одноранговые распознаватели, а также их экземпляры могут создаваться с использованием типов, представленных в пространстве имен System.ServiceModel.PeerResolvers.)(PNRP and custom peer resolvers can be created and instantiated using the types provided in the System.ServiceModel.PeerResolvers namespace.)

  • Ниже приведены базовые типы, используемые для регистрации и разрешения имен с использованием доступной службы PNRP:The basic types used to register and resolve names with an available PNRP service are as follows:

  • Cloud: Определяет сведения, описывающие доступное облако PNRP, включая его область действия.Cloud: Defines the information describing an available PNRP cloud, including its scope.

  • PeerName: Определяет имя однорангового узла, которое может использоваться для регистрации и последующего разрешения этого узла в облаке.PeerName: Defines a peer name that can be used to register and subsequently resolve a peer within a cloud.

  • PeerNameRecord: Определяет запись в облаке PNRP, которая содержит сведения о регистрации для однорангового узла, включая сетевые конечные точки доступа, которые могут использоваться для связи с этим узлом.PeerNameRecord: Defines the record in PNRP cloud that contains the registration information for a peer, which includes the network endpoints at which the peer can be contacted.

  • PeerNameRegistration: Определяет процесс регистрации имени однорангового узла, включая методы запуска и остановки регистрации.PeerNameRegistration: Defines the registration process for a peer name, including methods to start and stop peer name registration.

  • PeerNameResolver: Определяет процесс разрешения имени однорангового узла в его сетевые конечные точки, включая синхронные и асинхронные методы разрешения.PeerNameResolver: Defines the process for resolving a peer name to its network endpoint(s), including both synchronous and asynchronous methods for resolution.

См. такжеSee also