文章目录
术语
WLAN :Wireless Local area network
WIFI : Wireless Fidelity
MAC : media access control
LAN : local area network
WFD : wifi display
WPA :WIFI protected access
WEP : Wired Equivalent Privacy (WEP)
WPS : WIFI Protected Setup
协议名词
MAC : media access control
LAN : local area network
1、WLAN与WIFI
WLAN是一种广义无线局域网技术,包含蓝牙、Zigbee、WIFI等
2、802.11 WIFI无线网络标准演进
3、WIFI5、WIFI6和WIFI7的最高速率对比
WIFI7应用场景:https://mp.weixin.qq.com/s/5RyX14Hnit9XWLwW84xPiQ
wifi-7支持802.11.ac和802.11ax吗? Wi-Fi 7(802.11be)在设计上完全支持向下兼容Wi-Fi 5(802.11ac)和Wi-Fi 6(802.11ax),这是Wi-Fi标准演进的固有特性。
4、WIFI网络中的各个角色(元件)
1、STA : station
2、AP : access point
3、DS : Distribution system
4、SSID : Service Set ID 服务集识别码 - AP的网络名称
5、BSSID : Basic Service Set ID 基础服务集识别码 - AP的MAC地址
6、BSS :Basic Service Set 基础服务机
WM : Wireless Medium 无线媒介
ESS : Extended Service Set 扩展服务集 (由多个BSS组层)
ESSID : Extended Service Set ID 扩展服务集标识
1)网络拓扑架构图
5、802.11权威指南
涉及的机构单位
IEEE : 电子电机工程协会,制定电子设备标准,包括各种不同的通信技术;
WIFI联盟 : 贸易协会、测试机构(WIFI认证)及标准制定机构所组成;
1)OSI与TCP/IP
1、OSI七层网络模型Open System Interconnection Reference Model(从上至下,从宏观上定义软件和硬件)- 大家都遵守的计算机网络模型,使得不同架构的计算机网络都能实现互连
在工程应用中(比如linux),将OSI简化为TCP/IP五层网络模型,比如在unix系统中根据TCP/IP协议来实现网络软件框架(可以理解为中间件,也常称为socket通信),上层调用对应的socket接口实现网络数据的发送和接收。
2、一般协议中的各层软件实现和硬件实现(不一定完全对应,尤其是数据链路层,软件实现或硬件实现 具体情况具体分析)
对于PHY,一定是硬件实现,软件工程师可简单了解即可
MAC 是一组用于决定如何访问介质与传送数据的规则(数据帧格式-MAC帧),即发出的数据如何给对方正确接收
2)IEEE 802.11协议簇介绍
1、IEEE802家族
IEEE802家族是由一些列局域网(Local area network,简称LAN)技术规范所组成的,802.11是其中之一。IEEE802规范的重心放在OSI模型的最下面两层,因为它们同时涵盖了物理层(physical,简称PHY)与数据链路层(data link)组件。
2、为啥IEEE802重点是定义数据链路层和物理层?与OSI模型的关联?
1)网络设备多种多样,路由器、交换机、以太网、WIFI,蜂窝网,OSI统一定义,大家都遵守OSI,既然软件和硬件有成熟的实现,那么肯定复用已有的,IEEE 802就是基于OSI来定义的,在这基础上定义差异化部分,进一步地,因为WIFI是后面才流行发展起来,基于IEEE802框架,新增WIFI部分的规范(加入一些新的网络元件和一堆新的术语),即802.11
2)那就是为什么 无论是有线网、无线网络,都可以使用socket接口来收发数据!
3)总的来说OSI与802的关联如下
3)802.11
1、Preface
1、802.11是什么?
1)无线技术很多种,其中802.11在历史发展洪流中脱颖而出,WIFI无线技术就是由802.11所描述;
2)读标准规范技术手册都是十分枯燥,掌握本质和框架,细节交给AI;
2、802.11规范了哪些内容?怎么对待802.11
1)ISO、TCP/IP、IEEE802.11、802.11都是一些理论规定,无论何种架构的计算机网络设备和软件都参照这些理论来设计(路由器、WIFI模组、基站、蜂窝网3G/4G/5G),
2)802.11规范了方方面面,从硬件到软件,整个网络的不同设备都有描述,不同设备下的不同岗位的关注重点是不同的;
3)802.11描述了很多细节,这些细节我们需要掌握?面对如此成熟的体系,中间件部分不需要我们去设计,甚至基本都不会出现问题,我们应该是从宏观上去了解(掌握基本术语、流程 都要背下来),达到能分析较为上层(应用程序)/ 底层(WIFI驱动)的异常,这些都是不同厂家自行实现的部分。
比如定位问题思路 -> 确定是哪个通信流程出了问题 -> 对应流程的数据包是否出现异常 -> 从而解决
4)只有在设计新的网络协议的情况下才要求去彻底掌握各方面的细节!比如实现自家专用的网络协议,规范中应该有很多能裁剪的流程和数据格式,那样针对某产品/某场景达到最佳实现;
3、为什么要遵守802.11规范?
1)无线设备如此之多,为了能够互相对接起来,让厂家的产品嵌入到到wifi这个生态,就必须遵循规范,数据通信流程和每个流程所对应的数据格式 差一点都不行;
2、网络协议如何落地到软件实现?
1、802.11协议在硬件层面、软件层面起到什么作用?
1)MTK/ATBM/AIC等WIFI芯片厂家设计硬件是都要根据802.11来进行硬件设计,实现的细节可以不同,接口要一致;
2)linux/windows/IOS/android等各个系统厂家都是根据802.11来进行软件设计,但实现细节可以不一样的,各个层级和接口 要符合规范,比如kernel中的inet
inet的描述
android\kernel\fusion\4.19\net\ipv4\af_inet.c
* INET An implementation of the TCP/IP protocol suite for the LINUX
* operating system. INET is implemented using the BSD Socket
* interface as the means of communication with the user level.
*
* PF_INET protocol family socket handler.
2、因此学习某一平台下的网络设备(比如linux下的无线网络设备),当然要了解802.11,先掌握基本的术语和流程,再去研究代码实现,遇到细节再回来反查802.11规范。
3、802.11通信认证框架
WIFI正式传输数据之前,要先完成连接(由supplicant负责),包括找出环境中的网络、输入密码完成连接,后续才可以向对方请求数据(STA->AP)
4)802.11 MAC
MAC帧分类(纯数据格式定义,这里就不一一展开)
1)数据帧
2)控制帧
3)管理帧
6、利用AI分析复杂且枯燥的协议帧
1)我们应当掌握整体框架,细节分析交给AI,那样才是最高效的!