802.11协议数据帧详解(一)——802.11帧结构与分类
今天继续给大家介绍WLAN,本文主要内容是802.11帧格式。
一、802.11数据帧整体结构
IEEE802.11系列标准定义了WLAN无线网络数据帧的帧结构,和基本的物理层、MAC层通信标准。与802.3定义的以太网数据帧格式及通信方式不同,802.11定义的WLAN无线局域网由于通信介质和通信质量的问题,不能直接采用802.3的通信方式。在WLAN中,数据链路层面上的通信模式要比802.3以太网中的通信要复杂的多,因此802.11的帧格式也要相对复杂。
802.11无线数据帧最大长度为2346个字节,基本结构如下:
802.11帧中各个字段含义如下:
1、Frame Control 帧控制字段,含有许多标识位,表示本帧的一些类型等信息。 该字段将在下文中详细介绍。
2、Duration ID 持续时间和ID位,本字段一共有16bit,根据第14bit和15bit的取值,本字段有以下三种类型的含义:
(1)当第15bit被设置为0时,该字段表示该数据帧所传输要使用的时间,单位为微秒。(这与无线局域网传输介质有关,详情我将在后续博客CSMD/CA篇章中介绍。)
(2)当第15bit被设置为1,第14bit也为0时,该字段用于让没有收到Beacon新标帧(管理帧的一种)公告免竞争时间。
(3)当第15bit被设置为1,第14bit为1时,该字段主要用于STA告知AP其关闭天线,将要处于休眠状态,并委托AP暂时存储发往该STA的数据帧。此时该字段为一种标识符,以便在STA接触休眠后从AP中获得为其暂存的帧。
3、Address 与802.3以太网传输机制不同,802.11无线局域网数据帧一共可以有4个MAC地址,这些地址根据帧的不同而又不同的含义,但是基本上第一个地址表示接收端MAC地址,第二个地址表示发送端MAC地址,第三个地址表示过滤地址。关于Address字段的详解请见后文。
4、Seq-ctl 顺序控制位,该字段用于数据帧分片时重组数据帧片段以及丢弃重复帧。
5、Frame Body 帧所包含的数据包。
6、FCS 帧校验和,主要用于检查帧的完整性。
二、Frame Control字段详解
802.11帧中Frame Control字段格式如下:
上述字段含义如下:
1、Protocol 表示802.11协议版本,目前802.11数据帧 只有一个版本,该字段为0。
2、Type 表示802.11帧的类型。
3、SubType 具体到某一类型的802.11帧,更加详细的表明其类型。
4、To DS 表示该帧是否向无线工作站发送的帧。
5、From DS 表示该帧是否向AP上行网络发送的帧。
6、More Fragment 表示该帧是否有更多的分片。
7、Retry 表示该帧是否需要重传。
8、Power Management 如果此bit为1,则表示STA在发送完本帧后,将关闭天线处于休眠状态。(AP不允许关闭天线休眠,只有STA可以,因此AP发送的数据帧该字段恒为0)
9、More Data 表示在该帧传送完成后,将会有更多的数据,此bit只用于管理数据帧,在控制帧中此bit恒为0。
10、Protected 如果该bit为1,表示该帧受到链路层安全协议的保护。
11、Order 如果字段为1,表示帧和帧片段将会严格按照次序传送,但是这样会对发送与接收端带来额外的开销。
三、802.11数据帧Address字段详解
802.11帧中Address字段含义根据帧的不同而不同,具体如下表所示:
功能 | To DS字段 | From DS字段 | Address1 | Address2 | Address3 | Address4 |
---|---|---|---|---|---|---|
IBSS | 0 | 0 | DA/RA | SA/TA | BSSID | 未用 |
TP AP | 1 | 0 | BSSID/RA | SA/TA | DA | 未用 |
From AP | 0 | 1 | DA/RA | BSSID/TA | SA | 未用 |
WDS | 1 | 1 | BSSID/RA | BSSID/TA | DA | SA |
IBSS表示该数据帧从STA发往AP上行以太网;To AP表示该数据帧从STA发往AP;From AP表示该数据帧从AP发出,发往STA;WDS表示该数据帧用于无线网桥键发送数据。
上述四种情况如下图所示:
IBSS:
TO AP:
From AP:
WDS:
四、802.11数据帧分类
802.11规定无线局域网WLAN一共有三种类型的帧——数据帧、控制帧和管理帧。
数据帧负责在工作站之间传递数据,可能会因为所处的网络环境不同而有所差异;控制帧通常与数据帧配合使用,负责区域的清空、信道的取得以及载波监听的维护,并在收到数据帧后予以正面应答,借此以促进工作站之间数据传输的可靠性;管理帧负责监督,主要用来加入或退出无线网络,以及处理基站之间连接的转移事宜。
在802.11帧的Type字段中,Type=00表示本帧为管理帧,Type=01表示本帧为控制帧,Type=10表示本帧为数据帧。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/120319177
相关文章
- 委托协议栈发送接受数据响应
- 协议栈——收发数据(拼接网络包,自动重发,滑动窗口机制)
- 常用的数据链路层协议_数据链路层和网络层
- DFP 数据转发协议应用实例 5.与其它厂商 LoRA 设备匹配
- rsync备份大量数据_SnapShot能做增量备份吗
- canal-adapter消费Kafka中MySQL的binlog数据,却没有同步更新Elastic search
- 【计算机网络】数据链路层 : 停止-等待协议 ( 无差错情况 | 有差错情况 | 帧丢失 | 帧出错 | ACK 确认帧丢失 | ACK 确认帧延迟 | 信道利用率公式 | 信道利用率计算 )★
- 【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★
- 【计算机网络】数据链路层 : ALOHA 协议 ( 纯 ALOHA 协议 | 时隙 ALOHA 协议 )
- 【计算机网络】数据链路层 : CSMA 协议 ( 载波监听多路访问协议 | 监听 | 1-坚持 CSMA | 非坚持 CSMA | p-坚持 CSMA )
- 【计算机网络】数据链路层 : 轮询访问 介质访问控制 ( 轮询协议 | 令牌传递协议 )
- 【计算机网络】数据链路层 : 广域网 ( 广域网概念 | PPP 协议 | PPP 协议功能 | PPP 协议组成 | PPP 协议帧格式 )
- 【计算机网络】数据链路层 : 广域网 ( HDLC 协议 | HDLC 站 | HDLC 帧格式 | HDLC 帧类型 | PPP 协议 与 HDLC 协议 对比 )
- 【计算机网络】网络层 : 总结 ( 功能 | 数据交换 | IP 数据报 | IPv4 地址 | IPv6 地址 | 路由选择协议 | 路由算法 )★★★
- 【计算机网络】网络安全 : 网络层安全协议 ( IPsec 协议 | IPsec 协议族组成 | IP 安全数据报工作方式 | 安全关联 SA | SA 状态信息 | IP 安全数据报格式 )
- 利用Oracle协议适配器实现数据交互(oracle协议适配器)
- MySQL改写UTF8编码,让数据更安全(mysql编码utf8)
- 使用Oracle实现列数据复制(oracle列复制)
- 数据MySQL: 删除表格数据的正确方法(mysql删除表格)
- MySQL数据读取速度缓慢的原因及解决方法(mysql读取数据慢)
- MySQL中存储16进制数据的方法(mysql存16进制)
- Oracle数据库:安全清空数据(oracle 数据库清空)
- 中警惕有数据不前往Redis(有数据不写入redis)
- Redis集群中实现数据同步的策略(redis集群的同步)
- Redis 协议实现数据交流(redis通信协定)
- 使用Redis连接协议提高数据性能(redis 连接协议)
- Redis插入数据的时间获取(redis获取插入时间)
- Python抓取京东图书评论数据