基于信道信息统计的WLAN速率自适应算法
2018-12-29李二兵徐伟强
李二兵,徐伟强
(浙江理工大学 信息学院,浙江 杭州 310018)
10.3969/j.issn.1003-3114.2018.01.11
李二兵,徐伟强.基于信道信息统计的WLAN速率自适应算法[J].无线电通信技术,2018,44(1):55-59.
[LI Erbing ,XU Weiqiang.A WLAN Rate Adaptive Algorithm Based on Channel Information Statistics[J].Radio Communications Technology,2018,44(1):55-59.]
基于信道信息统计的WLAN速率自适应算法
李二兵,徐伟强
(浙江理工大学 信息学院,浙江 杭州 310018)
随着802.11协议簇的新标准越来越多,调制编码方式也越来越多,速率越来越高。在不同的信道条件下,针对如何快速准确地获取发送速率来提高系统在不同条件下的适应能力,提出了一个新型实用基于信道信息统计的速率适应(RA)算法,称为ISRA。发送方在发送状态和探测状态来回切换,在信道条件不停地变化中根据探测速率的表现及时找到合适的发送速率,提供给发送状态使用。构建了一个用于探测时使用的二维速率探测表,在探测时,根据传输统计的更新决定探测的方向。在实际的硬件设备中实现了该算法,并将实验所获得的数据与现有的速率控制机制进行比较。实验证明此方案的信道适应能力明显优于内核默认的minstrel速率适应算法。
无线局域网;信道条件;速率适应;Ath9k
TP391.4
A
1003-3114(2018)01-55-5
2017-10-09
国家自然科学基金项目(61374020);中国博士后科学基金一等资助项目(20080440201)
AWLANRateAdaptiveAlgorithmBasedonChannelInformationStatistics
LI Erbing,XU Weiqiang
(School of Information Science and Technology,Zhejiang Sci-Tech University,Hangzhou 310018,China)
With new standards of 802.11 protocol cluster get more and more,the modulation and coding modes are becoming more and more,and the rate higher and higher.Under different channel conditions,a new practical rate-adaptive (RA) algorithm based on channel information statistics,which is called ISRA,is proposed to obtain the transmission rate continuously and accurately to improve the adaptability of the system under different conditions.The sender switches between transmission state and detection state,and when the channel condition is constantly changing,the appropriate transmission rate is found according to the performance of the detection rate,and is provided for use under transmission state.A two-dimensional rate detection list is used for probing,and the detection direction is determined according to the update of the transmission statistics.The algorithm is implemented in actual hardware device,and the data obtained by the experiment is compared with the existing rate control mechanism.Experiments show that this scheme is superior to the kernel's default minstrel rate adaptation algorithm in channel adaptability.
WLAN; channel condition; rate adaptation; Ath9k
0 引言
无线网络因其移动性的巨大优势,更容易部署、减少维护和配置成本。 例如,无线技术被广泛地应用在工业控制系统自动化[1]、医疗保健、生物医学系统[2]和智能机器人系统[3]。但是多数情况下信道条件在不停地动态变化,由于无线信道遭受不受控制的干扰、接收站的流动性和来自隐蔽站对信道资源的争夺,导致吞吐量性能比较差。如何及时调整数据发送速率来减少对系统性能的影响,成为研究的焦点。速率适应(RA)是802.11设备基础资源的管理问题,它的目标是在不同的环境下优化无线链路吞吐量。默认的内核minstrel算法在信道条件较好或者信道条件变化缓慢的情况下能够拥有很好的表现,在信道条件快速变化时表现却极剧降低。基于这个缺陷,对默认的速率适应算法进行了改进。高速无线网络要求一个基于时变信道条件的有效控制机制优化速率选择。在一些文献中,有一些RA算法专为最近的标准而设计,但是,其中许多测试的开展仅使用了网络模拟器NS-2。此外,目前这些提出的RA算法没有在实践中使用现有设备驱动,因为需要修改IEEE 802.11标准。
1 研究现状
对于WLAN,现有的RA算法是采用简单直观的规则找到最优的速率,但在信道条件快速变化中其表现非常迟缓并出现性能下降。那么,需要一个兼容802.11标准的算法来抵抗各种动态变化。本文设计了一个基于探测的WLAN实用速率控制算法,然后在实际使用的设备中使用Ath9k驱动程序,而且不需修改现有标准。新的速率适应将链路条件中的短暂和持续变化分类,然后控制短期和长期信道质量变化,不断智能监控传输历史并且探测可能胜过当前速率的新数据速率,通过有效的传输速率调整来快速适应这些变化。因此,它优化了无线链路上的吞吐量(或延迟)性能。
RA算法可以分为两类,第一类基于统计的算法(例如ARF[4]、AARF[5]、SampleRate[6]和ONOE[7])和第二类基于信号测量的算法(例如,CHARM[8]、RBAR[9]、OAR[10]和Goodput Analysis[11])。在文献[12]中,提出了一种使用混合方法收集的传输统计并测量接收信号强度信息(RSSI)提高网络多媒体性能的应用。一些RA的绩效评估算法出现在文献[13-14]中。
2 Atheros芯片组和Ath9k驱动程序
Ath9k是一个完全免费和开源的用于Atheros芯片组的Linux设备驱动程序,它是在802.11系列的WLAN卡进行操作。Ath9k驱动程序维护了一些FIFO(先进先出)队列。每当一个数据从网络层接收到,驱动程序添加适当的IEEE 802.11 MAC头与必要的信息并将数据包插入一个FIFO队列。在Ath9k中,Atheros 传输为每个帧指定4个重试系列(r0/c0,r1/c1,r2/c2,r3/c3)去准备发送,每对具有特定速率ri和最大传输尝试ci。因此,丢失的数据包以4个不同速率来传输直到成功或超过重试限制。每帧在(c0+c1+c2+c3)次不成功的传输尝试之后被丢弃。
3 ISRA算法设计与实现
ISRA算法由两部分组成,分别是统计信息更新和发送速率选择。前者是估计机制,用来估算信道质量;后者是响应机制,实现速率的自适应调节。本文算法采用‘S’型的速率调节方式,如图1所示,通过不断地在子集间和子集内来回切换搜索,选择出最佳的发送速率以获得吞吐量性能的最大化,当无线信道状况发生变化时,首先选择在同一个速率子集内进行向上/向下搜索,直到取得该区间内吞吐率性能的最大值;然后选择向右/向左切换到不同的速率子集进行搜索,判断是否存在更高吞吐率的发送速率。
图1 ISRA算法的速率调节示意图
3.1 二维速率探测表
本文提出一个实际的基于发送的算法,这是随着无线信道条件变化的自调整和快速响应。它是一个开环RA的算法不需要来自接收器的任何显式反馈,仅监视二进制ACK(隐式反馈),ISRA算法是通过速率组来实现对速率的管理。MCS_group是一个根据MCS(调制与编码策略)组成的长度为8的数组;rate_group是一个长度为8的数组,按照空间流数,是否支持SGI和使用的带宽分为不同速率,其配置顺序如表1所示。
表1 速率的分类
组号空间流数是否支持SGI带宽的选择20MHz/40MHz01否2012否2021是2032是2041否4052否4061是4072是40
在每个子集MCS中,速率按从低到高排序,这样就构成了二维的速率探测表rateProbeTable[MCS_group][Rate_group]。如图1所示,当需要探测的时候,从rateProbeTable选择需要探测的速率。
3.2 长期统计和短期统计
ISRA 算法保持当前信道对每个使用过的传输速率的统计(包括吞吐率、投递率、吞吐率与投递率的加权平均、PER)。在ISRA 算法中,收集发送方的统计数据分为两类以适应时变信道的特征。长期统计和短期统计通过监测的传输结果不断更新。长期统计维持适应的传输速率,保证这个吞吐量的长期最大化。其潜在的最佳速率通过观察在探测阶段的传输吞吐率与投递率的加权平均值来决定。短期统计用于控制传输速率应对瞬态变化来提高系统响应能力。无线链路通常表现多样,不遵循固定成败模式。在这种情况下,连续接收和丢失ACK帧反映出信道条件在短时间内快速改善和恶化。
3.3 probe()函数的设定
在单输入单输出(SISO)情况下,决定只是简单的一步步提升或降低,这可能导致过早的速率切换决定。然而,在MIMO技术的情况下,附加的发射天线可用于分集增益。probe()函数被定期调用,在可能的探测方向智能探测。探测速率根据多速率重试机制进行调整,图2显示了6个自定义的探测函数,每个函数执行不同的探测方向功能,对应于以下功能:Up_Probe()、Down_Probe()、Right_Probe()、Left_Probe()、Left_Up_Probe()和Right_Down_Probe()。分别代表向上探测、向下探测、向右探测、向左探测、向左上探测、向右下探测。
图2 不同的探测方向
3.4 探测速率的选择
探测速率的选择。在探测阶段,发送方设置2个连续的探测序列进入Probe状态,第一个序列被用于探测当前使用的空间流,其中数据的10%是在与max_tp_rate同一个MCS组的2个相邻速率发送的。因此多速率重试序列r1=Up_Probe()、r2=max_tp_rate、r3=Down_Probe();第二序列中的探测是基于目前使用的流的数量,10%的数据包在另一个窗口被发送在其他候选的速率;如果发送方只有一个空间流,向右进行高速率探测,调用的函数是Right_Probe()和Right_Down_Probe();否则,对于其他情况向左进行低速率探测,调用的函数是Left_Probe()和Left_Up_Probe();在探测期间,max_tp_rate保持在多速率重试序列中。在这2个探针序列之后,发送者返回Tx(发送)状态。每个速率发送完后调用minstrel_ht_update_caps()函数,对速率参数进行更新,对所有探测的5个速率的表现(吞吐率与投递率的加权平均)进行评估,得到最佳速率在二维速率探测表中的索引sample_idx。
3.5 发送速率的选择
速率选择由get_rate()功能控制,它决定了新的发送数据包的速率ri。在获得成功发送速率的sample_idx后,用这个速率与当前吞吐率最高的速率max_tp_rate进行比较,如果sample_idx速率大于max_tp_rate,sample_idx速率就会成为当前新的吞吐率最高的速率max_tp_rate,也就是接下来的发送速率,否则max_tp_rate不变。
3.6 ci的设定
在ISRA算法中,链路质量的短期变化由多速重试系列控制,长期的变化是通过操纵来改变ri的值。高速率在信道条件下降时可能导致额外重传。另一方面,低速率可能导致传输减少速度相当快。多速率重试系列在发送(Tx状态)和探测(Probe)期间使用。对于这2个状态可能不止一次尝试,不要第一次尝试失败就急于去降低速率,因为很可能这样的失败是由于碰撞引起的。因此,将c2设置为2,这意味着第一次和第二次尝试使用长期的速率在传播期间或保护期间的探测。同样,c1和c3重试限制设置为2个,以确保快速适应短期信道变化。其他子集间的速率探测也都是设置c为2。
ISRA方案中,对每个站长期的传输速度的minstrel_ht_rate_status根据发送方的状态。状态转换和使用功能如图3所示,发送方有2种状态,即Tx状态和Probe状态。在每一轮中,发送方周期性地移动在这2种状态之间并且不断地更新相关统计。发送方调整长期MCS,两个时期的统计重置,这意味着开始一个新的回合。
采用长期统计和短期统计相结合的方式,长期统计根据一段时间内对数据帧发送状态的统计来决定当前的发送速率,短期统计采用多速率重试机制。同时,发件方观察当前速率的传输结果。具体来说,根据监控PER来计算吞吐量。在实践中,TCP的平均碰撞率约为11%,因此PER值相比这个阈值较小时被忽略。长期传输速率调整后,下一个探测时间probe_interval被设置为默认周期60 ms。
图3 发送方的传输状态
4 系统验证与性能比较
本文在有无线干扰的实验室进行了性能验证,基于不同的信道条件,把ISRA算法与内核默认的minstrel算法进行了性能比较。
4.1 系统设置
在实验中使用Intel Core i3的cpu和内核版本为3.11.0-15的ubuntu 12.04操作系统。部署一个TDMA AP在带有英特尔酷睿i3的笔记本电脑上,其他4个笔记本电脑作为站。每个TDMA节点配备Atheros 系列的无线网卡,默认采用ISRA速率适应算法。网络拓扑实验模型如图4所示。
图4 网络拓扑实验模型
4.2 吞吐量性能比较
以minstrel算法作为参考,图5给出了不同速率适应算法的TCP吞吐量性能比较。所有的测试都是由站主动发起,并与网络连接点AP实现上层流量的通信。
图5(a)与图5(b)分别是minstrel方法的客户端与服务端,图5(c)与图5(d)分别是ISRA方法的客户端与服务端。在进行多次实验后,通过图5(a)与图5(c)、图5(b)与图5(d)的对比可以发现,相同的系统条件状况下,采用ISRA算法明显比minstrel算法吞吐量要高。图6给出的是在一个实验室环境中,每个站发出请求在不同速率算法条件下的最大吞吐量。
(a)Minstrel算法的客服端
(b)Minstrel算法的服务端
(c)ISRA算法的客服端
(d)ISRA算法的服务端图5 不同速率适应算法的TCP吞吐量性能比较
图6 2种速率适应算法性能上的比较
5 结束语
研究了无线局域网络速率自适应算法的改进问题,综合考虑了信道条件各种情况下的发送策略。首先介绍了内核默认的速率发送机制以及它的不足,然后提出了ISRA算法。一方面通过长期统计来提高系统稳定性,另一方面通过短期统计来提高系统的响应性。最后在Ath9k驱动中实现ISRA算法,在实验室中通过测量对比发现,ISRA算法比内核默认的minstrel算法在吞吐量性能上提高8%左右,表明了ISRA算法在速率控制上具有良好的性能。后续工作将会在链路调度的优先级上展开。
[1] Song J, Han S,Mok A,et al.Wireless HART: Applying Wireless Technology in Real-Time Industrial Process Control[C]∥ IEEE Real-Time and Embedded Technology and Applications Symposium.IEEE Computer Society,2008:377-386.
[2] Zhang W, Zhu X,Han S,et al.Design of a Network-based Mobile Gait Rehabilitation System[C]∥ IEEE International Conference on Robotics and Biomimetics.IEEE,2015:1773-1778.
[3] Han S, Mok A K,Meng J,et al.Architecture of a Cyberphysical Avatar[C]∥ ACM/IEEE International Conference on Cyber-Physical Systems.IEEE,2013:189-198.
[4] Kamerman A, Monteban L.WaveLAN®-II: a High-performance Wireless LAN for the Unlicensed Band[J].Bell Labs Technical Journal,2010,2(3):118-133.
[5] Lacage M, Manshaei M H,Turletti T.IEEE 802.11,Rate Adaptation: a Practical Approach[C]∥ ACM International Symposium on Modeling,Analysis and Simulation of Wireless and Mobile Systems.ACM,2004:126-134.
[6] Bicket J C.Bit-rate Selection in Wireless Networks[D].NewYork:Master’s Thesis Mit,2005.
[7] ONOE Rate Control[OL].Available: http:∥www.madwifi.org/browser/madwifi/trunk/ath_rate/onoe.
[8] Judd G, Wang X,Steenkiste P.Low-overhead Channel-aware Rate Adaptation[C]∥Proceedings of the 6th International Conference on Mobile Systems,Applications,and Services,New York,USA,2008: 118-131.
[9] Holland G, Vaidya N,Bahl P.A Rate-adaptive MAC Protocol for Multi-Hop Wireless Networks[C]∥ ACM,2001:236-251.
[10] Sadeghi B, Kanodia V,Sabharwal A,et al.OAR: An Opportunistic Auto-Rate Media Access Protocol for Ad Hoc Networks[J].Wireless Networks,2005,11(1-2):39-53.
[11] Qiao D,Choi S,Shin K G.Goodput Analysis and Link Adaptation for IEEE 802.11 a Wireless LANs[J]. IEEE Transactions on Mobile Computing,2002,1(4): 278-292.
[12] Haratcherev I,Langendoen K,Lagendijk R,et al.Hybrid Rate Control for IEEE 802.11[C]∥Proceedings of Acm Mobiwac,2004:10-18.
[13] Pal S,Kundu S R,Basu K,et al.IEEE 802.11 Rate Control Algorithms: Experimentation and Performance Evaluation in Infrastructure Mode[C]∥ Digital Information,Networking,and Wireless Communications (DINWC),International Conference on.IEEE,2008:105-108.
[14] Yang Y,Marina M,Bagrodia R.Experimental Evaluation of Application Performance with 802.11 PHY Rate Adaptation Mechanisms in Diverse Environments[C]∥ Wireless Communications and Networking Conference,WCNC.IEEE,2006:2273-2278.
李二兵( 1991—) ,男,硕士研究生,主要研究方向: 物联网应用与开发;
徐伟强( 1975—) ,男,教授,硕士生导师,主要研究方向:物联网、无线传感网络、通信网络的分布式优化与控制等, 承担国家自然科学基金资助项目(No.61374020,No.61302076);浙江省自然科学基金资助项目(No.LR15F010002,No.Y17F010088)。