Jump to content

Распределенная хеш-таблица

(Перенаправлено из распределенных хеш-таблиц )

Распределенная хэш-таблица ( DHT ) — это распределенная система , предоставляющая службу поиска, аналогичную хеш-таблице . Пары ключ-значение хранятся в DHT, и любой участвующий узел может эффективно получить значение, связанное с данным ключом. Основное преимущество DHT заключается в том, что узлы можно добавлять или удалять с минимальными усилиями по перераспределению ключей. [ 1 ] Ключи — это уникальные идентификаторы, которые сопоставляются с определенными значениями , которые, в свою очередь, могут быть чем угодно: от адресов до документов и произвольных данных . [ 2 ] Ответственность за поддержание сопоставления ключей со значениями распределяется между узлами таким образом, чтобы изменение набора участников вызывало минимальный сбой. Это позволяет DHT масштабироваться до чрезвычайно большого количества узлов и обрабатывать непрерывные поступления, отправления и сбои узлов.

DHT образуют инфраструктуру, которую можно использовать для создания более сложных сервисов, таких как Anycast , совместное веб-кэширование , распределенные файловые системы , службы доменных имен , обмен мгновенными сообщениями , многоадресная рассылка , а также одноранговые системы обмена файлами и распространения контента . Известные распределенные сети, использующие DHT, включают сеть распределенный трекер BitTorrent, Kad , ботнет Storm , мессенджер Tox , Freenet , поисковую систему YaCy и InterPlanetary File System .

Распределенные хеш-таблицы

Исследования DHT изначально были частично мотивированы одноранговыми (P2P) системами, такими как Freenet , Gnutella , BitTorrent и Napster , которые использовали ресурсы, распределенные по Интернету, для предоставления единого полезного приложения. В частности, они воспользовались возросшей пропускной способностью и емкостью жесткого диска для предоставления услуг обмена файлами. [ 3 ]

Эти системы различались тем, как они находили данные, предлагаемые их аналогами. Napster, первой крупномасштабной системе доставки контента P2P, требовал центрального индексного сервера: каждый узел при присоединении отправлял список локально хранящихся файлов на сервер, который выполнял поиск и перенаправлял запросы к узлам, на которых хранился файл. результаты. Этот центральный компонент сделал систему уязвимой для атак и судебных исков.

Gnutella и подобные сети перешли на модель лавинной рассылки запросов — по сути, каждый поиск приводил к тому, что сообщение транслировалось на каждую машину в сети. Несмотря на отсутствие единой точки отказа , этот метод был значительно менее эффективным, чем Napster. Более поздние версии клиентов Gnutella перешли на модель динамических запросов , что значительно повысило эффективность. [ 4 ]

Freenet полностью распределен, но использует эвристическую маршрутизацию на основе ключей , при которой каждый файл связан с ключом, а файлы со схожими ключами имеют тенденцию группироваться на аналогичном наборе узлов. Запросы, скорее всего, будут направляться через сеть в такой кластер без необходимости посещения многих узлов. [ 5 ] Однако Freenet не гарантирует, что данные будут найдены.

Распределенные хеш-таблицы используют более структурированную маршрутизацию на основе ключей, чтобы обеспечить как децентрализацию Freenet и Gnutella, так и эффективность и гарантированные результаты Napster. Freenet Одним из недостатков является то, что, как и Freenet, DHT напрямую поддерживают только поиск по точному совпадению, а не поиск по ключевым словам, хотя алгоритм маршрутизации может быть обобщен на любой тип ключа, где может быть определена операция близости. [ 6 ]

В 2001 году четыре системы — CAN , [ 7 ] Аккорд , [ 8 ] Кондитерские изделия и гобелены сделали ДГТ популярной темой исследований. США Проект под названием «Инфраструктура для устойчивых интернет-систем» (Iris) был профинансирован за счет гранта в размере 12 миллионов долларов США от Национального научного фонда в 2002 году. [ 9 ] Среди исследователей были Сильвия Ратнасами , Ион Стойка , Хари Балакришнан и Скотт Шенкер . [ 10 ] За пределами академических кругов технология DHT была принята в качестве компонента BitTorrent и в проектах PlanetLab, таких как Coral Content Distribution Network. [ 11 ]

