网络通信 频道

高招解决交换数据包频繁冲突故障

  【IT168专稿】关于网络掉线故障的排除,相信很多媒体都已经进行了介绍,不少作者都为我们贡献了诸多的排查经验,为大家解决类似网络故障提供了方法和思路。笔者最近在排查一则网络掉线故障时,发现交换数据包定期地出现频繁冲突现象,通过深入追查,终于找到了最终的祸首——交换端口工作模式不匹配,现在本文就将该网络故障的详细排查过程还原出来,供各位参考借鉴!

  遭遇网络掉线现象

  单位局域网中某一同事的计算机最近不能访问Internet网络,出现这种现象时,系统托盘区域处的本地连接图标上同时显示有红色叉号标志,看到这样的标志,同事想当然地认为很可能是网络线缆接触不良,或者是网线断裂,也有可能是网卡设备被意外关闭运行了;于是,尝试着重新插拔网络线缆,甚至是更换新的网线时,都不能恢复正常的网络连接状态。

  后来,同事电话“求援”笔者,笔者通过对故障现场的仔细勘察,认为问题肯定出在物理连接上,于是立即尝试着更换故障计算机连接到交换机的通信端口,之后又仔细查看了故障计算机的上网设置,并通过重置网络协议状态、调整上网参数设置、重新启动计算机系统等操作,来试图解决网络掉线故障现象,可事实上这些操作没有起到任何作用。

  在万般无奈之下,笔者从自己的管理工作站出发,登录进入故障计算机所在的普通楼层交换机后台系统,依次执行字符串命令“system”、“dis dia”,从其后返回的交换机诊断结果信息中,笔者看到故障计算机所连的那个交换端口状态显示为“err-disabled”,很明显交换端口工作状态不正常;为此,笔者立即进入对应交换端口视图配置模式状态,在该状态下依次执行字符串命令“shutdown”、“undo shutdown”,重新启动了一下目标交换端口,之后重新在故障计算机系统中尝试进行网络连接,果然同事能够正常上网,同时故障计算机系统托盘区域处的红色叉号也已经消失了,看来网络掉线现象已经消失。

  发现交换数据冲突包

  原以为网络掉线现象不会再出现了,可让笔者感到意外的是,这种现象在之后的一段时间内频繁出现,每次出现相同的故障现象时,笔者都按照同样的办法进行处理,虽然短时间内可以让同事正常上网,但是这种现象间歇性地出现,让笔者认为故障的真正祸首肯定不是简单的交换端口出错。

  为了寻找到真正的网络掉线原因,笔者重新登录进入先前那个楼层交换机后台管理系统,切换进入该系统的全局配置状态,在该配置状态下使用interface命令进入故障计算机所连交换端口的视图模式状态,之后执行字符串命令“display interface xxx”,其中“xxx”为具体的交换端口号码,从其后返回的目标交换端口配置信息界面中,笔者看到了类似“output error 6235187 collisions”这样的提示信息,很显然目标交换端口存在数据包冲突现象。

  联系到先前查看到的“err-disabled”交换端口状态,笔者认为故障计算机之所以发生掉线现象,是由于该计算机所连的交换端口存在数据包冲突现象,当冲突数据包数量超过一定的数值后,交换机系统就会自动认为对应端口存在网络环回现象,最终会将该交换端口的工作状态设置成“err-disabled”。当笔者每次重新启动目标交换端口,将其工作状态恢复正常后,同事只要进行网络访问,对应交换端口就会不停地产生数据冲突包,经过一段时间的累积,数据冲突包数量超过交换机规定的阙值时,交换机系统就会强行认为该交换端口存在问题,从而将其down掉,那样一来每过一段时间同事计算机又会出现上网掉现象了。

  深入追查冲突原因

  那么交换数据包为什么会发生冲突现象呢?上网搜索相关问题的解决方案时,笔者发现在本地局域网中造成数据包冲突现象的主要原因有下面几个:一是安装在计算机中的网卡设备可能存在硬件损坏,或者是网卡驱动程序没有安装正确;二是网络连接线缆不符合规范,例如网络线缆的传输距离超过了有效传输距离,或者是网络线缆的制作不符合要求;三是交换端口与计算机网卡的工作模式不匹配,造成它们之间每次进行通信时都要反复进行纠错,最终引发交换数据包频繁冲突。对照上面的解决方案,笔者依次进行了下面的排查操作:

  1、判断网卡状态

  考虑到每次重新启动交换端口后,网络掉线现象都能暂时性消失,笔者认为故障计算机网卡设备发生硬件损坏的可能性几乎没有,不过笔者还是决定先查看一下网卡设备的硬件性能;在查看网卡设备的硬件性能是否良好时,先用鼠标右键单击系统桌面上的“我的电脑”图标,从弹出的快捷菜单中点选“属性”命令,打开对应系统的属性设置窗口,单击其中的“硬件”标签,在对应标签设置页面中单击“设备管理器”按钮,进入故障计算机的设备管理器窗口,选中目标网卡设备选项,同时用鼠标右键单击该选项,再执行快捷菜单中的“属性”命令,打开对应网卡设备的属性设置界面,从该界面的“常规”标签页面中笔者发现网卡设备的工作状态一切正常(如图1所示),这说明网卡设备硬件性能不存在问题;那会不会是网卡驱动程序与计算机系统不兼容,造成网卡设备发生间歇性错误呢?但是转念一想,如果网卡驱动程序真的存在错误,那网络掉线现象也不会有规律性地出现呀,现在故障现象是每隔一段时间有规律地出现,那问题肯定与网卡驱动程序无关。

  2、判断网络线缆

  由于故障计算机与楼层交换机之间的距离大约有20米,连接它们的网络线缆长度应该不会超过最大有效传输距离,为此笔者认为网络线缆的长度肯定不会造成故障现象。唯一可能存在问题的是网络线缆的制作不符合规范,因为笔者清楚地记得当初在组建局域网时,单位恰好有几个实习生在帮忙,有一些网络线缆正是他们制作的;为了彻底排除这方面的嫌疑,笔者重新找来了一根经过测试连通性良好的网络线缆,可是在更换了网络线缆后,上述故障现象仍然存在,这说明问题与网络线缆也无关。

  3、判断端口模式

  我们知道,根据网络连接端口的传输速度、双工模式的不同,通信端口模式主要有10M全双工、10M半双工、100M全双工、100M半双工、自适应等几种,当数据交换双方的通信端口工作模式不匹配时,就容易发生掉线现象,或其他一些莫名其妙的网络故障;而实际上,通信端口工作模式不匹配现象很容易发生,因为许多网络优化程序会自动修改网卡的配置参数,而某些配置参数的变化会直接改变网卡设备的工作模式。基于这一点,笔者先是打开了故障计算机的网卡属性设置窗口,发现网卡设备此时此刻的工作模式为自适应模式,再登录进入了对应楼层的交换机后台管理系统,使用display interface字符串命令,查看到交换机对应交换端口的工作模式被设置成了100M全双工模式,看来它们之间无法自动协商成功,造成了它们相互之间通信传输数据时,发生了数据包冲突现象。

  解决冲突故障现象

  为了能够保证故障计算机与交换机之间匹配工作,笔者决定修改交换机对应交换端口的工作模式,确保它与客户端系统的网卡工作模式保持相同;在进行这种设置操作时,笔者先是以系统管理员权限登录进入目标楼层交换机后台管理系统,依次使用“system”、“interface”命令,进入系统全局配置状态、目标交换端口视图配置状态,在指定端口的视图配置状态下,再依次执行“duplex auto”、“speed auto”字符串命令,强行将目标交换端口的工作模式修改为自适应模式。

  之后,在故障计算机系统重新进行网络访问测试,在测试过程中,笔者同时在交换机后台管理系统,不停地执行“display interface xxx”命令,观察对应交换端口的数据冲突包是否继续增大,经过一段时间的观察,该数据没有发生变化,而同事的计算机也一直能够稳定的上网访问;而且,过了很长一段时间后,同事再也没有遭遇网络掉线现象,这说明交换数据包频繁冲突故障已经被彻底地解决了。

  当然,我们也可以直接修改故障计算机的网卡设备参数,让网卡的工作模式从自适应模式变成100M全双工模式;在进行这种修改操作时,我们可以依次单击故障计算机系统“开始”菜单中的“设置”/“网络连接”命令,从弹出的网络连接列表窗口中,用鼠标右键单击目标本地连接图标,再执行右键菜单中的“属性”命令,打开目标本地连接的属性设置窗口,选中其中的目标网卡设备,再单击“配置”按钮,进入对应网卡设备的属性配置界面,在该界面的“高级”标签设置页面中,选中“属性”列表框中的“链接速度/双工模式”选项(如图2所示),在对应该选项的“值”下拉列表中选中“100Mbps/全双工”选项,最后单击“确定”按钮保存好上述设置操作,如此一来网卡设备与目标交换端口的工作模式也就能保持匹配了。

1
相关文章