Estoy específicamente interesado en cómo un nodo consulta a los otros nodos para obtener resultados de búsqueda.
Originalmente pensé que el nodo enviaría un mensaje de multidifusión a todos los demás nodos de la red. Pero además de suponer una gran tensión para la red, ese no puede ser el caso porque cada enrutador entre todos los nodos de la red tendría que configurarse para usar multidifusión, lo que, en el mejor de los casos, proporcionaría una experiencia de usuario increíblemente pobre.
La única otra forma que se me ocurre es que haya un servidor central que realice un seguimiento de cada nodo. Los nodos se unirían a la red enviando una lista de sus archivos al servidor central. Todas las consultas serían en realidad nodos que consultan ese servidor central.
Aunque el intercambio de archivos posterior sigue un modelo P2P, consultar la red me parece más un modelo cliente/servidor.
¿Es esto lo que realmente sucede? Si no, ¿qué sucede realmente cuando un nodo consulta la red?