芯片开发阶段的帧聚合迥异于商用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帧聚合的更多相关文章

  1. 自学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多天线技 ...

  2. 802.11n 连接的建议设置是什么?

    这些是用于支持 802.11N 的英特尔无线适配器的默认设置. 这些建议采用的设置可以在英特尔® PROSet/ 无线软件的 高级菜单上找到. 属性 值 频带 2.4 的 802.11n 通道宽度 自 ...

  3. 自学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最 ...

  4. 网络工程知识(二)VLAN的基础和配置:802.1q帧;Access、Trunk、Hybrid接口工作模式过程与配置;VLANIF的小实验

    介绍-VLAN VLAN(Virtual Local Area Network)即虚拟局域网,工作在数据链路层. 交换机将通过:接口.MAC.基于子网.协议划分(IPv4和IPv6).基于策略的方式划 ...

  5. 用802.11n 加速,将android手机屏幕投影到win7电脑上

    在做Android应用开发的时候,经常需要将已经完成的应用展示给一同开发的小伙伴,然而一直感觉没有找到一种十分方便的办法.特别是看到了开发IOS的小伙伴在做展示的时候的方便.因为Apple既做PC,也 ...

  6. 2013/8/28 JS+HTML 三级省市区联动

    var mp = ["安徽","北京","福建","甘肃","广东","广西", ...

  7. http://www.cnblogs.com/Joyes1989/archive/2013/06/28/3161739.html centos 输入法安装切换

    昨天装了一个centos  安装输入法的时候  让我有点纠结  全英文的 读不懂

  8. vs远程调试 转http://www.cnblogs.com/magicchaiy/archive/2013/05/28/3088274.html

    远程调试应用场景 部署环境:ASP.NET(C#)+IIS+Win7 64 bit 很多公司的开发模式都是将开发机器和服务器分开,也就是开发一台机,服务器一台机.而测试人员会在服务器上录入测试数据,此 ...

  9. <2013 12 28> AOI PCB设计

    主要设计指标: “3.多块拼板最大尺寸:60*50(CM)4. 检测速度:(230-250)片/小时 5.检测通过率:98%6.最窄线宽:设两种精度 A.最窄线宽:0.2mm, 识别精度 0.1mm  ...

随机推荐

  1. jsonp 跨域2

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. asp.net文件压缩,下载,物理路径,相对路径,删除文件

    知识动手实践一次,就可以变成自己的了.不然一直是老师的,书本的. 这几天做了一个小小的项目,需要用到文件下载功能,期初想到只是单个的文件,后面想到如果很多文件怎么办?于是又想到文件压缩.几经波折实践, ...

  3. bzoj2662

    题解: spfa最短路径 dp[i][j]表示到i,用了j掌权 然后转移 代码: #include<bits/stdc++.h> using namespace std; ; int n, ...

  4. ssh的配置,ssh打开密钥登陆,关闭密码登陆。

    刚装玩fedora,那么我们就以fedora为例来说一下怎么配置: 1.先确认是否已安装ssh服务: [root@localhost ~]# rpm -qa | grep openssh-server ...

  5. 《Python》 代码块、小数据池和编码转换

    一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 什么是代码块:一个py文件,一个函数,一个文件,一个类都是一个代码块. 作为交互方式输入的每一行 ...

  6. C标准中一些预定义的宏,如__FILE__,__func__等

    C标准中一些预定义的宏 C标准中指定了一些预定义的宏,对于编程经常会用到.下面这个表中就是一些常常用到的预定义宏. 宏 意义 __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串 ...

  7. TCP三次握手与四次挥手详解

    目录 TCP三次握手与四次挥手详解 1.TCP报文格式 2.TCP三次握手 3.TCP四次挥手 4.为什么建立连接需要三次握手? 5.为什么断开连接需要四次挥手? 6.为什么TIME_WAIT状态还需 ...

  8. 多重条件判断SQL:用于用户名称,密码,权限的检测和判断

    string sqlstr = "select count(*) from tb_admin where 用户名='"+UserName+"'and 密码='" ...

  9. WebStrom 多项目展示及vuejs插件安装

    2. Vuejs 插件安装: ① ②

  10. POJ3669解题报告(bfs)

    POJ3669http://poj.org/problem?id=3669 很明显是一道bfs的题目 由于陨石的降临具有时刻性,所以地图是随时间变化的, 所以可以使用结构体来存储陨石下落的时刻以及位置 ...