Peer Name Resolution-Protokoll (PNRP)Peer Name Resolution Protocol

In Peer-zu-Peer-Umgebungen verwenden Peers bestimmte Namensauflösungssysteme, um Namen oder andere Arten von Bezeichner in die Netzwerkadressen des jeweils anderen Peers (Adressen, Protokolle und Ports) aufzulösen.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. In der Vergangenheit ist die Peernamensauflösung durch die grundsätzlich flüchtige Konnektivität sowie andere Mängel im Domänennamenserver (DNS) erschwert worden.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).

Die Microsoft® Windows® Peer-zu-Peer Netwerkplattform löst dieses Problem mit dem Peer Name Resolution-Protokoll (PNRP), ein sicheres, skalierbares und dynamisches Namensregistrierungs- und Namensauflösungsprotokoll, das erstmals für Windows XP entwickelt und dann in Windows Vista™ aktualisiert wurde.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™. Die Funktionsweise des PNRP unterscheidet sich sehr von traditionellen Auflösungssystemen und eröffnet interessante neue Möglichkeiten für Anwendungsentwickler.PNRP works very differently from traditional name resolution systems, opening up exciting new possibilities for application developers.

Mit PNRP können Peernamen auf den Computer oder auf einzelne Anwendungen oder Dienste auf dem Computer angewendet werden.With PNRP, peer names can be applied to the machine, or individual applications or services on the machine. Eine Peernamensauflösung enthält eine Adresse, einen Port und möglicherweise eine erweiterte Nutzlast.A peer name resolution includes an address, port, and possibly an extended payload. Die Vorteile dieses Systems sind Fehlertoleranz, keine Engpässe, und Namensauflösungen, die niemals veraltete Adressen zurückgeben; das Protokoll ist somit eine ausgezeichnete Lösung für die Lokalisierung mobiler Benutzer.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.

Im Hinblick auf die Sicherheit können Peernamen als gesichert (geschützt) oder unsicher (ungeschützt) veröffentlicht werden.In terms of security, peer names can be published as secured (protected) or unsecured (unprotected). PNRP verwendet die Kryptografie mit öffentlichem Schlüssel, um Peernamen gegen Spoofing zu schützen. Computer sowie Dienste können mit PNRP benannt werden.PNRP uses public key cryptography to protect secure peer names against spoofing; both computers and services can be named with PNRP.

Das Peer Name Resolution-Protokoll hat die folgenden Eigenschaften:The Peer Name Resolution Protocol demonstrates the following properties:

  • Verteilt und nahezu serverlos.Distributed and almost entirely serverless. Server werden nur in der Bootstrapping-Phase benötigt.Servers are only required for the bootstrapping process.

  • Speichern Sie die Namensveröffentlichung ohne die Beteiligung Dritter.Secure name publication without the involvement of third parties. Im Gegensatz zur DNS-Namensveröffentlichung ist die PNRP-Namensveröffentlichung ohne Verzögerung und kostenlos.Unlike DNS name publication, PNRP name publication is instantaneous and without financial cost.

  • PNRP wird in Echtzeit aktualisiert. Somit wird die Auflösung veralteter Adressen verhindert.PNRP updates in real-time, which prevents the resolution of stale addresses.

  • Die Auflösung von Namen per PNRP erstreckt sich über Computer hinaus, indem die Namensauflösung für Dienste zugelassen wird.The resolution of names via PNRP extends beyond computers by also allowing name resolution for services.

Der System.Net.PeerToPeer-NamespaceThe System.Net.PeerToPeer namespace

  • Die PNRP-Funktionalität wird durch den System.Net.PeerToPeer-Namespace in .NET Framework, Version 3.5 definiert.PNRP functionality is defined by the System.Net.PeerToPeer namespace within the .NET Framework version 3.5. Sie stellt eine Reihe von Typen zur Verfügung, die zum Registrieren und Auflösen von Peernamen mit einem verfügbaren PNRP-Dienst verwendet werden können.It provides a set of types that can be used to register and resolve peer names with an available PNRP service.

  • (PNRP und benutzerdefinierte PeerResolver können mithilfe der im System.ServiceModel.PeerResolvers-Namespace zur Verfügung gestellten Typen instanziiert und erstellt werden.)(PNRP and custom peer resolvers can be created and instantiated using the types provided in the System.ServiceModel.PeerResolvers namespace.)

  • Die grundlegenden Typen, die zum Registrieren und Auflösen von Namen mit einem verfügbaren PNRP-Dienst verwendet werden, sind wie folgt:The basic types used to register and resolve names with an available PNRP service are as follows:

  • Cloud: Definiert die Informationen, die eine verfügbare PNRP-Cloud, einschließlich ihres Bereichs beschreiben.Cloud: Defines the information describing an available PNRP cloud, including its scope.

  • PeerName: Definiert einen Peernamen, der zum Registrieren und anschließendem Auflösen von einem Peer in einer Cloud verwendet werden kann.PeerName: Defines a peer name that can be used to register and subsequently resolve a peer within a cloud.

  • PeerNameRecord: Definiert den Datensatz in der PNRP-Cloud, die die Registrierungsinformationen für einen Peer enthält, der die Netzwerk-Endpunkte mit einschließt, an denen der Peer kontaktiert werden kann.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: Definiert den Registrierungsvorgang für einen Peernamen, einschließlich der Methoden, um die Peer-Namensregistrierung zu starten oder zu beenden.PeerNameRegistration: Defines the registration process for a peer name, including methods to start and stop peer name registration.

  • PeerNameResolver: Definiert den Prozess zum Auflösen eines Peernamens in den/die zugehörigen Netzwerk-Endpunkt(e), einschließlich der synchronen und asynchronen Methoden für die Auflösung.PeerNameResolver: Defines the process for resolving a peer name to its network endpoint(s), including both synchronous and asynchronous methods for resolution.

Siehe auchSee also