扫一扫
关注微信公众号

解决局域网端口速率和双工通信的兼容性问题(上)
2007-10-09   网络

本文从一个严重影响网络服务性能的故障案例出发,分析了对于网络接口速率的设置和相关错误的原理和故障排除过程,文中提到的故障是常见的网络性能故障之一。

1.全双工是否让网络传输更快

增加网络应用性能的一个有效的方法就是充分利用现今大多数100M交换机和高速网卡的全双工(FDX)以太网通信能力。然而,如果两个相连设备端口的速率和双工通信设置不一致,网络性能非但不会提高反而会导致严重下降。这一现象是我们在为北京协和医院进行网络测试服务中发现的。该医院的网管人员反映信息中心的某台服务器在被网上其他站点访问时速度很慢,复制一个30M左右的文件需要5~6分钟时间,而该服务器的网卡为100M,交换机是10/100M自适应的。

我们使用了FLUKE683企业级网络测试仪查找到了这个故障的原因。分别用测试仪的 HUB和NIC端口测试功能测试了交换机和服务器网卡的端口设置,发现交换机端口工作在半双工/10/100M自适应模式下;而服务器上的网卡工作在全双工/100M模式下,这显然是不匹配的设置情况。正是由于这个问题导致了网络的传输不正常、性能大大下降的故障。在测试中发现,在纠正这个设置错误之前,传输数据(如复制文件)时就出现大量的错误帧,造成数据的重发,严重影响网络的传输效率。而在我们发现这个问题并调整服务器网卡的设置与交换机的设置一致后,网络数据传输就立即恢复正常了,同样复制30M的文件现在仅需要十几秒钟,并且没有发现任何错误帧。

这个问题让我们意识到,如果没有正确地采用新技术,反而会造成网络造成性能的下降。所以在对网络进行升级或改造时,一定要对新采用的技术和设备进行必要的了解,并对网络做变动前后的测试,通过对测试结果进行比较来确认网络的改变没有带来负面的影响。

下面我们就为什么这个全双工的简单设置问题能造成如此严重的网络传输故障而进行深入的分析。先从了解以太网介质访问的机制入手。

2.端口设置基础

标准以太网设计为半双工操作,采用CSMA/CD(具有冲突检测功能的载波侦听多路访问协议)介质访问控制技术。其基本思想是:一个半双工以太网端口(站点)在发送信号前需要监听总线,以确定传输介质上是否存在其他站点发送的信号(CSMACD的CS——载波侦听)。如果传输介质空闲,则该站点开始发送数据帧。如果探测到其他站点(多路访问)有冲突(冲突检测),它就发送一个阻塞信号,通常是二进制1和0。之后为降低再次发生冲突的概率,采用退避算法随机延时一段时间,再按CSMA/CD协议重新发送数据。在双绞线和光纤拓扑结构中,出现发送数据帧的同时又接收到数据的情况,极易发生碰撞。所有相互之间有可能冲突的设备均被认为是在一个“冲突域”。所有通过HUB或中继器连接的节点都被认为是在一个冲突域中。在交换环境只有交换机和末端结点是在一个冲突域。

采用以太网交换机,全双工操作可显著地增加性能,因为其放弃了全部CSMA/CD过程。全双工操作利用了交换机内部的缓冲,因此设备可以同时发送和接收数据而不必关心来自其他站点的流量。

使用半双工操作,在任何时间内只有一方可以发送数据。而采用全双工操作,两个站点(服务器和交换机)之间发送和接收通道是相互独立的。这看起来就像是两个单工链路(一个发送而另一个接收),两通道间没有相互影响和依赖关系。

3.混合技术网络

目前大多数网络都是混合速率环境,一些是10BASE-T,另一些是100BASE-TX。对于混合速率的网络环境有一个必须要遵守的原则:即在全部网络或广播域(一个以太网广播帧可以到达的网络范围)中可以是混合速率;而在一个单一的冲突域中就只能有一个网络速度。在10BASE-T和100BASE-TX网段间传送的所有数据帧必须通过网桥或交换机类的设备进行交换。另外,所有全双工链路也必须连接在交换机端口。

4.端口设置技术——自动协商技术

    避免在一个网段中混淆速率和双工设置是非常关键的。为帮助防止出现此类问题,很多设备都支持自动协商功能。

自动协商是这样一个过程:网段的两个端点会确定一个双方设备都支持的设置。自动协商使用一种特殊的连接脉冲协议——快速连接脉冲(FLP)。当主机探测到FLP并且支持它时,这两个站点就能确定另外一方的性能,如速度(10或100Mb)和通信方式(全双工或半双工)。

由于不是所有的端口都支持FLP自动协商过程,所以就会有手动设置的需要。固定速率的HUB(10或100Mbps)通常不支持自动协商功能。比如,一个固定速率的100BASE-TX的HUB可能只发送100BASE-TX连接脉冲信号而不是发送快速连接脉冲用于自动协商。如果一个支持自动协商的以太网设备连接到一个固定速率的设备上,它会利用半双工操作自动设定与固定速率一致。多数厂商允许用户设定交换机端口为固定速率而禁止自动协商功能。这样可以支持早期生产的不具有自动协商功能的100BASE-TX网卡,或者由网管人员确保在重要链路中避免出现使用低速率的意外情况。

5.问题

如果网段中相连的两个设备没有使用相同的传输速率和双工设置将会产生严重的问题。一般来说10BASE-T网卡不会影响100BASE-TX的HUB或交换机端口。反之无自动协商功能的100BASE-TX设备直接接入10BASE-T的HUB则会引起大量的全半双工的配合不当问题是很难查找的。如果网段的一端运行全双工而另一端运行半双工,那么在整个冲突域中就会导致应用性能的不一致和冲突的少许增加。

热词搜索:

上一篇:解决局域网端口速率和双工通信的兼容性问题(下)
下一篇:“打架”的网卡

分享到: 收藏