服务器的网卡工作在全双工模式,而交换机端口自适应功能失败,使其只工作于半双工模式,这样就造成两端的双工模式不匹配,产生冲突错误。初步找到故障原因后,用户临时将服务器的网络设定为半双工模式后,我们同样从服务器上拷贝一个30Mbytes的文件只需要十几秒钟,而且采用Optiview监视也没有发现冲突现象。问题得到确认,解决问题的方法竟如此简单,只需将图七中显示的交换机的端口工作模式手工设置成全双工的模式即可。
图七、双向箭头显示着全/半双工的工作状况
背景知识:
那么不匹配的双工模式为什么会产生冲突,进而影响整个网络的数据传输呢?因为运行全双工的设备不遵从(带冲突检测的载波侦听多路访问)过程。如果全双工设备有数据帧要发送,它就直接发送而不关心当前是否在接收数据。此时,如果与其相连的一个半双工设备恰巧也正在发送数据,则必定发生冲突。遵从CSMA/CD的半双工设备会立即发送一个阻塞信号,在退避延时时间过后,它将重新发送数据并引发网络性能的下降。
如果交换机内部开启了SNMP或具有RMON功能,则会统计冲突数量并记录在MIB库中。当我们接入Optiview网络综合协议分析仪后,通过其读取交换机中MIB库的信息就可发现冲突发生的历史记录,正是这一统计信息引导我们找到了困扰用户很长时间的网络故障。
经验与总结
在排除比较复杂网络的故障时,我们常常要通过多种的角度来测试和分析故障的现象确定故障点,我们会采用自上(网管系统)而下(现场测试)相结合的方法,还要采用理论和经验相结合的技术背景。
在分析和解决互联的网络中访问性能的问题时,我们通常有这么几个分析的模型和方法:
1.七层的网络结构分析模型方法:从网络的七层结构的定义和功能上逐一地进行分析和排查,这时传统的而且最基础的分析和测试方法。
这里有自下而上和自上而下的两种思路。自下而上:从物理层的链路开始检测直到应用。自上而下:从应用协议中扑捉数据包,分析数据包统计和流量统计信息以获得有价值的资料。
2.网络连接结构的分析方法:从网络的连接构成来看我们可以大致分成客户端、网络链路、服务器端三个模块。
a) 在分析和检测中故障可能来自客户端的各种情况,客户端也具备网络的七层结构,也会出现这样那样的故障,从硬件到软件,从驱动到应用程序,从设置错误到病毒等等。所以在分析和测试客户端的过程中要有大量的背景知识,有时PC的发烧经验也会有所帮助。在实际的测试过程中可以在现场询问客户端的用户,他们反映的问题是个性的还是共性的,这个问题会非常有助于决定对客户端的进一步检测的决定。
b) 来自网络链路的问题通常需要网管、现场测试仪、甚至是协议分析仪来帮助确定问题的性质和原因。这个方面的问题分析要有坚实的网络知识和实战经验,有时实战经验会决定排除故障的时间。
c) 在分析服务器端的情况时更需要有网络应用方面的丰富知识,我曾经排除过这样的一个故障,最终定位在服务器上的数据库参数设置上!要了解服务器的硬件性能及配置情况、系统性能及配置情况、网络应用及对服务器的影响情况。
3.工具型分析方法:有强大的各种测试工具和软件,它们的自动分析和专家系统能快速的给出网络的各种参数甚至是故障的分析结果,这对解决60%的常见网络故障有效。
4.综合及经验型分析方法:靠时间、错误与成功的积累,在大多数的网络测试工程师的工作中都是采用这个方法,再结合网管和测试工具迅速定位网络的故障。
本案例的分析中,我们首先要确定问题是否是共性的、然后试探确定问题是否发生再网络链路上、有幸的是这个问题的测试过程就到这里结束了,否则不知要动用多少的脑筋和设备进行更多的分析了。
通过这个典型案例不难看出,要快速有效地排查网络故障,简单依靠单一手段和测试设备是很难的,只有通过多种测试仪器和经验的相互配合,采用排除法逐步缩小故障范围才能最终查找出故障原因加以排除。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
网络冗余设计并不总是等同于弹性
Ivan Pepelnjak在一篇IPSpace文章中重点阐述了冗余是否等于弹性的问题,他指出:网络冗余设计不等于一切……
-
网络故障一点通 V2:解决网络层故障
出现网速慢,掉线等问题,很多人认为只要加大带宽就行了,但这事实上却是治标不治本,企业需要专业的网络测试工具。
-
案例分析:连接错误导致的网络崩溃
很多用户说不能访问网络,有的不能访问内网,有的不能访问外网,到故障现场查看后,我们发现内网中的电脑获取到的都是外网的IP地址,这究竟是什么原因造成的呢?
-
图解Tracert命令的运行过程
Tracert命令作为一个路由跟踪、诊断实用程序,在DOS和Unix系统下都有此命令,是网管必备的TCP/IP工具之一,经常被用于测试网络的连通性,确定故障位置。