powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как выжать весь гигабит по UDP?
25 сообщений из 162, страница 6 из 7
Как выжать весь гигабит по UDP?
    #38907589
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

а это не у тебя в своё время udp пакет через говнопровайдера не проходил (на торрентовый похожий) ?
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38907592
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилDima T,

а это не у тебя в своё время udp пакет через говнопровайдера не проходил (на торрентовый похожий) ?
Хорошая у тебя память :) У меня, тоже самый говнопровайдер, мой резервный канал, порешал просто, пакеты xor`ятся 4 разными масками, первые два бита задают номер маски для расшифровки. Т.к. рубятся по маске редко, то хватает для прохода фильтра.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38907610
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил, я решение там писал с кодом 15819840
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38907621
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TИзопропил, я решение там писал с кодом 15819840
собственно для борьбы с такими гуманоидами и прочими любителями вклиниться в трафик интенсивно https продвигается

мозилла и хром http/2 грозятся только поверх tls поддерживать
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38908400
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНаблюдения:
1. Размер данных: стоит только начать давать на байт больше чем MTU, так сразу фрагментация замедляет передачу. Особенно заметно на быстром канале. 100 мбит падает до 50-60 если давать блок данных чуть больше. Например если MTU 1500, даешь 1461 байт данных + 40 заголовки TCP и IP т.е. пакет 1501 - тормозит, опускаешь данные до 1460 скорость TCP поднимается с 60 до 100 мбит. Причем данная корявость только в виндовсе, из линукса скорость не падает.
2. Виндовс делает маленькие буфера приема/отправки. Например если с буфером по дефолту скорость 2 мбайта/с, задаешь буфер побольше растет до 2,9-3. Линуксу повышение бесполезно.

Вобщем пока все наблюдения говорят о корявости виндовса в работе с TCP.

По поводу тестов скорости UDP vs TCP, то UDP чуть быстрее (2-3%) пока нет потерь, соответственно если потерь больше 2-3%, то TCP быстрее. Считаю эти 2-3% выигрыш за счет простоты протокола. Правда есть неадекватные оконечные провайдеры (у меня такой на резервном канале), там TCP медленнее на 15-20% (2,0 против 1,6-1,7 мбайт/с, тариф 40 мбит). То ли TCP душат, то ли анализировать пытаются, то ли UDP рубить не умеют, то ли еще чего. Тестил через два канала до далекого сервера: пинг 30 мс, 1500 км по карте (если не врут с раположением датацентра).

В итоге все упорядочилось, статистика стала объяснимой.
Дима. Ты действительно думаешь что 2-3% потенциальной скорости - это та вещь за которую нужно
бороться. И решать различные проблемы канала? И писать кастомный софт? И создавать свой протокол?
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38908429
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДима. Ты действительно думаешь что 2-3% потенциальной скорости - это та вещь за которую нужно
бороться. И решать различные проблемы канала? И писать кастомный софт? И создавать свой протокол?
Если заказчик за 2-3% готов заплатить как за удвоение - конечно нужно ))
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38908561
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДима. Ты действительно думаешь что 2-3% потенциальной скорости - это та вещь за которую нужно бороться.
Нет, я же написал что прощаю TCP эти 2-3%.
maytonрешать различные проблемы канала? И писать кастомный софт? И создавать свой протокол?
Не надо утрировать, я же тебе расписывал суть задачи 17392803 . Соединение А-Б в большинстве случаев по TCP невозможно из-за технических ограничений (на роутерах никто не захочет порты мапить, компам постоянные IP давать, слишком много лишних телодвижений).

Гнать все через сервера не лучший вариант: во первых создаем узкое место в виде серверов-передастов, т.е. в один прекрасный день все начнет тупить и надо будет что-то делать. Во-вторых сервера просто физически далеко (нет у нас датацентров на каждом углу), тоже писал что 100 км по UDP намного быстрее 6000 км по TCP. В третьих это уже есть.

Потом софт все равно писать, какой-то протокол все равно изобретать. Я ж не просто эмулятор TCP пишу.

Да и с TCP не все так гладко. Например в схеме А->Сервер->Б если скорость А->С значительно выше С->Б, то серверу надо где-то хранить то что накачал от А, пока Б это выкачивает. Т.е. опять надо какой-то протокол управления входом от А. Про два сервера еще не задумывался (А->СерверА->СерверБ->Б), тут вообще жесть с кучей неизвестных.

Проводил пробный тест на живых юзерах, слали тестовое сообщение на эхо-клиента: показал что 70% трафика прошло напрямую. Оставщиеся 30% это не минимум, то что успело пролететь через сервера пока прямое соединение организовывается. В общем задумка жизнеспособна.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909072
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про 2-3% вы не в ту сторону смотрите. Я же писал уже про время отклика, это главное. Представим обычную трехзвенку, клиент обращается к серверу приложения. В локалке - чудесно, надо доп.офисы - поднимаем vpn. Быстро, но дорого, т.к. админа надо. Начальство говорит надо в инете чтобы было, делаем клиента в виде сайта, уже не быстро но все равно дорого.

А тут пофиг где клиент, в локалке или где-то рядом связанный с локалкой одним провайдером или во втором провайдере, которые сязаны внутригородским узлом обмена трафиком. vpn получается на уровне конкретной проги. Свобода полная: хоть из дома работай, хоть в трех офисах как в одной сети. Для организации канала затрат 0, сам организуется. И это реально т.к. внутрисети нормальных провайдеров уже гигабиты, а локалки обычно 100 мбит, т.е. допофис не поймет разницы если будет прямая связь центральным офисом. Просто берем ноут с прогой и едем куда надо, подцепляемся к инету - прога работает. Т.е. совсем другая степень свободы.

Но все упирается в время отклика: незаметное время для человека 1/16 сек. (62,5 мс). Если в это время уложится, то пользователю будет казаться что прога мгновенно реагирует на его действия, не уложится - прога тормозит. Сам понял это когда сидел дома в терминале до офиса через вайфай, вроде 50 мбит в тестах по локалке, 100 мбит до офиса по внутрисети, но пошаговая стратегия какая-то, час поработаешь и бесить начинает, взял перфоратор, просверлил дырку, кинул провод и терминал залетал. Тут цель таже - кто захочет чтоб залетало - просто посоветовать воткнуть провод вместо вайфая. Захочет - воткнет. А если начать гонять трафик через сервера то этот прогон просто сожрет большую часть этих 60 мс и на полезную работу времени не останется. В моем случае это 30-50 мс, скорость света она нифига не быстрая, всего 300 км/мс, а рядом нормальные сервера поднять проблематично. Победить эти 30-50 мс значит сэкономить 50-70% времени на полезную работу.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909089
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я как-то шутки ради прикидывал какой будет лаг с интернетом между Землёй и Марсом.

Ну... вобщем 22 минуты самое короткое время летит радио-сигнал (в наилучшем положении
планет). Вот так вот.

И это - пакет в одно направление!!! О SYN/ACK речи даже нет. Речь просто об одно-направленном
вещании.

А ты говоришь - 30-50 мс.

Транслировать ТВ - можно. А вот о сигналах оперативного управления можно забыть.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909106
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА ты говоришь - 30-50 мс.
Если смотреть глобальнее, то проблема в финансовых подходах: восновном продают результат, т.е. "систему под ключ", хотите переделать, пожалуйста, вот вам новая "система под ключ". А тут на тебе самоконфигуриющаяся система, продавать нечего, да еще ти за конфигуратором следи, прямой конфликт финансовых интересов. С другой стороны кто первый внедрит - тот победитель. Капитализм, будь он не ладен.
maytonЯ как-то шутки ради прикидывал какой будет лаг с интернетом между Землёй и Марсом.

Ну... вобщем 22 минуты самое короткое время летит радио-сигнал (в наилучшем положении
планет). Вот так вот.
Откроешь офис на марсе - обращайся, что-нибудь придумаем :), у меня юзеры дальше 100 км редко от офиса разъезжаются :)
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909129
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tпродавать нечего
и зачем тогда это нужно?
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909133
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЕсли смотреть глобальнее, то проблема в финансовых подходах: восновном продают результат, т.е. "систему под ключ", хотите переделать, пожалуйста, вот вам новая "система под ключ". А тут на тебе самоконфигуриющаяся система, продавать нечего, да еще ти за конфигуратором следи, прямой конфликт финансовых интересов. С другой стороны кто первый внедрит - тот победитель. Капитализм, будь он не ладен.
Я не очень верю в самоконфигурирующую систему. Особенно в условиях когда между А и B трейсроут
показывает OVER 9000 устройств каждое из которых со своей характеристикой. С различными
настройками QoS. С основными и резервными каналами. С "матрёшкой" протоколов.

Если-бы у тебя была задача - проектировать сеть под конкретную специфику ПО. В условиях
когда ты сам выбираешь оборудование, и софт. Тогда можно было-бы что-то придумать. Заточить
под длины сообщений.

А так. Игра на чужом поле. В условиях постоянно меняющихся характеристик канала. Вобщем
как-то это всё очень печально.

Хотя... твой энтузиазм воодушевляет. Надеюсь тебе заплатят за доработку.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909165
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОсобенно в условиях когда между А и B трейсроут
показывает OVER 9000 устройств каждое из которых со своей характеристикой.
Это где такое?
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909202
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ладно... метафорически выразился. Чё нельзя?
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909206
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЧё нельзя?
Нельзя так пугать. Я подумал что до Марса уже проложили кабель по астероидам ))
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38909281
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ не очень верю в самоконфигурирующую систему.
Что смущает? Конфигуратор прост: А и Б залогинились, сообщили серверу кто-где, потом просто поддерживай связь с сервером и спрашивай у сервера где тот кто тебе нужен. Чтоб сервер не был узким местом - подними несколько и репликацию состояния между ними. 100% надежность задешево .

maytonОсобенно в условиях когда между А и B трейсроут показывает OVER 9000 устройств каждое из которых со своей характеристикой.
Тут уже заточка на уровне прикладного софта. Есть быстрый отклик - переключайся в режим толстого клиента, нет - работай тонким (кэшируйся по максимуму), работать будет, но с затуплениями. Не нравится - выкинь GSM-свисток и воткни провод.

maytonЕсли-бы у тебя была задача - проектировать сеть под конкретную специфику ПО. В условиях
когда ты сам выбираешь оборудование, и софт. Тогда можно было-бы что-то придумать. Заточить
под длины сообщений.
Я ж не центробанк и не ФАПСИ, это они себе могут позволить собственные большие сети. Мне скромнее надо быть, у меня только софт свой, интернет наше всё :)

maytonНадеюсь тебе заплатят за доработку.
В этом плане все отлично. Платежеспособная потребность есть.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38910390
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДима. Ты действительно думаешь что 2-3% потенциальной скорости - это та вещь за которую нужно
бороться. И решать различные проблемы канала? И писать кастомный софт? И создавать свой протокол?
mayton, ты неправ!

Поизучал немного TCP (опыт реального использования меньше двух недель см. выше когда начал). Эйфория от его простоты и быстрости улетучилась. Ничего там не просто если хочешь асинхронно с ним работать, надо городить свой протокол поверх. UDPшная надстройка подошла для ускорения TCP (с небольшими поправками), но на медленных каналах только усложняет все. В принципе есть мысли как сгладить проблемные места, но не нравятся они мне, полумеры какие-то.

Сейчас отдельный топик заведу про асинхронную работу с TCP. С одной стороны пока пишешь - мысли упорядовачиваются, с другой - может кому пригодятся мои измышления, может кто идею подкинет или в нужную сторону направит (спецов по TCP тут вроде много).

По поводу скоростей TCP и UDP: до хостингов это не 2-3%, а до 2-3 раз. Один из случаев шлю 3 мб туда-обратно (раз 20 запускал): UDP стабильно дает под 60 мбит (пару раз 40-50), TCP туда от 20 до 40 (один раз под 60), обратно 40-60. Как они строют распределение пропускной способности не знаю, но вижу что строют и затачивают на исходящий трафик, а UDP эту заточку просто не попадает, хотя тоже не факт что при большом UDP-трафике не начнут против него затачиваться. Это хороший хостинг (он падает меньше всех из мною используемых), на плохом все отлично 100 мбит в обе стороны по обоим протоколам (может больше, я по 100 мбит подключен), но этот хостинг может запросто упасть на пару дней (было), как понимаю просто криворукие админы не умеют сбаллансировать нагрузку и при ддосе все просто умирает, т.е. сделал вывод там где умные админы скоростей ожидать не стоит, а там где тупые - надежности.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38910411
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TПо поводу скоростей TCP и UDP: до хостингов это не 2-3%, а до 2-3 раз. Один из случаев шлю 3 мб туда-обратно (раз 20 запускал): UDP стабильно дает под 60 мбит (пару раз 40-50), TCP туда от 20 до 40 (один раз под 60), обратно 40-60. Как они строют распределение пропускной способности не знаю, но вижу что строют и затачивают на исходящий трафик, а UDP эту заточку просто не попадает, хотя тоже не факт что при большом UDP-трафике не начнут против него затачиваться..
Скорее всего ты наткнулся на TCP-shaper. Для UDP его просто не настраивали.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #38910457
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСкорее всего ты наткнулся на TCP-shaper. Для UDP его просто не настраивали.
Я в нескольких местах на него наткнулся. Описал один из случаев. То что он появится для UDP не сомневаюсь, если ощутимый трафик будет. Но сомнительно что он появится в оконечных подключениях, т.е. те самые А-Б которые не могут себе TCP позволить. Они будут ограничены только скоростью своего безлимитного тарифа. Как показали мои испытания на моем говнопровайдере - заявленные 40 мбит я получаю по UDP стабильно, а по TCP через него не видел больше 30-32, т.е. как-то он зажимает TCP. Второй провайдер почти одинаково пропускает.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как выжать весь гигабит по UDP?
    #39667373
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UP. Дима. Друзья.

Хорошая тема стухла.

На днях подключу свой Raspberry-Pi к ноутбуку. Полезность эксперимента в том что подключу к ноуту
перевернутым патч-кордом и можно померять скорость на максимуме. Между двух Линуксов вобщем.

На Raspberry стоит какой-то клон Debian.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #39667375
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема не стухла. Я ее думаю вместе с акторами. Но как-то рука не поднимается взять и написать. Наверно пора.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #39667377
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНа днях подключу свой Raspberry-Pi к ноутбуку. Полезность эксперимента в том что подключу к ноуту
перевернутым патч-кордом и можно померять скорость на максимуме.
Тухлый эксперимент, не могут они гигабит выжать, процы слабые. Мерил на кубике (cubie), из 100 мбит с трудом 50 выдает.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #39667380
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я тут не про акторы. А про сетку. Померять. Но это первичная цель.

Вторичная : померять всё тоже самое под SSL.
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #39667382
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и wifi. Давно хочу добраться до него. Разгромить этот маркетинговый шлак.
На коробке написано - 300Мбит. Посмотрим какие там триста. Еще интересно
когда роутер держит 2 соединения. Как он там? По частотам? По частоте + ВРК?
...
Рейтинг: 0 / 0
Как выжать весь гигабит по UDP?
    #39667390
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНу и wifi. Давно хочу добраться до него. Разгромить этот маркетинговый шлак.
На коробке написано - 300Мбит. Посмотрим какие там триста. Еще интересно
когда роутер держит 2 соединения. Как он там? По частотам? По частоте + ВРК?
Это как с дисками. Может и есть 300 потоком в одну сторону, а туда-сюда - тормоза. Я уже писал что в терминале работаю, дома вайфай в нем впн до работы и терминал, по вайфаю было как в пошаговой стратегии, прокинул провод от роутера до компа - стало все хорошо.
...
Рейтинг: 0 / 0
25 сообщений из 162, страница 6 из 7
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как выжать весь гигабит по UDP?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]