一种基于IEEE802.11ac协议标准的帧聚合实现算法

2019-10-18 02:57杨永鹏刘天琦杨真真
软件导刊 2019年9期

杨永鹏 刘天琦 杨真真

摘 要:如何提升IEEE 802.11ac无线局域网协议标准中的MAC层效率,进而提高无线局域网传输速率,是当前研究热点。提出一种基于IEEE 802.11ac协议标准新的帧聚合实现算法,该算法一方面根据系统动态速率算法选择的速率自适应地选取媒体访问控制服务数据单元聚合中的聚合帧个数,另一方面提出一种媒体访问控制协议数据单元聚合机制,该机制规定了聚合时机和聚合长度等;同时,针对由无线信道环境嘈杂性引起带宽下降导致丢包率上升的现象,引入AMPDU聚合情况下的带宽自适应机制。与现有IEEE 802.11ac聚合机制相比,该算法可提高数据帧发送吞吐率,同时又能在带宽下降时减少丢包率,增强数据发送鲁棒性。

关键词:聚合MAC服务数据单元;聚合MAC协议数据单元;带宽;保护间隔;吞吐率

DOI:10. 11907/rjdk. 191013 开放科学(资源服务)标识码(OSID):

中图分类号:TP393文献标识码:A 文章编号:1672-7800(2019)009-0192-04

A Frame Aggregation Implementation Algorithm Based on IEEE 802.11ac Protocol

YANG Yong-peng1, LIU Tian-qi1, YANG Zhen-zhen2

(1. College of Computer Science & Software Engineering, Nanjing Vocational College of Information Technology;

2. College of Science, Nanjing University of Posts and Telecommunications, Nanjing 210023, China)

Abstract: How to improve the efficiency of the MAC layer in the IEEE 802.11ac WLAN protocol standard and the transmission rate of the WLAN is a hot topic in current research. This paper proposes a new frame aggregation implementation algorithm based on the IEEE 802.11ac protocol standard. The algorithm adaptively selects the aggregation mac service data unit (AMSDU) based on the rate selected by the system dynamic rate algorithm; on the other hand, an aggregation mac protocol data unit (AMPDU) mechanism is proposed, which specifies the timing of the aggregation and the length of the aggregation, etc. The complexity of the wireless channel environment causes the bandwidth to drop and the packet loss rate increases. This paper also introduces the bandwidth adaptation mechanism in the case of AMPDU aggregation. Compared with the existing IEEE 802.11ac aggregation mechanism, the algorithm can improve the throughput of data frame transmission, and at the same time reduce the packet loss rate and increase the robustness of data transmission when the bandwidth is reduced.

Key Words: AMSDU; AMPDU; band width; guard interval; throughput rate

0 引言

隨着网络技术的蓬勃发展和信息化产业进程的加快,尤其是各种便携式设备的快速普及,使用户对计算机网络的要求越来越高。用户希望随时随地上网,而传统有线网络已不能满足该要求,因此IEEE 802.11标准协议下的WLAN技术应运而生;同时,随着无线网络技术的迅猛发展,为提高无线网络设备性能以满足用户需求,IEEE 802.11标准先后经历了IEEE 802.11a、b、g、n、ac等标准,并且随着标准的不断修改,许多新的PHY功能不断被引入以提高无线网络设备性能。例如IEEE 802.11ac中支持MU-MIMO技术,导频可对VHT-LTF进行相位追踪,还增加了两种调制与编码方式:MCS8(码率为3/4的256-QAM)、MCS9(码率为5/6的256-QAM)、更宽的带宽(11n支持最大帧带宽为40M,11ac支持最大带宽为160M)以及空间流数目(11n最大支持4条空间流,11ac最大支持8条空间流)等,PHY功能的加入极大提高了无线网络设备性能,但是随着PHY层数据速率的不断增加,其吞吐率增长变化不明显,这是由MAC层帧间隔和前导码造成的开销导致的,如果使无线网络设备吞吐率进一步提升,则必须提升MAC层效率,所以从IEEE 802.11n协议标准开始,引入了AMSDU和AMPDU的聚合机制[2-3]。

IEEE 802.11ac标准中并没有规定如何设计AMSDU和AMPDU聚合机制。目前,有诸多文献对该聚合算法进行研究。文献[3]提出增强型两级聚合算法,该算法根据当前误码率和子帧长度,动态计算AMSDU聚合长度和AMPDU聚合帧数,可提高MAC层传输效率,但是并没有考虑AMPDU聚合时机、AMPDU聚合帧长度以及环境因素导致降带宽、从而引起性能降低等问题。

