Peer-to-Peer Name Resolution
In P2P networking, peers use PNRP names to identify computers, users, groups, services, and anything else that should be resolved to an IP address. Peer names can be registered as unsecured or secured. Unsecured names are just automatically generated text strings that are subject to spoofing by a malicious computer that registers the same name. Unsecured names are therefore best used in private or otherwise secure networks. Secured names are signed digitally with a certificate and thus can be registered only by the owner.
PNRP IDs are 256 bits long and are composed of the following:
- The high-order 128 bits, known as the peer-to-peer ID, are a hash of a peer name assigned to the endpoint.
- The low-order 128 bits are used for the service location, which is a generated number that uniquely identifies different instances of the same ID in a cloud.
The 256-bit combination of peer-to-peer ID and service location allows multiple PNRP IDs to be registered from a single computer. For each cloud, each peer node manages a cache of PNRP IDs that includes both its own registered PNRP IDs and the entries cached over time.
When a peer needs to resolve a PNRP ID to the address, protocol, and port number, it first examines its own cache for entries with a matching peer ID (in case the client has resolved a PNRP ID for a different service location on the same peer). If that peer is found, the resolving client sends a request directly to the peer.
If the resolving client does not have an entry for the peer ID, it sends requests to other peers in the same cloud, one at a time. If one of those peers has an entry cached, that peer first verifies that the requested peer is connected to the network before resolving the name for the requesting client. While the PNRP request message is being forwarded, its contents are used to populate caches of nodes that are forwarding it. When the response is sent back through the return path, its contents are also used to populate node caches. This name resolution mechanism allows clients to identify each other without a server infrastructure.
In this tutorial:
- Configuring Windows Networking
- Usability Improvements
- Network And Sharing Center
- Network Explorer
- How Windows Finds Network Resources
- How Windows Publishes Network Resources
- How Windows Creates the Network Map
- Network Map
- Set Up A Connection Or Network Wizard
- Manageability Improvements
- Network Location Types
- Policy-Based QoS
- Selecting DSCP Values
- Planning Traffic Throttling
- Configuring QoS Policies
- Configuring System-Wide QoS Settings
- Configuring Advanced QoS Settings
- Testing QoS
- Windows Firewall and IPsec
- Windows Connect Now in Windows 7
- Core Networking Improvements
- Networking BranchCache
- How Hosted Cache Works
- How Distributed Cache Works
- Configuring BranchCache
- BranchCache Protocols
- File Sharing Using SMB
- Web Browsing with HTTP (Including HTTPS)
- DNSsec
- GreenIT
- Efficient Networking
- What Causes Latency, How to Measure It, and How to Control It
- TCP Receive Window Scaling
- Scalable Networking
- Improved Reliability
- IPv6 Support
- 802.1X Network Authentication
- Server Message Block (SMB) 2.0
- Strong Host Model
- Wireless Networking
- Improved APIs
- Network Awareness
- Improved Peer Networking
- Services Used by Peer-to-Peer Networking
- Managing Peer-to-Peer Networking
- Peer-to-Peer Name Resolution
- EAP Host Architecture
- Layered Service Provider (LSP)
- Windows Sockets Direct Path for System Area Networks
- How to Configure Wireless Settings
- Configuring Wireless Settings Manually
- Using Group Policy to Configure Wireless Settings
- How to Configure TCP/IP
- DHCP
- Configuring IP Addresses Manually
- Command Line and Scripts
- How to Connect to AD DS Domains
- How to Connect to a Domain When 802.1X Authentication Is Not Enabled
- How to Connect to a Domain When 802.1X Authentication Is Enabled