~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest8889
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
acetone_
ananas
anon3
b3t4f4c3
fidoid_
guest
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
tensor
un
weko_
whothefuckami
orignal
onon в стримах надо менять SEND_INTERVAL?
onon
const int SSU2_MIN_HOLE_PUNCH_EXPIRATION = 45; // in seconds
onon
const int SSU2_MAX_HOLE_PUNCH_EXPIRATION = 181; // in seconds
onon
Это чем отличается от:
onon
const int SSU2_KEEP_ALIVE_INTERVAL = 15; // in seconds
onon
Для чего менять?
orignal
чтобы уменьшить загрузку проца
orignal
KEEP_ALIVE_INTERVAL это как часто шлем пустой пакет
orignal
HOLE_PUNCH первое это в течении какого времени считаем дыру открытой чтобы соединяться напрмямую
orignal
второе для пир теста
onon
У тебя NAT unbinding уже через 15 сек будет
onon
С вероятностью ~5%
onon
А через 30 сек ~10%
orignal
возможно
orignal
цифры может надо поменять
orignal
я примерно их поставил
onon
Ну ты попробуй SEND_INTERVAL = 10000; сделать
onon
Какое значение не будет нагружать проц?
orignal
10 не будет
orignal
10 + 2 variance пойдет?
onon
Сейчас попробую потестировать
orignal
10 миллисекунд это пороговое значение
orignal
так что с дырой то ставить?
onon
Так а можно ли чаще?
onon
Какие проблемы это может создать?
onon
Я ж не в теме
onon
Протокол наизусть не знаю
onon
90% натов держат дырку меньше минуты
onon
Обычно от 15 до 30 ставят все
onon
секунд
orignal
хорошо 30 секунд min
orignal
а max сколько?
orignal
Vort сказал впдлоть до 3 минут может быть
onon
300
orignal
многовато
orignal
я и 180 считаю много
onon
Через 3 минуты 100%
orignal
ну вот 180 нормально значит
onon
150 сек - 80%
orignal
ладно изменю min на 30
onon
А чем тебе 300 не нравится?
orignal
память засирать
onon
А если не угадал - то пиртест будет неправильным, да?
onon
Если ещё не закрылась дырка
orignal
может быть ложно полотельным
orignal
но у меня никогда этого не случалось даже со 120
onon
Не, на 120 у тебя ещё вероятность была 50%
onon
Многовато
onon
160 можно ставить там такая же вероятность 80%, что дырка закрыта уже
onon
От 160 до 280 там на графике полочка
orignal
то есть max 160 сделать,
onon
Ну, вероятность останется ой же что и сейчас
onon
Со 180
orignal
зато вычишаться будет быстрее
orignal
там же на мощных узлах несколько пир тестов в секунду идет
onon
А ты можешь с SEND_INTERVAL = 10000; на локалхосте потестить? На больших RTT вроде нормально работает, а на малых я сейчас не могу проверить.
onon
Я боюсь чтоб там не вылазил постоянно RTO
onon
Тогда нужно костыль приделать в виде m_ResendTimer.expires_from_now (boost::posix_time::milliseconds(m_RTO+10));
orignal
у меня нету локалхоста
onon
Можно наверное на милисекундный таймер переделать если такая точность не нужна
orignal
это без разницы
onon
Прописать SEND_INTERVAL = 10; // in miliseconds
orignal
важны сами значения
onon
И потом в коде где RTO расчитывается добать ещё + SEND_INTERVAL
onon
Добавить*
orignal
понял
orignal
там еще надо у тебя переделать деление с остатком на div
onon
m_RTO = std::max (MIN_RTO, (int)(m_RTT * 1.3 + m_Jitter)) + SEND_INTERVAL;
onon
Наверное так как-то
onon
Ну ты там ещё хоте все float поменять
orignal
а если у меня этот интервал переменный?
onon
Максимальное значение тогда
orignal
SEND_INTERVAL + SEND_INTERVAL_VARIANCE короче
onon
Угу
orignal
счас
onon
Погоди, чего я туплю. Там же MIN_RTO = 20; // in milliseconds
onon
Этого должно хватать
onon
Ворт уже всё предусмотрел
orignal
ну и что мне делать?
orignal
не прибавлять?
onon
Да, он и так меньше 20 не будет
onon
Там проблема если RTO меньше чем SEND_INTERVAL
orignal
счас уберу
onon
Сори, плохо соображаю, головняки одолевают.
orignal
смотри код
orignal
чего я наменял
orignal
пока что отойду
onon
Мне кажется ты начал понимать как это работает
onon
Я долго разбирался что такое std::lldiv и как оно работает, вроде всё правильно. Но ничего не понятно.
orignal
просто деление с отстаком
orignal
целая часть и остаток
onon
Нужно такую же штуку как с истекающим лизом сделать для истекающего исходящего туннеля
onon
Чтобы слать пакет заранее, перед переключением
orignal
нужно да
orignal
дальше я хочу этот таймер сделать общем для всего деситнейшина
onon
Да, и ещё проверку добавить, если новый выбранный лиз - это тот же роутер, чтобы не сбрасывать окно
onon
И с туннелями исходящими так же
orignal
проверю
orignal
это можно
orignal
у меня вроде так раньше и было
onon
Мне кажется там нужно для начала ResendTimer упразднить
onon
Но это подумать нужно
onon
Всё перекинуть на SendTimer
onon
А потом уже делать общим
onon
Ты же вроде говорил, что таймеры дескрипторы жрут
onon
А на тыщу стримов по два таймера...
orignal
ну они жрут нет всегда
orignal
а только когда запущенфы
orignal
потому я давно хочу их вынести в дестинешин
weko_
Можно ещё сделать что если стримов нет, то лиссет какое то время обновляется, предполагаю что ещё понадобится
weko_
Предполагая
weko_
Ну чтоб это настроить можно было конечно
orignal
где обновляется?
weko_
На http прокси 15 минут а остальное дефолтно минуту
weko_
orignal: ну лиссет другой стороны
weko_
Запрашивать
orignal
а если нету
weko_
orignal: ну если стрим один был то точно есть
orignal
обычно лизсет другой стороны приходит вместе с пактами стримов
weko_
orignal: а отдельно нельзя?
orignal
если его приходится перезадпрашивать то что то пошло не так
orignal
клиентский ты никак не запросишь
weko_
Ну в моей идеи так задумано что мв запрашиваем в зависимости от настройки
orignal
так не всякий лизсет можно запросить
orignal
и парамтер для этого есть
weko_
orignal: так клиентский и не надо. Сервера же стримы не иницируют.
weko_
А вот с UDP хз, там отдельная история
orignal
keepaliveinterval
weko_
orignal: ну это для туннеля
orignal
если его поставить то с этим интревалом шлет пинги
weko_
А для прокси ?
orignal
и запрашивает лизсеты попутно
weko_
Или SAM например
orignal
парамтером можно
weko_
orignal: это то ясно
weko_
В проксях нету
orignal
для прокси не помню
orignal
ну можно добавить
weko_
например зашёл на сайт, читаю статью 15 минут, к лиссет сдох уже
orignal
только у прокси что запрашивать то?
weko_
Снова его с фф грузить
weko_
orignal: лиссет сервера обновлять
orignal
подумать не надо
orignal
и как часто?
orignal
точнее как долго
weko_
Ну как настроить
weko_
Я предлагаю дефолт минут 15 сделать
weko_
Для 4444
weko_
А остальные как настроят
weko_
Ну просто как идея на будущее понятно что не приоритетная задача
orignal
угу
orignal
ты лучше собери транк
orignal
и посмотри улучишлась ли ситуация с потреблением проца
weko_
Если не забуду
Most2
06.<mittwerk> у вас тут вся переписка такая)
Most2
06.<mittwerk> https://xmpp.trus.i2p:5343/upload/ddfcb39b202e808b0f51a951a5bd5e4a256b5c46/OFCOmOzM5IdnUlgsAksHeRAGnAHhDV0E7SgVPyrP/c1d2eca4-8936-4f01-8ef5-07709d0c2494.png
mittwerk
и тут в деве 30 чел в ирке, а в ру только я один
mittwerk
как так?
orignal
может ты в какой не тот ру зашел?
orignal
потому что там полно народу
Vort
хм. странный тикет на гитхабе один чел открыл
orignal
какой?
Vort
2113
Vort
выглядит как чья-то курсовая работа
orignal
закрыть нахуй
Vort
но при чём тут i2pd - не пойму
Vort
я уж думал начать ему рассказывать про Yggdrasil
orignal
я закрыл
Vort
но сомневаюсь что есть смысл
orignal
кстати че там с инродьюсерами?
orignal
я ничего не поломал?
orignal
думаю что тот тикет это высер ИИ
Vort
возможно
Vort
последение коммиты я не заметил, сейчас обновлю узел
orignal
я перепосылку обратно включил для новых версий
orignal
<orignal> я перепосылку обратно включил для новых версий
Vort
удалось вычислить, с какой версии она была поломана?
Vort
не припоминаю такого обсуждения просто
Vort
то, что где-то поломано - помню, а когда было починено - не помню
orignal
поломали перед релизом
orignal
я тогда убрал перепосылку а счас вернул
orignal
суть проблемы была что сессии сразу дохли
orignal
с интродьюсером
Vort
так убирал же потому, что узлы не отвечали
Vort
то есть, какие-то отвечали, а какие-то нет
Vort
по коммиту выходит, что с последним релизом должны отвечать нормально
Vort
но когда именно ответ был поломан?
Vort
то, когда была отключена перепосылка, это я помню
orignal
в i2pd всегда
orignal
в смысле никогда не отвечал до прошлого релиза
Vort
окей
orignal
а дед клянется что джава всегда отвечала и это чисто моя бага
orignal
вот поверил ему на слово
orignal
я у себя смотрел вроде нормально
Vort
ну самое простое - это поставить опять логирование смены интродьюсеров
Vort
и посмотреть, будут дохнуть или нет
Vort
хех, я у себя это логирование даже не отключил ещё
Vort
просто пересобрать надо
orignal
у меня меняются по одниму минут через 20
orignal
просто если проблема осталась то где то баг
orignal
вот что интересно похоже атака закончилась
orignal
и на молдаван тоже
onon
А я у себя на стриме до илитной ирки увидел RTT = 0 и сижу думаю, как такое может быть.
onon
Там же от такого может и деление на 0 вылезти
orignal
думай
orignal
так всегда надо проверять
Vort
не повреждение ли памяти от тыкания F5? маловероятно, но я когда-то подобные странности видел
Vort
по поводу интродьюсеров: вот такой результат за час аптайма: paste.i2pd.xyz/?2ec4e2a5ec5a2b90#EXQ3GQs5eV8nF7iDmYScLuBaoSGNchBh3Ki1kQmoHdNV
Vort
явных глюков нету, и это хорошо
Vort
а по поводу атаки - это надо ещё подождать. уже было снижение активности, но потом опять часто волны пошли
orignal
да вроде ноормально
orignal
c NTCP2 что то придется делать
orignal
даже в меня отжирает половину ядра
onon
Первое правило оптимизации - не оптимизируй...
onon
Второе правило оптимизации - всё равно не оптимизируй...
onon
Третье правило оптимизации - ну если очень нужно, и без этого никак... То можно попробовать.
orignal
предлагаю вынести установку соединений в отдельный тред
onon
Гоняют трафик всё равно.
orignal
гоняют но у меня счас нигде в лимиты не упирается
orignal
и E не становится