在IEEE(美国电气和电子工程师协会)802.11中,发送方发送数据帧给接收方,在帧头FC(frame control,帧控制域)的QoS(服务质量)域中的ACKpolicy(确认策略)子域中,用“0”或“1”来标识是否需要接收方回复ACK(确认)消息,一般来说,这个子域是置为“1”的,表示接收方回复ACK给发送方,确认数据帧被完整的接收。2012年6月前标准下,ACK的完整帧结构如图1所示。
为了减少ACK回复的次数,也就是说发送方发送一次数据帧,接收方不用回复一次ACK帧,发送方可以发送多次数据帧后,接收方回复一次ACK帧,这就是802.11定义的BlockACK(Block Acknowledgment,块确认)机制,其MAC(媒介访问控制)帧部分定义格式如图2所示。
如图2所示,BlockACKstartingsequencecontrol(块确认开始序列控制)表示数据帧开始传输的序列号,BlockAckBitmap(块确认位图)是一个128字节长度的向量,由“0”、“1”组成,如果在Bitmap中的n设置为“0”,表示从开始序列开始加上n的这个数据帧没有被接收方收到,设置为“1”表示从开始序列开始加上n的这个数据帧被接收方收到。
在802.11新成立的工作组11ah中,为了让AP(Access Point,接入点)与STA(Station,终端/站点)更进一步省电,定义了新的ACK格式,称为ShortACK(短确认)帧,即用ShortACK中物理帧头中的SIG(信号)域来替代2012年6月前ACK中MAC帧的作用,具体格式如图3所示。
ShortACK的SIG域格式如下表所示:
SIG Field(信号域) |
Bits(位) |
Comments(注释) |
STBC |
1 |
Same as in llac |
Num SS |
2 |
Number of spatial streams fbr SU |
SGI |
1 |
Short Guard Interval |
Coding |
2 |
1st bit is coding type (LDPC/BCC), 2nd bit is for LDPC Nsym ambiguity |
MCS |
4 |
MCS (a reserved MCS value indicates special SIG fbr short Ack) |
Aggregation bit |
1 |
Signals use of AMPDU |
Length |
9 |
Length field(in symbols when aggregation is ON, is in bytes when aggregation is OFF, Mandate AMPDU for packet sizes>511bytes |
Ack Indication |
2 |
00: Ack; 01: BA; 10: No Ack; 11: reserved |
Reserved |
4(TBD) |
Some possible uses are MAC bits or any other new features etc. Details TBD |
CRC |
4 |
4 bits of CRC should be enough |
Tail |
6(TBD) |
Tail-biting can be explored |
Total |
36 |
Same applies to 2兆赫 SIG |
在这个表中,MCS、AckIndication、CRC和Tail的结构是已经被确定下来的,其余部分则是被重新定义的其它的一些域。
虽然在11ah中提出了短ACK的方案,便于STA与AP省电,但是并没有如何使用短ACK来实现BlockACK块确认帧做出定义,如果STA与AP要基于使用短ACK帧使用块确认帧机制,仅根据上述表格的定义是无法实现的。
因此,需要一种新的技术方案,可以使得无线网络中的接入点或终端在接收到发送方连续发送的数据帧后,利用压缩块确认消息帧作为返回给发送方的确认消息,通知发送方是否已完整接收其连续发送的数据帧,有利于保证收发双方节省电量。