The Peer Name Resolution Protocol (PNRP) Version 4.0 uses messages to maintain a cloud of peer nodes, to maintain a distributed cache of network endpoint information, and to transfer requests for Peer Name resolutions between nodes. Together these messages allow applications to use registered Peer Names to obtain corresponding endpoint information such as IP addresses and ports.
PNRP does not provide any mechanism for finding or browsing Peer Names; they are distributed by other means.
There are two primary roles in PNRP:
Resolver: A node seeking to obtain endpoint information for a given Peer Name by sending (and, when appropriate, resending) resolution requests to other nodes within a cloud
Publisher: A node that provides endpoint information to a Resolver
In addition, PNRP defines the concept of a "seed server", which is a Publisher known by a PNRP node prior to the node joining the cloud.
The PNRP registration and resolution mechanism does not rely on the existence of servers, except during initialization. When a PNRP node is initialized, a discovery process locates addresses of other nodes with which to exchange data. If no other way is available, a seed server is used to obtain a list of addresses of other nodes.