1)A的位置换上一台电脑hongjing(IP与A一致),且让网关F有hongjing的ARP记录。
以下是引用片段: 112_edge#sh arp | include 10.0.2.70 Internet 10.0.2.70 3 000b.dbe0.1de9 ARPA FastEthernet0/1 |
基于两种猜测,故障的原因的解释有:
解释A:包从网关F中发过来,ICMP探测包准确的发送到目的A 10.0.2.70,hongjing同样由于本机ARP缓存中没有网关F的记录,不能立即发送ICMP回应包。但hongjing没有“不作为”,而是根据ICMP包的源IP地址跟自己的掩码判断此ICMP查询包发自广播域外,所以hongjing当机立断,向本广播域发起ARP查询,要查出网关10.0.0.1的MAC地址,查到后,将ICMP回应包发送到10.0.0.1,所以网络能通。
对比动作一,动作二的网络包分析,不难发现问题所在。相同的条件与情况下,产生“通”与“不通”的两种结果,关键在于测试头(A)与电脑(hongjing)对ICMP查询包的“态度”不一样所致。电脑hongjing的态度“积极”,当没有该包的传递者F的MAC地址时,会想方设法找到“回答”的路径,并“回答”。而测试头A的态度“消极”,收到询问包时,发现自己没有该包传递者F的MAC地址时,没有采取任何措施,保持“沉默”,所以没回答。
解释B:笔记本电脑hongjing一接上交换机后立刻发出广播包,通知局域网内其他机器,hongjing的MAC地址是多少。此时,交换机记下hongjing-MAC与端口的映射。所以包从网关F过来后,能到达测试头A。
针对现象三:“如果F上clear arp,则112CLIENT再ping ,可以ping通”。