Prefácio :
Eu tenho um aplicativo que estou testando atualmente e que é executado no RHEL 6
. A configuração para o meu teste é o aplicativo instalado em um dispositivo embarcado, conectado por um cabo Ethernet ao PC que se comunica com a máquina virtual naquele PC em que o Linux é executado. A máquina virtual (na VMWare Workstation) no PC e o dispositivo incorporado têm um endereço IP estático, pois precisam se comunicar entre si pelo cabo Ethernet.
O aplicativo precisa se comunicar usando uma pub-sub
ferramenta neste caso RTI DDS
. Isso foi testado em um ambiente sem fio e outro com fio com um PC diferente, mas a mesma máquina virtual e em ambos os ambientes o pub-sub funcionou.
Problema:
Ao testar o pub-sub na configuração atual, podemos ver que wireshark
todos os pacotes fragmentados entregues do dispositivo incorporado são entregues ao sistema operacional principal do PC (neste caso, o Windows). No entanto, quando os pacotes fragmentados são enviados do sistema operacional principal para o sistema operacional das máquinas virtuais, a máquina virtual recebe apenas o último pacote recebido conforme visto wireshark
e os demais são descartados.
Até agora, tentamos desabilitar os dispositivos firewalls
e pinging
uns dos outros, todos funcionando corretamente e sem problemas. Portanto, não nos deu nenhuma ideia de por que os pacotes estão sendo descartados.
Que maneira existe para depurar como e por que os pacotes de rede estão sendo descartados, talvez até possível através do wireshark, já que estamos usando essa ferramenta?