1 MAC802.11数据帧格式

首先要说明的是mac802.11的帧格式很特别,它与TCP/IP这一类协议不同,它的长度是可变的。不同功能的数据帧长度会不一样。这一特性说明mac802.11数据帧显得更加灵活,然而,也会更加复杂。mac 802.11的数据帧长度不定主要是由于以下几点决定的

1.1 mac地址数目不定,根据帧类型不同,mac 802.11的mac地址数会不一样。比如说 ACK帧仅有一个mac地址,而数据帧有3个mac地址,在WDS模式(下面要提到)下,帧头竟然有4个mac地址。

1.2 802.11的管理帧所携带的信息长度不定,在管理帧中,不仅仅只有一些类似于mac地址,分片标志之类的这些信息,而且另外还会包括一些其它的信息,这些信息有关于安全设置的,有关于物理通信的,比如说我们的SSID名称就是通过管理帧获得的。AP会根据不同的情况发送包含有不同信息的管理帧。管理帧的细节问题我们会在后面的文章中讨论,这里暂时跳过。

1.3 加密(wep,wpa等)信息,QOS(quality of service)信息,若有加密的数据帧格式和没有加密的数据帧格式还不一样,加密数据帧格式还多了个加密头,用于解密用。然则QOS也是同样道理。

竟然mac 802.11数据帧那么复杂,我们就先从通用的格式开始说吧

帧控制(2 bytes):

用于指示数据帧的类型,是否分片等等信息,说白了,这个字段就是记录了mac 802.11的属性。

*Protocol version:表明版本类型,现在所有帧里面这个字段都是0x00

*Type:指明数据帧类型,是管理帧,数据帧还是控制帧

*Subtype:指明数据帧的子类型,因为就算是控制帧,控制帧还分RTS帧,CTS帧,ACK帧等等,通过这个域判断出该数据帧的具体类型

*To DS/From DS:这两个数据帧表明数据包的发送方向,分四种可能情况讨论

**若数据包To DS为0,From DS为0,表明该数据包在网络主机间传输

**若数据包To DS为0,From DS为1,表明该数据帧来自AP

**若数据包To DS为1,From DS为0,表明该数据帧发送往AP

**若数据包To DS为1,From DS为1,表明该数据帧是从AP发送自AP的,也就是说这个是个WDS(Wireless Distribution System)数据帧,至于什么是WDS,可以参考下这里的介绍 #传送门

*Moreflag:分片标志,若数据帧被分片了,那么这个标志为1,否则为0

*Retry:表明是否是重发的帧,若是为1,不是为0

*PowerManage:当网络主机处于省电模式时,该标志为1,否则为0.

*Moredata:当AP缓存了处于省电模式下的网络主机的数据包时,AP给该省电模式下的网络主机的数据帧中该位为1,否则为0

*Wep:加密标志,若为1表示数据内容加密,否则为0

*Order 这个表示用于PCF模式下,这里不予讨论

生存周期/Associate ID (2 bytes):

先前不是讲过虚拟载波监听的一个机制么,他的Network Allocation Vector(NAV)就存在这里,这里叫duration,即生存周期。当然不是所有时候这个字段存放的NAV值。在特定类型数据帧中,它也可能表示Associate ID。一旦有主机关联到AP了,AP都会为主机分配一个Associate ID。比如在网络主机通知AP自己要进入省电模式(power saving)的时候,网络主机发给AP的通知数据帧里面,这个域就表示的是Associate ID而不是NAV了。当然还可以通过最高位来判断这个域的含义:

*在15bit为0的时候,该域表示duration

*在15bit为1,14bit为1的时候,表示Associate ID。

序列控制(2 bytes:4 bits/12 bits):这个域分2部分,一个是分片序列号和标识帧列号。分片序列号就是记录分片序号的。比如一个帧A被分片成a1,a2,a3,那么a1,a2,a3这三个分片帧的分片序列分别是0,1,2。这个和IP分段原理一样的,该域占4个比特位。剩下的12个比特位就用于标识帧的序号,这个跟IP头里面的序列号一样。

MAC地址 1-4

这四个地址在不同帧中有不同含义。这些以后会讨论。

以后我们可能会碰到以下类型的mac地址

RA(receiver address):无线网络中,该数据帧的接收者

TA(transmitter address):无线网络中,该数据帧的发送者

BSSID(Basic Service Set ID):在infrastructure BBS中,BSSID就是AP的mac地址。但是在IBBS中,它是一个随机即生成的46位二进制序列,还有最高两位分别是Universal/Local标志位和Individual/Group标志位。IBBS的BSSID中,Universal/Local标志位为1,表示本地MAC,Individual/Group标志位为0,表示是个人MAC。也就是说在IBBS中,BSSID地址应该类如 10xxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx(x表示随机数要么0要么1, 2进制表示)

DA(destine address):该帧的目的mac地址

SA(source address):该帧的源mac地址

这里的DA和SA含义和普通以太网中的含义一样,在无线网络中可能我们需要通过AP把数据发送到其它网络内的某台主机中。但是有的人会奇怪,直接在RA中填这台主机的mac地址不就久好了么。但是请注意RA的含义,说的是无线网络中的接收者,不是网络中的接收者,也就是说这台目的主机不再无线网络范围内。在这种情况下我们的RA只是一个中转,所以需要多出一个DA字段来指明该帧的最终目的地,当然,如果有了DA那必须有SA,因为若目的主机要回应的话,SA字段是必不可少的。(假设没有SA字段,那么目的主机回应的数据包就只能发送到源主机所属的AP上了~)

