~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
DUHOVKIN_
Guest7184
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
anon3
b3t4f4c3
fidoid
karamba_i2p
nemiga
not_bob_afk
onon
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
vade
weko
whothefuckami
Vort
обработал собранные за два дня результаты по созданию туннелей
Vort
вот график рейта. похоже, что эффект сползания рейта наблюдается только сразу после запуска
Vort
в течение нескольких часов, скорее всего
Vort
^ вот таблица с рейтами для различных разновидностей туннелей
Vort
теперь займусь опять сбором данных по SSU2 сессиям
Vort
переделал формат логов на бинарный и теперь собираю данные сразу с RouterInfo
user
Т.е. они должны быть у него в БД.
user
Я правильно понимаю, что для успешного построения туннеля необходимо, чтобы каждый участник в цепочке "знал" своих соседей?
Vort
в случае исходящих SSU2 сессий, RI просто обязан существовать до начала установки соединения. так что его не особо проблема залогировать
Vort
про соседей не уверен, но следующего участника в цепочке знать надо точно
Vort
когда он неизвестен, то приходится делать запросы в сеть с поиском RI
user
Я так понимаю это приводит к ошибкам вида:
user
07:17:45@845/error - Tunnels: Can't select next hop for cqwy31IZWSgzbZ5LLTDOAR60GIYgYkolAGYvgTZa1~o=
user
Или это другое?
Vort
по-моему это другое
Vort
это вылазит когда сам узел не может подобрать пиров для цепочки
Vort
то есть, ещё до попытки эту цепочку построить
Vort
довольно часто вылазит, кстати. надо будет рассмотреть получше, что ж ему так мешает
user
(14:18:01) Vort: когда он неизвестен, то приходится делать запросы в сеть с поиском RI
user
Отсюда у нас, видимо таймауты
Vort
часть из них - так точно
user
Может при построении туннеля передавать каждому участнику информацию о следующем узле? Насколько это возможно и насколько это безопасно?
Vort
ну там что-то передаётся, но, видимо, не всё
user
Закинь лосю эту идею.
user
Если меня не будет
Vort
мне кажется, что так, как сейчас, сделано неспроста
orignal
про can't select hop это то понятно почемук
orignal
так передается эта информация
Vort
целиком RI передаётся что ли? опять я напутал что ли
orignal
ident
Vort
ну вот
Vort
а для того чтобы сессию сделать, нужны, допустим, ipшки
Vort
и приходится искать RI
Vort
если не получилось найти - таймаут
orignal
а как ты хочешь иначе?
Vort
я добавил в свой логгер SSU2 сессий фейлы интродьюсеров. их дохрена, да. но даже с ними успешность сесий к U узлам на уровне успешности к R узлам
orignal
в принципе можно к сообщению прицеплять
Vort
или я опять что-то не учёл, или таймауты где-то в другом месте (к примеру, при поиске RI)
Vort
чуть побольше данных соберу и выложу табличку по SSU2 сессиям и код
Vort
"а как ты хочешь иначе?" - я пока что не знаю, как лучше. это идея от user
Vort
тут надо вспоминать, почему вообще i2p сделана именно так, а не иначе
Vort
это же очевидная ситуация, когда надо сделать связь к следующему хопу, а RI нету
Vort
должна быть продумана и должна работать нормально
Vort
ну и тут же ещё вопрос актуальности данных
Vort
RI может быть староват. может, так даже лучше - запросить из сети свежий
weko
[11:21:50] <Vort> часть из них - так точно
weko
Но не много. Найти RI обычно легко
orignal
если он не сдох
orignal
а если сдох так без разницы
weko
[11:23:52] <user> Может при построении туннеля передавать каждому участнику информацию о следующем узле? Насколько это возможно и насколько это безопасно?
weko
Херня возможность, так как в текущий чеснок не влезет. Его уменьшали как раз вместе с вводом нового шифрования.
weko
Не безопасно, так как RI получаются нами не анонимно, а мы их сообщаем пирам. Есть простор для атак
orignal
нет это пиздец
orignal
тогда все учатсники тоннеля будут знать как идет тоннель
orignal
можно наверное пихать внуть записи но какого размере тогда она будет
orignal
сейчас запрос всего тоннеля в 1K вписывается
weko
orignal: а из чего ident роутера считается?
orignal
в смысле?
weko
В плане что для хэша берётся
orignal
sha256 адреса
orignal
странный воппрос
weko
Нет я не спросил какой хэш
weko
Я спросил что подаётся для хеширования
orignal
так в чем вопрос то?
weko
Что хэшируется
orignal
адрес
orignal
который состоит из нескольких частей
weko
Адрес роутера
weko
?
weko
IP же может меняться
orignal
I2P адрес
orignal
состоящий из ключей их типов и паддинга
Vort
хоть я и не тщательно проверил написанный сегодня код, но всё же выкладываю его:
Vort
результаты:
Vort
Results: 73838 (29074 out, 44764 in), Routers: 45734, Uptime: 0 d 02 h 58 m
Vort
*|E 7569 26%|F 2652 9%|IF 1851 6%|T 16093 55%|IT 909 3%|ED a 1.0s m 0.5s
Vort
R|E 6136 24%|F 2615 10%|IF 494 2%|T 15714 62%|IT 303 1%|ED a 0.9s m 0.4s
Vort
U|E 1433 38%|F 37 1%|IF 1357 36%|T 379 10%|IT 606 16%|ED a 1.2s m 0.7s
Vort
фейлы интродьюсеров - самая частая причина проблем коннектов к U узлам. вот разбивка по их типам:
Vort
1076 - 5
Vort
338 - 65
Vort
163 - 70
Vort
161 - 68
Vort
127 - 69
Vort
код 5: rejected by Bob, relay tag not found
Vort
пока что ещё не разбирался, какие могут быть причины такого ответа, но похоже на баг
Vort
weko: в коде выше (вторая ссылка) есть вычисление identhash, если ещё надо. строчки 138 и 139
orignal
rely tag not found это интродьюсер говно мамонта
Vort
просрочился?
orignal
может просто выкинул
orignal
сессию закрыли а в netdb старое
Vort
кто что выкинул?
Vort
как в i2p сделано - интродьюсер соглашается на такую роль на какое-то время?
Vort
у меня есть данные и по времени запроса и по использованному RI. так что можно глянуть, сколько времени прошло
Vort
от публикации RI до запроса к интродьюсеру
orignal
боб выкинул этот таг
Vort
как тут имена распределены? A источник, B интродьюсер, C цель?
Vort
то есть, A подключается к C с помощью услуги пробива от B? или как-то иначе?
orignal
A кто подключаеся, B через кого, C чей RI
Vort
ага
Vort
B должен выкидывать тег (уходить с роли интродьюсера) по истечению какого-то времени? или по какому условию?
orignal
дед просто их выкидывает когда слишком много
orignal
я по закрытию сессии
Vort
а надо как? :)
orignal
как у нас
orignal
но суть в том как я говорю в netdb оставаться устаревшиее
Vort
так что по поводу времени? предполагается, что интродьюсер активен какое-то время только? или сколько есть сессия, столько и активен?
Vort
я просто вижу в RI какие-то параметры iexp
Vort
и возник вопрос, не "срок годности" ли это
orignal
ну разумеется
orignal
и мы его всегда проверяем
Vort
так как это сочетается с выкидыванием по закрытию сессии? U узел постарается держать открытой сессию к интродьюсеру чётко до истечения iexp?