Характеристики

[ редактировать ]

DHT характерно подчеркивают следующие свойства:

Ключевой метод, используемый для достижения этих целей, заключается в том, что любой узел должен координировать свои действия лишь с несколькими другими узлами в системе чаще всего с O (log n ) из n участников (см. ниже) — так что только ограниченное количество объем работы необходимо проделать для каждого изменения в членстве.

Некоторые конструкции DHT направлены на защиту от злоумышленников. [ 13 ] и позволить участникам оставаться анонимными , хотя это встречается реже, чем во многих других одноранговых (особенно файлообменных ) системах; см. анонимный P2P .

Структура

[ редактировать ]

Структуру DHT можно разложить на несколько основных компонентов. [ 14 ] [ 15 ] Основой является абстрактное пространство ключей , такое как набор 160-битных строк . пространства ключей Схема разделения разделяет владение этим пространством ключей между участвующими узлами. Затем оверлейная сеть соединяет узлы, позволяя им найти владельца любого ключа в пространстве ключей.

Как только эти компоненты будут установлены, типичное использование DHT для хранения и извлечения может происходить следующим образом. Предположим, что пространство ключей представляет собой набор 160-битных строк. Чтобы проиндексировать файл с заданным имя файла и данные в DHT, SHA-1 хеш имени файла генерируется , создавая 160-битный ключ k , и сообщение put ( k, data ) отправляется любому узлу, участвующему в DHT. Сообщение пересылается от узла к узлу через оверлейную сеть, пока не достигнет единственного узла, ответственного за ключ k, как указано в разделении пространства ключей. Затем этот узел хранит ключ и данные. Любой другой клиент может затем получить содержимое файла, снова хешируя имя файла для получения k и попросив любой узел DHT найти данные, связанные с k, с помощью сообщения get ( k ) . Сообщение снова будет перенаправлено через оверлей на узел, ответственный за k , который ответит сохраненными данными .

Компоненты сети разделения и наложения пространства ключей описаны ниже с целью отразить основные идеи, общие для большинства DHT; многие конструкции отличаются в деталях.

Разделение пространства ключей

[ редактировать ]

Большинство DHT используют тот или иной вариант последовательного хеширования или рандеву-хеширования для сопоставления ключей с узлами. Эти два алгоритма, по-видимому, были разработаны независимо и одновременно для решения проблемы распределенной хэш-таблицы.

Как согласованное хеширование, так и рандеву-хеширование обладают тем важным свойством, что удаление или добавление одного узла изменяет только набор ключей, принадлежащих узлам с соседними идентификаторами, и оставляет все остальные узлы незатронутыми. Сравните это с традиционной хеш-таблицей, в которой добавление или удаление одного сегмента приводит к переназначению почти всего пространства ключей. Поскольку любое изменение владельца обычно соответствует перемещению объектов, хранящихся в DHT, с одного узла на другой, требующих интенсивного использования полосы пропускания, сведение к минимуму такой реорганизации необходимо для эффективной поддержки высоких показателей оттока (прибытие и сбой узла).

Согласованное хеширование

[ редактировать ]

Согласованное хеширование использует функцию который определяет абстрактное понятие расстояния между клавишами и , что не связано с географическим расстоянием или задержкой сети . Каждому узлу назначается один ключ, называемый его идентификатором (ID). Узел с идентификатором владеет всеми ключами для чего — ближайший идентификатор, измеренный в соответствии с .

Например, Chord DHT использует последовательное хеширование, при котором узлы рассматриваются как точки на круге. это расстояние, проходимое по кругу по часовой стрелке от к . Таким образом, круговое пространство ключей разбивается на смежные сегменты, конечными точками которых являются идентификаторы узлов. Если и — это два соседних идентификатора, находящихся на меньшем расстоянии по часовой стрелке от к , то узел с идентификатором владеет всеми ключами, которые попадают между и .

Хэширование рандеву

[ редактировать ]

