[转帖]超能课堂(323) 为什么WiFi实际速率只有标称速率的一半?

超能,课堂,为什么,wifi,实际,速率,只有,标称,一半 · 浏览次数 : 0

小编点评

**超能课堂(323)为什么 WiFi 实际速率只有标称速率的一半?** 1. **协议速率与实际速率的不同:** - 协议速率是指理论上可以达到的最大速率,是数据在网络上传递时所能达到的最高速度。 - 实时速率是指实际应用中表现出来的网络速率,是数据在网络上传递时所能达到的实际速度。 - 协议速率通常高于实际速率,因为它考虑了网络中的各种因素,例如硬件速度、协议压缩、同步等。 2. **全双工与半双工:** - 全双工是指在数据传输过程中,接收方始终保持打开状态,并根据发送方发送的数据帧调整帧间隔时间,以确保数据传输效率最高。 - 半双工是指在数据传输过程中,接收方仅在收到数据帧后,才会打开发送端,并根据发送方发送的数据帧调整帧间隔时间。 3. **无线网络的抗干扰能力:** - 无线网络使用电磁波作为载体,容易受到外界干扰,包括传输路径上的障碍物、其他电磁波等。 - 这会导致数据帧的丢失、错误的接收,从而降低实际速率。 4. **加密的影响:** - 无线网络通常需要对数据进行加密和解密,这会增加数据的传输量,降低实际速率。 5. **速率提升的途径:** - 随着技术的进步,如高速芯片、超宽带技术等,无线网络的速率正在不断提升。 - 也有很多新的无线技术正在开发中,例如多媒体无线、超宽带等,这些技术可以有效提高无线网络的性能。 **结论:** WiFi 实际速率只有标称速率的一半,这是由于多种因素,包括协议速率、全双工、无线网络的抗干扰能力、加密等。但随着技术的进步,无线网络的性能正在不断提升,未来会更能满足用户的使用需求。

正文

