План доработок [ ] продумать архитектуру репликации таблицы узлов группы [ ] добавить узлы хелперы (для проксирования трафика) Категории узлов: - узлы без нат [] - узлы с nat [restricted] Узлы за nat сами подключаются к прямым Узлы за eim nat сами подключаются и сообщают обновление адреса. Прямые узлы должны сами должны объединиться в сеть следующим образом: Инит: база содержит RTT по узлам. выбираем n=16 узлов с минимальным rtt. запускаем подключение к ним. синхронизируем роутинг таблицу с ними (обмен маршрутами должен инициироваться сразу после подключения). при потере связи узлы через nat должны найти альтернативы. в таблице обновляется как обмен завершен Нужно собирать и обновлять информацию о том - к каким публичным нодам подключены nat узлы. - метрика доступности узла - как давно не менялся ip:port - собираем с клиентов. вместе с рейтигном (каждый клиент по узлу фолрмирует свой рейтинг кандидата в суперузлы и отправляет подписанный рейтинг узлу) рейтинг включает: - число разных часов фигурирует в замерах - число разных дат фигурирует в замерах - гистограмма rtt: 0-2ms, 2-4ms, 4-6ms, 6-10ms, 10-13ms, 14-18ms, 18-25ms, 25-35ms, 35-50ms, 50-75ms, 75-100ms, 100-130ms, 130-160ms, 160+ms - гистограмма потерь: 0-1% 1-2% 2-4% 4-8% >8% (обновляется каждый час) Сделать подключение к группе