Publicación y resolución de nombres del mismo nivelPeer Name Publication and Resolution

Publicación de un nombre de mismo nivelPublishing a Peer Name

Para publicar un nuevo identificador PNRP, un elemento de mismo nivel realiza lo siguiente:To publish a new PNRP ID, a peer performs the following:

  • Envía mensajes de publicación de PNRP a sus vecinos de caché (los elementos de mismo nivel que han registrado identificadores PNRP en el nivel más bajo de la memoria caché) para inicializar sus cachés.Sends PNRP publication messages to its cache neighbors (the peers that have registered PNRP IDs in the lowest level of the cache) to seed their caches.

  • Elige nodos aleatorios en la nube que no son sus vecinos y les envía solicitudes de resolución de nombres de PNRP para su propio identificador P2P.Chooses random nodes in the cloud that are not its neighbors and sends them PNRP name resolution requests for its own P2P ID. El proceso de determinación del punto de conexión resultante inicializa las memorias caché de los nodos aleatorios en la nube con el identificador PNRP del elemento de mismo nivel de publicación.The resulting endpoint determination process seeds the caches of random nodes in the cloud with the PNRP ID of the publishing peer.

-

Los nodos de la versión 2 de PNRP no publican identificadores PNRP si solo resuelven otros identificadores de P2P.PNRP version 2 nodes do not publish PNRP IDs if they are only resolving other P2P IDs. El valor del Registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerNet\PNRP\IPV6-Global\SearchOnly=1 (tipo REG_DWORD) especifica que los elementos de mismo nivel solo usen PNRP para la resolución de nombres, nunca para la publicación de nombres.The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerNet\PNRP\IPV6-Global\SearchOnly=1 registry value (REG_DWORD type) specifies that peers only use PNRP for name resolution, never for name publication. Este valor del Registro también se puede configurar mediante Directiva de grupo.This registry value can also be configured through Group Policy.

Resolución de un nombre de mismo nivelResolving a Peer Name

La búsqueda de otros elementos de mismo nivel en una red de PNRP o en la nube es un proceso que consta de dos fases:Locating other peers in a PNRP network or cloud is a process comprised of two phases:

  1. Determinación del punto de conexiónEndpoint Determination

  2. Resolución de identificadores PNRPPNRP ID Resolution

En la fase de determinación del punto de conexión, un equipo de mismo nivel que está intentando resolver el identificador PNRP de un servicio en otro equipo determina la dirección IPv6 de ese equipo remoto de mismo nivel.In the endpoint determination phase, a peer that is attempting to resolve the PNRP ID of a service on another computer determines the IPv6 address of that remote peer. El equipo remoto de mismo nivel es el que publica o está asociado con el identificador PNRP del equipo o servicio.The remote peer is the one that published, or is associated with, the PNRP ID of the computer or service.

Después de confirmar que el punto de conexión remoto se ha registrado en la nube PNRP, el equipo de mismo nivel que realiza la solicitud en la fase de resolución de identificadores PNRP envía una solicitud a ese punto de conexión de mismo nivel para requerir el identificador PNRP del servicio deseado.After confirming that the remote endpoint has been registered into the PNRP cloud, the requesting peer in the PNRP ID resolution phase sends a request to that peer endpoint for the PNRP ID of the desired service. El punto de conexión envía una respuesta que confirma el identificador PNRP del servicio, un comentario y hasta 4 kilobytes de información adicional que el equipo de mismo nivel que realiza la solicitud puede usar para la comunicación posterior.The endpoint sends a reply confirming the PNRP ID of the service, a comment, and up to 4 kilobytes of additional information that the requesting peer can use for future communication. Por ejemplo, si el punto de conexión deseado es un servidor de juegos, los datos adicionales del registro de nombre de mismo nivel pueden contener información sobre el juego, el nivel de juego y el número actual de jugadores.For example, if the desired endpoint is a gaming server, the additional peer name record data can contain information about the game, the level of play, and the current number of players.

En la fase de determinación de punto de conexión, PNRP usa un proceso iterativo para buscar el nodo que publicó el identificador PNRP, en el que el nodo que realiza la resolución es responsable de ponerse en contacto con los nodos que están más cercanos consecutivamente al identificador PNRP de destino.In the endpoint determination phase, PNRP uses an iterative process for locating the node that published the PNRP ID, in which the node performing the resolution is responsible for contacting nodes that are successively closer to the target PNRP ID.

