LAN sobre link RF leva a erros intermitentes

LAN sobre link RF leva a erros intermitentes

Temos um erro estranho ocorrendo em nossa rede, a configuração é:

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

A câmera IP transmite vídeo via RTSP/UDP e podemos controlá-la a partir de um cliente no PC ou através de um navegador. Tudo funciona bem quando a configuração é:

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

Mas vemos erros quando o link de rádio está na cadeia. Os comandos (enviados como HTTP POST para a câmera) às vezes são perdidos e o fluxo de vídeo fica visivelmente mais instável.

Aqui está o curioso:O que NÃO vemos équaisquer pacotes com erro, vemos apenas mensagens HTTP POST rejeitadas pela câmera como malformadas.

O link de rádio consiste em duas caixas que são efetivamente transparentes para a rede, como se houvesse um cabo LAN ali (ou pelo menos é o que afirmam), e temos dois tipos diferentes de fabricantes diferentes exibindo comportamento semelhante.

Temos o Wireshark com toque no switch local (porta espelhada), e se colocarmos um switch com wireshark toque na extremidade da câmera que também não vê nenhum pacote ruim. Essa configuração é assim:

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

Portanto, não podemos ver pacotes ruins em nenhuma das extremidades (tap), com o switch na forma como o sinaldeveestará sendo regenerado/repetido pelo switch, de modo que exclui as primeiras camadas.

Se ajudar, os switches são Netgear ProSAFE PlusSwitch.

Estou um pouco perdido sobre o que verificar/tentar a seguir, parece o tipo de coisa que alguém aqui já deve ter visto antes.

Responder1

Bem, parece um erro no código do servidor web por meio do qual ele não estava lidando com solicitações fragmentadas - outro PITFA atribuído àqueles incômodos escravos do código Elboniano.

Muitos hackers postaram aqui uma solução que seria de qualquer utilidade/interesse para qualquer pessoa que não usasse esse SDK Elbonian específico, mas a essência disso era armazenar em buffer uma solicitação inteira antes de passá-la para o código do manipulador de bugs.

informação relacionada