专栏首页鲜枣课堂涨知识了!Wi-Fi背后的原理揭秘!

涨知识了!Wi-Fi背后的原理揭秘!

Wi-Fi和4G/5G蜂窝网络,是我们上网时最常用的两种接入方式。

这两种接入方式,平时在上网时似乎没感觉到有什么区别。然而,它们却是完全不同的设计哲学

蜂窝网络以基站为小区中心,基站承担了小区的中央控制、用户授权和调度。

以5G为例,基站在每个帧中广播同步信号块SSB。SSB包含了小区的PCI(物理小区标识)、基站的同步时间信息、空口信息、接入控制等参数。

手机在确认同步信号后,通过随机接入信道PRACH,发送接入前导序列Preamble,以此获取基站授权接入。不同的用户,采用不同的ZC正交序列来区分。

在接入后,无线信道分配好上下行时隙(这里特指TDD网络),基站和所有终端都在固定的时间内进行数据发送或接收。这种设计理念以基站作为小区中心,采用中心规划的设计哲学。

而Wi-Fi网络则不同。

Wi-Fi在设计时,将AP接入点(这里AP的功能等同于5G中的基站)和用户终端放在同等的位置考虑。基于802.11协议的AP和终端,采用了载波侦听多路访问/碰撞避免(CSMA/CA)的方式,来平等竞争占用无线信道。

AP和终端、终端与终端之间,在接入网络时先进行无线信道侦听。在确保信道没被占用的情况下,接入网络。设备之间并不分层级,而是采用自协调竞争接入的模式,访问网络。

从某种意义上,Wi-Fi网络是一种去中心化的设计哲学

这两种设计哲学,各有千秋。

蜂窝网络考虑的侧重点,是多设备接入时的容量和效率。而Wi-Fi,由于其使用非授权频谱以及成本上考量,设计时更加侧重于抗干扰、低成本等特性。

两种方案都能让信道得到充分的利用。参考Aruba Networks发布的测试结果可以看出,LTE和Wi-Fi 6在MAC层面的频谱使用效率非常接近,单流、256QAM的情况下,都能到5bps/Hz以上的频谱使用效率。

图 1 LTE与Wi-Fi在频谱使用效率上的对比(勘误:图中Mbps应为bps)

█ 接入过程与漫游

那么,没有中心控制的Wi-Fi,具体是怎么协作接入的呢?

首先第一步,是寻找Wi-Fi网络。

由于Wi-Fi网络中AP没有广播功能,终端是不可能预先知道是否有可用的网络资源以及AP参数的。

这里,终端采用了一种主动探针的方式来进行请求。

终端会在Wi-Fi的第一个20MHz频道上,发送一系列探针序列,然后等待AP回应。

如果20ms后AP没有回应的话,终端将切换到下一个20MHz频道,重复上述动作,直到收到AP的回应,确认AP的工作频段和接入参数才能接入网络。

图 2 手机进行主动扫探针搜寻信道过程

写到这里,你可能会想到,如果室内有多个Wi-Fi AP,当用户在移动,终端从一个AP切换到另一个AP时,还要重复上述的AP搜寻过程吗?

每个频道20ms,搜索一圈信道下来,需要较长时间,连接岂不是会中断?那还怎么确保视频会议或者微信语音的通信质量呢?

现在的办公室甚至现在很多家庭无线局域网,都会采用多AP mesh组网的方式,来提高网络覆盖性能。

如果每次终端切换AP时,都重新做上述的主动探针搜寻信道过程,将是会非常低效的。好在802.11工作组考虑到了小区切换的问题,在802.11k中开发了“邻居报告”的协议。

设备在接入AP后,该AP会将其附近AP的BSSID和频道信息发送给用户。这样一来,用户在需要切换到另一个AP时,就不用再扫描一遍频道了。

这样做的好处,一来是极大节省了切换时间,保证通信不出现中断。二来是给用户设备省电,设备不再需要发送一个个探针。第三,就是无线信道也得到了更加有效的利用,AP不需要频繁占用无线信道来不断回应终端的请求。

图 3 AP通过802.11k协议回应终端设备其邻近AP的信息

█ 自我协调,信道竞争接入,避免冲突

接入网络后,AP和终端们便开始竞争无线信道的使用。

在Wi-Fi系统中,终端和AP的空口时间统一被分为空闲(Idle)和机会发送(TXOP)时段。没有数据时,设备属于空闲期,不会发送任何信息。

当设备收到数据发送请求时,设备开始进入争夺无线信道的“仲裁”(Arbitration)过程。没有中央调度器,所有设备按照数据优先级采用“公平竞争”模式来赢得信道仲裁。赢得信道的设备,将会得到6ms的机会发送窗,然后进入下一个仲裁期。

图 4 802.11中的空口时间分配

进入仲裁过程的Wi-Fi设备,首先开启信道侦听模式,RF接收机对无线信道中的802.11信号进行监测(Signal Detection)。如果侦听到的信号强度低于其SD阈值(以下图思科的方案为例,阈值为-82dBm)时,设备判定目前信道没有其他Wi-Fi设备在使用。

由于Wi-Fi使用的频段属于免授权频段,需要与非802.11设备共享使用,比如蓝牙,遥控器,微波炉等等。那么,在判断信道占用情况时,不仅仅需要能对自身802.11协议的信号进行监测,还需要对不明通信协议的功率进行检测。

这里就引出了第二个检测机制——能量检测(Energy Detection)

ED的作用,是判断无线信道没有被其他非Wi-Fi设备占用,防止发送的有用Wi-Fi信号被淹没在噪声中,通常ED的门限比SD高20dB。

