FIBERIOT / 故障排查
PLC的网线插着,交换机链路灯也亮,为什么HMI仍然找不到它?链路接通只解决了电信号传输,IPv4设备还要知道下一跳的以太网地址。ARP就是把本网段IPv4地址映射到MAC地址的协议。下面沿着一份请求报文的真实处理顺序,解释地址解析、缓存更新和重复IP的故障机制。
原理图可点击查看原图;手机端可横向滑动查看清晰标注。

01发送业务帧前,终端先确定下一跳
IP地址用于网络层寻址;MAC地址是以太网帧中的链路层地址。一个以太网接口通常使用48位MAC地址,交换机据此把帧送到相应端口。两者承担的任务不同,设置了PLC的IP,并不意味着HMI已经知道PLC的MAC。链路灯亮只能说明物理链路建立,不能证明地址配置和应用服务正确。
假设HMI是192.168.10.20/24,PLC是192.168.10.10/24,两者位于同一个VLAN。这里/24表示前24位是网络部分,相当于掩码255.255.255.0。HMI按自己的路由表判断PLC为直接相连目标,下一跳就是PLC;随后查询本机ARP缓存。以下地址和MAC字母均为教学示例,不是飞畅现场测试记录。
如果目标是192.168.20.10,HMI通常需要通过网关192.168.10.1。这时它解析的是本网段网关的MAC,而不是远端PLC的MAC。业务帧的目的MAC属于网关,包内目的IP仍然属于远端PLC;路由器转发时再为下一段链路建立新的以太网封装。因此同一条业务在每跳可以换MAC,最终目的IP通常不因普通路由而改变。
02广播提问,匹配IP的设备单播回答
缓存中没有可用映射时,HMI发送ARP请求。以太帧目的MAC为FF:FF:FF:FF:FF:FF,即广播地址;EtherType为0x0806,表示负载是ARP。常见以太网/IPv4 ARP报文还包含硬件类型1、协议类型0x0800、硬件地址长度6、协议地址长度4,以及操作码、发送者地址和目标地址。请求操作码是1,应答是2。
请求携带HMI的IP和MAC,并询问谁持有192.168.10.10。目标硬件地址在请求中尚未知,通常填零。交换机在该VLAN内向符合转发条件的其他端口复制广播,不会把广播无条件送到所有VLAN。无关摄像机检查目标IP后通常不会回答;PLC匹配自己的IP,组织ARP应答。
普通应答直接单播给HMI,写明PLC的发送者IP和MAC。HMI由此建立192.168.10.10到PLC MAC的映射,再封装待发送的业务帧。广播发生在寻找映射时,并非每个业务包都必须广播。请求重试次数、超时和缓存老化由系统实现决定,不能用一个固定秒数概括所有PLC、电脑与网关。
原理图可点击查看原图;手机端可横向滑动查看清晰标注。

03终端ARP缓存与交换机MAC表分开理解
ARP缓存通常位于需要发送IPv4业务的终端或三层接口,回答某个IPv4下一跳应使用哪个MAC。二层交换机的转发表又称FDB,主要回答某VLAN中的目的MAC位于哪个端口。两张表可能同时参与一次通信,却没有相同的键和值,也不能互相替代。
当HMI的帧从端口1进入,交换机按源MAC学习HMI在端口1;查到目的MAC属于PLC所在端口2后,就把帧送到端口2。学习的依据是以太网帧源地址,不是ARP负载中的发送者IP。若目的MAC尚未学习,未知单播可能在该VLAN允许的其他端口泛洪;这与ARP请求本身的广播属于不同原因。
光纤收发器或光口上联可以延伸这段二层传输,但不会凭空替终端解析IP。单纯二层交换机转发ARP不代表它拥有针对所有PLC的ARP缓存。网管设备自己的管理IP、三层接口或专门的安全功能可能另外使用ARP,排查时必须明确正在查看哪台设备、哪张表以及哪个VLAN。
原理图可点击查看原图;手机端可横向滑动查看清晰标注。

04重复IP如何让映射指向不同设备
若PLC-A和PLC-B都配置成192.168.10.10,但各有自己的MAC,它们可能都对同一ARP请求作出应答。HMI最终采用哪份映射、后续是否变化,取决于到达顺序、缓存更新规则和设备实现。当前映射指向A时业务送到A,更新成B后业务可能转到B,于是出现时通时断、读到错误对象或连接反复重建。不能说重复IP必然按固定周期切换。
交换机此时可能正确学习A和B分别位于两个端口,物理链路灯也都正常。故障来自IP身份不唯一,而不一定是光纤丢光或端口坏。免费ARP等主动通告可能在正常上线或地址变更时出现,单条通告不足以证明攻击;应结合相同发送者IP对应不同MAC的重复证据和设备清单判断。
抓包时先筛选ARP,记录请求目标IP、应答发送者IP、发送者MAC和时间,再把MAC对应到交换机端口及实际设备。若同一IP反复对应两种MAC,应核对静态地址、替换设备遗留配置和维护笔记本。不要仅凭一次ping失败认定重复IP,也不要在生产运行中随意拔线验证;隔离和地址修改应安排在批准的维护窗口。
05按观察结果缩小故障范围
第一步核对终端IP、掩码、路由及所属VLAN。接着在业务发起端观察ARP缓存并抓取一次明确的访问过程:完全看不到ARP请求,可能已有缓存、走了不同接口或抓包位置错误;有请求没有应答,再检查目标是否在线、同VLAN转发路径和目标IP;有应答且映射稳定,却不能通信,应继续核对应用端口、访问控制及设备服务。
如果清理缓存,先保留原映射和抓包证据,只清理授权终端相关项,再观察重新解析过程。清缓存可能暂时恢复,也可能立刻再学到错误设备,不能作为根治措施。跨网段场景还要确认网关可达、路由和返回路径;用本网段广播去寻找远端目标本来就不符合通常的下一跳选择。
飞畅官网的工业级管理型24路千兆电加4路千兆光电复用交换机资料列有VLAN、端口镜像、端口流量统计及MAC过滤/绑定等管理功能。VLAN帮助核对广播范围,镜像有助于取证,MAC表和端口统计帮助关联物理位置;具体菜单、固件和镜像能力应以该设备说明书为准,不能由这些功能推断它自动检测或修复全部重复IP。
验收时保留端口连接图、地址清单、ARP应答对应关系和应用读写结果。至少覆盖正常上线、批准的设备替换和断电恢复情形,确认每个IP对应预期设备。这样能把链路、地址解析与业务服务分别验证,避免以链路灯或一次ping成功代替工业通信验收。
参考资料:RFC 826:以太网地址解析协议;飞畅对应工业交换机资料。原理图为原创示意,非产品内部实拍或实测。


