首发:Rice 嵌入式开发技术分享
作者:RiceDIY
摘要
- 802.11和Wifi技术并不是同一个东西。Wifi标准是802.11标准的一个子集,并且是Wi-Fi联盟负责管理。
- 802.11物理层PHY是介质访问控制层MAC个无线介质之间的接口,它传输个接收共享无线介质上的数据帧。
- 802.11将PHY进一步划分为两个组成元件:
- 物理层收敛程序(Physical Layer ConvergenceProcedure,简称PLCP),负责将MAC帧对映到传输介质;
- 实际搭配介质Physical Medium Dependent,简称PMD),负责传送这些帧。
- 这篇文章主要描述802.11 MPDU帧格式的描述及应用。
802.11帧格式MPDU(MAC层协议数据单元)
帧控制结构FC(Frame Control):
- Version:协议版本号,通常是0。
- Type:帧类型,主要有3种类型。
- 控制帧(0b01):用于竞争期间的握手通信和正向确认、结束非竞争期等。
- 管理帧(0b00): 主要用于STA与AP之间协商、关系的控制,如关联、认证、同步等。
- 数据帧(0b10):用于在竞争期和非竞争期传输数据。
- Sub Type:帧的子类型。
- 管理帧(0b00)子类型描述:
- 控制帧(0b01)子类型描述:
- 数据帧(0b10)子类型描述:
- To DS:表明该帧是否是BSS向DS发送的帧。
- From DS: 表明该帧是否是DS向BSS发送的帧。
- More Fragment:用于说明长帧被分段的情况,是否还有其它的帧,如果有则该值设置为1。
- Retry(重传域): 表示该分段是先前传输分段的重发帧。
- Power Management: 表示传输帧以后,站所采用的电源管理模式。
- More Data: 表示有很多帧缓存到站中。即至少还有一个数据帧要发送给STA是设置为1。
- Protected Frame: 表示根据WEP(Wired Equivalent Privacy)算法对帧主体进行加密。如果帧体部分包含被密钥套处理过的数据,则设置为1,否则设置为0。
- Order(序号域): 在长帧分段传送时,该域设置为1表示接受者应该严格按照顺序处理该帧,否则设置为0
持续时间/标识 Dur/ID(Duration/ID):
- 表明该帧和它的确认帧将会占用信道多长时间,Duration 值用于网络分配向量(NAV)计算。
地址域 Address Fields:
- Addr1(Destination Address): 目的地址,即负责将帧交付上层协议处理的工作站
- Addr2(Source Address): 源地址,传送的来源
- Addr3(BSS ID): 接收端地址,负责处理该帧的无线工作站
序列控制域 SC(Sequence Control)
- 用于过滤重复帧。
- MSDU(MAC Server Data Unit), 12位序列号(Sequence Number)
- MMSDU(MAC Management Server Data Unit), 4位片段号(Fragment Number)组成。
帧内容 Frame Body
- 发送或接收的信息。对于不同类型的数据帧来说,这个域的格式差别较大.
校验 FCS(CRC)
- 包括32位的循环冗余校验(CRC)。
应用
- 如上图,是通过wireshark抓到802.11的帧,可以看到该帧的版本为0,类型为管理帧类型,子类型为探测请求。
关注微信公众号『Rice嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。
推荐阅读
更多嵌入式技术干货请关注Rice 嵌入式开发技术分享