WiFi IEEE 802.11协议精读:IEEE 802.11-2007,6,MAC service definition MAC服务定义

news2025/4/2 10:58:51

继续精读IEEE 802.11-2007

6,MAC service definition MAC服务定义

6.1 MAC服务概述

6.1.1 数据服务

此服务为对等逻辑链路控制(LLC)实体提供交换MAC服务数据单元(MSDU)的能力。为支持此服务,本地媒体访问控制(MAC)利用底层的物理层(PHY)服务,将MSDU传输至对等MAC实体,在那里MSDU将被交付给对等LLC。这种异步MSDU传输是在无连接基础上进行的。默认情况下,MSDU传输是基于尽力而为原则的。然而,服务质量(QoS)机制使用一个流量标识符(TID)来按每个MSDU指定差异化服务。QoS机制还允许在使用流量规范(TSPEC)的基础上,支持更具同步性的行为,这是基于面向连接的方式实现的。对于提交的MSDU是否能成功交付,并不提供任何保证。广播和多播传输是MAC提供的数据服务的一部分。由于无线介质(WM)的特性,与单播MSDU相比,广播和多播MSDU可能会经历较低的QoS。所有站点(STA)都将支持数据服务,但在支持QoS的基本服务集(BSS)中,只有QoS STA会根据单个MSDU指定的流量类别或流量流(TS)来区分其MSDU交付。

由于MAC的某些功能操作可能会导致某些MSDU(MAC服务数据单元)的重新排序,如下文将更详细地讨论,在非QoS(服务质量)STA(站点)中,数据服务内存在两个服务类别。通过选择所需的服务类别,每个发起MSDU传输的LLC(逻辑链路控制)实体都能够控制MAC实体是否被允许对这些MSDU进行重新排序。

6.1.2 安全服务

IEEE Std 802.11中的安全服务由认证服务以及TKIP(临时密钥完整性协议)和CCMP(计数器模式密码块链消息认证码协议)机制提供。所提供的安全服务范围仅限于站点之间的数据交换。IEEE 802.11 TKIP和CCMP实现所提供的数据保密服务是对MSDU(MAC服务数据单元)的保护。在本标准中,TKIP和CCMP被视为位于MAC子层内的逻辑服务,如参考模型图5-10(在5.7中)所示。TKIP和CCMP服务的实际实现对逻辑链路控制(LLC)和MAC子层以上的其他层是透明的。

IEEE Std 802.11中TKIP和CCMP提供的安全服务如下:
a) 数据保密性;
b) 认证;以及
c) 与层管理相结合的访问控制。

在认证交换过程中,双方按照第8条的规定交换认证信息。

TKIP和CCMP提供的MAC子层安全服务依赖于非第2层管理或系统实体的信息。管理实体通过一组MAC子层管理实体(MLME)接口和管理信息库(MIB)属性向TKIP和CCMP传递信息;特别是,8.7中定义的TKIP和CCMP决策树是由MIB属性驱动的。

使用WEP(有线等效保密)进行保密、认证或访问控制已被弃用。WEP算法不适用于本标准的目的。

6.1.3 MSDU排序

MAC子层提供的服务允许,并在某些情况下可能要求,对MSDU进行重新排序。

在非QoS STA中,MAC不会故意对MSDU进行重新排序,除非基于指定接收STA的当前操作(“电源管理”)模式,这种重新排序对于提高成功交付的可能性是必要的。对于在任一单个STA的MAC服务接口处接收到的MSDU集合而言,这种重新排序(如果有的话)的唯一影响是,相对于来自单个源STA地址的定向MSDU,广播和多播MSDU的交付顺序可能会发生变化。如果使用数据服务的高层协议不能容忍这种可能的重新排序,则应使用可选的StrictlyOrdered服务类别。在使用StrictlyOrdered服务类别的任意两个STA之间传输的MSDU不会受到使用ReorderableMulticast服务类别时可能出现的相对重新排序的影响。然而,若希望在STA处接收使用StrictlyOrdered服务类别发送的MSDU,则该STA则不能同时使用MAC电源管理功能。

在BSS中操作的QoS STA有两种服务类别,分别指定为QoSAck和QoSNoAck(有关更多信息,请参阅6.1.1.3)。对MSDU进行重新排序,不仅是为了基于指定接收STA的当前操作模式提高成功交付的可能性,还是为了尊重在MA-UNITDATA.request原语中指定的单个MSDU的优先级参数。对于在任一单个STA的MAC服务接口处接收到的MSDU集合而言,这种重新排序(如果有的话)的影响包括:
a) 相对于单播MSDU,广播和多播MSDU的交付顺序发生变化;
b) 对来自单个源STA地址且具有不同TID值的MSDU进行重新排序;以及
c) 对具有相同TID但不同服务类别的广播和多播MSDU进行重新排序。

