IP 冲突,绝对是以太网调试中比较讨厌的问题,避免IP 冲突,是以太网组网的基础!可能绝大多数工程师调试都会很注意这个问题,今天小张来说说实际工程调试碰到的另外一件和冲突有关的问题,问题很简单,但绝对让人抓狂!真是李逵遇李鬼,没地儿说理。
话说小张最近接下一个S7-1500 R/H 的调试,整个系统由多套S7-1500 R/H构成,最终需要把各个系统的数据通过系统IP统一上传到上位系统。调试很顺利,各个系统很快就调好了。但是一旦把两套系统同时连接到上位系统,问题就来了,上位系统和冗余系统IP的通讯,立刻时断时续,上位对冗余系统Ping 操作,也伴随断断续续,把任意一个冗余系统断开,立刻就恢复了。
一看到这个现象,小张立刻心头一紧,完蛋,IP冲突!马上检查:
首先确保组态中系统IP,没有冲突;
网络中其他设备IP,没有复用;
网线质量,一切ok,换了电缆问题依旧……..
一番折腾,毫无进展,小张这心就有点拔凉拔凉了….一种不好的预感油然而生,难道是S7-1500 R/H bug?于是乎,终极必杀,升固件,卒;降固件,还卒。至此,小张有点绝望了,能知道肯定是啥冲突了,但是就是找不到源头,整个项目调试的进度都卡在这儿了,甲方看小张的眼神儿都变了….
突然想起之前IT 培训中学到的,windows 命令“Arp -a”可以显示计算机当前ARP 表,可以显示IP地址和MAC地址对应关系,看看能看出啥吧。哈哈,这一看不要紧,豁然开朗的感觉,IP 没冲突,MAC 冲突了!两个冗余系统的系统IP对应的MAC地址冲突了!
回到配置中再看一下组态参数,原来一直注意系统IP不要冲突,但是忽略了系统IP 对应的虚拟MAC地址,系统默认的最后一个字节是相同的!相同的MAC地址会导致网络设备 ARP 表中不同的IP地址对应相同的MAC是相同的,那当然会影响正常通讯的数据传输,所以之前看到通讯时断时续和Ping的断断续续,就可以解释通了。
想不到,整个问题都是这个小疏忽导致的,回到配置中把MAC地址更改为不一样,问题立刻解决!
所有的基于IP通讯的设备,都会通过ARP 协议来解析IP地址对应的MAC地址,不仅IP不能冲突,MAC地址也是万万不能冲突啊!
看来ARP -a 这个小指令还真有用,让你随时分辨网路中的李逵和李鬼!