При хешировании рандеву, также называемом хешированием с наибольшим случайным весом (HRW), все клиенты используют одну и ту же хэш-функцию. (выбран заранее), чтобы связать ключ с одним из n доступных серверов. одинаковый список идентификаторов { S1 . , S2 Каждый клиент имеет ,..., Sn } сервера , по одному для каждого По некоторому ключу k клиент вычисляет n хеш-весов w 1 = h ( S 1 , k ), w 2 = h ( S 2 , k ), ..., w n = h ( S n , k ) . Клиент связывает этот ключ с сервером, соответствующим наибольшему весу хеш-функции для этого ключа. Сервер с идентификатором владеет всеми ключами для которого хеш-вес выше, чем хеш-вес любого другого узла для этого ключа.

Хеширование с сохранением локальности

[ редактировать ]

Хеширование с сохранением локальности гарантирует, что аналогичные ключи будут назначены одинаковым объектам. Это может обеспечить более эффективное выполнение запросов диапазона, однако, в отличие от использования последовательного хеширования, больше нет уверенности в том, что ключи (и, следовательно, нагрузка) равномерно и случайно распределены по пространству ключей и участвующим одноранговым узлам. Протоколы DHT, такие как Self-Chord и Oscar [ 16 ] решать подобные вопросы. Self-Chord отделяет ключи объектов от идентификаторов узлов и сортирует ключи по кольцу с помощью статистического подхода, основанного на парадигме роевого интеллекта . [ 17 ] Сортировка гарантирует, что соседние узлы сохраняют одинаковые ключи и что процедуры обнаружения, включая запросы диапазона , могут выполняться за логарифмическое время. Оскар создает навигационную сеть маленького мира на основе выборки случайных блужданий , а также обеспечивает логарифмическое время поиска.

Оверлейная сеть

[ редактировать ]

Каждый узел поддерживает набор ссылок на другие узлы (своих соседей или таблицу маршрутизации ). Вместе эти ссылки образуют оверлейную сеть. [ 18 ] Узел выбирает своих соседей в соответствии с определенной структурой, называемой топологией сети .

Все топологии DHT разделяют некоторый вариант наиболее важного свойства: для любого ключа k каждый узел либо имеет идентификатор узла, которому принадлежит k , либо имеет ссылку на узел, чей идентификатор узла ближе к k , с точки зрения расстояния пространства ключей, определенного выше. . Тогда легко направить сообщение владельцу любого ключа k, используя следующий жадный алгоритм (который не обязательно является глобально оптимальным): на каждом шаге пересылайте сообщение соседу, чей идентификатор ближе всего к k . Если такого соседа нет, мы должны прийти к ближайшему узлу, который является владельцем k, как определено выше. Этот стиль маршрутизации иногда называют маршрутизацией на основе ключей .

Помимо базовой корректности маршрутизации, два важных ограничения топологии заключаются в том, чтобы гарантировать, что максимальное количество переходов в любом маршруте (длина маршрута) невелико, чтобы запросы выполнялись быстро; и что максимальное количество соседей любого узла (максимальная степень узла ) невелико, так что накладные расходы на обслуживание не являются чрезмерными. Конечно, более короткие маршруты требуют более высокой максимальной степени . Ниже приведены некоторые распространенные варианты максимальной степени и длины маршрута, где n — количество узлов в DHT, используя обозначение Big O :

Макс. степень Максимальная длина маршрута Используется в Примечание
Наихудшая длина поиска, вероятно, с гораздо более медленным временем поиска.
Хорда (с постоянной степенью) Более сложна в реализации, но приемлемое время поиска можно найти при фиксированном количестве соединений.
Аккорд
Кадемлия
Кондитерские изделия
Гобелен
Самый распространенный, но не оптимальный (градус/длина маршрута). Chord — самая базовая версия, а Kademlia — самый популярный оптимизированный вариант (должен быть улучшен средний поиск).
Шнуры (с оптимальным поиском) Сложнее реализовать, но поиск может быть быстрее (имеет нижнюю границу наихудшего случая)
Наихудшие потребности в локальном хранилище, с большим объемом обмена данными после подключения или отключения любого узла.

Самый распространенный выбор, степень/длина маршрута не является оптимальным с точки зрения соотношения степени/длины маршрута, но такие топологии обычно обеспечивают большую гибкость в выборе соседей. Многие DHT используют эту гибкость для выбора соседей, близких по задержке в физической базовой сети. В общем, все DHT создают навигационные топологии сетей маленького мира, в которых длина маршрута находится в компромиссе с уровнем сети. [ 19 ]

