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