引言:近年来随着无线网络的普及,在大多数办公场合都实现了有线与无线的双覆盖,我们究竟是用无线还是有线?本文从CSMA/CA协议、无线路由工作原理深度解析有线网络与无线网络速度之差异。
有线和无线网络各有各的优势,比如有线网络网速稳定、相对安全,但移动性有先天不足,这些本文不再讨论,本文只讨论有线网络、无线网络网速的问题。目前有线网络大多百兆到桌面,而办公室里的采用8011.n的WiFi却号称网速达到150M、300 M甚至更高,面对百兆的有线网络与300 M甚至更高的无线网络,你是用有线还是无线?也许你会毫不犹豫的选择无线,300 M的无线真的比百兆的有线快吗?
按照通常的理解,当然是300 M要快,但网速却不一定,网速是发送数据帧时所能达到的速度,帧与帧间的间隔时间在计算时并不包括在内,所以如果考虑帧与帧的间隔时间,300 M的网速远远达不到这样的数据传输速度。下面分析有线和无线网络发送一帧所需的时间。
图1 CSMA/CA工作原理图
百兆有线网络最大帧为1500B,无线网络最大帧可以达到2312B,但无线信号并不是很稳定,如果帧长过大,就要进行分片,每个分片间还需要有帧间隔,所以无线传输大数据帧效果并不好。假定两者数据帧大小都是1500B,有线网络采用CSMA/CD(载波监听多路访问/冲突检测)协议,在发送数据时连续侦测介质,一旦空闲就开始发送,并且边发送边监听,出现冲突立即停止发送,发送一帧所需的时间计算如下:
1500B的数据的实际帧长:1500B的数据+14B的头部+4B的CRC校验=1518B。
发送1500B的数据帧的时间:B*8/100Mbps=121.44μs;
无线网络采用的是CSMA/CA协议(载波监听多路访问/冲突避免),如图一所示的CSMA/CA工作原理图中看出在发现网络空闲时还要等一个DIFS(分布协调功能帧间隔,时长128μs),并且在发送完一帧后还要等待一个SIFS(最短帧间隔,时长28μs),接收方才发送ACK帧,发送的ACK帧的时间很短,为了计算的方便可忽略,发送的一帧的时间计算如下:
1500B的数据的实际帧长:1500B的数据+32B的头部+4B的CRC校验=1536B
发送1500B的数据帧所需的时间:1536B*8/300Mbps+128μs+28us=40.96μs +128μs+28μs =196.96μs。
通过计算很容易发现300M的无线网络实际传输速度是小于百兆的有线网络的,并且这还是在忽略了发送ACK帧、忽略无线信号损耗的理想情况下进行的计算。实际上无线信号的损耗是非常严重的,笔者正在使用的150M的无线网络,距离无线路由器只有一米的距离,计算机显示传输速度只有72M,如果考虑进这些因素,无线网络实际传输速度更慢。从工作原理上看无线路由器相当于HUB ,使用人数越多速度越慢。
另外很重要的一点,由于无线网络只有一条信道,因而不能同时发送和接收,AP相当于一个集线器,以半双工模式运行,如果一个人使用尚且可以,如果多人共享带宽,每人的速度更慢。还有一点大家容易忽视,不管号称有多快的路由器都是连接到有线网络上,也就是说再快的路由器它的出口速度与你的有线网络是相同的。
通过以上的分析,我们清楚了无线网络虽然有良好的移动性,但在速度上与有线网络相比不具有任何优势,如果你的应用对网速要求较高,就尽可能的采用有线网络。