我有两个硬件(嵌入式设备),我已经设置了通过TCP通过以太网以客户机/服务器的方式进行通信。
该网络的拓扑结构如下:
-----
| 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 |
-----当硬件1试图向服务器发送数据包时,硬件2首先发送一个ARP包来获取硬件2's MAC地址:
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但是,它没有收到来自服务器的答复,然后服务器ARPs为客户端MAC在几分钟后:
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它也没有收到客户端的答复。我很困惑。
我知道服务器的应答是正确的,因为我用C#编写了一个简单的TCP客户端,它可以从Debug连接和发送数据包到服务器。
我不知道为什么我的硬件客户端不能通信。
谢谢你提前帮忙。
如果需要的话
来自客户:
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)来自服务器:
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)发布于 2011-07-11 19:28:53
在您的“调试PC”交换机端口上,您不会看到任何ARP回复为它们正在向目标主机进行单播。。您的交换机正在过滤单播包到外国目的地为您的“调试PC”。如果您也需要监视单播通信量,您可以使用集线器而不是交换机,或者启用交换机上的“监视器”或“镜像端口”功能 (大多数托管交换机确实有类似的内容),以使所有通信量(包括外国单播涌入“调试PC”端口)。
https://serverfault.com/questions/288482
复制相似问题