图 5 思科无线设备的SD,ED设定

细心的用户可能会发现,在网络环境不好的情况下,视频通话时经常有能听到声音但图像被卡住的现象。这其实是Wi-Fi的一种发送优化措施,用于保障最基本的服务。

Wi-Fi将数据分为四种不同的优先级,从上到下分别为语音(VO),视频(VI),最大努力(BE)和背景(BK)。每一个级别,都会附上不同的AIFS值。AIFS值越低,发送优先级越高。

在AIFS时间结束之后,设备便进入了竞争窗口(CW),设备开始侦听无线信道,同时开始倒计时准备发送。

当CW倒计时结束时,如果设备发现信道正在占用,设备便自动进入下一个仲裁期。如果设备发现信道处于空闲状态,便开始占用信道,发送数据。

下图这个例子,在第一个仲裁期中,IPad的CW时间最短,竞争信道成功,获得了发送权。在IPad数据发送后,一轮新的仲裁开始,手机在CW结束后,发现信道没有被占用,获得了发送权。最终,无线AP赢得了第三轮仲裁,获得发送权。

图 6 多设备信道竞争过程

读到这里,你可能会发现,这个竞争过程在设备增多的情况下,效率会明显降低,每个设备的等待发送时间将会变长很多。

实际体验中,你可能也注意到了,在Wi-Fi设备多的公共环境,比如商场、学校中,经常需要等待很长时间,才能发送或接收数据。

那么,很有可能是网络还没有升级到最新的Wi-Fi 6。

Wi-Fi 6可以说是Wi-Fi行业过去十多年中最大的一次革新。具体Wi-Fi 6是通过哪些新特性来解决多设备下网络阻塞的问题呢?我会在下一期的文章中给大家一一道来。

(全文完)

本文作者唐欣博士,目前担任Spectrum Lab技术总监。

参考文献

文章分享自微信公众号:
鲜枣课堂

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:唐欣
原始发表时间:2022-05-06
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Nginx居然还能实现Restful接口的版本控制,涨知识了!

    软件迭代是开发者必须面临的问题,现在有一个容易被大家忽略的问题就是 API 的版本控制。不是所有的用户都热衷于最新的版本的软件,而业务又是多变的。因此当新版本发...

    macrozheng
  • 揭秘视频千倍压缩背后的技术原理之预测技术

    视频相关的技术,特别是视频压缩,因其专业性,深入开发的门槛较高。具体到视频实时通信场景,视频压缩技术面临更严峻的挑战,因为实时通信场景下,对时延要求非常高,对设...

    LiveVideoStack
  • 揭秘:快手用AI在短视频里玩出三大花样,背后是怎样的技术原理?

    你一定觉得,AI这种前沿科技,主要活在硅谷西二旗的科技公司、大学和研究院的论文、还有资本的热捧里。

    量子位
  • 只知道GAN你就OUT了——VAE背后的哲学思想及数学原理

    用户1737318
  • SKM上线即涨137%,NKN独家合作51分钟售罄…是时候看看这些逆行项目背后的“推手”了

    与稍显疲软的二级市场相比,参与“公慕”似乎是快速获得短期收益更好的方式,也更多燃起了投资者兴趣。我们先来看一组近期1CO项目的表现:

    区块链领域
  • android开发书籍推荐大全

    android开发书籍推荐大全 ? 写在前面 首先,不提供电子版本的下载,请大家自行百度,如果还是找不到,可以加微信联系我。 再次很感谢写...

    用户1263308
  • 人人都在用,但你却不知道它背后发生了什么——浏览器的工作原理:浏览器幕后揭秘

    要介绍进程与线程的话,需要先讲解下并行处理,了解了并行处理的概念,再理解进程和线程之间的关系就会变得轻松许多。

    用户7656790
  • 今年的Java面试已经和2年前完全不一样了!

    大家都知道程序员涨薪主要还是要靠跳槽来完成!但是我们都知道,无论是考试,还是求职,这个难度,参加人数是影响难度的一个很大因数(当然特别牛逼的大佬可以忽略这句话)...

    用户1516716
  • Android Handler:关于Handler异步通信机制的所有知识都在这里了!(使用、源码 & 工作原理)

    在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理

    Carson.Ho
  • 深入浅出android热门框架okhttp和retrofit的原理

    我就是马云飞
  • 精选腾讯技术干货200+篇,云加社区全年沙龙PPT免费下载!

    “看一看”推荐模型揭秘!微信团队提出实时Look-alike算法,解决推荐系统多样性问题;

    风间琉璃
  • 想要扩宽视野,你需要看看这些

    有些人喜欢天天晒朋友圈,可没有营养的内容占比过多了一些, 自我陶醉固然怡情,但生活也需要加点“料” 朋友圈该加些什么内容呢? 有内涵的朋友都关注了这些公众号 有...

    AI科技评论
  • 【云+技术沙龙回顾】腾讯云自研数据库CynosDB交流会北京站

    2019年3月16日,由云+社区主办的腾讯云自研数据库 CynosDB 交流会,在北京北邮科技酒店举行,本次交流会带你全方位了解 CynosDB、揭秘技术内幕,...

    腾讯云开发者社区技术沙龙
  • C++黑客编程揭秘与防范

    云编著的《C++黑客编程揭秘与防范》旨在通过简单的语法知识及常用的系统函数编程,完成一些有特定功能的安全工具,让读者对系统知识等各方面有一个全面的了解,并且在笔...

    用户3157710

扫码关注腾讯云开发者

领取腾讯云代金券