在对等网络环境中,对等方通过特定的名称解析系统,从名称或其他类型的标识符中解析出彼此的网络位置(地址、协议和端口)。 过去,对等名称解析因固有的暂时性连接以及域名系统(DNS)中的其他缺陷而变得复杂。
Microsoft® Windows® 对等网络平台通过对等名称解析协议(PNRP)解决了这一问题。这是一种安全、可扩展且动态的名称注册和名称解析协议,最初为 Windows XP 开发,随后在 Windows Vista™ 中进行了升级。 PNRP 的工作方式与传统的名称解析系统大相径庭,为应用程序开发人员开辟了令人兴奋的新可能性。
使用 PNRP,对等名称可以应用于计算机,也可以应用于计算机上的单个应用程序或服务。 对等名称解析包括地址、端口,以及可能的扩展有效负载。 此系统的优点包括容错、无瓶颈和永远不会返回过时地址的名称解析;使协议成为定位移动用户的绝佳解决方案。
在安全性方面,对等名称可以发布为安全的(受保护的)或不安全的(不受保护的)。 PNRP 使用公钥加密来保护安全对等名称免受欺骗;计算机和服务都可以使用 PNRP 进行命名。
对等名称解析协议具备以下属性:
分布式且几乎完全无服务器。 只有启动过程才需要服务器。
安全的名称发布,无需第三方介入。 与 DNS 名称发布不同,PNRP 名称发布是即时的,无需财务成本。
PNRP 实时更新,以便防止解析过时地址。
通过 PNRP 的名称解析不仅适用于计算机,还支持服务的名称解析。
System.Net.PeerToPeer 命名空间
PNRP 功能由 System.Net.PeerToPeer .NET Framework 版本 3.5 中的命名空间定义。 它提供了一组类型,用于在可用的 PNRP 服务中注册及解析对等节点名称。
(可以使用命名空间中 System.ServiceModel.PeerResolvers 提供的类型创建和实例化 PNRP 和自定义对等解析程序。
用于向可用 PNRP 服务注册和解析名称的基本类型如下所示:
Cloud:定义描述可用 PNRP 云的信息,包括其范围。
PeerName:定义可用于在云中注册并随后解析对等机的对等名称。
PeerNameRecord:定义 PNRP 云中的记录,其中包含对等方的注册信息,其中包括可以联系对等方的网络终结点。
PeerNameRegistration:定义对等名称的注册过程,包括启动和停止对等名称注册的方法。
PeerNameResolver:定义将对等名称解析到其网络终结点的进程,包括解析的同步和异步方法。