Максимальная длина маршрута тесно связана с диаметром : максимальным количеством прыжков на любом кратчайшем пути между узлами. Очевидно, что длина маршрута в наихудшем случае сети, по крайней мере, равна ее диаметру, поэтому DHT ограничены соотношением степени/диаметра. [ 20 ] это фундаментально в теории графов . Длина маршрута может быть больше диаметра, поскольку жадный алгоритм маршрутизации может не найти кратчайшие пути. [ 21 ]

Алгоритмы для оверлейных сетей

[ редактировать ]

Помимо маршрутизации, существует множество алгоритмов, которые используют структуру оверлейной сети для отправки сообщения всем узлам или подмножеству узлов в DHT. [ 22 ] Эти алгоритмы используются приложениями для выполнения наложенной многоадресной рассылки , запросов диапазона или для сбора статистики. Две системы, основанные на этом подходе: Structella, [ 23 ] который реализует лавинную рассылку и случайные блуждания в оверлее Pastry, и DQ-DHT, который реализует алгоритм поиска с динамическими запросами в сети Chord. [ 24 ]

Безопасность

[ редактировать ]

Благодаря децентрализации, отказоустойчивости и масштабируемости DHT они по своей сути более устойчивы к враждебному злоумышленнику, чем централизованная система. [ нечеткий ]

Открытые системы для распределенного хранения данных , устойчивые к массовым враждебным атакам, вполне осуществимы. [ 25 ]

Система DHT, тщательно спроектированная с учетом византийской отказоустойчивости, может защитить от уязвимости безопасности, известной как атака Сивиллы , которая затрагивает большинство современных разработок DHT. [ 26 ] [ 27 ] Ванау — это DHT, разработанный для защиты от атак Сивиллы. [ 28 ]

Петар Маймунков, один из первых авторов Kademlia , предложил способ обойти слабость атаки Сивиллы путем включения отношений социального доверия в конструкцию системы. [ 29 ] Новая система под кодовым названием Tonika или также известная под своим доменным именем 5ttt основана на алгоритме, известном как «электрическая маршрутизация», и разработана в соавторстве с математиком Джонатаном Келнером. [ 30 ] Маймунков сейчас предпринял комплексные усилия по внедрению этой новой системы. Однако исследование эффективной защиты от атак Сивиллы обычно считается открытым вопросом, и каждый год на ведущих конференциях по исследованию безопасности предлагается широкий спектр потенциальных средств защиты. [ нужна ссылка ]

Реализации

[ редактировать ]