本文约 2730 字、5 张图表,需 5 分钟阅读 (切换至标准版

在我们的实际测试中,标称速率为1000Mbps的有线网卡往往可以轻松跑出900Mbps或更高水平的平均速率,但标称速率为1200Mbps的WiFi 6无线网卡,实际测试下来的平均速率大都是800Mbps以内的水准。因此时至今日,千兆级有线网络的实际使用体验,相比标称速率更高的WiFi 6甚至WiFi 6E无线网络,很多时候反而能略胜一筹。那为什么会出现这样的状况呢?这就要从数据是如何在网络上传递说起了。

协议速率与实际速率有何不同?

我们在操作系统直接看到的网络连接速率其实是“标称速率”,又名为“协议速率”,可以简单地理解为理论上可以达到的最大速率。我们在实际应用中体现出来的网络速率是无法超过协议速率的,因为数据在网络上的传输是以数据封包,也可以称为数据帧的形式进行。

 顾名思义,数据封包就是将很多不同的数据打包成一个固定格式包裹,就像我们发快递一样,发往同一个地址的不同货物,是可以打包在一个快递箱里面的。一个数据封包就是一个数据帧, 以千兆有线网络为例,其单个数据帧包括有18字节分别为目的地址(6字节)、源地址(6字节)、类型(2字节)、标签(4字节),而且在数据帧传输之时,前部还有再加上7个字节的前导码和1个字节的开始符,另有4字节的冗余检验和12字节的帧间距,因此有线网络里每传输一个数据帧,实际传输的信息容量就是88字节到1542字节,而当中只有46字节到1500字节是我们需要的数据。

无线网络的工作方式也是类似的,只是传输数据帧的载体从电缆变成了电磁波,封包的结构也稍有变化,其每一个数据帧中,储存有效数据空间为最大2312字节,而用来控制帧、管理帧、地址帧、校验帧等非有效数据的组成,需要总计34字节,也就是说每个数据帧最大容量为2346字节。由于在实际应用中展现出来的网络速率,往往只会统计数据帧当中的有效数据,而不会统计额外加入的封包信息,因此无论是有线网络又或者是无线网络,其实际网络速率都是不会超过协议速率的。

然而从封包信息以及有效数据的容量比例来看,无线网络的数据帧中,有效数据的比例并不比有线网络的要低,很显然单单依靠“封包信息”的说法,还是无法解释为何无线网络的实际速率与协议速率相差很大的状况。这时我们就需要说到两个专有名词,那就是“全双工”与“半双工”。

什么是“全双工”与“半双工”?

如果我们把一条数据通道当成一条连接A与B的道路,那么“全双工”就代表着这条道路可以同时实现A-B与B-A的通行,而“半双工”则代表着这条道路虽然可以实现A-B或B-A的通行,但同一时刻只能让其中一个方向通行,另一个方向必须等待。与“全双工”以及“半双工”对应的自然就是“单工”,即道路只能单向通行,A-B或B-A二选一,因此“半双工”也就相当于“可切换方向的单工”。

目前 千兆级的有线网络基本上都是运用全双工的工作模式,而WiFi无线网络则都是使用半双工的工作模式,因此对于有线网络来说,其在发送数据的同时也能接受数据,两个方向的数据包几乎不会干扰对方的工作。得意于此,如果有线网络需要双向传输数据时,那两个方向的传输都能同时进行且均能达到千兆级的速率,实际吞吐量就相当于是两个千兆网络叠加,相当于2000Mbps的水准。

而采用半双工模式的WiFi无线网络则做不到这一点,由于其在同一时间只能接受数据或发送数据, 因此当其两个方向同时传输数据的时候,网卡实际上是在“接受模式”和“发送模式”之间反复切换,实际吞吐量就不会超过协议速率,而且为了确保无线网卡能够正确地切换模式,数据帧的传输时会增加帧间隔时间,这就意味着在单位时间里传输的有效数据实际上会更低。

当然从 理论上说,如果网络可以一直维持单向传输,那么半双工是可以没有帧间隔,实际速率上的表现会更接近协议速率。但实际情况是,即便在表面上看只需要单向传输数据,例如我们通过网络进行下载操作,那系统在接受到数据包后,也是需要给出相应的反馈信号,更别说此时网络中可能还存在别的进程需要上传数据。因此半双工的WiFi网络 在实际应用中必须按照协议的安排来发送或接受数据包,帧间隔不可避免,而且发送与接受的数据帧也会存在各种差异,这就进一步拉大了有线网络实际速率与协议速率之间的距离。

无线网络与有线网络的抗干扰能力不在一个级别

除了全双工与半双工带来的实际速率差异外,有线网络与无线网络的载体也对两者的实际性能带来了明显的影响。目前千兆有线网络的载体是双绞线,比较常见的是Cat.5E也就超五类线以及Cat.6也就是六类线,两种线材在基本结构上是接近的,只是后者带有金属箔屏蔽层以及线内支架,能更好地降低内部与外部的干扰,有利于实现更高的传输速率。但无论是超五类线还是六类线,在我们的日常使用环境中,外界是几乎无法在不接触线材的情况下,直接干扰其内部的数据传输,因此只要路由器与网卡之间的网线是正常的,那基本上无论什么时候都能提供最佳的传输速率。

而无线网络使用的是电磁波作为载体,其“特点”就是很容易受到外接的干扰,包括传输路径是否有障碍物,外接是否存在频率接近的其他电磁波等等,而且传输距离也是明显受制于发射功率。这就使得无线网络在传输数据的时候,很容会因为外界的干扰而影响了数据帧的完整性。当客户端接收到不完整的数据时,其将返回一个重发数据帧的信号,路由器便需要重发数据,这就相当于是降低有效数据的比例,表现出来就是实际速率远低于协议速率了。

另外我们在连接WiFi无线网络的时候,往往还需要输入密码,这就意味着WiFi无线网络是经过加密的,因此设备与路由器在发送和接受数据的时候,将需要对相应的数据帧进行加密和解密,一定程度上也会影响数据的传输速率。当然相比于此前提到的因素,加密带来的影响实际上市比较小的,考虑到安全方面的需求,这点速率牺牲还是很有必要的。

无线网络与有线网络其实是相辅相成的

虽然WiFi无线网络的实际速率往往只有协议速率的50%左右,但随着技术的发展,目前已经逐步普及的WiFi 6以及WiFi 6E实际上已经给用户带去了接近于千兆级有线网络使用体验。只是有线网络与无线网络毕竟存在着明显的差异,前者在当前依然具有网络延迟上的优势,在各种场合下的稳定性也要有更好的表现,而且随着2.5Gbps、5Gbps、10Gbps有线网络的逐步普及,速率上的优势也是也来越明显,使得有线网络依然是很多对网络性能有较高要求的发烧级用户的首选。

而WiFi无线网络则胜在部署方便,而且在大部分应用场合中都可以提供足够的效能来满足用户的使用,因此对于多数家庭用户来说无线网络会是一个“真香”的存在。而且从目前的技术发展来看,无线网络显然更有未来的气息,其与有线网络更多地会是一种互补、相辅相成的存在,而并不是“谁取代谁”的关系,已经在无线网络中有较好体验的用户,大可不必为了追寻“测试结果上的数字差异”,而花大价钱去做有线网络的改造。

与[转帖]超能课堂(323) 为什么WiFi实际速率只有标称速率的一半?相似的内容:

[转帖]超能课堂(323) 为什么WiFi实际速率只有标称速率的一半?

超能课堂(323) 为什么WiFi实际速率只有标称速率的一半? 开始的地方 协议速率与实际速率有何不同? 什么是“全双工”与“半双工”? 无线网络与有线网络的抗干扰能力不在一个级别 无线网络与有线网络其实是相辅相成的 本文约 2730 字、5 张图表,需 5 分钟阅读 (切换至标准版) 在我们的实际

[转帖]超全超详细的HTTP状态码大全

本部分余下的内容会详细地介绍 HTTP 1.1中的状态码。这些状态码被分为五大类:100-199 用于指定客户端应相应的某些动作。200-299 用于表示请求成功。300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。400-499 用于指出客户端的错误。500-599 用于

[转帖]超详细的解决ModuleNotFoundError: No module named '_curses'错误的方法!!!

超详细的解决ModuleNotFoundError: No module named '_curses’的错误 问题描述:在写py脚本时,需要用到curses库(提供了控制字符屏幕的独立于终端的方法)。 导入的时候完全正常 Run的时候却报了这样的错误(它说找不到这个包) 本能的解决方法: 首先想到

[转帖]超详细的I/O多路复用概念、常用I/O模型、系统调用等介绍

概述 当我们要编写一个echo服务器程序的时候,需要对用户从标准输入键入的交互命令做出响应。在这种情况下,服务器必须响应两个相互独立的I/O事件:1)网络客户端发起网络连接请求,2)用户在键盘上键入命令行。我们先等待哪个事件呢?没有哪个选择是理想的。如果在acceptor中等待一个连接请求,我们就不

