Android网络之WIFI技术网络模型概述

发布于:2025-09-09 ⋅ 阅读:(17) ⋅ 点赞:(0)

术语

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,那样才是最高效的!


网站公告

今日签到

点亮在社区的每一天
去签到