在不能确定故障源的情况下,我们同时从以上两种具有倾向性猜测的角度出发,力图从两个方向做出解释,最后找出符合实际的故障点。
首先,改变拓扑结构,如图2所示,将网关接口之一连接一台共享带宽的HUB,HUB上的两个端口分别连接宽带部分和一台运行Sniffer的电脑。这样,Sniffer能“抓”到所有宽带与网关F之间的包。

图2 改变后的拓扑图
针对现象一:IDSCLIENT ping不通测试头A。
测试动作一:
(1)网关F上有A的ARP记录。
112_edge#sh arp | include 10.0.2.70
Internet 10.0.2.70 3 0090.e809.b82f ARPA FastEthernet0/1
(2)用内网的IDSCLIENT来ping A,结果ping不通。
用Sniffer抓包,从图3中可以清楚地看出,ICMP探测包从网关F准确地向目的A 10.0.2.70(09B82F)发送,但A没有回应包,所以结果为ping不通。
图3 Sniffer抓包图
基于两种猜测,故障的原因可能解释如下。
解释A:A的ARP缓存中没有网关F的ARP记录,所以A找不到网关的MAC地址,而且它对这种“找不到网关的MAC地址”不作为(NPORT测试头对ARP的实现不完善)。
解释B:连接测试头A的宽带交换机中的MAC对端口的对应记录过期,在MAC地址表中目的MAC地址无对应端口,交换机丢掉此包。
针对现象二:将测试头换下,换上同IP地址笔记本电脑,没有任何问题。
测试动作二:
(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
(2)在IDSCLIENT2(134.100.5.52)ping 10.0.2.70(HONGJING),能ping通。
基于两种猜测,故障的原因的解释如下。
解释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通。
测试动作三:
登录网关F,执行clear arp命令,然后在内网中,用IDSCLIENT ping A,结果可以ping通。
基于两种猜测的原因解释如下。
解释A:本来由于测试头的“消极”,是不通的。但网关F上执行了clear arp命令后,网关F由于ARP地址影射清空,F不知网关的MAC,会向广播域发送ARP包,该包中包含了自己的MAC地址。根据RFC826,虽然广播域中的机器不会回应此包,但会将F的MAC地址记录到ARP缓存中,所以能使得本不通的112CLIENT ping A能ping通。
解释B:网关F上执行了clear arp命令后,网关F由于ARP地址映射清空,F不知网关的MAC,会向广播域发送ARP包,该包中包含了自己的MAC地址。测试头A上连的交换机会将F的MAC地址和相关端口绑定;A回应此ARP请求时,交换机又会将NPORT测试头A的MAC地址与相关端口绑定。所以后续的连接能通。
已被阅读: 次 重庆电脑维修上门电脑维护电脑外包
公司包月维护
【讯闪科技 pc3721电脑维修中心】 正规公司运营
技术实力优秀 服务有保障!
热线电话:
023-62607382 66399947
|