docs: explain observed NAT candidates in signed node snapshots

This commit is contained in:
evgeny committed 2026-10-17 18:05:30 +02:00
1 parent eb09a675c7
commit 3c321ac59c
1 file changed
+6 -3
+6 -3
View File
@@ -19,9 +19,12 @@ ID и время измерения не передаются: последни
проверка с тем же результатом не меняет NODEINFO. Все поля SOCKMETA — отдельные байты;
границы списков metadata/адресов/REALITY также входят в каноническую подпись.
Алгоритм и условия неопределённости описаны в `doc/nat_detection.txt`.
`source=ETCP` обозначает измерение рабочего endpoint, `source=STUN` — резервную оценку
по IP/netif с другого порта. Source входит в подпись; SOCKMETA занимает 5 байт.
STUN mapped endpoint не публикуется как внешний адрес рабочего сокета.
`source=ETCP` обозначает наблюдение рабочего endpoint. Одно наблюдение может дать
адрес `TOPO_ADDR_NAT` при `mapping=UNKNOWN`, `inbound=UNKNOWN`: это NAT-кандидат
для пробного подключения, а не адрес интерфейса или подтверждённый открытый вход.
Общий внешний адрес подтверждает EIM; strict не публикует универсальный NAT-адрес.
Source входит в подпись; SOCKMETA занимает 5 байт. STUN другого порта остаётся
отдельной диагностикой и не назначает профиль или внешний адрес рабочего сокета.
Таблица `node_snapshots` хранит полную сериализованную запись без группового
окружения. `node_addresses` остаётся проекцией для поиска и отображения, а не