Export (0) Print
Expand All

4.1.3 Peer Name Resolution

The Resolver now attempts Peer Name resolution via the following steps.

101c0197-86a2-4282-a0c1-2680e6922ce6

Figure 5: Peer Name resolution

  1. The Resolver, seeking endpoint information for a Peer Name registered by Node 3, creates a LOOKUP message. To do so, the Resolver first computes a corresponding PNRP ID (which is called 3 in this example), specifies 3 as the Target PNRP ID, and sets itself as the first entry in the path. It then sets the Validate PNRP ID field to be the (numerically) closest PNRP ID it has in its cache to the Target PNRP ID, and sends the packet to the corresponding node (in this case, Node 1).

  2. Upon receiving the LOOKUP message, Node 1 first looks in its cache to see if it contains the PNRP ID found in the Validate PNRP ID field. It does not, so Node 1 instead finds three route entries that are closer to the Target PNRP ID than the Validate PNRP ID. It creates an AUTHORITY message and randomly selects one of the three route entries to put in the Route Entry field of the AUTHORITY_BUFFER. It then returns the AUTHORITY message to the Resolver.

  3. The Resolver extracts the PNRP ID (node 2) from the Route Entry field in the returned AUTHORITY message, and creates a new LOOKUP message, adding Node 1 to the path. The Resolver sets the Validate PNRP ID field to the PNRP found in the Route Entry field of the AUTHORITY message, and sends it to the corresponding node (Node 2).

  4. Upon receiving the LOOKUP message, Node 2 first looks in its cache and to see if it contains the PNRP ID found in the Validate PNRP ID field. It does not, and also has no PNRP IDs in its cache that are closer to the Target PNRP ID than the Validate PNRP ID. It returns an AUTHORITY message with the Route Entry field set to NULL.

  5. Finding the Route Entry field in the returned AUTHORITY message empty, the Resolver backtracks by creating a new LOOKUP message, adding Node 2 to the path, and sending it to the previous node in the path (Node 1).

  6. Upon receiving the LOOKUP message, Node 1 responds exactly as it did in step 2, making certain not to return any PNRP IDs that were already in the path (for example, Node 2 will not be returned). In this case, it returns Node 2a.

  7. The Resolver extracts the PNRP ID from the Route Entry field in the returned AUTHORITY message. Because Node 2 was already added to the path in step 7, it is not added to the path a second time. The Resolver creates a LOOKUP message, setting the Validate PNRP ID field to the PNRP ID found in the Route Entry field of the AUTHORITY message, and sends it to the corresponding node (Node 2a).

  8. Upon receiving the LOOKUP message, Node 2a first looks in its cache and to see if it contains the PNRP ID found in the Validate PNRP ID field. It does, and it creates an AUTHORITY message with the Route Entry field set to the target node (Node 3). Node 2a then returns the AUTHORITY message to the Resolver.

  9. The Resolver, finding the PNRP ID in the Route Entry field of the returned AUTHORITY message equal to the Target PNRP ID, initiates validation by sending an INQUIRE message to Node 3.

    Node 3 checks its Locally Registered PNRP ID List for the presence of the Target PNRP ID. Finding it, Node 3 constructs an AUTHORITY_BUFFER message containing a CPA for the Target PNRP ID. The classifier portion of the Peer Name is added to the AUTHORITY_BUFFER message.

    Because the AUTHORITY_BUFFER message is 2,000 bytes long (exceeding the 1,188-byte limit), the buffer is split into two fragments: the first is 1,188 bytes long; and the second is 812 bytes long. Each fragment is sent in a separate AUTHORITY message.

  10. The Resolver, determining that the value of the Size field (2,000) exceeds 1,188, knows that the AUTHORITY_BUFFER message will arrive in multiple AUTHORITY messages. After receiving all the AUTHORITY messages, reassembling the AUTHORITY_BUFFER message, and validating that the CPA corresponds to the Peer Name of interest, the Resolver reports the endpoint information back to the application.

 
Show:
© 2015 Microsoft