开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

通过实战测试无线网络的速度

简介:
+关注继续查看

不久前,一个朋友向我发牢骚,说他的无线网络传输率“只有5Mbps”。我感到很吃惊,因为我曾告诉过他5Mbps是正常的速度。他说:“怎么可能,我这个可是号称54Mbps的802.11g呀。” 

这位朋友一直是本杂志的读者,我还以为他完全清楚802.11a、b、g的实际速度和标称速度之间的差别。如果他非常清楚Wi-Fi的“有效负载”问题, 就不会表示什么疑问了——现在看来不是这样的。所以,我认为有必要再来解释一下为什么在802.11g连接上得不到54Mbps的速度。后面还有一个测 试,可以自己动手做一下。来检测正确性。 

关于Wi-Fi的常识 

先介绍一些关于Wi-Fi的一般知识。 

现在有三个基本Wi-Fi标准。802.11b标准最早,速度为11Mbps;802.11g最新,速度为54Mbps;还有一个容易混淆的802.11a,与b、g不兼容,速度也是54Mbps。802.11a是美国制定的标准,欧洲ITU将正式推出它的增强版802.11i。 

但是,所有人都知道这些标称速度值是虚的。实际上,802.11b标准的速度就包括1Mbps、2Mbps、5Mbps和11Mbps几种,但这些并不是用户可以获得的实际数据传送量。究其原因,就要牵涉到以太网IEEE 802族标准的核心,即协议。 

这里我要多说几句,因为这些概念很容易混淆。有个概念要记清楚:协议并不计量bit数,它测量的是时间。由于存在延迟,传输的速度越快,损失的数据位也成倍增加。延迟为200微秒时,1Mbps速度的数据损失很小,而11Mbps时的损失就要高出10倍。 

协议是必需的,因为以太网是一种共享的连接系统,没有协议它就根本不能工作。所以,需要有一种既严谨又简单的方法,能确保在任一时刻只有一个用户在使用网络连接。 

这里有几层含意。首先,必须知道任意一个用户何时开始发送数据,还需要知道他们将要发送的数据量,以及何时发送完毕。其次,如果出现两方同时开始发送数据 的情况,需要有一种方法确保一方退出竞争,空出网络让另一方发送。最后,还要有个固定的延迟时间,这样才可以传送各种消息,如谁在使用网络,谁应该避让以 及等待多久。 

图1显示了一个标准的TCP/IP数据包。所有从1KB至64KB的数据(一般均低于2KB,因为路由器会拆散大于2KB的数据包)都被封装起来,并带有两个头(header),一个TCP头和一个IP头,两个数据头用于数据包的描述。 

  

图1 


当然,这些只是从TCP/IP处理程序得到的数据部分,还不包括任何以太网系统的东西。所以,当通信软件将这个数据包送给网卡时,还要在外面再加上许多东西,就像给它做一个802.11的“外框”(帧)。 

最前面是30字节的MAC(介质访问控制)头,用以标识网卡,然后添加3个字节的LLC(逻辑链路控制)头和5字节的SNAP(子网访问协议)头。接着是上述TCP/IP数据包,最后以4字节的FCS(帧校验序列)结尾。 

上述这些也只是PLCP子层业务数据单元,或叫PSDU。在传送前还要再加上:一个6字节的PLCP(物理层会聚协议)头,在PLCP头前还有 PLCP“preamble”(前引导)头,最后完成的PLCP协议数据单元(PPDU)也包括两部分——PLCP和MPDU(MAC层协议数据单元) (见图2)。 




图2 


现在就可以传送数据了。在每一个1500字节(典型值)的数据包中,一般都有100字节以上的控制信息,但这还不够。因为这是以太网,一个正规的协议是必不可少的。 

大体来讲,以太网的有效负载永远不能超过标称值的70%。例如对10M的以太网,速度最高是7M,对100M的以太网则永远不会超过70M。这种估计还只是对有线以太网,对无线以太网还有额外的问题。 

情况是这样的:等待某个设定的时间间隔后才能开始发送,并且发送后要等待对方响应。如果有流控机制(一般都有),则还要有RTS和CTS信号的等待延迟。 

这些大量的时间延迟都是以微秒来计算的。最糟的情况无疑来自于PLCP前引导和PLCP头,因为标准假定网络中存在老式的802.11b网卡,所以,前引 导部分的传送速度要让最早的802.11b网卡也能听懂,因而速度只能是1Mbps。从图2中可以看到,在速度为1Mbps时几乎没有多少数据损失,这个 速度是最初Wi-Fi卡的基本标准,但当速度为11Mbps时,数据只能占一半。 

