Разработка web-приложений
Обмен данными в распределенных сетях
Широковещание (broadcast)
Широковещание на адрес
Рассылка соседям
Клонирование (replication)
Кэширование
Хэш-таблица (DHT)
Сеть доверия (F2F)
Блоковая сеть (DAG или blocknet)
DHT сеть
200.67K
Категория: ИнформатикаИнформатика

Разработка web-приложений p2p. Обмен данными в распределенных сетях

1. Разработка web-приложений

Разработка webприложений
p2p
Цыгулин Алексей Александрович к.т.н.

2. Обмен данными в распределенных сетях

• Широковещание (broadcast)
• Широковещание на адрес
• Рассылка соседям
• Клонирование (replication)
• Кэширование
• Хэш-таблица (DHT)
• Сеть доверия (F2F)
• Блоковая сеть (DAG или blocknet)

3. Широковещание (broadcast)

• Примеры: FM-радио, ТВ-сигнал.
При широковещании узел, подключенный к антенне или проводу,
рассылает в эфир данные, а другие узлы одновременно
принимают эти данные.

4. Широковещание на адрес

• Примеры: Пейджеры, Ethernet, PON,
mesh-сети.
Является разновидностью широковещания, где все узлы
принимают из эфира или провода все данные. Разница в том, что
данные идут не единым потоком, а в виде отдельных блоков и у
каждого блока внутри задан адрес получателя. Например,
каждый пейджер слушает эфир и читает блоки, но в память
записывает только блоки со своим адресом, после чего выдает
уведомление на экран и пищит.

5. Рассылка соседям

• Примеры: RetroShare, Pandora, aMule.
Рассылка данных происходит не сразу на все узлы сети, как при
широковещании, а по очереди на каждый подключенный узел
соседа. Узел соседа пересылает данные своим соседним узлам, и
так далее вовне веером по цепочкам текущий
соединений. Сарафанное радио…

6. Клонирование (replication)

• Примеры: blockchain (Bitcoin, Etherium
• и другие), rsync, многие DB.
Представляет собой простое копирование базы данных с узла на узел до полного
выравнивания данных. При изменении данных на каком-либо узле «разница»
рассылается соседним узлам.

7. Кэширование

• Примеры: ZeroNet, Diaspora (точнее, её «поды»).
Записи распределяются от узла к узлу «широковещанием» или
«рассылкой», после чего какое-то время хранятся в локальном
хранилище, а по истечении заданного времени (или по другому
условию) удаляются.

8. Хэш-таблица (DHT)

• Примеры: Kademlia, OpenDHT,
Tox.
Каждому блоку данных сопоставляется некоторый хэшидентификатор (обычно md5-хэш или sha1-хэш этого блока).
Каждому узлу также назначается некоторый адрес-идентификатор
(обычно md5-хэш или sha1-хэш открытого ключа). После этих двух
условий данные распределяются по сети «широковещанием» или
«рассылкой» и сохраняются на узлах в сопоставлении адресаидентификатора с хэшем-идентификатором.

9. Сеть доверия (F2F)

• Примеры: WoT, PGP, GnuPG, RetroShare,
Pandora.
Записи в сети доверия распределены не псевдослучайным
образом как в DHT, а по доверенным узлам. Доверие – это
специальная пометка (обычно в виде подписи или сертификата)
открытого ключа другого узла, которому данный узел доверяет
свои данные.

10. Блоковая сеть (DAG или blocknet)

• Примеры: Dagcoin, IOTA, Byteball.
По сути является комбинациями,
либо blockchain и хэш-таблицы,
либо blockchain и сети-доверия.

11. DHT сеть

• Сеть хранения
• Файл и его описание
• Наивная реализация UDP
• Программа – работает всегда когда может
• При запуске – процесс подключения
• Затем ответ на вопросы пиров
• Когда нужно делает запросы к сети
English     Русский Правила