Para realizar la resolución de nombres en PNRP, el equipo de mismo nivel examina las entradas en su propia memoria caché para buscar una que coincida con el identificador PNRP de destino.To perform name resolution in PNRP, the peer examines the entries in its own cache for an entry that matches the target PNRP ID. Si se encuentra, el equipo de mismo nivel envía un mensaje de solicitud de PNRP y espera una respuesta.If found, the peer sends a PNRP Request message to the peer and waits for a response. Si no se encuentra una entrada para el identificador PNRP, el equipo de mismo nivel envía un mensaje de solicitud PNRP al equipo de mismo nivel que se corresponde a la entrada que tiene un identificador PNRP que mejor coincida con el identificador PNRP de destino.If an entry for the PNRP ID is not found, the peer sends a PNRP Request message to the peer that corresponds to the entry that has a PNRP ID that most closely matches the target PNRP ID. El nodo que recibe el mensaje de solicitud de PNRP examina su propia memoria caché y realiza las acciones siguientes:The node that receives the PNRP Request message examines its own cache and does the following:

  • Si se encuentra el identificador PNRP, el punto de conexión de mismo nivel solicitado responde directamente al equipo de mismo nivel que realizó la solicitud.If the PNRP ID is found, the requested endpoint peer replies directly to the requesting peer.

  • Si no se encuentra el identificador PNRP y un identificador PNRP de la memoria caché está más próximo al identificador PNRP de destino, el equipo de mismo nivel receptor de la solicitud envía una respuesta al emisor de la solicitud que contiene la dirección IPv6 del equipo de mismo nivel que representa la entrada con un identificador PNRP que mejor coincida con el identificador PNRP de destino.If the PNRP ID is not found and a PNRP ID in the cache is closer to the target PNRP ID, the requested peer sends a response to the requesting peer containing the IPv6 address of the peer that represents the entry with a PNRP ID that more closely matches the target PNRP ID. Con la dirección IP en la respuesta, el nodo solicitante envía otro mensaje de solicitud de PNRP a la dirección IPv6 para responder o examinar su caché.Using the IP address in the response, the requesting node sends another PNRP Request message to the IPv6 address to respond or examine its cache.

  • Si no se encuentra el identificador PNRP y no hay ningún identificador PNRP en su memoria caché que se aproxime más al identificador PNRP de destino, el equipo de mismo nivel al que se realiza la solicitud envía al equipo solicitante una respuesta que indica esta condición.If the PNRP ID is not found and there is no PNRP ID in its cache that is closer to the target PNRP ID, the requested peer sends the requesting peer a response that indicates this condition. Después, el equipo de mismo nivel solicitante elige el identificador PNRP más cercano siguiente.The requesting peer then chooses the next-closest PNRP ID.

-

El equipo de mismo nivel solicitante continúa con iteraciones sucesivas, hasta localizar el nodo que registró el identificador PNRP.The requesting peer continues this process with successive iterations, eventually locating the node that registered the PNRP ID.

En el espacio de nombres System.Net.PeerToPeer, hay una relación de varios a varios entre los registros PeerName que contienen puntos de conexión y nubes PNRP o mallas en las que se comunican.Within the System.Net.PeerToPeer namespace, there is a many-to-many relationship between the PeerName records that contain endpoints and PNRP clouds or meshes in which they communicate. Cuando hay entradas duplicadas u obsoletas, o varios nodos con el mismo nombre de mismo nivel, los nodos PNRP pueden obtener información actual mediante la clase PeerNameResolver.When there are duplicate or stale entries, or multiple nodes with the same peer name, PNRP nodes can obtain current information using the PeerNameResolver class. Los métodos PeerNameResolver usan un nombre de mismo nivel único para simplificar la perspectiva a registros de nombre de mismo nivel de uno a varios y del mismo equipo de mismo nivel a varias nubes.The PeerNameResolver methods use a single peer name to simplify the perspective to one peer-to-many peer name records and the same one peer to many clouds. Esto es similar a una consulta realizada con una combinación de tabla relacional.This is similar to a query performed using a relational-table join. Tras completarse correctamente, el objeto de resolución devuelve una PeerNameRecordCollection para el nombre de mismo nivel especificado.Upon successful completion, the Resolver object returns a PeerNameRecordCollection for the specified peer name. Por ejemplo, un nombre de mismo nivel se produciría en todos los registros de nombre de mismo nivel en la colección, ordenados por nube.For example, a peer name would occur in all the peer name records in the collection, ordered by cloud. Estas son las instancias del nombre de mismo nivel cuyos datos auxiliares se pueden solicitar mediante una aplicación basada en PNRP.These are the instances of the peer name whose supporting data may be requested by a PNRP-based application.

Vea tambiénSee Also

System.Net.PeerToPeer