其中虚拟机内部的mac地址是fa:16:3e:e4:88:4f,冲突报错mac地址:fe:16:3e:e4:88:4f
定位之后结论:
ARP探测请求以及ARP应答报文收发的时间序列不同,导致结果不同。
正常流程:
1.
虚拟机发送ARP检测报文,mac:fa:16:3e:45:7a:19,时间戳:135.91s
虚拟机在发送了这个ip之后,如果长时间(具体多长时间,可以看一下microsoft的文档)没有收到10.81.105.5的应答报文,则会认为环境中没有设备使用10.81.105.5,即不存在ip冲突的情况。之后系统会将10.81.105.5配置到网卡上并正常使用。
1.
虚拟机收到ARP检测报文,mac:fe:16:3e:45:7a:19,时间戳:143.07s
虚拟机在发送上述的第1个ARP探测报文的时间是135.91s,收到第2个ARP探测报文的时间是143.07s,中间相隔8s左右。由于长时间没有收到10.81.105.5的ARP应答或者探测报文,此时虚拟机已经将10.81.105.5配置到自己的网卡上。
1.
虚拟机发送ARP响应报文,mac:fa:16:3e:45:7a:19,时间戳:168.42s
虚拟机已经配置ip 10.81.105.5,在收到上述的第2个探测报文时,发送了一个ARP应答报文,告诉对方,ip 10.81.105.5已经被占用,且配置在mac是fa:16:3e:45:7a:19的设备上。
这是一个正常的ARP交互流程,ip地址10.81.105.5也可以正常的配置给虚拟机使用。
异常流程:
1.
虚拟机发送ARP检测报文,mac:fa:16:3e:fb:a8:81,时间戳:134.48s
1.
虚拟机收到ARP检测报文,mac:fe:16:3e:fb:a8:81,时间戳:134.68s
虚拟机发送上述的第1个ARP探测请求的时间是134.48s,收到上述的第2个ARP探测请求的时间是134.68s,中间间隔时间0.2s。此时,虚拟机认为ip地址10.81.105.已经被mac为fe:16:3e:fb:a8:81的网络设备使用,即存在ip冲突,之后系统给自己自动分配了一个169网段的保留ip。
1.
虚拟机发送ARP检测报文,mac:fa:16:3e:fb:a8:81,时间戳:140.98s
虚拟机系统自动配置169网段ip,并发送ARP探测报文。
总结:
1.
问题概率性发生,是由于收发报文的时间序列不同导致。
检测到ip冲突,是由于虚拟机收到了mac为fe:xx:xx:xx:xx:xx的ARP探测报文,这个报文是VCFC发送。此报文是引起ip冲突的根本原因。