Наводнение запросами
Рассылка запросов — это метод поиска ресурса в одноранговой сети . Он прост и очень плохо масштабируется , поэтому используется редко. Ранние версии протокола Gnutella работали на основе лавинной рассылки запросов; в новых версиях используются более эффективные алгоритмы поиска.
Операция
[ редактировать ]Одноранговая сеть обычно состоит из большого количества узлов, каждый из которых подключен к небольшому подмножеству узлов, а не ко всем узлам сети. Если узел хочет найти ресурс в сети, который может находиться на узле, о котором он не знает, он может просто передать свой поисковый запрос своим непосредственным соседям. Если у соседей нет ресурса, он просит своих соседей по очереди переслать запрос своим соседям. установленное сетью Это повторяется до тех пор, пока ресурс не будет найден или не будет установлен контакт со всеми узлами, или, возможно, не будет достигнуто ограничение количества переходов, .
Рассылка запросов проста в реализации и удобна для небольших сетей с небольшим количеством запросов. Он связывается со всеми доступными узлами в сети и таким образом может точно определить, можно ли найти ресурс в сети ( Freenet например, возвращает только вероятностный результат).
С другой стороны, каждый запрос может привести к обращению к каждому узлу. Каждый узел может генерировать небольшое количество запросов; однако каждый такой запрос переполняет сеть. Таким образом, более крупная сеть будет генерировать гораздо больше трафика на узел, чем меньшая, что делает ее по своей сути немасштабируемой. Кроме того, поскольку узел может заполонить сеть, просто отправив запрос на несуществующий ресурс, можно запустить атаку типа «отказ в обслуживании» в сети.
Альтернативы
[ редактировать ]Версия 0.6 протокола Gnutella требует маршрутизации запросов .Спецификация маршрутизации запросов объясняет, как реализуются идеи оригинального исследования. Другие сети обмена файлами, такие как сеть Kad , используют распределенные хэш-таблицы для индексации файлов и поиска по ключевым словам. BitTorrent создает отдельные оверлейные сети для обмена отдельными файлами (или архивами). Поиск осуществляется с помощью других механизмов, таких как поиск торрент-файлов, проиндексированных на веб-сайте. Подобный механизм можно использовать в сети Gnutella с магнитными ссылками. Например, Bitzi предоставляет веб-интерфейс для поиска магнитных ссылок.
Более ранние P2P-сети, такие как Napster , использовали централизованную базу данных для поиска файлов. Здесь нет проблемы масштабирования, но центральный сервер представляет собой единую точку отказа.