![]() |
|
Загадки протокола TCP | ☑ | ||
---|---|---|---|---|
0
H A D G E H O G s
09.10.24
✎
12:17
|
Дня доброго.
Есть железяка, с которой обмениваются по сети. Ей отправляешь запрос, она шлет XML-ответ, 19 Кбайт, немного. Ответ идет 0,5-0,8 секунды, что печально, она должна работать на поточной линии. Железка мощная, дорогая, по эльфийским технологиям. Смотря ее TCP траффик, понимаешь, что ответ она разбивает на TCP пакеты по 256 байт и проблема в этом. Это можно увидеть на рисунке. При этом непонятно, почему она дробит один ответ на пакеты по 256 байт. Размер окна у приемника Win=64296, максимальный размер пакета MSS=16074. Ответ вроде один, так как ACK=358 у всех пакетов одинаковое . Кто сталкивался с подобным, кто может помочь и что-то знать?
|
|||
1
NorthWind
09.10.24
✎
12:51
|
Непонятно что за железка, но подозреваю, что встроенный в нее микроконтроллер имеет небольшое быстродействие и это влияет на работу сети. Поэтому и отдают предпочтение куче маленьких пакетов перед одним большим. В целом вопрос к настройкам железки и ее производителю, мне кажется, только он может чего-то внятное сказать по этому вопросу.
|
|||
2
eklmn
гуру
09.10.24
✎
13:05
|
это с винды, а с линуха так же?
|
|||
3
Кирпич
09.10.24
✎
13:09
|
так это не загадки протокола. это загадки неизвестной железяки.
|
|||
4
H A D G E H O G s
09.10.24
✎
13:36
|
(1) Проц в железке 800 Мгц, 256 Мбайт оперативки.
|
|||
5
Смотрящий
09.10.24
✎
13:40
|
Поройся на шелезяке - mtu какой стоит ?
|
|||
6
Smit1C
09.10.24
✎
13:40
|
(0) нужно ускорить время ответа ?
|
|||
7
Vostochnick
09.10.24
✎
15:59
|
Пагинацию не предлагать?
|
|||
8
vde69
09.10.24
✎
16:30
|
если это wi-fi то присоединяюсь к (5) MTU
|
|||
9
Garykom
гуру
09.10.24
✎
21:31
|
(0) >Железка мощная, дорогая, по эльфийским технологиям.
поменять на другую железяку или прошивку которая на Len=0 не отправляет минимальными в 256 байт |
|||
10
lEvGl
гуру
10.10.24
✎
09:32
|
а что за протокол обмена?
+ При этом непонятно, почему она дробит один ответ на пакеты по 256 байт может быть из-за скорости/несогласованности обмена, может она в полудуплексе работает и каким прог. компонентами запрашиваете и какими она отвечает, это нестыковка в обмене |
|||
11
eklmn
гуру
10.10.24
✎
10:22
|
(10) нет, просто на ваершарк уже так приходит, но не все это знают...
|
|||
12
lEvGl
гуру
10.10.24
✎
11:31
|
(11) Ну тогда всё в порядке.
Значит, просто тормозит. Обычные школьные ардуины работают где-то так же. |
|||
13
H A D G E H O G s
10.10.24
✎
13:08
|
(7) Предлагать. Вы - второй, кто упомянул про выравнивание (Padding) и я начал в это погружаться.
|
|||
14
Garykom
гуру
10.10.24
✎
13:15
|
Как насчет добавить промежуточную железку?
Одноплатник с двумя lan портами Одним портом в эту эльфийскую а вторым в общую сетку Пусть одноплатник постоянно медленно общается с железякой, а по запросу быстро (кэшированное отдает) куда надо |
|||
15
Кирпич
10.10.24
✎
13:25
|
(14) да зачем. надо просто на железяке нужный тумблер включить и все заработает.
|
|||
16
Garykom
гуру
10.10.24
✎
13:26
|
(15) уже давно лишних тумблеров нет, все программно по максимуму
|
|||
17
Кирпич
10.10.24
✎
13:37
|
(16) Я ж образно. Нет никакого другого пути окромя настройки железяки. Разве что действительно кешировать.
|
|||
18
Garikk
10.10.24
✎
15:04
|
(0) а ты прям напрямую к ней подключался и она так делает?
прям сетевуха компа - сетевой разъем железки? по своему опыту скажу что нифига не сделаешь ничего, железячники-производители, максимально криворукие товарищи в этих вопросах...было дело дизельгенератор настраивал с управлением по сети, наш сетевик на стенку лез от глюков этой штуки мне кажется (14) самый верный вариант |
|||
19
H A D G E H O G s
10.10.24
✎
15:45
|
(18) "прям сетевуха компа - сетевой разъем железки? "
Вариант с кэшированием - не вариант. 1С управляет этой железякой в реальном времени, от каждого пакета результата зависит следующее действие, за экраном сидит оператор, фура ждет погрузки. |
|||
20
Garykom
гуру
10.10.24
✎
15:50
|
(19) Для начала действительно воткнуть напрямую комп-железка
Или через отдельный свитч И протестить как оно работает Если не устраивает - терзать техподдержку В самом крайнем случае все отсниффить и заменить железку на свой эмулятор, который будет выполнять ее роль полностью Выдавая команды на оборудование |
|||
21
breezee
10.10.24
✎
15:56
|
А зачем XML, может другой протокол есть?
|
|||
22
trad
10.10.24
✎
15:56
|
(19) 1С управляет
Из-под виртуалки? |
|||
23
Djelf
гуру
10.10.24
✎
15:55
|
Может быть и это виновато: https://www.opennet.ru/tips/3249_tcp_tcp_nodelay_optimization_latency.shtml
|
|||
24
eklmn
гуру
10.10.24
✎
15:56
|
(19) с такой архитектурой важны нюансы, которые мы не знаем,
бестолку так через форум |
|||
25
H A D G E H O G s
10.10.24
✎
16:08
|
(22) Физическая машина, железка воткнута через сетевую на материнке.
Пробовал на разных компах. Если есть маршрутизатор между - то время незначительно, но увеличивается. |
|||
26
H A D G E H O G s
10.10.24
✎
16:29
|
(23) nodelay (nagle) пробовал почти сразу. Пробовал играться флагами
TCP_MAXSEG IP_USER_MTU TCP_EXPEDITED_1122 IP_NO_DEFRAG и их компинациями, ничего не помогает. Сейчас попробую IPv6 |
|||
27
Djelf
гуру
10.10.24
✎
16:46
|
Я так понимаю что все первоначальные удары в админский бубен были уже произведены, типа перепрошивки или сброса настроек.
А что пишут другие пользователи этих эльфийских технологий? |
|||
28
H A D G E H O G s
10.10.24
✎
16:47
|
При этом, устройство нормально так шпарит ICMP пакетами размером MSS (1440 байт), нормально хреначит здоровые пакеты по HTTP (умеет в реальном времени в браузере показывать свой дисплей и настраиваться).
Но не умеет показать свой MTU :-( (27) Других нет. Удары были произведены настолько, что в течении пары месяцев удалось уговорить разрабов из США выпустить новую прошивку, которая должна была поправить, но не поправила. Что заставило задуматься, что проблема на нашей стороне, но походу, нет. |
|||
29
Garikk
10.10.24
✎
16:47
|
скорее всего ничего не поможет, обычно наркоманы там сидят которые это делают, это сетевой стек на стороне железки скорее всего кривой, там же небось не обычная сетевуха стоит, а чёнить хитропопое и управляется небось контроллером самодельным, а не линуксом (как у всех нормальных людей)
вообще если поддержка в принципе поймет вашу проблему - уже будет победой...но "не верю" |
|||
30
Garikk
10.10.24
✎
16:52
|
(28) У меня была проблема в том, что похожая железка, прикрученная к генератору, не запоминала шлюз... Вот просто не записывала и всё... Куда уж проще была проблема... Разговор с поддержкой был как слепого с глухим, добились того, что они решили, от генератора на 1500 кВт открутить комп и отправить его в Германию будет самым правильным решением... На что были посланы, и силами циски мы просто настроили сеть, чтобы шлюз был не нужен для неё.
А тут явно какая-то особенность реализации. |
|||
31
Djelf
гуру
10.10.24
✎
16:59
|
Возможно что и особенность реализации, я как-то участвовал в проекте ускорения шеншейка в nxclient/nxserver (аналог rdp для linux), оптимизация и слияние пакетов дали 3-4х кратный прирост скорости (стало даже немного быстрее чем с rdp).
А тут, совсем вслепую, ничего видимо еще посоветовать не получится, кроме того что уже изложено выше. |
|||
32
lEvGl
гуру
10.10.24
✎
18:27
|
других интефейсов нет на ней, rs485 например?
зы. железку можно было и назвать, чтобы знать с чем не связываться, это первое, а второе чтобы понимать о чем речь |
|||
33
Garykom
гуру
10.10.24
✎
18:48
|
(28) Тупой вопрос но как железка и комп получают ip?
Вручную прописали на каждом, подключившись с дефолтным ip железки Или на железке есть dhcp сервер? А есть ли режим dhcp клиента? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |