Я хочу подтвердить свое понимание ведер в Kademlia DHT.Kademlia имеет m k-сегментов , где m - размер сети в битах, а k - количество ключ-значение пар.хранится в ведре.например, скажем m=4
, тогда мы можем иметь 2^4
узлов, а именно от 0 до 15.
+========+
| NodeId |
+========+
| 0000 |
+--------+
| 0001 |
+--------+
| 0010 |
+--------+
| 0011 |
+--------+
| 0100 |
+--------+
| 0101 |
+--------+
| 0110 |
+--------+
| 0111 |
+--------+
| 1000 |
+--------+
| 1001 |
+--------+
| 1010 |
+--------+
| 1011 |
+--------+
| 1100 |
+--------+
| 1101 |
+--------+
| 1110 |
+--------+
| 1111 |
+--------+
Каждый узел имеет таблицу маршрутизации с 0-битным соответствием, 1-битным соответствием и2-битное совпадение и так далее, это m
сегментов.Кроме того, для каждого сегмента он будет хранить k
представителей вместо одного NodeId.Итак, если мы скажем k = 2, таблица маршрутизации для узла 0101 будет выглядеть примерно так:
┌──────────────────────┐
│ 0101 │
├──────────────────────┤
| |
| +==================+ |
| | xxxx | |
| +==================+ |
| | 1001, <value> | |
| +------------------+ |
| | 1010, <value> | |
| +------------------+ |
| |
| +==================+ |
| | 0xxx | |
| +==================+ |
| | 0000, <value> | |
| +------------------+ |
| | 0111, <value> | |
| +------------------+ |
| |
| +==================+ |
| | 01xx | |
| +==================+ |
| | 0110, <value> | |
| +------------------+ |
| | 0111, <value> | |
| +------------------+ |
| . |
| . |
| . |
└──────────────────────┘
Верно ли мое предположение?