Наиболее заметные различия, встречающиеся на практике при реализации DHT, включают, по крайней мере, следующее:

  • Адресное пространство является параметром DHT. Некоторые реальные DHT используют 128-битное или 160-битное пространство ключей.
  • Некоторые реальные DHT используют хеш-функции, отличные от SHA-1 .
  • В реальном мире ключ k файла, может быть хешем содержимого файла а не хешем имени , чтобы обеспечить хранилище с адресацией по содержимому , чтобы переименование файла не мешало пользователям его найти.
  • Некоторые DHT также могут публиковать объекты разных типов. Например, ключ k может быть узлом Идентификатор и связанные с ним данные могут описывать, как связаться с этим узлом. Это позволяет публиковать информацию о присутствии и часто используется в приложениях обмена мгновенными сообщениями и т. д. В простейшем случае ID — это просто случайное число, которое напрямую используется в качестве ключа. k (то есть в 160-битном DHT ID будет 160-битным числом, обычно выбираемым случайным образом). В некоторых DHT публикация идентификаторов узлов также используется для оптимизации операций DHT.
  • Для повышения надежности можно добавить резервирование. (k, data) пара ключей может храниться более чем в одном узле, соответствующем ключу. Обычно вместо того, чтобы выбирать только один узел, реальные алгоритмы DHT выбирают мне подходят узлы, с i — параметр DHT, специфичный для реализации. В некоторых конструкциях DHT узлы соглашаются обрабатывать определенный диапазон пространства ключей, размер которого можно выбирать динамически, а не жестко запрограммировать.
  • Некоторые продвинутые DHT, такие как Kademlia, сначала выполняют итеративный поиск через DHT, чтобы выбрать набор подходящих узлов и отправить сообщения put(k, data) только на эти узлы, что радикально снижает бесполезный трафик, поскольку опубликованные сообщения отправляются только на узлы, которые кажутся подходящими для хранения ключа. к ; а итеративные поиски охватывают лишь небольшой набор узлов, а не весь DHT, что сокращает бесполезную пересылку. В таких DHT пересылка Сообщения put(k, data) могут возникать только как часть алгоритма самовосстановления: если целевой узел получает сообщение put(k, data) сообщение, но считает, что k находится вне обрабатываемого диапазона и известен ближайший узел (с точки зрения пространства ключей DHT), сообщение пересылается на этот узел. В противном случае данные индексируются локально. Это приводит к некоторому самобалансирующемуся поведению DHT. Конечно, такой алгоритм требует, чтобы узлы публиковали данные о своем присутствии в DHT, чтобы можно было выполнять итеративный поиск.
  • Поскольку на большинстве машин отправка сообщений обходится намного дороже, чем доступ к локальной хэш-таблице, имеет смысл объединить множество сообщений, касающихся конкретного узла, в один пакет. Предполагая, что каждый узел имеет локальный пакет, состоящий не более чем из b операций, процедура объединения заключается в следующем. Каждый узел сначала сортирует свой локальный пакет по идентификатору узла, ответственного за операцию. Используя сегментную сортировку , это можно сделать в O(b + n) , где n — количество узлов в DHT. Если в одном пакете выполняется несколько операций, обращающихся к одному и тому же ключу, перед отправкой пакет сжимается. Например, несколько поисков одного и того же ключа можно свести к одному, а несколько приращений можно свести к одной операции добавления. Такое сокращение можно реализовать с помощью временной локальной хеш-таблицы. Наконец, операции отправляются на соответствующие узлы. [ 31 ]

Протоколы и реализации DHT

[ редактировать ]

Приложения, использующие DHT

[ редактировать ]

См. также

