Eu tenho duas peças de hardware (dispositivos incorporados) que eu configurei para se comunicar via TCP sobre Ethernet em um modo cliente / servidor.
A topologia da rede é a seguinte:
-----
| S ||=|== Debug PC (w/ Wireshark) 192.168.10.41
| W ||=|== Hardware 1 TCP Client 192.168.10.42
| I ||=|== Hardware 2 TCP Server 192.168.10.40
| T |
| C |
| H |
-----
Quando o Hardware 1 tenta enviar pacotes para o servidor, Hardware 2, ele envia um pacote ARP para obter primeiro o endereço MAC do Hardware 2:
No. Time Source Destination Protocol Length Info
157 11772.776136 Microchi_13:c3:6a Broadcast ARP 60 Who has 192.168.10.40? Tell 192.168.10.42
No entanto, ele não recebe resposta do servidor e, em seguida, o ARP do servidor para o MAC dos clientes alguns momentos depois:
No. Time Source Destination Protocol Length Info
158 12183.800839 00:3f:2d:02:1a:35 Broadcast ARP 60 Who has 192.168.10.42? Tell 192.168.10.40
Que também não recebe resposta do cliente. Estou muito confuso.
Eu sei que o servidor está respondendo corretamente, já que eu escrevi um simples TCP Client em C # que poderia conectar e enviar pacotes para o servidor a partir do Debug PC.
Não sei por que meu Hardware Client não pode se comunicar.
Obrigado pela sua ajuda antecipadamente.
Detalhes dos pacotes ARP, se necessário:
Do cliente:
Ethernet II, Src: Microchi_13:c3:6a (00:04:a3:13:c3:6a), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Source: Microchi_13:c3:6a (00:04:a3:13:c3:6a)
Type: ARP (0x0806)
Trailer: 000000000000000000000000000000000000
Address Resolution Protocol (request)
Hardware type: Ethernet (1)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (1)
[Is gratuitous: False]
Sender MAC address: Microchi_13:c3:6a (00:04:a3:13:c3:6a)
Sender IP address: 192.168.10.42 (192.168.10.42)
Target MAC address: Broadcast (ff:ff:ff:ff:ff:ff)
Target IP address: 192.168.10.40 (192.168.10.40)
Do servidor:
Frame 158: 60 bytes on wire (480 bits), 60 bytes captured (480 bits)
Ethernet II, Src: 00:3f:2d:02:1a:35 (00:3f:2d:02:1a:35), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Source: 00:3f:2d:02:1a:35 (00:3f:2d:02:1a:35)
Type: ARP (0x0806)
Trailer: 000000000000000000000000000000000000
Address Resolution Protocol (request)
Hardware type: Ethernet (1)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (1)
[Is gratuitous: False]
Sender MAC address: 00:3f:2d:02:1a:35 (00:3f:2d:02:1a:35)
Sender IP address: 192.168.10.40 (192.168.10.40)
Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
Target IP address: 192.168.10.42 (192.168.10.42)