Соединение LAN через RF приводит к периодическим ошибкам

Соединение LAN через RF приводит к периодическим ошибкам

У нас возникла странная ошибка в нашей сети, настройки следующие:

IP Camera -> Radio LAN repeater -> Local switch -> PC

IP-камера транслирует видео по RTSP / UDP, и мы можем управлять ею с клиента на ПК или через браузер. Все работает отлично, если настроить так:

IP Camera -> LAN cable -> Local switch -> PC

Но мы видим ошибки, когда радиосвязь находится в цепочке. Команды (отправляемые как HTTP POST на камеру) иногда теряются, а видеопоток становится заметно прерывистым.

Вот что любопытно:Чего мы НЕ видим, так этолюбые ошибочные пакеты, мы видим только сообщения HTTP POST, отклоненные камерой как некорректные.

Радиоканал состоит из двух блоков, которые фактически прозрачны для сети, как если бы там был кабель локальной сети (или так они утверждают), и у нас есть два разных типа от разных производителей, демонстрирующих схожее поведение.

У нас есть Wireshark с ответвлением на локальном коммутаторе (зеркалирование порта), и если мы поместим коммутатор с ответвлением Wireshark на конце камеры, которая также не видит никаких плохих пакетов. Такая настройка выглядит так:

IP Camera -> Switch -> Radio LAN repeater -> Local switch -> PC
               ^                                 ^
               |                                 |
             WS TAP                            WS TAP

Итак, мы не видим плохих пакетов ни на одном конце (отвод), поскольку коммутатор находится на пути сигнала.долженбыть регенерирован/повторен коммутатором, что исключает первые несколько слоев.

Если вам это поможет, то коммутаторы — Netgear ProSAFE PlusSwitch.

Я немного растерялся и не знаю, что проверить/попробовать дальше. Кажется, кто-то здесь мог уже видеть нечто подобное.

решение1

Похоже, что это ошибка в коде веб-сервера, из-за которой он не обрабатывал фрагментированные запросы — еще одна ошибка, списанная на этих надоедливых рабов кода Elbonian.

Слишком много хакерских ухищрений было потрачено на то, чтобы опубликовать здесь решение, которое было бы хоть как-то полезно/интересно тем, кто не использует этот конкретный Elbonian SDK, но суть его заключалась в буферизации всего запроса перед его передачей в код обработчика с ошибками.

Связанный контент