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既支持单播数据,也支持组播和多播。

原文地址:https://www.cnblogs.com/sun3596209/p/3221281.html