Peer Name Resolution Protocol (PNRP) is a
peer-to-peer
Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer n ...
protocol
Protocol may refer to:
Sociology and politics
* Protocol (politics), a formal agreement between nation states
* Protocol (diplomacy), the etiquette of diplomacy and affairs of state
* Etiquette, a code of personal behavior
Science and technology
...
designed by
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
. PNRP enables dynamic name publication and resolution, and requires
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
.
PNRP was first mentioned during a presentation at a P2P conference in November 2001. It appeared in July 2003 in the Advanced Networking Pack for Windows XP, and was later included in the Service Pack 2 for Windows XP. PNRP 2.0 was introduced with
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
and was available for download for Windows XP Service Pack 2 users. PNRP 2.1 is included in
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
SP1,
Windows Server 2008 and
Windows XP
Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Windows 2000 for high-end and ...
SP3. PNRP v2 is not available for
Windows XP Professional x64 Edition or any edition of
Windows Server 2003.
Windows Remote Assistance
Quick Assist is a Microsoft Windows feature that allows a user to view or control a remote Windows computer over a network or the Internet to resolve issues without directly touching the unit. It is based on the Remote Desktop Protocol (RDP). It ...
in
Windows 7
Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
uses PNRP, Teredo and IPv6 when connecting using the ''Easy Connect'' option.
The design of PNRP is covered by US Patent #7,065,587, issued on June 20, 2006.
Support for PNRP was removed in
Windows 10
Windows 10 is a major release of Microsoft's Windows NT operating system. It is the direct successor to Windows 8.1, which was released nearly two years earlier. It was released to manufacturing on July 15, 2015, and later to retail on J ...
with
version 1909.
PNRP services
The PNRP is a distributed name resolution protocol allowing Internet hosts to publish "peer names" and corresponding IPv6 addresses and optionally other information. Other hosts can then resolve the peer name, retrieve the corresponding addresses and other information, and establish peer-to-peer connections.
With PNRP, peer names are composed of an "authority" and a "qualifier". The authority is identified by a
secure hash of an associated
public key, or by a place-holder (the number zero) if the peer name is "unsecured". The qualifier is a
string
String or strings may refer to:
*String (structure), a long flexible structure made from threads twisted together, which is used to tie, bind, or hang other objects
Arts, entertainment, and media Films
* ''Strings'' (1991 film), a Canadian anim ...
, allowing an authority to have different peer names for different services.
Peer Name Resolution Protocol
/ref>
If a peer name is secure, the PNRP name records are signed by the publishing authority, and can be verified using its public key. Unsecured peer names can be published by anybody, without possible verification.
Multiple entities can publish the same peer name. For example, if a peer name is associated with a group, any group member can publish addresses for the peer name.
Peer names are published and resolved within a specified scope. The scope can be a local link, a site (e.g. a campus), or the whole Internet.
PNRP and Distributed Hash Tables
Internally, PNRP uses an architecture similar to distributed hash table systems such as Chord
Chord may refer to:
* Chord (music), an aggregate of musical pitches sounded simultaneously
** Guitar chord a chord played on a guitar, which has a particular tuning
* Chord (geometry), a line segment joining two points on a curve
* Chord ( ...
or Pastry
Pastry is baked food made with a dough of flour, water and shortening (solid fats, including butter or lard) that may be savoury or sweetened. Sweetened pastries are often described as '' bakers' confectionery''. The word "pastries" suggests ma ...
. The peer name is hashed to produce a 128-bit
While there are currently no mainstream general-purpose processors built to operate on 128-bit ''integers'' or addresses, a number of processors do have specialized ways to operate on 128-bit chunks of data.
Representation
128-bit processors co ...
peer identifier, and a DHT-like algorithm is used to retrieve the location of the host publishing that identifier. There are however some significant differences.
DHT systems like Chord or Pastry store the indices of objects (hashes) at the node whose identifier is closest to the hash, and the routing algorithm is designed to find that node. In contrast, PNRP always store the hash on the node that publishes the identifier. A node will thus have as many entries in the routing system as the number of identifiers that it publishes. The PNRP design arguably trades increased security and robustness for higher routing cost.
Most DHT systems assume that only one node publishes a specific index. In contrast, PNRP allows multiple hosts to publish the same name. The internal index is in fact composed of the 128-bit hash of the peer name and a 128-bit location identifier, derived from an IPv6 address of the node.
PNRP does not use a routing table, but rather a cache of PNRP entries. New cache entries are acquired as a side effect of ongoing traffic. The cache maintenance algorithm ensures that each node maintains adequate knowledge of the "cloud". It is designed to ensure that the time to resolve a request varies as the logarithm of the size of the cloud.
See also
* Features new to Windows Vista
* Link-Local Multicast Name Resolution (LLMNR)
* Multicast DNS
In computer networking, the multicast DNS (mDNS) protocol resolves hostnames to IP addresses within small networks that do not include a local name server. It is a Zero-configuration_networking#Name_service_discovery, zero-configuration service, u ...
(mDNS)
* Network Basic Input/Output System ( NetBIOS)
* Windows Vista networking technologies
* Zero-configuration networking
References
External links
Microsoft Peer-to-Peer Networking blog on how Windows features use PNRP
PNRPv2 protocol specification
at MSDN
Microsoft PNRP documentation (API)
at MSDN
MSDN-Article by Justin Smith, featuring PNRP
Windows Peer-to-Peer Networking
at Microsoft TechNet
Advanced Networking Pack for Windows XP
at Microsoft.com
Distributed Peer-to-peer Name Resolution
Slide deck presented by Christian Huitema at the O'Reilly P2P conference in November 2001.
* , , , , , , {{US patent, 7496648
Windows Vista
Network protocols