环境:
两块板子,拥有独立系统(Linux),通过单光纤连接(数据只能单向发送,无反馈)。两块板子采用udp协议通信。
问题:
发送板子发送数据后,接收板子上的进程收不到数据。
确认两块光纤网卡没有问题后,ifconfig命令看到网卡收到了数据,有数据包到网卡,却没有到进程,怀疑是防火墙给拦下了,然而看了下防火墙并没有开。。。
用tcpdump(tcpdump -i eth6 -vv)命令查看到光纤网卡的数据包是啥样的,发现是arp请求包, 由于单光纤没有反向数据通路,发送板子并没有获取接收板子的网卡地址,发送板子的数据包并没有发送到接收板子,接收板子的光纤网卡收到的数据包都是arp请求包。手动设置发送板子arp列表中的网卡地址就可以了。