网络故障的现象有很多,即使同一个故障的表面现象也可能不一样,所以作为一名网管员,要善于抓住问题的本质,用最快的速度去排除故障。这里介绍用分层和分段的方法去逐步找到故障的原因。
所谓分层的思路,是把OSI七层模型和现实的网络环境相对应,从高到低地判断故障。一般主要是考虑七层模型的下三层的对应关系,即把维护的网络设备的各种故障现象归类到物理层、链路层和网络层,其中物理层的故障一般很好理解,所以把链路和物理层放在一起,如图所示。
比如调制解调器的灯指示的是物理层的信息,CD代表载波,不亮的话指示电话线的连接有问题。CTS代表与电脑的接口是否正确地连接,不亮的话要么是连接线有问题,要么就是RS232口有问题。网卡的Link灯代表网线的好坏或者与Hub的连接是否正确,网卡的100M灯代表是否是100M连接。大中型的服务器上一般都有液晶的小条,实时显示服务器的运行状态,可以从中看出设备的故障情况。大部分网络设备的物理层的信息虽然标识一样,但在细节上很不相同,需要仔细研读产品说明书来了解。
从链路层开始就需要对网络协议有比较清晰的了解。在网络中运行的设备一般都严格遵守七层协议,可以运用网络规程仪表对网络进行监控,也可以运用本地环或者远端环对线路的质量进行检查。在以太网上,一般可以运用Sniffer对所有的包进行窃听来判断故障的位置。目前交换机普及后,也可用在交换机上观察各以太口上获得的MAC地址来判断故障。链路层的信息一般和物理层的信息交织在一起,除非出现误码率高和设备运行状态不稳定等,都不需要对链路层进行排障。
到了网络层,随着故障的复杂化,网络管理员可以运用的工具也多了。在IP网络上,一般用Ping来判断网络的通断,可以用traceroute来跟踪路由的方向,当然也可以利用网络设备内部提供的丰富的命令来查看设备内部的运行情况。比如Cisco设备的show命令就提供了很多选项,可以看到设备的各种信息。各种网管软件使用SNMP协议从各种设备上取出各种出错信息,来帮助网管员正确判断故障所在。从网络层再往上,故障一般都和应用程序的设置有关了,比如SQL数据库和C/S软件方面的问题,这时排障要和应用软件管理员一起来排除了。
所谓分段的思路,就更好理解了,就是在同一网络分层上,把故障分成几个段落,再逐一排除。比如两台电脑通过一个Hub互联,看上去一切正常,查找不出故障的原因,您既可以再利用一台好的电脑来把网络虚拟分成两段来检查,也可以用交叉线把两台电脑直接互联(背靠背)来检查。还有综合布线的检查,必须分段检查通断,才能找到出故障的连接点。分段的中心思想就是缩小网络故障涉及的设备和线路,来更快地判定故障,然后再逐级恢复原有网络。
以下举简单的排障实例。一用户来电话,说在局域网上不能上网,首先叫他Ping外网DNS服务器,正常。判断在网络层上是正常的,故障在IE和Windows本身,然后询问QQ上网正常,确定分段在IE上,仔细查看IE设置,发现设置了代理服务器,询问后知道是用户自己设置后忘记了。
一用户租用DDN专线把两处工厂连起来,发现两地网络不能Ping通。首先假设网络层故障,询问DDN设备的指示灯是否正常,如果没有错误指示,在两地做环路BERT误码测试,发现正常,排除链路层故障。分段判断,让用户Ping本地网关,发现也不通。迅速排除Hub故障(因为用户Ping其他电脑正常),发现是用户的路由器在停电后设置丢失,重新设置后网络正常。
至于排障时先分层还是先分段,基本靠网管员的经验了。对于复杂的故障,如果有条件分段的话,最好先划分故障的段落。总之,网络故障千差万别,最主要的是通过分层和分段使排障时有个清晰的层次,然后循序渐进地排除各种可能性。这里面,经验是非常重要的,可以帮助网管员少走弯路。利用分层和分段的方法,前提是对网络的结构要有很好的认识,所以网管员需要及时掌握所管理的网络的任何拓扑改变和设置变动,才能在故障发生时最迅速地解决它。