本文主要针对IEEE 802.11ac[4]协议标准中的AMSDU和AMPDU,提出一种新的聚合算法,该算法规定一种基于动态速率选择的AMSDU聚合长度计算方法,明确了由于环境因素导致的降带宽情况下的处理方法,提出一种完整的帧聚合实现算法。实验结果表明,该机制既能够通过提高MAC层效率提高数据吞吐率,又能在降带宽的情况下,保证数据正确性和鲁棒性。

1 帧聚合机制

IEEE 802.11ac标准中的聚合机制按照聚合所处的位置,分为处于MAC顶端的AMSDU聚合[5]和处于MAC底端的AMPDU聚合[6-7]。

AMSDU聚合机制将网络协议上层传递下来的以太帧(MSDU)按照发送端、接收端和服务类别是否遵循同一个原则封装在一起,AMSDU封装过程如图1所示。其中,AMSDU支持的最大長度在IEEE 802.11ac标准的VHT能力描述中有所提及,值一般为3 839字节、7 935字节或  11 510字节。在块确认策略建立时决定是否支持AMSDU。从图1可以看出,多个MSDU封装在一起成为AMSDU聚合机制可以有效减少该数据帧在封装成IEEE 802.1数据帧时的数据帧头。

AMPDU聚合机制[8-9]将具有相同地址和服务类别的MPDU帧(将上层递交下来的MSDU或者AMSDU加上MPDU帧头)聚合在一起,并且在每个MPDU开始处加上一个32bit的短MPDU分隔符,之后,将AMPDU聚合帧封装成一个PPDU递交给PHY层。其封装格式如图2所示。

其中,AMPDU最大聚合长度也在IEEE 802.11ac标准的VHT能力描述中提到,值一般为8k、16k、32k、64k、128k、256k、512k、1024k等。其中,32bit的分隔符用于软件实现定界,防止在其中某个帧破坏的情况下,系统也可以通过分隔符提取下一个正常的MPDU,增强AMPDU稳健性。从图2可以看出,多个MPDU聚合成一个AMPDU也可减少在每个MPDU前加上对应PHY层前导致的开销。

由于AMPDU聚合的长度比AMSDU聚合长度大,所以与AMSDU相比,AMPDU对于MAC层性能提升效果更明显。一般情况下,AMSDU与AMPDU一起使用的效果并不会比单用AMPDU好,但是在传送大量短分组或者在PHY层速率很高的情况下,两种机制同时使用会增加聚合传输的数据量,增加无线数据吞吐率。本文主要依据无线网络系统中动态速率选择的实时使用速率决定AMSDU聚合长度。

2 帧聚合实现算法

随着IEEE 802.11标准无线网络通信协议的发展,提高无线网络设备吞吐率[10]成为研究热点,引入MAC层的AMPDU和AMSDU聚合机制可以有效提高MAC层传输效率,从而提高无线网络设备吞吐率。目前IEEE 802.11标准和相关文献中尚未对聚合机制作统一规定,本文针对该问题提出一种新的帧聚合算法系统框架,其基本算法系统框架如图3所示。

该系统第一步是AMSDU聚合机制,该机制主要功能是将从协议栈接收的以太帧按照某种规则聚合成AMSDU帧,并将AMSDU帧递交给AMPDU聚合模块。AMSDU聚合规则为发送端、接收端和服务类别是否为同一个,并且聚合长度由动态速率选择选取的速率决定,其基本算法流程如图4所示。

在AMSDU聚合算法中,分两种情况处理。一种情况为目前存在正在聚合的AMSDU帧,在这种情况下,需要将由协议栈新下发的MSDU帧聚合在AMSDU帧尾部;另一种情况为目前不存在正在聚合的AMSDU帧,需要创建一个新的AMSDU帧,并把由协议栈新下发的MSDU帧放在AMSDU的第一个位置。另种,两种情况的结束条件均为达到AMSDU可以聚合的最大长度。本文获取AMSDU可以聚合的最大长度是以动态速率选择算法选择的速率作为依据计算而来,其理论依据为选择发送速率比较大的情况下,数据吞吐率比较大,可支撑AMSDU聚合长度的能力相应提高,所以AMSDU可以聚合的最大长度与数据发送速率强相关,其中,该系统选择的动态速率选择算法是自适应动态速率反馈(Adaptive Auto Rate Feedback,AARF)算法[11-12],则AMSDU可以聚合的最大长度的算法如式1所示。

