症状
某著名系统集成商专门负责政府网建设的项目经理罗先生今天十万火急地到网络医院电话急诊,请求紧急支援。
罗先生反映的网络故障表现很简单:基本上所有的网络成员访问网络资源的速度都非常缓慢,Ping测试联通性表现良好,均在2ms以内,从服务器上拷贝一个20Mbytes的文件竟需要5分钟。
调试人员曾试着从相邻的工作站上拷贝一个20Mbytes,对比结果显示同样也需要5分多钟的时间。怀疑是操作系统和系统软件平台安装上的问题,特别是服务器安装上的问题。调试人员已经将所有用户重新安装过两遍,凭借以往安装系统的丰富经验,他们十分有把握地保证操作系统和软件平台安装设置没有问题。
为了了解数据包在网络中传输的对话情况,又从朋友哪里借了一台协议分析仪对收发包进行测试,结果显示包的收发反应时间基本正常,只是包的转发时间间隔很长,无法进一步确定是哪个环节的问题所至。网络的公共部分是一台10/100核心交换机和三台服务器,服务器直接与核心交换机相连,其它工作站则通过下属的工作组交换机和集线器等与之相连。起初怀疑是交换机的问题,试着更换了一台同型号的交换机,故障依旧。从另一家主代理商哪里借来一台服务器作替换试验也无效。
诊断过程
首先从一台工作站上Ping服务器和任意选定的位子网内的其它5台工作站,响应时间均小于1ms,说明联通性尚可。调试人员怀疑是交换机问题的可能性是存在的,但我们认为证据不足。这是因为从邻近的工作站直接拷贝文件也很慢,这时数据包不经过核心交换机,有的虽通过工作组或桌面交换机,但有的则直接通过集线器。所以故障的公共部位比较可能的是新的布线系统、操作系统和系统软件平台、关键网络设备本身的故障或错误、网卡驱动程序错误等等。
用网络测试仪实施流量贯通测试,选择从任意一台工作站到服务器为一条通道,再任意选择该工作站到其它5台工作站直接的通道,共6条测试通道作试验样本。从测试仪上分别发送正常的IP包流量到上述6个对象,流量选定为健康指标的上限值,即40%。用网络一点通在被测试的站点模拟网络设备配合接收流量,结果发现收到的流量都不足1%,且广播包占20%以上。
缩短流量贯通路径,直接向邻近的工作站发送流量,结果收到的流量有两种明显的结果。一是流量大量增加,达28%左右,其路径是通过集线器连接的通道,属于正常表现。另一种结果同前面观察到的现象一致,收到约1%左右流量帧。观察收到的28%帧流量的结构,其中92%~98%为碰撞帧,少量FCS帧。由于邻近的工作站是用集线器连接的,发生如此高的碰撞最大的可能性是电缆系统的问题。
我们随即测试该六类链路,并任意抽查了其它5条六类线链路,测试全部合格。说明链路的物理联通性是合格的。但因为集线器、交换机等的物理接口是超五类的元件,六类线链路从理论上和厂家的承诺上讲应该与其能兼容。观察用于发送40%流量的网络测试仪自身的流量记录,其监测到的碰撞率与上面的结果一致,也是92%~98%左右。这提示该六类线链路可能与10/100M的网络设备阻抗不匹配。
为了慎重起见,我们用两条超五类线缆连接两台相邻的工作站,再次试验拷贝文件,结果故障依旧。这说明六类线系统不是真正的故障原因。剩下的问题就是需要确认端口匹配性、工作站工作协议、配置、驱动程序、物理参数是否与网络匹配了。方法很简单,将在线型网络万用表串入工作站和网络端口。结果显示如下:一台工作站的工作速度为100M,端口设置为全双工,而对应的集线器设置为100M半双工;另一台工作站工作速度为100M,端口设置为半双工,对应的交换机设置为半双工。罗先生告知,网络中的网卡使用了三家公司的产品,都是非常知名的厂商。A公司的产品占90%,其余则为B公司的产品,另外,服务器使用的是服务器厂商C公司自己的网卡。
我们抽测了A公司的10个网卡,用网络万用表测试,显示设置全部是全双工;而抽测的5个B公司的网卡则全部是半双工设置。我们选择相邻的两台安装了B公司网卡的工作站拷贝文件,结果发现拷贝速度非常快,约3秒钟。
接下来我们把两台安装有A公司网卡的相邻工作站用A公司随配的软件将网卡强制改为半双工状态,20Mbytes文件拷贝时间也是3秒钟。
选择被试工作站到服务器的通道,它们通过一台集线器,两台交换机后到达服务器。依次测试链路中的速度和工作状态,结果发现服务器网卡也是全双工设置状态。更改后试验从服务器上拷贝一个100Mbytes的文件,耗时约13秒。说明性能比较优良。诊断评点
故障的原因已经很清楚,该系统集成商选用了三家公司的网卡,而其中的A公司网卡被全部被默认设置为全双工状态(原因不详,但可以调整),服务器也被偶然地设置为全双工状态。但系统中的交换机、集线器等都工作在半双工状态,所以,凡事先安装有A公司网卡的工作站工作速度都很长慢。其它安装了B公司网卡的工作站,虽然自身设置是正确的,但由于数量少,只站不足10%,加之服务器也被设置为全双工状态,所以调试时很可能与A公司或C公司的网卡进行数据对接,这样速度就无法正常。
如果偶然地与同类B公司网卡进行数据交换,则调试人员应该会有机会发现虽然所有的工作站与服务器连接速度慢,但并不是所有的工作站之间直接联络时的速度都慢这一现象。不过,因为A公司产品数量居多,服务器设置又不正常,所以这样的机会不多。
网卡的协议设置和工作设置会直接影响工作站的速度。一般来讲,工作站的协议设置多数时候不容易出错,但是否与网络的工作协议一致则有时会弄混。比较容易出错的是10/100M设置状态、全双工半双工设置状态、链路数字脉冲极性选择等,这些方面的错误由于网络维护人员和安装调试人员的有意无意地疏忽,加上没有合适的检测方法和工具,往往会给系统集成商造成很大的麻烦,而故障原因却是如此地简单。
很多时候调试人员使用网卡和交换机的自适应功能,这是比较好的原始状态,缺点是个别端口可能适应不良或不能按需要达到适应的结果。比如,用户需要自适应状态最终为100M全双工,但自适应的结果可能是100M半双工或10M全双工状态。因此部分用户使用软件进行人工设置,这样可以达到需要的状态。缺点是人工强行设置的状态不一定与网络实际能达到的状态一致,且经常的情况是无法对设置的结果进行验证或检测。本例故障应该就属于这一类。