一般来说,单个用户在距接入点一英尺处,没有其它无线网络干扰的情况下,可以获得的绝对最大速度是任何一种无线以太网标准“标称速度”的一半。也就是说, 如果标准声称是11Mbps,则绝对最高速度为5Mbps;如果标准是54Mbps,则实际速度在22Mbps至25Mbps之间。当远离接入点时,信号 会越来越弱,速度也会下降。另外,当其它人加入到网络中时,带宽就被共享了。 

如果有人在听互联网电 台或下载视频文件,分给你的带宽会急剧下降;如果有十几个人都在用无线网,大家都在相互干扰,效率也会大幅度下降。如果你是坐在星巴克咖啡店里,通过移动 热点和朋友聊天,则无线网速的下降不会显著影响你的使用。但如果要通过Wi-Fi进行文件备份,你最好有个心理准备,因为花费的时间可能比你预想的要多 ——假如你是在办公室里做备份,同时还有40个同事也在做类似的工作,则用午餐时间来做备份更加明智些。

软件测试 

有一个办法可以测试无线网络连接的实际速度,即运行一个基准测试程序。以下我将为Windows用户介绍这个测试程序。 

我们的实验室里有一个测试组件名叫Netbench,当然用它测速是大材小用,但如果只测网速可以不必运行所有项目。Netbench组件的一个部分叫网 卡测试,它可以给出网卡的最大数据流量(详细说明请见www.veritest.com/benchmarks/netbench)。即使有这些帮助,估 计你还是会一头雾水。举个例子:你可能会认为带网卡的笔记本电脑上应该运行“客户”软件。其实不然,最好把这台电脑安装为服务器,客户端应该是你用做台式机的机器。严格地讲,需要在网络里安装第三台机器作为控制器。 

使用指南里并没有讲清楚什么是服务器,你可能猜想需要一台运行Windows Server 2003的机器。这次又错了,服务器是指计算机的名称。只需到Windows的资源管理器里,右击“我的计算机”,从弹出菜单中选择“属性”,然后将笔记本电脑名称改叫“Server”就可以了。 

无论用什么名字都可以,只是要把它记下来,因为以后可能会修改它。用同样的方法修改控制器机器,将名称改为“controller”,确认所有的机器都在相同域或相同工作组内(见图3)。 




图3 所有测试机器都要在同一工作组或域中,而且必须按基准测试要求的方式命名。 


最后,找到一个名为“Hosts”的文件,用记事本一类的纯文本编辑器打开并进行修改。做这件事时一定要小心,因为它是一个系统文件,而且要注意有些 Windows版本可能会自作聪明地存为“Hosts.txt”,而不是没有扩展名的“Hosts”。这个文件一般在Windows目录或I386子目录 下,比较省事的办法是用搜索功能在硬盘上查找。一般说来就是:“修改每个客户的Hosts文件,使之包括控制器的名称和IP地址”。换句话说,你需要知道 每台机器的名称和IP地址。 

最好是到控制面板的网络设置中,将三台机器都设置成固定IP地址,而不使用DHCP(见图4)。可以设为这种地址:如192.168.1.101、192.168.1.102、192.168.1.103。但大多数情况下网段地址都由无线接入点或路由器决定了,因此就需要检查一下现在是在哪个网段。




图4 在设置IP地址时,无线网络必须在运行中。 


具体方法如下:打开一个命令提示符窗口,运行ipconfig命令,查看无线网卡的设置。将设置写到Hosts文件中,然后重新启动,使设置生效。 

在实际使用中,永远不会达到绝对理想值。在两台机器间传递一个巨大的文件时,最好的速度也只有这个的一半,因为文件系统还要花费大量处理时间,如寻找扇 区、装载缓存和填充缓充区等。对于笔记本电脑的完整备份工作,我的建议是慎用无线网传送方式,不如把两台机器都接到有线以太网上做这件事。否则,实际花费 的时间会远远超出你的想象。









本文转自 h2appy  51CTO博客,原文链接:http://blog.51cto.com/h2appy/1133713,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
图神经网络17-DGL实战:构建图神经网络(GNN)模块
图神经网络17-DGL实战:构建图神经网络(GNN)模块
137 0
MEC|带你读《5G无线网络规划与设计》之六
在 5G 的服务化架构中,NF 既是服务的提供者,又是服务的使用者。任何NF 都可以提供一个或多个服务。5G 系统架构提供了对服务的使用者进行身份验证和对服务请求授权所必需的功能,并支持高效灵活的公开和使用服务。对于简单的服务或信息请求,可以使用请求-响应模型。对于长期存在的进程,5G架构还支持订阅-通知模型。
3896 0
4大工业物联网网络的实施战略
工业物联网(IIoT)系统不断成熟,变得更加分散并开发新功能。据数据报告,到2023年预计将有20台十亿连接的物联网设备,这是极大规模的增长情况。在设计成功的工业网络系统时,IIoT系统架构师和网络工程师需要考虑许多不同方面。
1353 0
+关注
20376
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载