注:本文的主要目的是为WiFi初学者,或由一定无线通信基础读者进一步了解WiFi。文中我会尽量以通俗易懂和便于初学者理解的语言来描述相关概念。
研究网路通信就必然避不开OSI七层网络模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。基本所有的网络通信系统都会基于这些标准来研究。
工程应用上为了简化OSI七层网络模型,将其简化为TCP/IP五层网络模型。这里,我对这种分层做了简单总结,如下图:
这里为什么会提到OSI网络模型呢?目的是引出我们今天讨论的主角——WiFi。WiFi主要研究的是OSI网络模型的最下面两层:数据链路层(Data link layer)和物理层(Physical layer)。
IEEE802家族是由一些列局域网(Local area network,简称LAN)技术规范所组成的,802.11是其中之一。IEEE802规范的重心放在OSI模型的最下面两层,因为它们同时涵盖了物理层(physical,简称PHY)与数据链路层(data link)组件。
802系列中的个别规范是由点号后的一位数定义的。例如,802.3是载波监听多路访问/冲突检测(Carrier Multiple Access network with Collision Detection,简称CSMA/CD规范)通常和Ethernet有关。
802.11使用和802.2完全相同的LLC层和802协议中的48位MAC地址,这使得无线和有线之间的桥接非常方便。但是MAC地址只对无线局域网唯一。
只要是802网络,就必然同时具备MAC与PHY两种组件。MAC是一组用以决定如何访问媒介与传送数据的规则,至于传送与接收的细节则交由PHY负责。换而言之,WIFI技术主要研究的是物理层以及数据链路层的东西
802.11的数据链路层由两个子层构成,逻辑链路层LLC(Logic Link Control)和媒体控制层MAC(Media Access Control)。PHY连接一个数据链路层的设备(MAC)到一个物理媒介,保证数据在物理媒介上传输。常见的物理媒介有:光纤、有线、无线、量子
WiFi技术主要研究数据链路层和物理层,如下图所示。一般情况下,LLC层及以上由软件实现,MAC子层和PHY主要由硬件实现。
第一版802.11协议标准在1997年发布后,陆续有很多802.11协议标准也发布出来了。
IEEE 802.11协议族定义了无线局网的MAC和PHY层标准,下面总结常见的IEEE 802.11类协议。
IEEE802.11系列常见协议
•11a: for 5GHz at up to 54 Mb/s
•11b: for 2.4GHz at up to 11 Mb/s
•11g: for 2.4GHz at up to 54 Mb/s
•11n: for 5GHz and 2.4GHz using MIMO at up to 600Mb/s
•11c: Bridge operation
•11d: International roaming
•11e: Quality of Service (QoS)
•11f: Inter-Access Point Protocol (IAPP)
•11h: spectrum protection for radar and satellites
•11i: security
•11j: for Japan
•11k: radio resource measurement
•11p: for vehicular environment
•11r: fast roaming
•11s: ESS mesh networking
•11T: wireless performance prediction
•11u: interworking with non-802 networks
•11v: WLAN management
•11w: protected management
•11y: 3650-3700 MHz in US
•11z: Direct Link Setup
将上面提到的协议,整理如下:
IEEE802.11无线工作组制定的802.11类规范分为两个部分:
MAC层(无线网络中的MAC层):
对无线网络MAC层主要是用来对无线信道的通信媒介进行管理的协议。
物理层(PHY层):
IEEE 802.11a
IEEE 802.11b
IEEE 802.11g
IEEE 802.11n
在WiFi技术中,物理层和PHY层用到的主要技术不同:
物理层:OFDM、OFDMA、MIMO等
MAC层:CSMA/CA、RTS/CTS、信道绑定、帧聚合技术、块确认技术等
在802.11ax(WiFi 6)出来以前,802.11n标准对WiFi技术的推动起到了很大的作用,可以说是WiFi技术迭代中非常重要的一代协议。我们这里简单分析一下,802.11n中使用到的一些关键技术以及它们对WiFi技术的推动作用。
WIFI通信所采用的通信频率,一般是2.4GHZ/5GHZ 。不同信号的信道的频率的划分是不同的。
在2.4G频段,目前WiFi使用的通信频率为2.402GHZ ~ 2.483GHZ,在中国2.4G频段开放了1~13信道。每个信道之间的间隔均为5MHZ,每个信道的有效带宽是22MHZ。但是,实际使用中,有效的带宽是20MHz,其中有2MHz是隔离频带,起保护作用。
相邻信道间有重叠,尽量不要同时使用,以免造成干扰。三个不重叠的信道:1、6、11;2、7、12;3、8、13;
不同的标准需要的带宽不同占用的信道数目也不同,802.11b/g需要20MHZ的带宽,因此占用5个信道;80.11n需要40MHZ因此占用9个信道。
802.11n在MAC层上进行了一些重要的改进,所以导致网络性能有了很大的提升例如:
因为传输速率在很大的程度上取决于Channel(信道)的ChannelWidth有多宽,而802.11n中采用了一种技术,可以在传输数据的时候将两个信道合并为一个,再进行传输,极大地提高了传输速率(这又称HT-40,high through)
另外呢,无线路由器的载波频率是可以调整的,即使两个路由器都是用同一个信道,他们也不会使用相同载波频率,不过相比于不同信道下的设备,同一信道下的路由器相互之间的干扰会更大一些,因此在使用上还是建议错开信道,最好两个设备间隔5个信道使用。
不同国家的信道划分
网络拓扑结构-独立网络(Ad-hoc)
网络拓扑结构-基础网络(Infrastructure)
上面提到了一些我们在WiFi领域常用到的一些英文的缩写,初见肯定会很奇怪。所以这里对WiFi中常见的一下名词进行解释。
AP(Access point)
STA(Station)
SSID(Service Set ID,服务集识别码)
BSSID(Basic Service Set ID,基础服务集识别码)
ESSID(Ectended Service Set ID,扩展服务集标识)
和其他通信方式相似,在进行通信前,通信双方需要进行连接。在进行WiFi通信时也是一样,接下来我们仪器看下WiFi中的连接管理功能。
我将连接管理的流程进行了简化,目的是为了读者更好的理解这些流程。下面给出的一个标准化的WiFi连接管理流程。
WiFi连接流程主要分为:扫描、认证、关联、四次握手四个步骤,其中四次握手并非必须的步骤。它根据系统的认证方式不同,决定是否进行四次握手这一步骤。一般,前面三步即扫描、认证、关联为WiFi建立连接所必须的步骤。
802.11MAC通过使用Scanning功能来完成Discovery,其目的是:
1. 主动扫描(active scan)
在每一个信道上针对特定的网络发送Probe request报文,从收到的Probe Response中获取BSS的基本信息以及AP的能力集,如BSSID、SSID、支持的速率、加密算法等 ,Probe Response包含的信息和Beacon帧类似的。
优点:速度快
缺点:耗电
2. 被动扫描(passive scan)
通过在每个信道上侦听AP定期发送的Beacon帧来发现网络,Beacon帧中包含的该AP所属的BSS的基本信息以及AP的基本能力级,包括:BSSID、SSID、支持的速率、支持的认证方式,加密算法、Beacon帧发送间隔等。STA在收到对应的Beacon帧后就会进行判断,此AP是否是我们要找的AP以及对应的能力是否匹配以支持连接。
优点:省电
缺点:耗时长
在扫描成功完成后,需要进行无线网络的认证,目的是:
根据认证的网络类型的不同,又可以分为以下两种:
1. 开放系统认证(Open-System Authentication)
等同于不需要认证,没有任何安全防护能力。允许任何用户加入到无线网络中来。所有请求认证的STA都可以通过认证。类似于我们家里的路由器不设定密码的情况。
2. 共享密钥认证(Shared-Key Authentication)
AP随机产生一个challenge包(即一个字符串)发送给STA,STA将接收到的字符串拷贝到新的消息中,用密钥加密后再发送给AP。AP接收到该消息后,用密钥将该消息解密,然后对解密后的字符串和最初给STA的字符串进行比较。相同则通过认证,不相同则认证失败。
当设备认证流程验证通过后,设备会再发起连接请求以关联AP设备。AP将用户信息添加到数据库,向用户回复关联响应,此过程也常被称为注册。
关联的具体步骤为:
那么此时会根据安全方式的不同,有两种处理方式:
当AP采用WPA-PSK、WPA2-PSK、WPA3等加密方式的情况下,当STA在成功收到AP的Association Response后。会继续进行四次握手流程,以获取用于单播帧加密的PTK,基于组播/广播帧加密的GTK。
下面是WiFi技术中常见的一些加密方式。
缺点:
类似的称呼:QSS/SES/AOSS/EZ-SETUP。
为解决无线安全设置比较繁琐、专业性强的问题。
如果你足够细心的话应该可以在,应该可以在家里面main路由器上找到标有WPS这个按钮,当然你家的路由器要支持这个功能的haul才可以使用。是不是突然发现这么多年终于知道那个按钮是干嘛了的感觉。
WPS有两种模式:PCB和PIN模式。因为本博客定位于科普,只介绍简单的基本知识。同样的,后面如有时间会更新一篇详细介绍该功能的文章。
关联过程
站点通过WPS协商过程获得AP当前的无线安全设置
(SSID,安全模式,密码)
正常接入到BSS。
2种常见的启动WPS协商的方式:
PIN:在AP上输入站点的PIN码;
PBC:2分钟内分别按下AP和站点上的按钮(你的STA上面也有该按钮才行)
同样的,还是盗个图来说明一下该模型
文章浏览阅读5.8k次。在大数据的发展当中,大数据技术生态的组件,也在不断地拓展开来,而其中的Hive组件,作为Hadoop的数据仓库工具,可以实现对Hadoop集群当中的大规模数据进行相应的数据处理。今天我们的大数据入门分享,就主要来讲讲,Hive应用场景。关于Hive,首先需要明确的一点就是,Hive并非数据库,Hive所提供的数据存储、查询和分析功能,本质上来说,并非传统数据库所提供的存储、查询、分析功能。Hive..._hive应用场景
文章浏览阅读496次。Zblog是由Zblog开发团队开发的一款小巧而强大的基于Asp和PHP平台的开源程序,但是插件市场上的Zblog采集插件,没有一款能打的,要么就是没有SEO文章内容处理,要么就是功能单一。很少有适合SEO站长的Zblog采集。人们都知道Zblog采集接口都是对Zblog采集不熟悉的人做的,很多人采取模拟登陆的方法进行发布文章,也有很多人直接操作数据库发布文章,然而这些都或多或少的产生各种问题,发布速度慢、文章内容未经严格过滤,导致安全性问题、不能发Tag、不能自动创建分类等。但是使用Zblog采._zblog 网页采集插件
文章浏览阅读2.4k次,点赞2次,收藏2次。restUI页面提交1.1 添加上传jar包1.2 提交任务job1.3 查看提交的任务2. 命令行提交./flink-1.9.3/bin/flink run -c com.qu.wc.StreamWordCount -p 2 FlinkTutorial-1.0-SNAPSHOT.jar3. 命令行查看正在运行的job./flink-1.9.3/bin/flink list4. 命令行查看所有job./flink-1.9.3/bin/flink list --all._flink定时运行job
文章浏览阅读1k次,点赞2次,收藏6次。这个项目是基于STM32的LED闪烁项目,主要目的是让学习者熟悉STM32的基本操作和编程方法。在这个项目中,我们将使用STM32作为控制器,通过对GPIO口的控制实现LED灯的闪烁。这个STM32 LED闪烁的项目是一个非常简单的入门项目,但它可以帮助学习者熟悉STM32的编程方法和GPIO口的使用。在这个项目中,我们通过对GPIO口的控制实现了LED灯的闪烁。LED闪烁是STM32入门课程的基础操作之一,它旨在教学生如何使用STM32开发板控制LED灯的闪烁。_嵌入式stm32闪烁led实验总结
文章浏览阅读63次。本文介绍了安装和部署Debezium的详细步骤,并演示了如何将Debezium服务托管到systemctl以进行方便的管理。本文将详细介绍如何安装和部署Debezium,并将其服务托管到systemctl。解压缩后,将得到一个名为"debezium"的目录,其中包含Debezium的二进制文件和其他必要的资源。注意替换"ExecStart"中的"/path/to/debezium"为实际的Debezium目录路径。接下来,需要下载Debezium的压缩包,并将其解压到所需的目录。
文章浏览阅读4.4k次。需求:在诗词曲文项目中,诗词整篇朗读的时候,文章没有读完会因为屏幕熄灭停止朗读。要求:在文章没有朗读完毕之前屏幕常亮,读完以后屏幕常亮关闭;1.权限配置:设置电源管理的权限。
文章浏览阅读2.3k次。目标检测简介、评估标准、经典算法_目标检测
文章浏览阅读6.3k次,点赞4次,收藏9次。实训时需要安装SQL server2008 R所以我上网上找了一个.exe 的安装包链接:https://pan.baidu.com/s/1_FkhB8XJy3Js_rFADhdtmA提取码:ztki注:解压后1.04G安装时Microsoft需下载.NET,更新安装后会自动安装如下:点击第一个傻瓜式安装,唯一注意的是在修改路径的时候如下不可修改:到安装实例的时候就可以修改啦数据..._sqlserver 127 0 01 无法连接
文章浏览阅读7.4k次。1. Object.keys(item); 获取到了key之后就可以遍历的时候直接使用这个进行遍历所有的key跟valuevar infoItem={ name:'xiaowu', age:'18',}//的出来的keys就是[name,age]var keys=Object.keys(infoItem);2. 通常用于以下实力中 <div *ngFor="let item of keys"> <div>{{item}}.._js 遍历对象的key
文章浏览阅读2.2w次,点赞51次,收藏310次。粒子群算法求解路径规划路径规划问题描述 给定环境信息,如果该环境内有障碍物,寻求起始点到目标点的最短路径, 并且路径不能与障碍物相交,如图 1.1.1 所示。1.2 粒子群算法求解1.2.1 求解思路 粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解, 通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。 在路径规划中,我们将每一条路径规划为一个粒子,每个粒子群群有 n 个粒 子,即有 n 条路径,同时,每个粒子又有 m 个染色体,即中间过渡点的_粒子群算法路径规划
文章浏览阅读353次。所谓稳健的评估指标,是指在评估的过程中数据的轻微变化并不会显著的影响一个统计指标。而不稳健的评估指标则相反,在对交易系统进行回测时,参数值的轻微变化会带来不稳健指标的大幅变化。对于不稳健的评估指标,任何对数据有影响的因素都会对测试结果产生过大的影响,这很容易导致数据过拟合。_rar 海龟
文章浏览阅读607次,点赞2次,收藏7次。–基于STM32F103ZET6的UART通讯实现一、什么是IAP,为什么要IAPIAP即为In Application Programming(在应用中编程),一般情况下,以STM32F10x系列芯片为主控制器的设备在出厂时就已经使用J-Link仿真器将应用代码烧录了,如果在设备使用过程中需要进行应用代码的更换、升级等操作的话,则可能需要将设备返回原厂并拆解出来再使用J-Link重新烧录代码,这就增加了很多不必要的麻烦。站在用户的角度来说,就是能让用户自己来更换设备里边的代码程序而厂家这边只需要提供给_value line devices connectivity line devices