NetworkManager中当前无线速率高于接入点最大速率的原因及相关技术疑问
NetworkManager中当前无线速率高于接入点最大速率的原因及相关技术疑问
嘿,我来帮你拆解这个看起来有点矛盾的速率问题,其实核心是两个属性的统计维度不一样~
首先得明确两个属性的真实含义:
- 接入点的
MaxBitrate:这个值指的是AP单条无线空间流(single spatial stream)能支持的最大速率。你查到的270000(270Mbps),大概率是802.11n协议下,单流+40MHz带宽+64-QAM调制的最高速率。 - 无线设备的
Bitrate:这个值是你的网卡和AP协商后,所有空间流的总聚合速率。你看到的866700(866.7Mbps),正好是802.11ac/ax协议下,3条空间流(3x3 MIMO)的总速率——单流速率大概289Mbps左右,三条加起来就接近866Mbps了,和AP的单流MaxBitrate完全不冲突。
接下来解答你的几个疑问:
- WPA_supplicant、NetworkManager和Intel驱动的交互问题:其实不是它们在“报错”或者上报最大值代替当前值,而是各司其职:Intel驱动会把网卡协商到的总聚合速率上报给wpa_supplicant,NetworkManager只是把这个数值直接通过D-Bus暴露出来;而AP的
MaxBitrate本身就是单流的上限,两者统计维度不同,所以看起来设备速率“超过”了AP的最大值,实际是正常现象。 - MaxBitrate是不是每无线链的数值:没错!绝大多数情况下,AP的
MaxBitrate就是单条无线链(空间流)的最大速率。当你的网卡是多天线MIMO设备(比如3x3),总速率就是单链速率乘以链数,这就是为什么你看到的设备Bitrate是AP MaxBitrate的三倍左右。
如果想验证这个结论,你可以用iw命令看看当前连接的细节:
iw dev <你的无线网卡名> station dump
在输出里找rx bitrate和tx bitrate,还能看到MIMO相关的参数,比如stream count,就能确认当前用了几条空间流,实际的单流速率是不是和AP的MaxBitrate匹配。
备注:内容来源于stack exchange,提问作者davolfman
相关产品推荐
相关产品推荐