[转帖]水晶头超5类和6类的区别是什么?六类水晶头和超五类水晶头通用吗?

一图胜千言,5类水晶头和6类水晶头从外观上看并没有很大的区别,但实际上里面还是有很大的不同。 5类水晶头的8根线芯是一字排开的,而6类水晶头的8根线芯是呈现上、下交错的形式排列。 原因其实特别简单,标准的超五类网线线径是0.51mm,六类网线的线径是0.57mm,超六类网线的线径是0.58mm。 那

[转帖]远超DDR4,速度可达DDR5 6400!DDR5内存技术、产品解析

https://www.sohu.com/a/326810241_616364 内存是计算机技术的重要组成部分,经历了长时间的竞争更替和路线选择之后,PC内存技术被稳定在以DDR技术为基础的发展路线上。从DDR到DDR2、DDR3,今天主流的内存已进化至DDR4。乐观估计,DDR5将从2019年起降

[转帖]玩转zabbix之超详细的二进制安装

https://zhuanlan.zhihu.com/p/212281069 #初始配置 #centos7添加阿里云镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #安

[转帖]⭐万字长篇超详细的图解Tomcat中间件方方面面储备知识⭐

https://developer.aliyun.com/article/885079?spm=a2c6h.24874632.expert-profile.321.7c46cfe9h5DxWK 2022-04-13 132举报 简介: LNMT 1.JAVA简介 常见的大型平台有LNMP、LNMP、

[转帖]毕昇 JDK:为啥是ARM 上超好用的 JDK

https://zhuanlan.zhihu.com/p/379175713 本文分享自华为云社区《【云驻共创】毕昇 JDK:“传奇再现”华为如何打造 ARM 上最好用的 JDK?》,原文作者:白鹿第一帅。 前言 不知道大家是否听说过亦或是使用过毕昇 JDK,是否从事 Java 工作?是否从事 JV

[转帖]MySQL创建联合索引报key长度超3072 bytes的[42000][1071]错误

问题时这样的,我在建表时加了联合索引结果报key长度超过3072个字节了,如下图。 [42000][1071] Specified key was too long; max key length is 3072 bytes 先说解决方案:1.调整索引字段,包括修改字段长度、更换字段;2.使用前缀索