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通”。