IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/02/27
~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 рестарт илиты через 10 минут
orignal запустил илиту с патчем
ronald hello
Vort orignal: сделал отдельное сообщение для пингов туннелей: github.com/Vort/i2pd/commit/3d037325551832e5c3c1f037c528722dd104f702
Vort [11:18:20] <Vort> orignal: сделал отдельное сообщение для пингов туннелей: github.com/Vort/i2pd/commit/3d037325551832e5c3c1f037c528722dd104f702
Vort также взял для этих целей монотонный источник времени с микросекундной точностью
Vort увидел по коду, что не всегда тесты шифруются, но как проверить ветки кода, которые без шифрования, не знаю
Vort на моём тестовом узле коммит работает нормально, но так как я в этом коде плохо разбираюсь, то его надо тщательно проверять
onon1 И чего теперь, у тебя тесты перестали теряться?
Vort onon1: это изменение касается только редких случаев
Vort либо когда пинги около нуля либо когда часы синхронизируются и прыгает время
Vort на локалхосте с ntcp2 я кстати потерь ещё так и не увидел
Vort может их и нету
onon Лучше найди где у нас проблемы со смещением, почему в логе куча сообщений вида SSU2: Unexpected message type 161 from 183.156.57.72:29845 of 191 bytes
Vort это скорее всего или сетевой мусор или просроченные пакеты
Vort SSU2 ведь все подряд UDP пакеты приходящие на порт пытается расшифровывать
onon1 Даже если пакет просроченный, почему в заголовке кривой тип
Vort значит тогда мусор
onon1 Преднамеренный?
onon1 Или пакеты по пути покарабчились?
Vort есть много причин
Vort можешь провести эксперимент
Vort на компе с белым IP включить Wireshark
Vort без каких-либо поднятых серсивов
Vort увидишь сколько фигни приходит
onon С eSSU2Retry такая же фигня может быть?
onon Когда мы ожидаем 9 тип а получаем хз что.
Vort не знаю, пока ещё не разбирался детально как SSU2 работает
onon1 Имхо, не похоже это на сетевой шум. Его слишком много.
Vort вижу у себя в логе тоже "instead 9"
Vort может, перепосылки в SSU2 глючат
Vort хотя сейчас глянул в спецификацию - это же перепосылки не данных, а установки соединения
Vort то есть, глючит установка соединения
tetrimer В логе i2pd ругань: 13:12:34@62/error - Reseed: Failed to connect to reseed.memcpy.io
tetrimer Полез разбираться - действительно сервер не отвечает.
tetrimer Есть еще живые reseed сервера?
Vort так в коде целый список
tetrimer Но после этого сообщения - роутеров =0
Vort так наверно будут ещё попытки
Vort с другими серверами
Vort у меня сервер отвечает. но только 404 ошибку, так как я запрос просто из браузера делал
Anonymous R4SAS: crash persists, I will have to really do that compiling with debug sybols
tetrimer Сменил Router Caps на "L" - и вроде бы атака пропала.
orignal Vort но тут есть ньюанс. оно не всегда идет зашифрованным
orignal ты это учел?
orignal вроде не должно быть нешифрованной ветки кода счас
orignal это только если ты сам эль гамаль
orignal а вот знаешь как проверить?
orignal создай дестиненйшин с типо шифрования только 0
orignal tetrimer точно не ответчает?
orignal у меня отвечает
orignal Vort кстати в это сообщение можно добавить допольнительные данные
tetrimer reseed.memcpy.io - сейчас проверил - отвечает, т.е. временно было недоступно.
orignal ну рестартовали наверное
Vort "<~orignal> создай дестиненйшин с типо шифрования только 0" ок, опция i2cp.leaseSetEncType = 0 позволила ещё одну ветку кода проверить
Vort то есть, проверил LeaseSetDestination::HandleCloveI2NPMessage и HandleI2NPMessage
Vort orignal: а как проверить RouterContext::HandleCloveI2NPMessage ?
Vort хотя... может это оно и есть. ещё раз гляну сейчас
orignal в смысле?
orignal для роутера нешифрованных быть не может
orignal они могут быть только для дестинейшгина с 0
orignal без 4
onon Лось ты тоже считаешь, что это сетевой мусор? - SSU2: Unexpected message type 141 instead 9
onon И следом за ним - SSU2: Unexpected message type 141 from 94.118.68.56:27114 of 75 bytes
orignal да это мусор
orignal или перепосылка
orignal там много чего
orignal забей
onon Но почему так много мусора.
orignal ну разбирайся
onon Слишком много входящих ip , да и порт рандомный
orignal начинай с того откуда призоит
orignal есть ои такой в netdb
onon Ну, попробую.
orignal еще я тебе могу сказать что в иклирнете мусора по udp ходит просто до допы
orignal Vort незачем
orignal а нет есть зачем
orignal это для exploratory
orignal а него же нет дестинейшина
orignal потому его тесты сваливаются туда
Vort сейчас брекпоинт туда затулю
orignal да нет точно там
orignal потмоу что снаала у меня тесты зондирабщих не работаели шифрованные
orignal потмоу что у меня именно в этом месте была бага
Vort всё, проверил 3 ветки
Vort "<~orignal> Vort кстати в это сообщение можно добавить допольнительные данные " какие? зачем? и, может, это уже отдельными коммитами?
orignal нормально тесты проходят?
orignal ну да это потом
Vort да вроде всё ок
Vort ну можешь и сам попроверять
orignal давай PR тогда
Vort могу PR сделать
Vort ок
Vort он будет включать и коммит с предыдущего PR. я думаю если новый влить, то и старый автоматом гитхаб прикроет
orignal давай я его прикрою
Vort не не
Vort будет фигня
Vort надо новый вливать
Vort ну проверив желательно
orignal ну так я его и закрыл
orignal естественно
Vort вижу, что влил. но всё же потестируй - я там местами наугад код писал. хоть я и проверил, но всё же
orignal я посмотрю
orignal если чего не так поправлю
Vort окей
orignal кстати можно и для 0 шифрованные делать
orignal мне просто было лень
orignal так погоди
orignal если у тебя не шифрованный у тебя же этот тип будет торчать наружу
orignal починил
Vort "<~orignal> починил" ProcessTunnelTest использует микросекунды, а CreateDeliveryStatusMsg создаётся с миллисекундами
orignal понял
orignal умножить ан 1000
Vort ага
orignal но это времено
orignal я хочу и для 0 сделать шифрованные
Vort а нет, я не прав
Vort нельзя умножать
Vort там разные точки отсчёта
Vort steady считает время от запуска компа
Vort это в ProcessTunnelTest (uint32_t msgID наверно надо добавить выбор или steady или нет
Vort и передавать или то или другое
Vort допустим bool TunnelPool::ProcessTunnelTest (uint32_t msgID, uint64_t timestamp, bool steady)
Vort там лишь int dlt = будет зависеть от этого условия
orignal да счас починю
orignal закоммитил
relaybot 13mittwerkz: а когда обновы в репах?
orignal когда релиз
onon Примерно 10% пересечения с нетдб. Но нужно ещё учитывать что и приходящие сообщения с "правильными" типами не всегда есть в нетдб.
onon Мне кажется, здесь всё-таки есть какая-то проблема.
Vort onon: так netdb же чистится
Vort особенно если не удаётся связь установить
onon Это заметно, я сначала сравнивал со скопированной нетдб, там было примерно 15% пересечения, потом сравнил с актуальной, получилось 10
Vort я делал свой сборщик routerinfo чтобы учесть эту особенность
Vort они грохаются очень быстро
Vort не успеешь заметить. хоть старая база, хоть новая
Vort onon: нужен код сборщика?
onon Я думаю, нет. Спасибо.
orignal если есть проблема попробуй разобраться
orignal сохрани список изсетных адресов с которых уже были соединени
Vort на всякий случай скажу - это модификация i2pd для создания специального бинараного файла со всеми-всеми RI (в том числе, всеми версиями)
Vort этот бинарник потом надо чем-то парсить
Vort парсилка у меня тоже есть, на C#. но можно и свою сделать
onon Vort умеет в таком разбираться, пусть он найдёт смещение.
onon Я не умею.
Vort не понимаю, о каком смещении речь
onon Я предполагаю, что при каких-то условиях получается смещение в заголовке пакета, а при формировании, или при расшифровке, я не знаю.
onon А может действительно, как-то по пути ломаются...
Vort orignal: получается, что теперь case eI2NPTunnelTest: в HandleI2NPMessage (I2NPProtocol.cpp) остался без работы? мелочь, но на всяк случай говорю
Vort onon: тогда бы наверно всегда глючило, а не изредка
orignal должен
orignal он разве не вызвается из RoitreContext когда расшироали чеснок?
orignal да и будет с работой я счас сделаю =шифрование для 0
Vort RouterContext::HandleCloveI2NPMessage -> TunnelPool::ProcessTunnelTest
Vort а тот - из GarlicDestination::HandleECIESx25519GarlicClove
Vort ок
Vort а всё, понял
Vort если if (pool && pool->ProcessTunnelTest не отработает, тогда провалится дальше
Vort а когда это может быть - хз, я такого не замечал
orignal ну тоннели без пула бывают только первые
orignal но x3 что будет в будущем
onon Раз уж у нас опенсорс проект, могу я поросить добавлять побольше комментариев в код. Я как не знающий синтаксиса, в коде ориентируюсь в основном по комментариям.
Vort это плохая идея
Vort комментарии нужны только в случаях, когда код сам по себе не может объяснить, что происходит
Vort а в идеале таких случаев должно быть минимум
onon Странный аргумент...
Vort мне кажется или опять волна атаки пошла?
onon Да уже давно идет
onon Скорее уже спадает.
Vort "<onon> Странный аргумент..." нет. код и комментарии имеют свойство рассинхронизироваться. добавление их всюду значит, что надо поддерживать в порядке двойной объём текста
Vort тут же и за одинарным объёмом не всегда уследить получается
onon Также очень спорно.
orignal да прет причем с большим транзитом
orignal у меня везде упрлось в лимиты по трафику
Vort orignal: у меня подозрение, что трафик стал больше после исправления бага с доставкой ответа про построение туннеля
Vort лучше через наш узел строятся туннели - больше трафика прёт
Vort а может и профилировщики это видят и больше на наши узлы направляют
orignal скорее всего
onon1 SSU2: Block type 254 of size 13 - В SSU2 есть тип 254? В доках такого нет...
orignal какой то тестовый
orignal eSSU2BlkPadding = 254
onon1 В нтцп2 есть такое 254 for padding
orignal чукча не читатель чукча писатель
onon1 Это что-то локальное? Или специфично для и2пд?
orignal веззде 254 padding
tetrimer Vort: Я же говорю - снижение планки скорости в настройках i2pd.conf - уменьшает вероятность "атаки".
orignal ну просто будут ломиться на другие узлы
onon Нет, просто при атаке у тебя постепенно все "полезные" туннели заменяются пустыми
orignal это то чего они и добиваются
tetrimer Опять возвращаемся к необходимости чистить пустые туннели.
Vort tetrimer: уменьшение лимитов уменьшает нагрузку на узел. именно то, что оно и должно делать
onon1 Сделай, потестируй, приноси сюда результаты, мы подумаем и Лось решит....
Vort вопрос в том, какие это имеет дополнительные последствия
Vort да не надо пустые туннели трогать. проблема не в них
onon Но в лимт-то мы упираемся по тоннелям...
onon И в основном, по пустым.
Vort onon: смотря кто какой лимит поставит
onon Будем считать, что у всех по умолчанию.
onon Меняет незначительный процент пользователей
Vort точно так же можно сказать, что проблема в лимите
Vort я вообще думаю о том, что его надо заменить чем-то более адекватным
onon1 В вебконсоль добавить, большинству юзеров конфиг - слишком сложно
orignal у меня счас все упитраетсяч в лимит по трафику
Vort а у меня никуда не упирается
Vort но вот что немного удивляет: LeaseSets: 500
tetrimer Проблема не в самих пустых туннелях, а в том, что как тут выше заметили - они вытесняют хорошие
onon1 Флудфилы, похоже перегружены и отваливаются
orignal проблема в трафике
Vort tetrimer: не вытесняют. они занимают их место в лимите. короче вопрос в лимите
orignal и его много
tetrimer Т.е. надо, чтобы алгоритм создания туннелей это учитывал.
Vort onon1: да я очень удивился когда увидел сколько в сети XfRE
Vort tetrimer: можно сделать, чтобы лимит учитывал только не-пустые туннели
Vort но это наверно слишком радикальное изменение
Vort я уже думал об этом
tetrimer Это потому, что кто-то от большого ума посоветовал ставить "X" для повышения производительности.
Vort крику поднимается если так сделать...
tetrimer Почему? Это-ж внутреннее дело узла: сколько через себя пропускать.
onon1 На самом деле, мне тоже такая иде в голову пришла.
onon1 Пустые не учитывать
Vort ну юзеры долго думали, какой лимит поставить, а тут меняется определение регулируемого параметра
onon1 А как перестают быть пустыми - начинают учитываться
tetrimer Да ладно! :) Юзеры с удивлением узнают, что там вообще что-то можно регулировать.
Vort найдутся те, кто очень-очень будет требовать вернуть всё обратно
Vort ну хз
orignal Vort это хорошая идея
tetrimer Ввести понятие "smart shape" и вот при его включении - будет учитываться по новому алгоритму
orignal tetrimer это придурок SY7 всем торчкам насоветовал
Vort tetrimer: так обычно пользуются же стандартными настройками
Vort разве что опцию, чтобы "вернуть обратно"
tetrimer Сделать в коде X==L да и всего делов.
Vort но может это и лишнее
tetrimer Давно же хотели ввести числовой показатель скорости.
Vort он есть в конфиге давно
Vort "посоветовал ставить "X" для повышения производительности" - обновится лимит - поймут последствия :))
tetrimer Хотя, для улучшения - проще ставить два хопа вместо трех.
orignal Vort я сделал шифрование тестов для эль-гамаля
Vort сейчас гляну
orignal так есть числовой показатель скорости
orignal давным давно
orignal у меня например bandwidth=8000
tetrimer Есть, делать не надо. :)
orignal я предлагал деду промежуточный код Q для лимита 100 мбс
orignal так дед как всегда
Vort а что - много узлов > 100 мегабит/сек есть?
tetrimer Я к тому, что если стоит задача убрать из сети юзеров с Х - то ее можно решить принудительно.
Vort tetrimer: не стоит такой задачи
orignal ну смотри P это слишком мало
orignal а X уже безлимитный
tetrimer На самом деле тесты - могли бы давать оценку канала.
orignal каким образом они тебе дадут оценку?
tetrimer И если он явно медленный - то не поднимать флаг "Х"
onon1 С тестами пока другая беда - они теряются.
orignal а как ты знаешь?
Vort orignal: так всё равно же P и X в куче сейчас к примеру. или у X есть какие-то преимущества?
Vort а в другой куче - так вообще N O P X
orignal Vort ну это пока нету но можно же поменять логику
orignal и кстати на самом деле есть
orignal я же счас проверяю линк не превышает ли он свои лимиты
Vort ну и надо помнить, что верить внешним данным - опасно
orignal то есть если по линку идет 1000 а у нас написано O
orignal то мы через него тоннели не строим
orignal так что буквы существенно используются уже
Vort подозреваю, что такая ситуация - большая редкость
Vort часто ли в i2p такоие скорости? )
Vort чтобы через один транспортный коненкт пёрло
Vort сейчас основная нагрузка - куча "пыли"
Vort построение туннелей, пинги
orignal довольно кстати часто
Vort разве что на 1 хопе
orignal ну я x3 какой транзит
Vort надо таки гистрограмму транзита делать
Vort шкалы только будут логарифмические наверно
Vort и мало кто вообще что поймёт
Vort но по этим данным хорошо можно будет понять характер нагрузки
orignal ходят пинги нормально?
Vort да есть какая-то проблема. но наверно рандом
Vort никак исходящие туннели не наберутся на прокси
Vort да, рандом. уже есть 1
Vort ну я проверял на локалхосте. и вижу 0мс пинг :)
Vort вот сейчас 1мс стал
orignal пинги сделаем
Vort не понял фразы
Vort меня значения устраивают. это я просто поясняю, как я проверял
Vort вот поставил брекпоинт на msg = garlic.WrapSingleMessage (msg); - сработал. и значение пинга поднялось из-за ожидания в отладчике
Vort короч мне кажется, что норм всё. но, конечно, лучше, чтобы ещё кто-то проверял
Vort 0мс - это именно то, что и нужно было ведь. чтобы нормально работали тесты на локалхосте
orignal норимально значит
Vort словил опять ту же фигню, что и раньше - дублирующиеся туннели. ну и onon вроде об этом говорил. сейчас скрин подготовлю
orignal смотреть надо
Vort короч это не пересоздание виновато. аптайм был 2 минуты
Vort это matched destination глючит, похоже
Vort или рандом где-то не рандомный
Vort Routers: 6270. есть из чего выбрать
orignal а откуда он взялся?
orignal macthed destination этот
orignal он же в конфиге задается
orignal ага и дубли у входящих
orignal а мы когда построили исходящий пытаемся входящий
Vort короч я наверно опять неточно выразился
Vort создаётся входящий A > B > C > me и исходящий me > C > B > A. это нормально
Vort а вот что ненормально - это когда два таких входящих
Vort с теми же узлами
orignal так бага там
orignal и даже понятно где
Vort такой эффект я чаще вижу на "внутреннем" дестинейшене, хз важно ли это
orignal код погляжу
Vort ок
orignal счас малость занят по работе
orignal переимновал steady в monotonic
Vort ок
orignal monotonic более устоявшийся термин
Vort вопрос (может глупый) - имеет ли право флудфил быть SSU2-only ?
orignal да конечно
orignal если естествено он ipv4 и R
Vort окей
Vort это я решил проверить SSU2. ну что ж. это писец
Vort на локалхосте получил пинги по 2 секунды и сдохший туннель
orignal вполне ожидаемо
orignal он лучше чем SSU который совсем никуда не годился
orignal давай вот разбираться
Vort сдохший туннель до сих пор не восстановился. +1 писец
Vort а, с транспортов узел вылетел!
Vort забанили небось? )
orignal ну вот все это по порядку надо разбирать
orignal кто забанил?
Vort я сейчас второй узел проверю
Vort да второй узел, который строил туннель, небось, и забанил
Vort а вообще хз конечно
onon Может выключился
orignal эти дубликаты создаются вот здесь
orignal void TunnelPool::CreatePairedInboundTunnel (std::shared_ptr<OutboundTunnel> outboundTunnel)
Vort onon: кто? эти оба узла мои и оба на одном и том же компе и IP
Vort комп нагружен + сеть нагружена правда
Vort но NTCP2 это не мешает
Vort а SSU2 глючит
orignal ну TCP в ядре это все таки другое
Vort да пинги 0мс были же
Vort значит из ядра уходили
Vort короч я на 99% уверен что проблема (баги) SSU2 где-то в логике
Vort или в реализации протокола или в самом протоколе
orignal конечно багов там море
orignal насчет дубликатов
orignal тут все явно
orignal *ясно
orignal он какждый раз как дятел ходит и строит парные пока не наберет до количества
orignal счас починю
Vort info - Tunnels: Can't find router for ...мой_первый_роутер...
Vort в профиле nonreplied=219
orignal значит не опубликовался на флудиле
onon1 Запрос к флудфилу через SSU же?
Vort такс. его из netdb выкинуло
Vort он сам флудифл кстати...
onon1 Флудфил моего флудфила - не мой флудфил
Vort я думаю его профилировщик забанил
Vort я понимаю
Vort но у него хорошая связноть
Vort ну и блин.. если он не опубликовался - то это же гигантский баг
Vort больше в бан верится
Vort баги, баны...
Vort короч он попадает в netdb и сразу же вылетает нахрен
Vort знакомый эффект
Vort представляю как сеть запросами засирается
Vort запросили - выкинули - запросили - выкинули
Vort и если такое на локалхосте, то в реальной сети - ещё хуже
Vort я и раньше такие бестолковые колебания видел. но не мог даже подумать, что на локалхосте воспроизведётся
Vort создался опять туннель. с пингами по 2 секунды
Vort ровно та же хренотень которая и не на локалхосте
Vort коннекты уходящие в никуда + конские пинги
orignal так а почему выкидывают?
Vort <Vort> в профиле nonreplied=219
Vort из-за этого небось
orignal это про тоннели
Vort очередей нету. ни на одном узле ни на другом.
orignal выкидывают обычно когда не могут достучаться
Vort по крайней мере когда смотрел не было
Vort ну значит он просто не отвечал
orignal вот это надо понять почему
orignal может потери UDP пакетов?
orignal у тебя же там еще торренты
Vort локалхост блин
orignal а UDP буфер общий для всех
orignal не имеет значения
orignal UDP буфер общесистемный
orignal и он всего 128K
Vort думаешь ОС творит херню?
Vort это ж винда кстати
orignal думаю ось дропает UDP пакеты
orignal потмоу что забиты буфера
Vort можно wireshark на локалхост воткнуть
orignal как под виндой UDP я не знаю
Vort как торрент перестал качаться - пинги нормализовались
Vort торрент клиент крешнуло O_o
orignal а торрент наверное по UDP
Vort да, uTP
orignal в этом все дело
Vort выжимает почти всю полосу
onon Объясните, чяднт. Я в SSU2Session в каждую функцию после m_Server.Send воткнул лог LogPrint (eLogCritical, "!SSU2: SendSessionRequest header ", (int)header.h.type, " type");
onon Так он мне в лог так и выдаёт с рандомными значениями, как я вижу во входящих.
orignal так хрен бы полосу но общесистемный буфер
orignal onon потому что оно уходит шфированное )))
Vort orignal: что ж тогда он сам не глючит?
orignal Vort потому что ему пох
orignal ну потерял пакет получит потом снова
Vort ну так и SSU2 должно быть пох
orignal нее
orignal торренту время не важно
orignal он же не поток а чанки качает
Vort в торрентах кстати есть целевой лаг. и он вроде 150мс
orignal попробуй более интересный тест
Vort короч он не должен сильно залагивать другие проги
orignal попробуй им куда нибудь постучаться
Vort "quic" - я с ним мало знаком. как это проверить?
orignal в браузере
orignal есть сайты
Vort постучаться во время того, как торрент упирает полосу?
orignal к которым можно по quic подключаться
orignal или можешь ygg оп quic
orignal но говорят он глючный там сам по себе
Vort вот-вот
Vort curl можно как-то к quic принудить?
orignal но сайты то есть
orignal curl да умеет вроде как
Vort хотя и браузер можно
Vort короч я хз что за сайты
orignal не все браузеры умеют
Vort у меня старьё, но не полнейшее
orignal ну погугли сайты для тестирования quic
Vort я адреса не знаю
orignal я пробовал
orignal но давно
orignal кстати этот общесистемный буфер можно увеличить
orignal у нас на работе в настройках серверов меняют
orignal потмоу что куча мультикаста приходит
Vort ну я вижу сайты которые просто показывают поддержку
Vort вижу сайты для тестирования сайтов
orignal у гугла должен быть
orignal мне хид какой то говорил в свое время
Vort надо же чтобы он не поддерживал ничего другого ) иначе браузер прыгнет на другой протокол и всё
Vort если найдешь - потестирую
orignal ну короче уже один ответ есть
orignal что может не хвтать буфера
Vort так надёжный метод воспроизведения нужен
orignal счас у дегса спрошу
orignal пока займусь тем багом с построением
Vort ок*
Vort orignal: так SSU2 же и сам себя упереть в полосу (и, допустим, буфер) может? вполне вероятно что это по сети и происходит
Vort а предположение про буфер надо проверять, да
onon1 cat /proc/sys/net/core/wmem_default
onon1 212KB Debian
orignal ну упрется и что делать?
orignal анаголично
orignal ну так это ж реально мизер
Vort почитал про буферы в винде. они не на систему, а на на сокеты. и их можно менять через программу
Vort короч похоже что не в системном буфере дело
orignal ну давай поменяй
orignal у сокета само собой можно
orignal но еще есть общесистемный
Vort ну вот, других настроек в винде я не видел
onon1 Большие буферы тоже бывают вредны
Vort могу ещё поискать конечно
orignal socket.set_option (boost::asio::socket_base::receive_buffer_size (SSU2_SOCKET_RECEIVE_BUFFER_SIZE));
orignal socket.set_option (boost::asio::socket_base::send_buffer_size (SSU2_SOCKET_SEND_BUFFER_SIZE));
orignal мы это делаем
Vort я вот такое нашёл и оно по описанию не подходит
orignal ну у нас под юниском все сервера
Vort ну суть в том, что проблема вероятно на стороне i2pd, а не системы
orignal я ставлю буфер в 128K
orignal это то понятно
orignal что мы неправильно обрабатываем пропадание пакетов
Vort хм. а сокет на SSU2 - один или нет?
orignal да. один на всех
Vort так тогда можно хоть мегабайт, хоть 10 воткнуть
Vort сейчас попробую
orignal мы для мульикаста ставим 4мь
orignal но как я сказал там еще что то в системе меняют
Vort ну то линуксы
Vort ну допустим 4 мег на отправку + 4 мег на приём. это же почти ничего
Vort при 300 мегах общего потребления
orignal для мультикасата у нас хватает
orignal мы же сразу выгребаем
onon1 В инернетах предлагаю максимальное значение ставить 16777216, почему - не знаю.
Vort я то поначалу думал, что там куча сокетов. а если один, то можно не жалеть
Vort onon1: да я сейчас 4 воткну. и на отправку и на приём
Vort только не в в систему конечно
orignal вопрос сможешь ли
Vort хм
Vort надо погуглить
Vort это же setsockopt SO_RCVBUF или что-то такое под капотом буста?
orignal да оно должно быть
orignal но оно может давать ошибку вот в чем проблема
Vort гуглю сейчас
` *** гуглит кто сейчас гуглит ***
` *** так-так-та-а-ак, балашиха дом 9, квартира 2 ***
onon1 Черт, я тоже гуглю, меня сейчас нагуглят
Vort "<~orignal> но оно может давать ошибку вот в чем проблема" есть где-то об этом информация? я вижу, что может молча поставить меньше, чем попросишь
orignal у нас на работе буст кидает экспешин
Vort нашёл кстати вот такой коммент: github.com/versatica/mediasoup/issues/554#issuecomment-839868338
orignal тогда сисадмины что то в системе подкручивают
Vort может и в линуксах лимит не на систему, а на конкретный сокет?
orignal да дело именно в этом
orignal я не знаю точно на что лимит суть в том что его менять надо в системе
Vort а, так может буст проверяет, поставилось ли?
orignal ну системный вызыв тебе возвратит код ошибки
Vort просто если лимит на сокет, это значит, что другая прога не может его выжрать
orignal суть же не изменится
orignal там все более сложно насколько мне известно
orignal но я не разбирался
Vort надо код буста смотреть
orignal да там просто setsockopt
orignal и проверяется результат
orignal Vort я думаю размер буфера следует задавать исходя из буквы
orignal для L 128K ну а для X 16M
onon1 Пишут, что нужно от RTT считать
orignal RTT с кем?
orignal там же один сокет на всех
Vort код буста - это какая-то задница
Vort про букву - может быть
Vort но есть ещё вариант - ставить максимум. плюнуло ошибку? уменьшать в два раза, опять ставить
Vort так пока не успокоится
onon So the more Round Trip Time you have the more data needs to be send to fully utilize the link speed(because more delay means you need to send a little bit more data at once, to utilize the bandwidth.)
Vort такс. у меня на 4 мегабайта никто ничего не плюнул
Vort пересобираю основной узел
Vort не факт, что это поможет. но если не поможет, значит надо разбираться с реакцией на потери пакетов
Vort думаю, кстати, что не поможет
Vort так как торренты забить буфер i2pd не могли
Vort вот перегрузка CPU - могла бы. но её не было
orignal посмотрим
Vort но проверить надо. перезагружаю узел.
orignal <degs> On Linux the network adapter buffer overflow could be detected using the netstat -i –udp <NIC> command, where the RX-DRP column shows the number of packets dropped by the adapter.
orignal вон че дегс сказал
Vort так буфер адаптера - это отдельное дело
Vort в общем, я перезапустил два узла
Vort сразу вляпался в мигание routerinfo
Vort перегрузки канала нету
Vort NetDb: Store request: RouterInfo
Vort Tunnels: Can't find router for
Vort NetDb: Store request: RouterInfo
Vort и так далее
Vort создался туннель
Vort и заблокировал удаление из netdb небось
Vort не было бы блокировки - так бы и мигал небось
onon Я себе по 16метров на вход и выход поставил, пока ничего не чувствую...
Vort короч с циклическими запросами RI надо что-то делать в любом случае
Vort это сильно засирает сеть
orignal там всего 7 запросов
Vort orignal: так находится сразу же
Vort а потом грохается
Vort потом опять сразу же находится
Vort ну мне так кажется. может я и не прав
orignal так а почему грохается я понять не могу
Vort профиль может плохой?
orignal если флудфил то может
Vort флудфил. оба точнее
orignal там если не достучаться то маркируется как пдохой на время
orignal потому что иначе будут засирать ими
Vort вот мы и пришли к причине потерянных 200 флудфилов )
orignal неее
Vort помнишь уменьшение срока бана?
orignal на да счас только на 8 минут
orignal а не на 2 часа
Vort то есть, пока что предполагаемый сценарий такой: SSU2 не справляется с потерями пакетов, узел попадает в бан и другие узлы начинают срать запросами RI по сети
orignal запросами его?
orignal а с какой стати
Vort ну да, вот это мигание
orignal ну и что тут делать?
orignal мы не можем забивать базу всяким говном
Vort забанили, так забанили - ждём и не гадим запросами на RI забаненного
onon Да, нам могут такого навалить...
Vort и попутно чиним SSU2. если это возможно
orignal так а почему вообще этот запрос возникает
Vort транзит допустим
onon Туннели кто-то хочет построить млжет...
Vort ага
Vort транзитов сейчас много )
onon И ткср у них падает
Vort :))
Vort я так подумал - торренты ведь не могут давать потери локалхосту (при раздельных буферах, на сокет). это очень смахивает на какой-то жирнющий баг
orignal возможно
tetrimer Так а если UDP вообще отключить?
Vort то есть, получается, потери во внешнюю сеть что-то переглючивают внутри i2pd и он начинает терять и локальные пакеты в том числе
orignal tetrimer отключи SSU2 и все
Vort короч надо думать над контроллируемыми экспериментами
Vort tetrimer: это только улучшит связь с первым хопом
tetrimer Тогда этот "жирнющий баг" - не в udp буфере.
Vort и никак не исправит последующие хопы, хренову тучу транзитов и фиговый рейт по всей сети
onon Делаем релиз, отключаем у всех SSU2 =)
Vort tetrimer: ну вот надо над воспроизведением бага думать. сделать синтетическую нагрузку по типу раздач торрентов и следить за поведением i2pd
tetrimer onon: Не у всех, а только у тех, кто заполнил анкету. :)
Vort вполне можно Wireshark на локалхост посадить. по крайней мере, в винде точно
tetrimer В линуксе можно tcpdump-ом трафик слушать. Только надо понимать: что там должно быть на самом деле.
tetrimer А там - шифрованный трафик идёт...
tetrimer Это, разве что, в дебаг-лог изнутри i2pd что-то писать.
Vort "Только надо понимать: что там должно быть на самом деле." - запросы и, в случае бага, отсутствие ответа
orignal вот скажи с этим повторными тоннеляи
orignal это где у тебя такое было?
Vort служебный дестинейшен
Vort проверил сейчас - упор по трафику от торрента идёт именно по uTP. и пинги начинают ухудшаться не сразу
orignal это тоннели ресльной сети или локальные.
Vort реальной
orignal ты никакие интревалы там не менял
orignal типа как часто строить тоннели
Vort там же пинг был указан
Vort не менял. но у меня подлагивает комп, это может влиять
orignal там получается так что запросили первый тоннель на него ответ еще не пришел а мы пытаемся стоить
Vort да
orignal в итоге пришли ответы и на первый и на второй
orignal и что с этим делать?
Vort такс. похоже, ещё один баг нашёл. с тем же локалхостовым узлом и упором от торрента. один из туннелей отвалился (исходящий) и не строится. транспорт с узлом есть, там какие-то данные текут
orignal и в чем баг?
Anonymous yay my commit is up uwu
orignal тут вопрос такой
Vort в том, что исходящий туннель не строится
orignal ну отвалился тоннель
orignal так должен построиться новый
orignal а не точно такой же
Vort если это речь о проблеме с моим локальным узлом - так вот не строится
Vort уже несколько минут
orignal никакой?
orignal я не понимаю проблему
orignal отвалился исходящий
Vort ну да, пусто. наверно транспорт сдох. вот тот новый код с дропами, может, косячит?
Vort входящий висит
Vort ну точнее висел. несколько минут
orignal так почему новые исходяшие вообще не стоится
orignal я тебе могу ответить почему
orignal все дело в том входящем было
orignal а сколько у тебя тоннелей в пуле должно быть?
Vort ну сейчас вообще ни входящего ни исходящего нету
Vort один туннель
Vort ну то есть 1 + 1
orignal в зачем ты делаешь однотоннельные?
orignal надо как минимум два
Vort о, кажется, вижу
Vort транспорт есть, а в netdb нету
orignal естественно счас построятся
Vort не, с netdb вылетел, думаю уже не построится
orignal в netdb где нету? на диске?
Vort да нигде
orignal погоди у тебя тоннли опять что ли explicitPeers?
Vort да
orignal а вот тут другое дело
Vort это всё тот же локальный тест
Vort ну если транспорт есть, а в netdb нету - это хрень какая-то
orignal траспорт по SSU2?
Vort эх...у меня ещё по профилировщику вопросы
Vort да, SSU2 only узел
orignal профилировщик это жопа
orignal сс трапсортом там видимо еще хуже
orignal он есть в SSU2 но не в транспортах
Vort данные по транспорту идут, наверно транзит какой-то "прорвался"
Vort ну я думал SSU2 - это и есть транспорт
Vort может не правильно говорю
orignal const int TUNNEL_CREATION_TIMEOUT = 30; // 30 seconds
orignal вот в чем дело
Vort не пойму
orignal const int TUNNEL_POOL_MANAGE_INTERVAL = 10; // in seconds
Vort а, это к вопросу дублей?
orignal про трансопрты
orignal если у нас если линк с ротутером он не должен выкидваться
Vort так он может быть в бане как бы
Vort ну я понял
Vort в общем, надо и это копать
orignal if (it.second->IsUnreachable () && i2p::transport::transports.IsConnected (it.second->GetIdentHash ()))
orignal it.second->SetUnreachable (false); // don't expire connected router
Vort может таки переименуешь в IsBad и так далее?
Vort или Banned
orignal ой был
orignal так строка не в том блоке
orignal так IsBad было про тоннели
orignal надо сделать отдельно
orignal сдлаю
Vort мы говорили, что Unreachable сейчас это и U флаг и "плохой" роутер и надо развести эти термины
orignal нет это не U
orignal IsUreachable это всегда плохо
Vort U: Unreachable
Vort юзеры знают этот термин
Vort и путаются
orignal я в курсе
orignal знаю что в коде неправильно
orignal но там было сделано изначально
orignal счас ту хрень закоммичу
Vort ок
Vort вижу
orignal тебе не кажется что 30 секунд для построения слишком много?
Vort пока не разобрались с 5тисекундными пингами - то не так уж много
Vort если сеть будет работать лучше, тогда можно и понизить
orignal тут проблема в соотношении
orignal мы запрашиваем новые тоннели через 10 секунд а ждем старых 30
Vort вопрос в возможности превышения количества что ли?
Vort если же дело в зеркальных туннелях - то тут нужно, скорее всего, запоминать сейчас строится
orignal ты же видишь что получается
Vort и не строить именно зеркальный пока эти 30 сек не пройдут. а другие - строить
Vort запоминать какой сейчас строится*
orignal да это мысль кстати
Vort пересоберу узел с "never delete conneted router" коммитом. эта штука может заметно влиять
orignal посмотрим
Vort ну да. заметно влияющих багов может быть несколько ) так что самого вредного определить может быть сложно :)
orignal да багов тут море
orignal это у меня сейчас есть время а потом опять не будет
Vort SSU2 и профилировщик бы починить...
orignal c ssu2 все сложнее
orignal когда все перегружено
Vort локалхост не должен быть перегружен. ну никак
Vort так что перегрузка - это только триггер проблемы
Vort а саму проблему ещё надо найти
Vort перезапущу узел
Vort буфер сетевой карты на локалхост влиять не должен. такие пакеты вообще до реальной сети добираться не должны
orignal ну x3
orignal включи дебаг и смотри сообщения про ssu2
Vort может кто-то воспроизвести захочет
Vort это может быть какая-то моя локальная проблема
orignal думаю размер буфера имеет смысл увеличить
orignal weko а как у у тебя было в тестовой сети?
Vort можно. до значения, которое не выдаёт ошибок во всех поддерживаемых ОС
Vort это не поможет с проблемой локалхоста. но поможет при подлагиваниях (перегрузке CPU)
Vort по поводу моего сценария с раздачей торрентов - упор в канал там был конкретный
Vort то есть, когда упиралась раздача, допустим, в 99% канала - то пинг лишь немного поднимался. допустим, до 100мс
orignal ну я попробую
Vort а вот когда упирало до 99.99% - тогда начинались глюки
orignal а ну эта ситуация сам понимаешь
orignal тут как говорится против лома нет приема
Vort локалхост...
Vort вот в чём суть
Vort раздача конечно в реальную сеть
Vort а пинги глючат по локалхосту
Vort это странная проблема и вполне может быть, что я что-то не учитываю
Vort но хз что
Vort то есть при 99.99% упоре я могу ожидать, что все SSU2 в реальную сеть отвалятся. логично
orignal ну насчет винды я ничего не скажу
orignal весь мой профессиональный опыт это только юниксы
Vort но вот локалхост при этом валиться не должен
orignal когда у тебя проц томозит понятно что треды не получают время для работы
orignal хоть локально хоть не локально
Vort ну да, тут могут быть проблемы как специфичные для моей конфигурации, так и специфичные для винды
orignal ну насчет винды это только R4SAS-а ждать
orignal он с ней любит ковыряться
Vort а могут быть и не специфичные :)
orignal а у меня 11 ая на ноуте
Vort с процом у меня непростая ситуация
Vort одно ядро у меня полностью занимает Tor (что я об этом думаю - уже говорил). где-то половину второго ядра занимает uTorrent. всё остальное - по мелочи - занимает остальные 2 ядра
Vort то есть, загрузка CPU у меня постоянно около 50%
orignal эээээ
orignal у тебя что всего 2 ядра?
Vort как я понимаю, ОС может перекидывать потоки на свободные ядра
Vort если надо
Vort 4 ядра
Vort 1 на тор, 1 на utorrent и 2 свободно
Vort ну примерно
orignal я не знаю какой планировщик и винды
Vort ладно. посмотрим
Vort или вопросизведёт кто-то и поможет. или я доберусь
orignal ну у меня есть роутер на чистом SSU2
orignal проблем там нет
orignal но понятно что проц и каналы не заргужены
Vort по моим оценкам (догадкам) тут шансы 50 на 50 - или проблема специфичная (для моего компа) или это то, из-за чего сейчас глючит вся сеть
orignal сеть глючит я думаю все таки из-за атаки
Vort "<~orignal> проблем там нет" попробуй с ним explicit peers туннель сделать с SSU2-only узла
Vort с тем конфигом, что я выкладывал
orignal да хорошая идея
Vort и последи за пингами туннелей
orignal попробую
orignal попробовал
orignal тоннели пашут идеально
orignal гоню видеопоток через них
orignal rtt 16 миллисекунд