#xor #bittorrent #dht #chord #kademlia
#xor #bittorrent #dht #аккорд #kademlia
Вопрос:
В статье kademlia написано, что метрика XOR является однонаправленной. Что именно это означает? Что еще более важно, каким образом это облегчает проблему часто запрашиваемого узла? Не могли бы вы объяснить мне это с точки зрения узла? Я имею в виду, если разные узлы часто запрашивают точку доступа, обмениваются ли они кэшированными узлами, чтобы добраться до цели? Разве они не могут просто обменять целевой ip? Кроме того, мне не кажется, что поисковые запросы сходятся по тому же пути, что и написано, я думаю, более логично, что каждый узел следует по другому пути, удаляясь все дальше и дальше от себя.
Ответ №1:
Метрика XOR означает, что A ^ B дает то же расстояние, что и B ^ A. Я не уверен, что это напрямую решает проблему частого запроса, скорее, узлы с разных адресов в сети будут воспринимать узлы запроса на пути поиска как имеющие разное расстояние от себя, тем самым кэшируя разные узлы после завершения запроса. Последующие запросы к локальным узлам будут получать в ответ разные удаленные узлы, тем самым потенциально несколько распределяя нагрузку по сети DHT.
При запросе сети DHT более распространенным запросом является запрос данных, касающихся определенного хэша информации. Это хранится узлами с наименьшими расстояниями между их идентификаторами узлов и данным информационным хэшем. Только когда вы начинаете запрашивать узлы, которые близки к целевому информационному хэшу, IP-адреса одноранговых узлов начинают отвечать IP-адресами одноранговых узлов для этого торрента. Узлы не могут просто произвольно возвращать одноранговые IP-адреса, поскольку для этого потребуется, чтобы все узлы сохраняли все IP-адреса для всех торрентов, или чтобы узлы выполняли последующие запросы от вашего имени, что привело бы к неоптимальному использованию сети и было бы открыто для эксплуатации.
Ваше наблюдение о том, что поисковые запросы не сходятся по одному и тому же пути, верно только тогда, когда на запрашиваемом расстоянии имеется избыток узлов. В конце концов, по мере приближения к узлам, хранящим данные для желаемого хэша информации, будет все меньше и меньше узлов с такой близостью к цели. Таким образом, к концу запросов большинство запрашивающих узлов будут сходиться на похожих узлах. Стоит иметь в виду, что это не проблема. Эти узлы будут «горячими» только для данных, связанных с этим конкретным информационным хэшем, поскольку расстояние между информационными хэшами в среднем будет очень большим из-за огромного размера используемого хэш-пространства. Кроме того, если бы это был популярный информационный хэш для запроса, узлы, близкие к этому хэшу, которые не справляются с трафиком, будут оштрафованы сетью и будут реже возвращаться узлами на пути поиска.