注:本文的主要目的是为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上面也有该按钮才行)
同样的,还是盗个图来说明一下该模型
文章浏览阅读685次。1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。缺点是什么?服务端保存大量数据,增加服务端压力 服务端保存用户状态,无法进行水平扩展 客户端请求依赖服务.._无状态token登录
文章浏览阅读293次。SDUT OnlineJudge#include<iostream>using namespace std;int main(){int a,b,c,d;cin>>a;b=a%10;c=a/10%10;d=a/100%10;int key[3];key[0]=b;key[1]=c;key[2]=d;for(int i = 0;i<3;i++){ if(key[i]!=0) { cout<<key[i.
文章浏览阅读2.2k次。年终奖采用的平均每月的收入来评定缴税级数的,速算扣除数也按照月份计算出来,但是最终减去的也是一个月的速算扣除数。为什么这么做呢,这样的收的税更多啊,年终也是一个月的收入,凭什么减去12*速算扣除数了?这个霸道(不要脸)的说法,我们只能合理避免的这些跨级的区域了,那具体是那些区域呢?可以参考下面的表格:年终奖一列标红的一对便是盲区的上下线,发放年终奖的数额一定一定要避免这个区域,不然公司多花了钱..._年终奖盲区表
文章浏览阅读7.5k次,点赞5次,收藏19次。matlab结构体struct字段变量值提取_matlab读取struct类型数据中的值
文章浏览阅读4.8k次。1,什么情况下使用fragment通常用来作为一个activity的用户界面的一部分例如, 一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章 – 2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输_android reader fragment
文章浏览阅读2.8k次。FFT of waveIn audio signalsBy Aqiruse An article on using the Fast Fourier Transform on audio signals. IntroductionThe Fast Fourier Transform (FFT) allows users to view the spectrum content of _fft of wavein audio signals
文章浏览阅读5.9k次。https://jaywcjlove.github.io/awesome-mac/ 这个仓库主要是收集非常好用的Mac应用程序、软件以及工具,主要面向开发者和设计师。有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章《工具武装的前端开发工程师》,于是建了这么一个仓库,持续更新作为补充,搜集更多好用的软件工具。请Star、Pull Request或者使劲搓它 issu_awesomemac
文章浏览阅读616次。一.jquery简介 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互 jQuery 的功能概括1、html 的元素选取2、html的元素操作3、html dom遍历和修改4、js特效和动画效果5、css操作6、html事件操作7、ajax_简介java中jquery技术
文章浏览阅读1.6w次,点赞5次,收藏19次。我修改的是表格的固定列滚动而产生的滚动条引用Table的组件的css文件中加入下面的样式:.ant-table-body{ &amp;::-webkit-scrollbar { height: 5px; } &amp;::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box..._ant design ::-webkit-scrollbar-corner
文章浏览阅读269次。基于JSP的健身俱乐部会员管理系统项目分享:见文末!
文章浏览阅读1.8k次,点赞2次,收藏15次。同学们,是不是又到了一年一度写开题报告的时候呀?是不是还在为不知道论文的开题报告怎么写而苦恼?Take it easy!我带着倾尽我所有开题报告写作经验总结出来的最强保姆级开题报告解说来啦,一定让你脱胎换骨,顺利拿下开题报告这个高塔,你确定还不赶快点赞收藏学起来吗?_开题报告研究难点
文章浏览阅读6k次,点赞4次,收藏17次。原生先获取对象var a = document.getElementById("dom");vue先添加ref <div class="" ref="divBox">获取对象let a = this.$refs.divBox获取父、子、兄弟节点方法var b = a.childNodes; 获取a的全部子节点 var c = a.parentNode; 获取a的父节点var d = a.nextSbiling; 获取a的下一个兄弟节点 var e = a.previ_获取子节点的路径 vue