A-MSDU和A-MPDU——整理总结

 一、概述

帧聚合(Frame Aggregation)是802.11中为了提升传输效率的一种方式,自802.11n开始被引入。帧聚合是将多个无线帧组合成单个更长的无线帧传输,然后一次进行传输,以此来减少竞争开销,提高吞吐量,最终提高整体网络效率。

帧聚合分为A-MSDU和A-MPDU。

A-MSDU(Aggregate MAC Service Data Unit,聚合MAC服务数据单元)。 A-MSDU 聚合,将多个 MAC 级业务数据单元 (MSDU) 聚合到单个 MPDU 中。

A-MPDU(Aggregate MAC Protocol Data Unit ,聚合MAC协议数据单元)。 A-MPDU 聚合,将多个 MAC 级协议数据单元 (MPDU) 聚合到单个 PHY 协议数据单元 (PPDU) 中。

MSDU是Ethernet报文,本质是802.11数据帧的第3-7层有效载荷(即Payload),一般MSDU的最大size是2304(不含加密信息部分)。

MPDU是MSDU经过添加完整性校验MIC、分帧、省电模式下报文缓存、加密、序列号赋值、CRC校验、MAC头之后成为MPDU,MPDU就是指的经过802.11协议封装过的数据帧。

二、聚合细节

A-MSDU聚合技术是指把多个包含有相同TID(流量标识符)和地址等符合A-MSDU聚合规则的MSDU通过一定的方式聚合成一个较大的载荷。旨在将若干个A-MSDU Subframe按照802.11协议格式,封装成一个MPDU报文单元,即A_MPDU Subframe。

将若干个A_MSDU Subframe报文聚合,然后打上PHY标头进行传输。

802.11协议定义了“基本A-MSDU子帧”,“短A-MSDU子帧”和“动态A-MSDU子帧”三种格式。

1、基本A-MSDU子帧格式

2、短A-MSDU子帧格式

3、动态A-MSDU子帧格式

A-MPDU聚合技术是指的按照802.11协议封装后的若干个A_MPDUSubframe报文的聚合,将其聚合后打上PHY标头进行传输。

一个A-MPDU由多个A-MPDU子帧所构成。每个A-MPDU子帧由MPDU Delimiter(MPDU分界符)和MPDU实体组成。对于一个A-MPDU,除了最后一个子帧外,其余子帧都会有0-3个字节的填充字段,使子帧长度变为4字节的整数倍。如下图:

EOF:指示帧的结束。

Reserved:保留位。

MPDU Length:表示MPDU的长度。如为0,表示MPDU不存在,用于填充。

CRC:循环冗余检验算法,对前16bit进行校验。

Delimiter Signature:界定符标记,用于发现确定其是MPDU的界定符。固定填充为“0x4E”。

下面是两层聚合的示意图:

IEEE802系列标准把

数据链路层分成两个子层LLC(逻辑链路控制,Logical Link Control)和MAC(介质访问控制,Media Access Control)。 上面的LLC子层实现数据链路层与硬件无关的功能,比如流量控制、差错恢复等;较低的MAC子层提供LLC和物理层之间的接口。

物理层也分为两个子层:PLCP(物理层汇聚过程,Physical Layer Convergence Procedure)和PMD(物理媒介相关,Physical Medium Dependent)。上面的子层PLCP负责在传送之前进行与物理层相关的成帧操作;较低的PMD子层负责帧的实际传送。

下图是无线报文发送的基本流程:

注:

对于A-MSDU,如果整帧中有部分子帧出错,则整帧需要重新传。而A-MPDU则只需要重传出错的那部分子帧。

不是所有的帧都能被聚合,广播和多播帧不能被聚合,只有单播帧且接收地址相同和QoS优先级相同的帧才能被聚合。

但在802.11ax之后A-MPDU便不要求QoS优先级相同,802.11ax引入多流量标识符(Multi-Traffic Identifier,Multi-TID)的A-MPDU,其允许来自相同或不同QoS接入类别流量进行聚合,其通过TID进行识别。通过组合不同QoS流量类别的MPDU,其能更有效的让802.11ax终端进行聚合传输,减少竞争开销,提高吞吐量,最终提高整体网络效率。

三、Block ACK

为保证数据传输的可靠性,802.11协议规定每收到一个单播数据帧都必须立即回应ACK。A-MPDU的接收端在收到A-MPDU后,需要对每一个MPDU进行处理,发送应答。

当节点接收到聚合帧后,采用块ACK(Block ACK)的形式进行反馈。Block ACK通过使用一个ACK来完成对多个MPDU的应答,从而减少信道竞争所消耗的时间, 提高了系统吞吐量。

(a)Setup:传输初始化。 通过ADDBA Request/Response帧的握手,协商建立Block ACK协定。

(b)Data & Block Ack:数据传输。 协商完成后,发送方可以发送有限多个QoS数据报文,接收方会保留这些数据报文的接收状态,待收到发送方的BlockAckReq报文后,接收方则回应BlockAck报文来对之前接收到的多个报文一次性回复。

(c)Teardown:传输结束。 通过DELBA Request报文来删除一个已经建立的Block Ack协定。

对于Bock Ack的确认分为即时确认和延时确认。即时确认一般由硬件完成,延时确认一般由协议栈完成,通过Block Ack的确认配合帧聚合的使用可以大大提高无线传输中的吞吐量。

四、参考

FAQ-802.11n的两种帧聚合技术MSDU和MPDU的工作原理是什么- 华为

A-MPDU与A-MSDU各是什么意思_ampdu是什么意思-CSDN博客

802.11协议笔记(一)——基本概念_802.11be协议-CSDN博客

MSDU/MPDU/AMSDU/AMPDU基本概念:pre 11ax-CSDN博客

初探802.11协议(2)——帧聚合(Frame Aggregation)/BA(Block Ack)_802.11 block ack-CSDN博客

WLAN帧聚合 - sudochen - 博客园

A-MPDU 碎碎念

第二十五节:通信之WLAN(WiFi聚合)-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值