对于具有相同TID值且发往相同目的地的单播MSDU,不得进行重新排序。

在非QoS BSS中操作的STA应遵循为非QoS STA定义的重新排序规则。

为了使MAC正常操作,分布系统(DS)必须满足ISO/IEC 15802-1:1995的要求。确保MSDU适当排序的操作限制在9.8中指定。

6.1.4 MSDU format

6.1.5 MAC数据服务架构

MAC数据平面架构(即涉及MSDU全部或部分传输的过程)如图6-1所示。

在传输过程中,MSDU会经历以下部分或全部过程:省电模式下的帧传输延迟、序列号分配、分片、加密、完整性保护和帧格式化。IEEE Std 802.1X-2004可能会在受控端口阻止MSDU。在某个时刻,包含MSDU全部或部分的数据帧会按AC/TS(访问类别/流量规范)进行排队。这种排队可能发生在图6-1所示的三个点中的任何一个。

在接收过程中,接收到的数据帧会经历MPDU(MAC协议数据单元)头部和循环冗余码(CRC)验证、去重、(如果使用Block Ack机制)可能的重新排序、解密、去分片、完整性检查和重放检测。重放检测(或使用安全机制时的去分片)之后,MSDU会被传递到MAC_SAP(MAC服务访问点)或DS(分布系统)。如果受控端口未启用,且MSDU不代表IEEE 802.1X帧,则IEEE 802.1X受控/非受控端口会丢弃该MSDU。TKIP(临时密钥完整性协议)和CCMP(计数器模式密码块链消息完整码协议)MPDU帧顺序强制在解密之后、MSDU去分片之前进行;因此,如果MPDU未按顺序到达,去分片将失败。

7,Frame formats帧格式

8,Security 安全

9,MAC sublayer functional description MAC子层功能描述

10,Layer management 层管理

11,MLME,MAC sublayer management entity,MAC子层管理入口

12,PHY service specification,物理层服务规范

13,PHY management,物理层管理

14,Frequency-Hopping spread spectrum (FHSS) PHY specification for the 2.4 GHz industrial, scientific, and medical (ISM) band,FHSS 跳频--已废弃

15,DSSS PHY specification for the 2.4 GHz band designated for ISM applications,802.11b

16,Infrared (IR) PHY specification 红外--已废弃

17,Orthogonal frequency division multiplexing (OFDM) PHY specification for the 5 GHz band, 802.11a

18,High Rate direct sequence spread spectrum (HR/DSSS) PHY specification,802.11b

19,ERP specification,802.11g

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2306240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Visual Studio Code 跨平台安装与配置指南(附官方下载链接)

一、软件定位与核心功能 Visual Studio Code(简称VS Code)是微软开发的开源跨平台代码编辑器,支持超过50种编程语言的智能补全、调试和版本控制功能。2025版本新增AI辅助编程模块,可自动生成单元测试代码和API文档注释。 二、下载…

deepseek自动化代码生成

使用流程 效果第一步:注册生成各种大模型的API第二步:注册成功后生成API第三步:下载vscode在vscode中下载agent,这里推荐使用cline 第四步:安装完成后,设置模型信息第一步选择API provider: Ope…

OceanBase + DeepSeek:5分钟免费搭建企业知识库

过去一个月,DeepSeek 在全球范围内引发了热烈讨论。其突破性的 AI 能力使其日流量显著超越 Claude 和 Perplexity,吸引了众多企业和技术专家的高度关注。随着 AI 技术的不断进步,企业正面临一场深刻的智能化变革——如何通过 AI 重构业务&…

水利工程安全包括哪几个方面

水利工程安全培训的内容主要包括以下几个方面: 基础知识和技能培训 : 法律法规 :学习水利工程相关的安全生产法律法规,了解安全生产标准及规范。 事故案例 :通过分析事故案例,了解事故原因和教训&#x…

基于 sklearn 的均值偏移聚类算法的应用

基于 sklearn 的均值偏移聚类算法的应用 在机器学习和数据挖掘中,聚类算法是一类非常重要的无监督学习方法。它的目的是将数据集中的数据点划分为若干个类,使得同一类的样本点彼此相似,而不同类的样本点相互之间差异较大。均值偏移聚类&…

国产OS上完整编译Qt5.15、搭建基本开发环境需要的库

近期有师弟问我国产OS安装Qt5.15编译老是不完整,不是没声音,就是没视频,或者没有xcb。通过QEMU模拟Arm64,闲来20几天摸索,完整编译了Qt5.15,并编译成功了我的SDR玩具taskBus。 1.主要结论: 该O…

MyBatis简明教程