最典型的一个例子就是在WDS模式下,数据帧会有4个地址,RA,TA表示接收端和发送端,这两个地址用于无线传输的时候。还有2个地址是DA和SA,分别跟以太网中一样表示源地址和目的地址。WDS帧的格式如下图:


打个比方说,AP1有主机A,AP2有主机B。如果A要和B同学,那么A会首先发送数据帧给AP1,然后AP1发送帧给AP2 。这个时候帧里面会有4个地址,分别是RA=mac(AP2),TA=mac(AP1),DA=mac(B),SA=mac(A)。

MAC802.11数据帧格式相关推荐

  1. WIFI:802.11协议帧格式

    802协议桢格式 802.11和Wi-Fi技术并不是同一个东西.Wi-Fi标准是802.11标准的一个子集,并且是Wi-Fi联盟负责管理 802协议桢格式: 协议 发布年份/日期 Op.标准频宽 实际 ...

  2. 802.11协议帧格式、Wi-Fi连接交互过程、无线破解入门

    转自: http://www.cnblogs.com/littlehann/p/3700357.html Linux黑客大曝光: 第8章 无线网络 无线网络安全攻防实战进阶 无线网络安全 黑客大曝光 ...

  3. MODBUS通讯之数据帧格式解读(附资料下载)

    MODBUS通讯之数据帧格式解读(文末可免费下载文档) 一.背景 之前在一个项目上用代码分别实现了Modbus主站和Modbus从站(注:其实官方提供有现成的MODBUS从站库代码,并且支持大多数的嵌 ...

  4. QIIME 2用户文档. 11数据筛选Filtering data(2018.11)

    文章目录 前情提要 QIIME 2用户文档. 11数据筛选 下载实验相关数据 过滤特征表 按数据量过滤 偶然因素的过滤 基于索引的过滤 基于元数据的筛选 基于物种过滤表和序列 过滤序列 过滤距离矩阵 ...

  5. 双11数据过于完美涉嫌造假?天猫:造谣要负法律责任的哦

    双11落下帷幕后,天猫官方实时公布双11最终成交额为2684亿元.随后,一条预测今年双11数据的微博被扒出,该预测数据与天猫公布的数据高度吻合,据此,有网友质疑天猫双11数据造假. 该微博发布于今年4 ...

  6. 天猫回应“双11数据造假”:已启动司法流程;小米折叠手机专利曝光;ASP.NET感染勒索软件|极客头条...

    整理 | 郭芮 出品 | CSDN(ID:CSDNnews) 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头 ...

  7. android11obb,exagear安卓11数据包obb

    软件简介 exagear安卓11数据包obb是一款独特的模拟器程序.软件有着很经典的游戏可以进行下载运行的,而且这些游戏通过它就可以在手机上进行体验到了.对于需要的用户来说有着很优质的服务体验.需要的 ...

  8. android11obb,exagear安卓11数据包obb合集版

    exagear安卓11数据包obb合集版能够在手机上模拟端游游戏,兼容性特别的强大,可以运行非常多的大型游戏,想要玩端游在手机上就来这里体验吧. exagear安卓11数据包obb合集版特色: 1.模 ...

  9. 以太网 VLAN数据帧格式、交换机接口类型介绍、u和t的区别和作用

    2.8.2 以太网 VLAN(VLAN数据帧格式.交换机接口类型) 原始的以太网数据帧没有802.1QTag字段,在网络中进行转发的时候能够被主机接收.解封查看. 而一但有了802.1Q Tag字段的 ...

最新文章

  1. Linux CENTOS7 Linux网络性能测试工具-iperf 安装过程以及示例!
  2. hadoop1.x 与hadoop2.x 架构变化分析
  3. python需要多久-在传智播客培训python需要多久?
  4. java -jar 启动优化_Android 8.1 启动时间优化--耗时分析
  5. php min命令,php min函数怎么用?
  6. 看看我们的程序猿寻常都爱看些什么好书?
  7. MyBatis官方文档——XML配置部分
  8. 三菱工控板底层源码_三菱PLC实例代码开源PLC项目源代码参考程序百度云资源下载...
  9. 四阶龙格库塔法的基本思想_四阶龙格库塔实验报告
  10. UltraCompare v21.00分析
  11. 华为手机的快应用是什么?如何使用快应用?
  12. Redhat之NIS
  13. angular directive 入门
  14. ubuntu16.04 安装Anbox
  15. 牛客网:智力题+判断推理+数量关系(1)
  16. 2023陆军工程大学计算机考研信息汇总
  17. connect ETIMEDOUT......
  18. 基因组层次聚类实战小案例
  19. Xcode12编译报错 “building for iOS,but linking in object file built for iOS Simulator”
  20. kingcms留言模块修改

热门文章

  1. Java Scanner用法
  2. VMware workstation虚拟机安装mac os 12 教程
  3. 国际化开发的各国语言标识(i18n)
  4. 工控网络安全产品---学习笔记
  5. 浏览器F12开发者工具
  6. postgres 注意双引号和单引号的区别
  7. vulnhub靶场——THE PLANETS: MERCURY
  8. 如何监听电脑屏幕是否发生切换
  9. Flutter 凸起效果底部导航栏一
  10. Java错误提示-------。。。。。cannot be resolved 。???