Measure owned endpoint mapping and inbound reachability separately
This commit is contained in:
1 parent
b54307a0df
commit
ff69552a61
51 files changed
+2620
-2483
No files matched your search
@@ -13,12 +13,24 @@
|
||||
8-битный `ver` сохраняется как диагностический счётчик; свежесть определяется
|
||||
только timestamp.
|
||||
|
||||
Профиль endpoint в SOCKMETA содержит независимые `mapping` и `inbound`,
|
||||
`evidence_id` и `checked_at`. Последние относятся к измерению владельца,
|
||||
а не к версии всего NODEINFO: повтор записи или изменение имени не продлевает
|
||||
измерение. Новые поля профиля на проводе кодируются явными BE-байтами;
|
||||
границы списков metadata/адресов/REALITY также входят в каноническую подпись.
|
||||
Алгоритм и условия неопределённости описаны в `doc/nat_detection.txt`.
|
||||
|
||||
Таблица `node_snapshots` хранит полную сериализованную запись без группового
|
||||
окружения. `node_addresses` остаётся проекцией для поиска и отображения, а не
|
||||
источником для восстановления подписанной записи. При наличии сохранённого
|
||||
snapshot загрузка использует его. Локальная публикация сохраняется до рассылки;
|
||||
ошибка сохранения не разрешает публикацию новой версии.
|
||||
|
||||
В проекции адресов сохраняются `nat_mapping`, `nat_inbound`, `nat_evidence`,
|
||||
`nat_checked`, `address_kind`. Уникальность определяется endpoint и видом адреса,
|
||||
а не отображаемым классом NAT. Старый производный формат пересоздаётся;
|
||||
bootstrap-загрузка без подписанного snapshot не подтверждает NAT-профиль.
|
||||
|
||||
Timestamp 0 обозначает bootstrap-сведения без подписи (конфиг, приглашение,
|
||||
начальные адреса). Они могут помочь установить первое соединение, но не
|
||||
заменяют принятую подписанную запись. По BGP принимаются подписанные записи
|
||||
|
||||
Reference in new issue
Block a user