Меня особенно интересует, как узел запрашивает другие узлы для результатов поиска.
Первоначально я думал, что узел будет отправлять многоадресное сообщение всем остальным узлам в сети. Но помимо большой нагрузки на сеть, этого не может быть, потому что каждый маршрутизатор между всеми узлами в сети должен быть настроен на использование многоадресной рассылки, что в лучшем случае обеспечит невероятно плохое взаимодействие с пользователем.
Единственный другой способ, которым я могу придумать, - это наличие центрального сервера, который отслеживает каждый узел. Узлы присоединятся к сети, отправив список своих файлов на центральный сервер. Все запросы фактически будут узлами, запрашивающими этот центральный сервер.
Хотя последующий общий доступ к файлам следует модели P2P, запросы к сети кажутся мне скорее моделью клиента / сервера.
Это то, что на самом деле происходит? Если нет, что на самом деле происходит, когда узел запрашивает сеть?