PNRP – The Peer Name Resolution Protocol is new protocol made by Microsoft which is one of the first technology that will change the way we think about naming resolution in computer networking and possibly be the next DNS – Domain Name System like technology. PNRP is the new DNS but there are so much differences between them that it deserves an article on this blog.
Just to remind, is few simple words, DNS is a technology that enables us to type the domain name in the browser and leaves to Domain Name System to translate the domain name to IP address of the server where the web page is published.
As we are stepping forward to IPv6 implementation in the whole world in next years, there are technologies and future services that will not function at their best using DNS. In this case Microsoft was one of the first to develop a new technology, decentralized technology that will rely on neighbor computer for the name resolution and completely rely on IPv6 addressing. The Per Name Resolution protocol was the answer.
In case of DNS, it depends on a hierarchical structure of naming, while PNRP depends on peer systems in order to resolve the computer system’s location. Mainly, PNRP is a referral system that operates lookups on the basis of data it is familiar with.
Here is a simple example, if you require to search Computer 1 and you are close to Computers 2 and 3, it is important for your system to know whether Computer 2 knows Computer 1 or not. If the response of Computer 2 is positive, only then a a link to Computer 1 is provided to you. If the reply is in negative, then the system asks Computer 3 whether it knows Computer 1 and the same method is used with Computer 2. If none of the computers knows Computer 1, then the request is sent to other computers close to the system till it successfully finds the one that is familiar with Computer 1.
There are number of ways in which PNRP is different from the DNS service:
It is actually a distributed system of naming that does not depend on a central or main server to find objects. It is completely without server, but there are times when the requirement of server is essential in order to establish the process of name resolution by themselves.
DNS service can host only a small number of names and in order to locate the names it depends on other DNS server over which it does not hold any authority while n PNRP can easily scale to billions of names. Many computers are able to host the same name and multiple paths are provided to that name.
As it depends on clients and not rely on servers we see that is completely distributed, PNRP can tolerate faults very well. It does not depend on servers but it can ask servers to about their neighbors. In that case server is giving the same answer as it would the PC but that is not rely a server role that is in use. Name publication is quick, free, and like DNS it does not need administrative interference.
In case of n Names the update take place in actual time, not like DNS, which solely depends on caching to improve the operations or performance. Due to this, the stale addresses are not returned back by PNRP like DNS server—in particular a former, non-dynamic DNS server—can.
PNRP not only support the naming of services but of computers as well. This happened due to the reason that the PNRP name includes a port, an address, as well as possible payload like function of service.
With the help of digital signatures the n PNRP names can be protected. This way of protection confirms that the replacing or spoofing cannot take place with fake names by harmful/malicious users.
In order to provide resolution services, PNRP depends on the cloud concept. The clouds of two different types can exist. Global cloud is the first one that includes the whole IPv6 global address scope, which surrounds the whole Internet. Link-local cloud is the second one and it is link-local IPv6 address scope based. In case of local links a single subnet is represented usually. The link-local clouds may be in several number but the global cloud is only one.
The world has not completely moved to IPv6 till now, in the same way it hasn’t moved to PNRP too and it still relies on DNS for name resolution services. However, PNRP is a latest and essential technology that will have a key impact on the operations of Internet as organizations start adopting to IPv6.
The PNRP server components are now included in Windows Server 2008 R2 as an add-on feature and in Windows Server 2012 as standard feature. Windows machines with Vista and Windows 7 are supporting PNRP now.