在信道的竞争中所产生的冲突,以及为解决冲突而引入的退避机制都大大降低了系统的吞吐量。802.11n为了解决MAC层的这两个问题,采用了帧聚合(Frame Aggregation)技术和Block Acknowledgement机制。
帧聚合技术又包含针对MSDU的聚合(A-MSDU)和针对MPDU的聚合(A-MPDU):
Aggregation MSDU:聚合MAC服务数据单元(Aggregation Mac Service Data Unit)
A-MSDU技术是指把多个MSDU通过一定的方式聚合成一个较大的载荷。这里的MSDU可以认为是Ethernet报文。通常,当AP或无线客户端从协议栈收到报文(MSDU)时,会打上Ethernet报文头,这里我们称之为A-MSDUSubframe;而在通过射频口发送出去前,需要逐一将其转换成802.11报文格式。而A-MSDU技术旨在将若干个A-MSDU Subframe聚合到一起,并封装为一个802.11报文进行发送。从而减少了发送每一个802.11报文所需的PLCP Preamble、PLCP Header和802.11MAC头的开销,同时减少了应答帧的数量,提高了报文发送的效率。
下图是802.11 data frame, 由802.11 MAC Header+2个A-MSDU Sub Frame 组成.
802.11 MAC Header的Qos Control Filed可以看出来下面的payload 为A-MSDU.
A-MSDU Sub Frame由Sub Frame Header+LLC Header+Payload 组成
Aggregation MPDU:聚合MAC协议数据单元(Aggregation Mac Protocol Data Unit)
与A-MSDU不同的是,A-MPDU聚合的是经过802.11报文封装后的MPDU,这里的MPDU是指经过802.11封装过的数据帧。
A-MPDU需要结合Block Acknowledgement技术,802.11发送设备通过连续发送若干个MPDU(个数要少于BA的buffer size),
802.11接收设备只需回复一个Block ACK,从而减少信道竞争所消耗的时间, 提高了系统吞吐量.
下图为A-MPDU, 最后一次发送端传送三个TCP Packet, 接收端只需回复一个802.11 ACK