2013-7-28 802.11n帧聚合
芯片开发阶段的帧聚合迥异于商用AP,前者更偏向实现过程,后者偏向结果。也就是说用户在使用商用设备时不会管你特性是如何实现的,他们只关心效果,开启这个功能能否实实在在的提高AP的吞吐量。
网上搜索了众多教程,大同小异,个别讲的别叫有深度的,妈的又要收费,操蛋。
好吧,扯远了,貌似每次写学习笔记之前都要先啰嗦几句。妹的,天气热的心情狂躁。
1,概述
帧聚合是针对802.11n高吞吐量的特性设计的新功能,也就是说早期的a/b/g是不支持的。有些AP在设置界面会让用户选择是否开启聚合(一般AMPUD和AMSDU是分开的),而这个选项一般只在打开11n only或b/g/n mixed模式才显示为激活,但某些AP即使在b/g模式下也可以勾选,但要记住,即使勾选了,也不会生效的。
聚合,顾名思义就是把把零散的数据包聚合在一块,形成一个大的数据包。由于无线比有线更大的协议开销,如果不加限制的来一个包发送一个,如果是大包还行,特别是上网产生的小包,会生成很大的协议开销。聚合功能就是根据这个需要而诞生。
聚合是一个MAC的功能,众所周知的网络七层协议,开启聚合后,数据从上往下传输,在MAC会被聚合起来。聚合也分先后,从LLC下发到MAC会先聚合为MSDU,经过MAC加工后形成MSDU,然后下发到PHY的PLCP层,此时可以聚合为PSDU。(待确认,貌似我文字能力太差了,一个概述都写的乱七八糟。还是简单点吧。)
2,帧结构
A-MPDU帧聚合

重点:1,每两个MPDU帧中有一个Delimiter,作用一,分隔MPDU以方便解析;作用二,某个MPDU解析错误时跳到下一个以Delimiter结尾的MPDU继续解析。
Delimiter帧结构:

MAC Header后面就是A-MPDU subframe,而A-MPDU subframe帧以Delimiter开头,意思是说,A-MPDU以Delimiter开始,以delimiter结束?至于结束时有没有Delimiter,还待定。
各个字段的含义:

2,11n协议规定,MPDU报文必须为四个字节的整数倍,所以MPDU结尾都有一个Pading来补足这个限制。
3,11n协议规定,A-MPDU报文长度不能大于65535字节。芯片中,A-MPDU传输是分片的,Fragment长度为2346个字节。
4,小报文发送频繁,为避免响应不及时,协议规定A-MPDU只能封装一个小于256字节的数据就必须发送。
5,每个MPDU都有对应的序列号,接收方根据MPDU的序列号发送BA。
6,A-MPDU既支持单播数据,也支持组播和多播。
2013-7-28 802.11n帧聚合的更多相关文章
- 自学Aruba1.3-WLAN一些基本常识802.11n速率计算方式、802.11n及802.11AC速率表
点击返回:自学Aruba之路 自学Aruba1.3-WLAN一些基本常识802.11n速率计算 1. 802.11n速率计算方式1.1 802.11n使用的主要技术 802.11n采用MIMO多天线技 ...
- 802.11n 连接的建议设置是什么?
这些是用于支持 802.11N 的英特尔无线适配器的默认设置. 这些建议采用的设置可以在英特尔® PROSet/ 无线软件的 高级菜单上找到. 属性 值 频带 2.4 的 802.11n 通道宽度 自 ...
- 自学Aruba1.2-WLAN一些基本常识802.11n速率计算方式、802.11n及802.11AC速率表
点击返回:自学Aruba之路 自学Aruba1.2-WLAN一些基本常识802.11n速率计算方式.802.11n及802.11AC速率表 1. 802.11n速率计算方式 以802.11g的54M最 ...
- 网络工程知识(二)VLAN的基础和配置:802.1q帧;Access、Trunk、Hybrid接口工作模式过程与配置;VLANIF的小实验
介绍-VLAN VLAN(Virtual Local Area Network)即虚拟局域网,工作在数据链路层. 交换机将通过:接口.MAC.基于子网.协议划分(IPv4和IPv6).基于策略的方式划 ...
- 用802.11n 加速,将android手机屏幕投影到win7电脑上
在做Android应用开发的时候,经常需要将已经完成的应用展示给一同开发的小伙伴,然而一直感觉没有找到一种十分方便的办法.特别是看到了开发IOS的小伙伴在做展示的时候的方便.因为Apple既做PC,也 ...
- 2013/8/28 JS+HTML 三级省市区联动
var mp = ["安徽","北京","福建","甘肃","广东","广西", ...
- http://www.cnblogs.com/Joyes1989/archive/2013/06/28/3161739.html centos 输入法安装切换
昨天装了一个centos 安装输入法的时候 让我有点纠结 全英文的 读不懂
- vs远程调试 转http://www.cnblogs.com/magicchaiy/archive/2013/05/28/3088274.html
远程调试应用场景 部署环境:ASP.NET(C#)+IIS+Win7 64 bit 很多公司的开发模式都是将开发机器和服务器分开,也就是开发一台机,服务器一台机.而测试人员会在服务器上录入测试数据,此 ...
- <2013 12 28> AOI PCB设计
主要设计指标: “3.多块拼板最大尺寸:60*50(CM)4. 检测速度:(230-250)片/小时 5.检测通过率:98%6.最窄线宽:设两种精度 A.最窄线宽:0.2mm, 识别精度 0.1mm ...
随机推荐
- 当前标识没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的写访问权限。
解决方案: PHP程序如果遇到这个问题,请将应用程序池.NET改成无托管代码
- C#阿里云移动推送列表
C#阿里云移动推送列表 这个就在上期随笔的基础之上,加一个 函数就行了. 简单的. 附上源码:一下代码只要把参数改一下就可以了,中间几个参数 可以灵活修改 /// <summary> ...
- python 安装包查看
pip freeze可以查看已经安装的python软件包和版本 pip list 也可以
- <NET CLR via c# 第4版>笔记 第19章 可空值类型
System.Nullable<T> 是结构. 19.1 C# 对可空值类型的支持 C# 允许用问号表示法来声明可空值类型,如: Int32? x = 5; Int32? y = null ...
- AngularJS----ngModelController
文档地址:https://docs.angularjs.org/api/ng/type/ngModel.NgModelController 首先声明:DOM value 与view value是完全不 ...
- java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart
最近在进行利用jfreechart生成图表时发现,项目在本地运行的好好的,一部署到服务器(linux系统)上就不行,报这样的错误: java.lang.NoClassDefFoundError: Co ...
- 拦截器interceptors
拦截器interceptors 1. 基于HandlerMapping,对请求实施拦截,根据业务需求,基于不同的HandlerMapping定义多个拦截器 2. HandlerInterceptor接 ...
- 15款Cocos2d-x游戏源码
(1)用cocos2d-x开发的中国象棋游戏源码 使用Cocos2d-X2.2.3开发的一款中国象棋游戏,游戏中可以实现.新局面.悔棋.游戏音乐.胜利后会显示游戏结果. 源码下载:http://www ...
- SWIFT中获取配置文件路径的方法
在项目中有时候要添加一些配置文件然后在程序中读取相应的配置信息,以下为本人整理的获取项目配置文件(.plist)路径的方法: 1.获取沙盒路径后再APPEND配置文件 func documentsDi ...
- TJU Problem 2520 Quicksum
注意: for (int i = 1; i <= aaa.length(); i++) 其中是“ i <= ",注意等号. 原题: 2520. Quicksum Time L ...