[ редактировать ]
  • Couchbase Server : постоянная, реплицируемая, кластеризованная система хранения распределенных объектов, совместимая с протоколом memcached.
  • Memcached : высокопроизводительная система кэширования объектов с распределенной памятью.
  • Префиксное хеш-дерево : сложные запросы по DHT.
  • Дерево Меркла : дерево, в котором каждый нелистовой узел помечен хешем меток его дочерних узлов.
  • Большинство распределенных хранилищ данных используют для поиска ту или иную форму DHT.
  • Графы пропуска — это эффективная структура данных для реализации DHT.
  1. ^ Хота, Читтаранджан; Шримани, Прадип К. (11 января 2013 г.). Распределенные вычисления и интернет-технологии: 9-я Международная конференция ICDCIT 2013, Бхубанешвар, Индия, 5–8 февраля 2013 г., Материалы . Спрингер. ISBN  978-3-642-36071-8 .
  2. ^ Стойка, И .; Моррис, Р.; Каргер, Д .; Каашук, МФ; Балакришнан, Х. (2001). «Chord: масштабируемая одноранговая служба поиска интернет-приложений» (PDF) . Обзор компьютерных коммуникаций ACM SIGCOMM . 31 (4): 149. дои : 10.1145/964723.383071 . Архивировано (PDF) из оригинала 7 июля 2023 г. Проверено 18 сентября 2018 г. Значением может быть адрес, документ или произвольный элемент данных.
  3. ^ Лиз, Кроукрофт; и др. (2005). «Обзор и сравнение схем одноранговых оверлейных сетей» (PDF) . Опросы и учебные пособия IEEE по коммуникациям . 7 (2): 72–93. CiteSeerX   10.1.1.109.6124 . дои : 10.1109/COMST.2005.1610546 . S2CID   7971188 . Архивировано (PDF) из оригинала 05 октября 2023 г. Проверено 24 сентября 2019 г.
  4. ^ Рихтер, Стивенсон; и др. (2009). «Анализ влияния моделей динамических запросов на отношения клиент-сервер». Тенденции в современных вычислениях : 682–701.
  5. ^ В поисках маленького мира, главы 1 и 2 (PDF) , заархивировано из оригинала (PDF) 16 марта 2012 г. , получено 10 января 2012 г.
  6. ^ «Раздел 5.2.2» (PDF) , Распределенная децентрализованная система хранения и поиска информации , заархивировано из оригинала (PDF) 16 марта 2012 г. , получено 10 января 2012 г.
  7. ^ Ратнасами, Сильвия; Фрэнсис, Пол; Хэндли, Марк; Карп, Ричард; Шенкер, Скотт (27 августа 2001 г.). «Масштабируемая сеть с адресацией по контенту» . СИГКОММ Компьютер. Коммун. Преподобный . 31 (4): 161–172. дои : 10.1145/964723.383072 . ISSN   0146-4833 .
  8. ^ Хари Балакришнан , М. Франс Каашук , Дэвид Каргер, Роберт Моррис и Ион Стойка. Поиск данных в P2P-системах. Архивировано 19 мая 2016 г. на Wayback Machine . В сообщениях ACM , февраль 2003 г.
  9. ^ Дэвид Коэн (1 октября 2002 г.). «Новая P2P-сеть, финансируемая правительством США» . Новый учёный . Архивировано из оригинала 6 апреля 2008 года . Проверено 10 ноября 2013 г.
  10. ^ «MIT, Беркли, ICSI, Нью-Йоркский университет и Райс запускают проект IRIS» . Пресс-релиз . Массачусетский технологический институт. 25 сентября 2002 года. Архивировано из оригинала 26 сентября 2015 года . Проверено 10 ноября 2013 г.
  11. ^ «Демократизация публикации контента с помощью Coral» (PDF) . НСДИ . 4 . 2004 . Проверено 1 мая 2024 г.
  12. ^ Р. Мокадем, А. Хамерлен и А. М. Тьоа. Служба обнаружения ресурсов при минимизации затрат на обслуживание в иерархических системах DHT. Архивировано 9 августа 2022 г. на Wayback Machine . Учеб. iiWas, 2010 г.
  13. ^ Гвидо Урданета, Гийом Пьер и Маартен ван Стен. Обзор методов безопасности DHT , заархивированный 1 июня 2023 г. в Wayback Machine . Обзоры ACM Computing Surveys 43 (2), январь 2011 г.
  14. ^ Мони Наор и Уди Видер. Новые архитектуры для P2P-приложений: непрерывно-дискретный подход. Архивировано 9 декабря 2019 г. в Wayback Machine . Учеб. СПАА, 2003.
  15. ^ Гурмит Сингх Манку. Dipsea: модульная распределенная хеш-таблица, заархивировано 10 сентября 2004 г. в Wayback Machine . Докторская диссертация (Стэнфордский университет), август 2004 г.
  16. ^ Гирдзияускас, Шарунас; Датта, Анвитаман; Аберер, Карл (01 февраля 2010 г.). «Структурированное наложение для гетерогенных сред» . Транзакции ACM в автономных и адаптивных системах . 5 (1): 1–25. дои : 10.1145/1671948.1671950 . ISSN   1556-4665 . S2CID   13218263 . Архивировано из оригинала 12 июля 2020 г. Проверено 12 марта 2020 г.
  17. ^ Форестьеро, Агостино; Леонарди, Эмилио; Мастроянни, Карло; Мео, Микела (октябрь 2010 г.). «Self-Chord: биоинспирированная P2P-инфраструктура для самоорганизующихся распределенных систем» . Транзакции IEEE/ACM в сети . 18 (5): 1651–1664. дои : 10.1109/TNET.2010.2046745 . S2CID   14797120 . Архивировано из оригинала 1 июля 2012 г. Проверено 28 июля 2019 г.
  18. ^ Галуба, Войцех; Гирдзияускас, Шарунас (2009), «Оверлейные одноранговые сети: структура, маршрутизация и обслуживание», в LIU, LING ; ОЗСУ, М. ТЭМЕР (ред.), Энциклопедия систем баз данных , Springer US, стр. 2056–2061, doi : 10.1007/978-0-387-39940-9_1215 , ISBN  9780387399409
  19. ^ Гирдзияускас, Шарунас (2009). Проектирование одноранговой сети отражает точку зрения маленького мира . epfl.ch (Диссертация). ЭПФЛ. doi : 10.5075/epfl-thesis-4327 . Архивировано из оригинала 03 марта 2020 г. Проверено 11 ноября 2019 г.
  20. ^ Задача (степень, диаметр) для графиков , Maite71.upc.es, заархивировано из оригинала 17 февраля 2012 г. , получено 10 января 2012 г.
  21. ^ Гурмит Сингх Манку, Мони Наор и Уди Видер. «Знай соседа своего соседа: возможности прогнозирования в рандомизированных P2P-сетях». Архивировано 20 апреля 2008 г. в Wayback Machine . Учеб. СТОК, 2004.
  22. ^ Али Годси (22 мая 2007 г.). «Распределенная k-арная система: алгоритмы для распределенных хеш-таблиц» . Архивировано из оригинала 22 мая 2007 года . КТН-Королевский технологический институт, 2006 г.
  23. ^ Кастро, Мигель; Коста, Мануэль; Роустрон, Энтони (1 января 2004 г.). «Должны ли мы построить Gnutella на структурированном оверлее?» (PDF) . Обзор компьютерных коммуникаций ACM SIGCOMM . 34 (1): 131. CiteSeerX   10.1.1.221.7892 . дои : 10.1145/972374.972397 . S2CID   6587291 . Архивировано (PDF) из оригинала 14 февраля 2021 года . Проверено 25 сентября 2019 г.
  24. ^ Талия, Доменико; Трунфио, Паоло (декабрь 2010 г.). «Включение динамических запросов к распределенным хеш-таблицам». Журнал параллельных и распределенных вычислений . 70 (12): 1254–1265. дои : 10.1016/j.jpdc.2010.08.012 .
  25. ^ Барух Авербух, Кристиан Шайделер. «На пути к масштабируемому и надежному DHT». 2006. дои : 10.1145/1148109.1148163
  26. ^ Максвелл Янг; Аникет Кейт; Ян Голдберг; Мартин Карстен. «Практическая надежная связь в DHT, терпящих византийского противника». Архивировано 22 июля 2016 г. в Wayback Machine .
  27. ^ Наталья Федотова; Джордано Орзетти; Лука Велтри; Алессандро Закканьини. «Византийское соглашение об управлении репутацией в одноранговых сетях на основе DHT». два : 10.1109/ICTEL.2008.4652638
  28. ^ Ванау: Распределенная хеш-таблица, защищенная от Сивиллы https://pdos.csail.mit.edu/papers/whanau-nsdi10.pdf. Архивировано 25 января 2022 г. в Wayback Machine.
  29. ^ Лесневски-Лаас, Крис (1 апреля 2008 г.). «Однохоповый DHT, защищенный от Сивиллы» . Материалы 1-го семинара по системам социальных сетей . Социальные сети '08. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники: 19–24. дои : 10.1145/1435497.1435501 . ISBN  978-1-60558-124-8 .
  30. ^ Келнер, Джонатан; Маймунков, Петр (22 июля 2011 г.). «Электрическая маршрутизация и попутная резка» . Теоретическая информатика . Алгоритмы и вычисления. 412 (32): 4123–4135. дои : 10.1016/j.tcs.2010.06.013 . ISSN   0304-3975 .
  31. ^ Сандерс, Питер; Мельхорн, Курт; Дитцфельбингер, Мартин; Дементьев, Роман (2019). Последовательные и параллельные алгоритмы и структуры данных: базовый набор инструментов . Международное издательство Спрингер. ISBN  978-3-030-25208-3 . Архивировано из оригинала 17 августа 2021 г. Проверено 22 января 2020 г.
  32. ^ Вики Tribler. Архивировано 4 декабря 2010 г. на Wayback Machine, получено в январе 2010 г.
  33. ^ Часто задаваемые вопросы Retroshare. Архивировано 17 июля 2013 г. на Wayback Machine, получено в декабре 2011 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: dad95988eba18b4ca2642578bc537d3c__1725570300
URL1:https://arc.ask3.ru/arc/aa/da/3c/dad95988eba18b4ca2642578bc537d3c.html
Заголовок, (Title) документа по адресу, URL1:
Distributed hash table - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)