慎选传输模式
网络通信
笔者负责维护的一个由五六台电脑组成的小型局域网,采用了典型的“ADSL+Hub”上网方式。近来该局域网突然出现网络时好时坏的现象,打开网页时,速度有时候慢得像蜗牛,有时候又正常。
故障排除
笔者在故障排除过程中,发现可能是出于节约成本的考虑,该局域网的组网布线很乱,使用的也是老式的10Mbps Hub。笔者劝说老板将Hub换为交换机失败后,开始检查故障原因。由于计算机可以上网,只是速度时快时慢,因此可以断定硬件及软件设置基本上没有什么问题,而应是网络性能问题。就该局域网的组网模式来看,影响网络性能的原因有二:一是节点过多导致引发的冲突次数太多;二是核心设备(如Hub)的硬件质量低劣。笔者仔细观察了一下Hub上的冲突指示灯,发现网速正常时冲突次数少,而网速很慢时,冲突指示灯几乎长亮不灭。显然网络性能的下降是由于网络冲突而引起的,但区区五六台电脑,何以能产生这么多的冲突呢?
由于布线凌乱,不好观察,笔者干脆将插在Hub上的网线按顺序一次拔掉一根,每拔下一根后,就观察冲突指示灯。使用这种办法后,笔者发现拔掉其中一根网线后,网速就正常了,插上该网线后,故障立刻出现。于是笔者重点检查这条网线所连接的计算机。在检查该计算机网卡的设置时,终于发现问题所在,网卡的双工模式被设置为“全双工”,将它改为“硬件缺省(Hardware default)”后,故障解决。
故障分析
该局域网中的这种型号较老的Hub并不支持全双工传输模式。但这台计算机的网卡却仍旧工作在这种全双工传输模式下,不做冲突检测,需要时就发送,不管传输介质是否可用,也不管是否有冲突发生。直接的后果就是导致网络中出现大量的冲突,以至网络瘫痪。
小知识:半双工与全双工
在以太网中的数据传输模式有半双工和全双工两种。
半双工的传输模式用于多网络节点共享传输介质,也就是存在冲突的网络中。两个节点争用传输介质时,冲突就产生了。在这种网络中,所有的节点都必须遵守同一交通规则──CSMA/CD(载波侦听和冲突检测),发送线对发送数据时,接收线对同时接受数据,通过比较发送与接收的数据,来判断冲突是否发生。全双工模式则用于无冲突发生的网络中,例如用交换机组成的网络。全双工模式不做冲突检测,可以在发送的同时进行接收。现在的10/100Mbps网卡大都有与所连接端自动协商的功能,用于确定传输模式和速率,但如果设置成“全双工”模式,网卡就会无条件工作在全双工模式。