其中,[lamsdu]为AMSDU能够聚合的最大长度,MCS为调制编码机制(modulation and coding scheme,MCS),即帧发送选取的速率,[Nss]为空间流数目(number of spatial streams,NSS),即帧发送选取的空间流数目,1550bytes为以太网MTU值。

AMPDU聚合算法主要是将AMSDU帧进行聚合。首先,为保证AMPDU数据帧完整性,所以必须保证AMPDU帧在未结束聚合之前不能发送。在该情况下,如果发送的帧之间时间间隔较长,则会产生由于等待聚合导致的信道带宽浪费。针对该问题,本文引入帧聚合定时器,即当两帧发送时间间隔满足一定时间差则聚合;否则,不聚合。算法流程为:

步骤一:第i个AMSDU帧进入AMPDU聚合模块,记录当前时间[Ti];

步骤二:如果[(Ti-Ti-1)

其次,AMPDU聚合帧长度是由空间流数目(number of spatial streams,NSS)、带宽(band width, BW)、保护间隔(guard interval,GI)和特定通信类别的有界时段(transmit opportunity,TXOP)计算而来。其计算方法为:

其中,[lampdu]为AMPDU聚合最大长度,TXOP为特定通信类别的有界时段,[f(BW,GI,NSS)]为由BW、GI、NSS计算出的IEEE 802.11ac标准的PHY层速率。本文按照无线网络设备的最大能力计算AMPDU聚合长度,所以在计算IEEE 802.11标准速率时按照最大带宽计算,但是由于无线网络环境不稳定导致出现降带宽的情况,例如由原先160M的带宽[13-14]降到80M,甚至降到20M,在这种情况下,继续使用公式(2)会出现丢包。针对该问题,本文提出一种针对降带宽情况的解决方法,有效降低丢包率。其算法基本步骤如下所示:

步骤一:根据[f(BW,GI,NSS)]公式分别计算20M、40M、80M和160M带宽下的速率,并且用一维数组存储;

步骤二:AMPDU聚合时,按照最大带宽计算的长度聚合AMPDU,但是在20M、40M、80M和160M对应长度的帧处统一做标记;

步骤三:当系统出现降带宽,则记录当前带宽,并且将已经按照最大带宽聚合的AMPDU拆分成当前使用带宽对应长度的子AMPDU块,重新发送出去。

3 实验结果及分析

本文基于IEEE 802.11ac协议标准,提出了一种新的聚合实现算法,一方面提出一种基于动态速率标准的AMSDU聚合长度计算方法;另一方面引入帧聚合定时器控制AMPDU聚合,防止由于不合适的聚合导致性能浪费;最后,提出一种降带宽情况下的处理机制。为验证基于IEEE 802.11ac协议标准的新聚合实现算法在吞吐率和丢包率[15-16]方面的效果,对该系统进行仿真实验。

实验采用应用层网络性能测试工具IPERF,分为服务器端和客户端,实验中服务器端安装在设备处,作为AP进行数据发送。客户端安装在PC处,作为STA进行数据接收、吞吐量和丢包率统计。其中,设备为带有IEEE 802.11ac标准无线网络设备系统的FPGA单板,包括硬件、数字逻辑部分和软件驱动部分。其中,本文使用IPERF发送数据包的长度设置为1 500byte,空间流数目[17]为[2×2],物理带宽[18-19]为80M,保护间隔[20]为短保护间隔。另外,由于IPERF运行在应用层,所以统计速率为MAC层速率,根据MAC层与PHY层帧的开销比例,两者之间理论比例应约为90%。

为验证基于动态速率选择的AMSDU聚合(简记为动态速率聚合方法)长度有效性,本文分别进行了两个对比实验,一个为动态速率聚合对应的MAC层吞吐率统计,另一个为普通聚合方式MAC层吞吐率统计(简记为普通聚合方法),采用速率作为结果评价指标,其单位为Mbps。实验结果如表1所示。

从表1中可以看出,当IEEE802.11调试方式设置在MCS0-MCS5之间时,两种算法在MAC层的速率均可达到PHY层速率的90%,所以在低调制方式时两者区别不大,进一步验证了基于动态速率的AMSDU长度准确性。当IEEE802.11调试方式设置为MCS6-MCS9之间时,PHY层性可得到很大提高,此时MAC层效率成为性能瓶颈。从表1可以看出,本文提出的基于动态速率选择的AMSDU长度计算方法可极大提高MAC层效率。

另外,为了验证本文提出的降带宽功能测试,分别对带有和不带有降带宽功能进行实验,实验内容为使用其它商用无线网络设备对本设备进行定频段干扰,使本设备产生降带宽现象,并验证在两种情况下的丢包率和吞吐率。

从表2可以看出,无线网络设备在比较嘈杂的环境下,由于干扰较多导致实际使用的带宽并不能使用物理带宽,在这种情况下,需要在降带宽的同时,对已经按照物理带宽计算的AMPDU进行拆分,从而降低丢包率。从表2可以看出,该方法可明显降低降带宽情况下的丢包率。

4 结语

用户对网络性能要求日益提高,因此本文提出了一种基于IEEE802.11ac协议标准的新聚合实现系统,该系统实现了AMSDU和AMPDU两种聚合结合的策略。同时,该系统还提出一种基于动态速率选择的AMSDU长度计算方法,且在计算AMPDU聚合长度时引入定时器,降低由于AMPDU等待无效聚合请求导致的带宽浪费,而且引入降带宽情况下的丢包处理机制。实验结果表明,该系统即可实现AMSDU和AMPDU的合理聚合,解决在高调制方式下由于MAC性能瓶颈导致的性能下降,同时还可解决降带宽导致的丢包问题。

参考文献:

[1] SHARON O,ALPERT Y. Scheduling strategies and throughput optimization for the downlink for IEEE 802.11at and IEEE 802.11ac based networks[J]. Wireless Sensor Network,2018,2017(9):250-273.

[2] 王磊. IEEE 802.11幀聚合机制在NS-2平台上的仿真与实现[J]. 电子设计工程,2018(9):128-131.

[3] LIU J,YAO M,QIU Z. Enhanced two-level frame aggregation with optimized aggregation level for IEEE 802.11n WLANs[J]. IEEE Communications Letters, 2015,19(12):2254-2257.

[4] REZAEI S,GHARIB M,MOVAGHAR A. Throughput analysis of IEEE 802.11 multi-hop wireless networks with routing consideration: a general framework[DB/OL].https://arxiv.org/pdf/1802.00162.pdf.

[5] COMBES R,OK J,PROUTIERE A,et al. Optimal rate sampling in 802.11 systems: theory, design, and implementation[J]. IEEE Transactions on Mobile Computing, 2018,(99):1.

[6] SHARON O,ALPERT Y. MAC level throughput comparison: 802.11ax vs. 802.11ac[DB/OL]. https://arxiv.org/abs/1803.10189.

[7] 齐龙. IEEE802.11MAC层协议退避机制与帧聚合技术的研究与改进[D]. 南京:南京邮电大学,2015.

[8] 李文达. 基于IEEE802.11 Block ACK机制的链路自适应技术研究[D]. 南京:南京理工大学,2017.

[9] DENG D J,LIN Y P,YANG X,et al. IEEE 802.11ax: highly efficient WLANs for intelligent information infrastructure[J]. IEEE Communications Magazine, 2017, 55(12):52-59.

[10] KHOROV E,KIRYANOV A,LYAKHOV A. IEEE 802.11ax: how to build high efficiency WLANs[C]. Moscow:International Conference on Engineering & Telecommunication,2015.

[11] 张文平. 无线局域网IEEE802.11n高吞吐量MAC层关键技术研究[D]. 杭州:浙江大学,2007.

[12] 鲁伟. IEEE 802.11标准中MAC优化技术解析[J]. 信息网络安全, 2013(4):43-45.

[13] 祖马特. 帧聚合对IEEE802.11n吞吐量的影响[D]. 武汉:华中科技大学,2010.

[14] 刁小林. 基于IEEE802.11n协议的无线局域网MAC层关键技术研究与实现[D]. 重庆:重庆大学,2008.

[15] 朱建. 基于IEEE 802.11n的WI-FI路由器协议栈优化与实现[D]. 成都:电子科技大学,2014.

[16] 何蓉,方旭明,钟斌. 一种基于价格和效用的帧聚合策略[J]. 铁道学报,2011,33(11):46-50.

[17] 叶春燕. IEEE802.11n MAC層关键技术的研究及算法优化[D]. 哈尔滨:哈尔滨工业大学,2008.

[18] 崔立功. 高速无线局域网802.11n协议关键技术研究[D]. 济南:山东大学,2007.

[19] 侯丽俊. 无线局域网MAC层帧聚合技术的研究[D]. 西安:西安电子科技大学, 2013.

[20] 王轶欧. WLAN动态聚合阈值及聚合比例的帧聚合机制研究[D]. 成都:西南交通大学, 2015.

(责任编辑:江 艳)