MSDU (Mac service data unit) mac 服务层 数据单元, 也就是包含了 mac 层头和 FCS 的 802.11 包。
MPDU(Mac protocol data unit)mac 协议层数据单元, 这个包只是原始的802.11 数据包
在新的wifi 协议中有两种聚合方式 A-MSDU A-MPDU, 这两种方式结合BA 可以大大怎加传输效率。
BA, block ack
BA
AMPDU在设计上就比较健壮,中间某一个MPDU出现传输异常的时候通常不会影响后面正常传输的MPDU的接收,再配合BA就可以做到对聚合的每个MPDU进行确认应答,这样大大提升了系统效率。BA帧如下图所示:
Starting Sequence Number
用于指示位图中的第一个MPDU的序列号,比如上图中Starting Sequence Number是1944,那么位图中的第一个位对应序列号为1944的数据帧,第二个位对应序列号为1945的数据帧,以此类推。这样,发送方就可以通过检查块确认帧,来确定哪些数据帧需要重新发送。
Block Ack Bitmap
用于指示哪些数据帧已经被接收。这个位图中的每一位对应一个数据帧,如果某个数据帧已经被正确接收,那么相应的位就会被设置为1,否则为0。发送方可以通过检查这个位图,来确定哪些数据帧没有被接收,然后重新发送这些数据帧。这种机制可以大大提高无线网络的数据传输效率和可靠性。
如上图所示Blokc Ack Bitmap是全f,那么说明从序号为1944开始的64帧已经全部接收到了。
MSDU/MPDU/AMSDU/AMPDU基本概念:pre 11ax-CSDN博客
802.11 - BLOCK ACK_802.11 block ack-CSDN博客
802.11 AMPDU-CSDN博客