MyBatis 是一个用于简化数据库操作的持久层框架,它的核心思想是 将 SQL 与 Java 代码解耦,让开发者专注于 SQL 的编写,同时自动处理重复的数据库操作步骤。 一、核心思想:SQL 与 Java 解耦 传统 JDBC 需要开发者手动管理数据库连…

有什么区别?Elastic 和 Splunk 数据层

作者:来自 Elastic Ugo Sangiorgi, Matt Wehle 了解 Elastic 和 Splunk 数据管理方法之间的主要区别,以便做出明智的决策,实现高效的数据处理 在数据管理领域,在讨论如何根据不同的性能要求提供和/或保留数据时,经常会…

BGP状态和机制

BGP邻居优化 为了增加稳定性,通常建议实验回环口来建立邻居。更新源:建立邻居和邻居所学习到的路由的下一跳。多跳:EBGP邻居建立默认选哟直连,因为TTL=1,如果非直连,必须修改TTL。命令备注peer 2.2.2.2 connect-interface lo1配置更新源peer 2.2.2.2 ebgp-max-hop 2配置T…

【电机控制器】PY32F00BF15U6TR-从KEIL5中计算资源消耗资源

【电机控制器】PY32F00BF15U6TR-从KEIL5中计算资源消耗资源 文章目录 [TOC](文章目录) 前言一、MCU芯片手册二、实验三、实验结论四、参考资料总结 前言 使用工具: 1.KEIL5编译器 提示:以下是本篇文章正文内容,下面案例可供参考 一、MCU芯片…

python实战项目58:采集蜻蜓FM热门音频top排行榜

python实战项目58:采集蜻蜓FM热门音频top排行榜 一、采集流程介绍二、数据接口采集三、使用xpath提取页面数据1、抓包,找到数据接口2、发送请求,获取数据3、提取数据4、保存数据一、采集流程介绍 蜻蜓FM热门音频top排行榜的链接为: https://m.qingting.fm/rank/,首页如下图…

STM32【3】芯片的底层组成概论

关于单片机的组成 单片机的意思是,小小计算电脑,麻雀虽小,五脏俱全,里面包含了CPU,ROM,RAM,各种外设。 CPU地位最高,可以访问ROM和RAM,Flash,GPIO等外设&…

基于django图书信息管理系统的搭建(增删改查)

✍django项目搭建教程 ☞ ----------------- 教程 本文主要讲解django如何连接数据库MySQL并且可视化展示,实现增删改查功能 目录 一. 创建django应用 二. 数据库配置 三. 查看数据库 四. 编写代码 4.1视图函数 4.2 配置URL 4.3创建模板文件 4.…

Kotlin 知识点二 延迟初始化和密封类

对变量延迟初始化 Kotlin 语言的许多特性,包括变量不可变,变量不可为空,等等。这些特性 都是为了尽可能地保证程序安全而设计的,但是有些时候这些特性也会在编码时给我们带来不 少的麻烦。 比如,如果你的类中存在很多…

基于SpringBoot的“古城景区管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“古城景区管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 系统首页界面 系统注册界面 景…

力扣hot100 —— 电话号码字母组合; 子集 (非回溯做法)简单易懂

由于博主对回溯也不是很熟悉,这里提出一种简单易懂的解法(有点暴力) 解题思路: 每个数字对应有自己的字母串; 首先遍历将每个字母存入也就是 res{{a},{b},{c}} 然后遍历后续数子对应的字母,让每个字母与…

【Redis】在Java中以及Spring环境下操作Redis

Java环境下&#xff1a; 1.创建maven 项目 2.导入依赖 <!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.2</version></dependency> 此处使用的是Jedis&…

Directx上传堆和默认堆注意事项

前景 之前我用directx写上传堆上传给默认堆Index&#xff0c;但是我发现数据无法被GPU读取 void HelloTriangle::createDefaultBuffer(const void* data, const UINT byteSize, ComPtr<ID3D12Resource>& defaultBuffer) {ThrowIfFiled(m_Device->CreateCommitte…

Java封装弱密码校验工具类

弱密码校验工具类 通过检查密码是否符合某些安全策略来判断其强度 ● 密码长度 ● 字符类型 ● 常见密码组合 import java.util.Arrays; import java.util.HashSet; import java.util.Set;public class WeakPasswordCheckUtil {// 常见弱密码列表&#xff08;可根据需求扩展&…

Figure自研模型Helix发布,人形机器人迈向新纪元?

Figure 公司自 2022 年成立以来&#xff0c;便在人形机器人领域崭露头角&#xff0c;成为行业内备受瞩目的新星。公司由连续创业者 Brett Adcock 创立&#xff0c;总部位于美国加利福尼亚州桑尼维尔&#xff0c;汇聚了来自波士顿动力公司、特斯拉、谷歌 DeepMind 等知名企业的顶…