PNRP is a peer-to-peer protocol designed by Microsoft. The design of PNRP is covered by US Patent #7,065,587, issued on June 20, 2006.
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 simple place-holder (the number zero) if the peer name is “unsecured”. The qualifier is a simple string, allowing an authority to have different peer names for different services.
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.