APP下载

基于丢包区分的IEEE 802.11 MAC改进协议

2017-01-11周建存

关键词:重传误码区分

王 涛,雷 婷,周建存

(1.湖南城市学院,湖南 益阳 413000;2.成都工业学院,四川 成都 611730)

基于丢包区分的IEEE 802.11 MAC改进协议

王 涛1,雷 婷2,周建存1

(1.湖南城市学院,湖南 益阳 413000;2.成都工业学院,四川 成都 611730)

IEEE 802.11标准对于丢包的处理流程导致在出现丢包时性能下降。本文提出一种基于丢包区分的改进协议LD-MAC。该协议在对丢包原因进行区分的基础上,在冲突丢包时只进行指数退避,在弱信号丢包时只进行速率自适应调整,从而获得性能改进。实际实验结果验证了LD-MAC协议的性能提升。

802.11;WLAN;丢包区分;MAC协议

近年来,智能手机在我国得到普及。由于移动数据网络资费相对高昂,成本更低的 IEEE 802.11的无线局域网(Wireless Local Area Network,WLAN)技术成为人们使用智能手机时的首选接入技术。目前,在家庭、公共场所、公司等各种场所几乎普遍部署了无线接入点(Access Point,AP),WLAN的使用得到普及。但无线链路易受信号衰减或信号干扰等影响,WLAN往往会出现频繁丢包[1-2],需要多次重传数据,导致信道利用效率不高,性能下降。

IEEE 802.11 WLAN中主要有两类不同原因的误码可导致丢包。第一类是由于数据帧传输出现了冲突(collision)或无线信号受到干扰而产生的误码,可称为冲突丢包。第二类是由于接收端收到的信号太弱而导致的误码,可称为弱信号丢包。通常,WLAN中不同原因的丢包指示了不同的无线链路条件,对于不同误码原因产生的丢包,发送端应采取不同处理措施。但IEEE 802.11标准对此考虑不多。此外,IEEE 802.11标准虽制定了多种传输速率,但没有给出标准的RA算法或协议,可由厂商自行设计并实现。目前已提出多种RA算法,如ARF、AARF、SampleRate、CARA、RRAA以及ATBRA等。基本原理均是通过间接或直接的方法及时发现无线信道环境的变化以适应性地选择传输速率。类似思想亦被用于发送功率或数据帧长的自适应控制算法中[3]。这些算法的关键同样是需准确区分误码丢包的原因,但这些算法往往把丢包首先归结为是弱信号所导致。如应用广泛的ARF算法,连续两个数据帧没有收到 ACK就降低速率;直到连续十个数据帧收到了 ACK才提高速率;若接下来的第十一个数据帧没收到ACK,将再次降低速率。实际WLAN环境下的测量表明,由于不能准确区分误码丢包原因,ARF等算法多数性能不佳[4],且可能出现不必要且非常频繁的速率调整。

图1 LD-MAC发送端流程

图2 LD-MAC接收端流程

WLAN出现上述问题的原因在于没有对丢包原因进行区分,从而不能采取相应的措施来处理丢包事件。若能准确对丢包原因进行区分,将有助于发送端采取正确措施处理丢包事件。因此,为提高WLAN系统吞吐量,优化网络性能,本文提出一种802.11 MAC的改进协议LD-MAC。该协议在区分丢包原因基础上,对于不同误码原因产生的丢包,发送端应采取不同处理措施。出现冲突丢包时,发送端只运行二进制指数退避BEB算法,延迟一个随机时间后重传数据帧,而不触发速率自适应调整。出现弱信号丢包时,发送端直接根据系统的速率自适应调整算法,适当降低发送速率后重传数据帧,而不进入二进制指数退避阶段。该协议可降低WLAN丢包时的不必要数据重传开销,避免不必要的速率调整和指数退避,从而提高了WLAN吞吐量。仿真实验表明,与现有标准IEEE 802.11 MAC协议相比,LD-MAC协议提高了无线传输的吞吐量,并极大地减少了重传次数,提升了无线网络性能。

1 改进的LD-MAC协议

本节对改进的丢包区分MAC(LD-MAC)协议进行介绍。首先给出LD-MAC的整体框架,随后,对该协议中的丢包区分方法进行讨论,并给出了改进后速率自适应算法及指数退避算法流程。

1.1 整体框架

根据对IEEE 802.11 MAC协议标准的分析,为提高WLAN吞吐量,改善网络性能,在出现误码丢包时,发送端应对误码原因进行区分,并相应地进行速率自适应调整或指数退避;而为了支持发送端进行丢包区分,接收端也需要回送误码特征信息,故接收端无论是否丢包,均需向发送端回送 ACK帧。发送端的基本协议流程如图1所示。接收端的基本协议流程如图2所示。

若发送端需要发送数据帧时,进入图1所示流程。首先按照IEEE 802.11 MAC协议标准进行数据帧发送的初始化,之后发送数据帧,等待接收ACK帧。收到ACK帧后,对ACK帧类型进行判别,若是正常接收类型,则结束发送;若是误码丢包类型,则调用丢包原因区分算法,对丢包原因进行分析,若是冲突丢包,则调用退避算法调整退避参数后重新发送数据帧;若是弱信号丢包,则调用速率自适应算法对发送速率进行调整后重发数据帧。接收端启动后进入图2所示流程,首先按照IEEE 802.11 MAC协议标准进行数据帧接收的初始化,之后若收到数据帧则进行校验检查是否有误码。若无误码,则正常转发收到的数据帧,并回送正常接收 ACK帧;否则,则丢弃所收到的数据帧,并回送误码丢包ACK帧。为了进行丢包原因区分,所回送的误码丢包ACK帧需要包含误码信息,具体在下文进行了分析。

1.2 丢包区分算法

准确、快速的区分丢包原因是LD-MAC协议的基础。对此问题,通过前期研究发现接收端收到误码包末尾 1500比特所蕴含的误码特征可用于区分冲突丢包和弱信号丢包;若将接收端收到误码包末尾 1500比特与发送端原始包相应比特进行比较,计算误码特征,并计算接收信号强度RSSI及误差向量幅度(Error Vector Magnitude,EVM)指标,可在发送端准确区分丢包原因[5]。

此外,在前期研究[6]中,已测量分析了不同原因丢包的误码特征。因此在LD-MAC协议中,为进行丢包区分,接收端检查发现误码丢包时,在回送的误码丢包 ACK中包含所接收误码包末尾1500比特,以及RSSI和EVM。发送端收到误码丢包ACK后,计算误码率(BER)、符号误码率(EPS)以及S-Score等指标。这里,符号(Symbol)是指经物理层编码和调制后同时传输的比特序列,如正交频分复用(OFDM)技术中,若有48个子载波(sub-carry)传输数据,则符号为48比特的序列。EPS是误码包中所有出现误码的符号的平均误码率。记误码包中第i次连续出现的误码符号为Bi,表示误码符号个数,则S-Score是所有|Bi|的平方和。

在计算了误码特征指标后,采用贝叶斯分类算法进行丢包区分。

令C为表示丢包原因的类变量,则:

令属性变量X1,X2,X3,X4,X5分别表示误码包的RSSI、EVM及根据末尾1500比特计算的BER、EPS及S-Score,则由贝叶斯公式可得:

式(8)中,P()表示概率。设RSSI、BER、EPS及S-Score等属性均独立,则:

又由于P(X1,X2,X3,X4,X5)对任何C均为常数,则由式(8)可得:

则对任意给定的属性值x1,x2,x3,x4,x5,C的值为:

1.3 速率自适应算法

LD-MAC协议的速率自适应算法流程如图3所示。图3中,当出现传输丢包时,LD-MAC协议对丢包原因进行分析,若原因为弱信号丢包,则将传输速率降低一档,再重新传输。否则,将传输速率提升一档,继续发送数据帧。

1.4 指数退避算法

IEEE 802.11标准给出的退避算法规定,当发生传输丢包时,发送方将其竞争窗口(contention window,CW)大小翻倍,以减少冲突。这一做法是假定传输丢包是因冲突而引起。但对于弱信号丢包,这一做法将导致带宽浪费,传输延迟增大。为解决这一问题,在图1中,仅在冲突丢包时进行退避算法的处理。相应退避算法也需进行适当调整。修改后退避算法流程如图4所示。图4中,当出现传输丢包时,LD-MAC协议对丢包原因进行分析,若原因为冲突丢包,则将CW翻倍,再进行指数退避。否则,将CW设置为初值,继续发送数据帧。

图3 速率自适应算法

图4 退避算法

2 仿真实验

通过实际网络的实验对本文给出丢包区分准确度进行了实验分析,并将本文LD-MAC协议并与已有的MAC进行比较。实验环境如图5所示。

图5 测量实验环境

图5中,Tx1和Tx2为两台笔记本电脑,安装了Red Hat Linux操作系统,内核版本为2.6.26。实验需要对无线网卡驱动程序做少量改动,故选择了基于Atheros 5212芯片的无线网卡。该芯片使用较广泛,使得实验具有典型性。Linux平台下该芯片的驱动程序为开源的 Madwifi。实验需要修改Madwifi的硬件抽象层(Hardware Abstract Layer,HAL),但因为版权问题,HAL代码并不开源,而是提供的二进制文件。因此选择了开源的OpenHAL代替HAL模块来编译无线网卡驱动程序Madwifi。因为实验需对AP的无线网卡驱动进行修改,而通用AP修改较困难,故图5中以一台装有无线、以太双网卡的普通PC代替AP。PC位于Tx1、Tx2之间,其无线网卡选型及驱动程序与Tx1、Tx2相同,并配置为工作在AP模式。测量误码特征时,Tx1、Tx2工作于STA模式,即一般的客户模式,以指定速率发送数据帧;并记录每个数据帧的发送时间戳、帧内容及帧长。Tx1、Tx2与PC的距离稍远,但保证了单独发送时PC不会出现误码丢包,以避免信号衰减影响冲突信道特征的准确测量。为保证在PC有较高概率出现冲突,Tx1、Tx2关闭了BEB算法;且发送的是广播帧,以避免 PC对接收的帧响应ACK帧而影响实验。PC除充当AP外,亦工作于monitor模式。该模式下,PC将忽略CRC校验,无论数据帧正确与否,都会捕获下来。PC记录帧接收时间戳、帧内容及帧长、接收信号强度以及该帧是否应丢弃等信息。由于不同传输速率可能有不同信道特征,选择了最大的54Mbps,中等的24Mbps以及最低的6Mbps进行实验。此外,帧长也对信道特征有影响,实际802.11 WLAN流量典型的帧长度为100、1500字节,故实验时Tx1、Tx2是随机的发送这两种长度的广播帧。为避免其他802.11无线信号的干扰,实验在较空旷的操场进行,且每次实验前均测试是否存在其它同频的无线信号。

2.1 丢包区分准确度

LD-MAC 所采用的丢包区分方法与COLLIE[16]的评估结果如表1所示,表1中BeInf表示LD-MAC所采用的丢包区分方法。由表1可知,BeInf方法比COLLIE的丢包原因推断性能有较大提高。首先是准确性、假阳性率、假阴性率等衡量方法精度的指标得到较大改善。BeInf方法之所以能在这些指标上得到改善,是因为所使用的贝叶斯分类算法比 COLLIE所用的Metric-Vote策略更为适合对丢包原因进行统计意义的推断,且考虑了更多的推断指标。

表1 两种方法的评估结果

具体而言,由表1可知,BeInf方法的准确性较COLLIE有所改善,准确率ra提高了5.3%,假阳性率 rfp降低了 4.8%,假阴性率 rfn降低10.5%。rfp的降低意味着丢包原因为弱信号但被误判为冲突的误码包减少,因此发送端可减少等待不必要的指数退避时间,及时重传,提高信道利用效率;rfn的降低意味着丢包原因为冲突但被误判为弱信号的误码包减少,因此发送端可以避免更多不必要的、无效的以原速率重传,减少信道带宽浪费。故这两个指标的改善对提高WLAN的性能有重要作用。

图6 吞吐量性能比较

图7 重传比率比较

2.2 LD-MAC性能

图6给出了在不同距离下,在存在信号冲突的情况下,本文改进协议LD-MAC与标准协议(std-MAC)的吞吐量比较。由图6可知,LD-MAC协议的吞吐量比标准协议提高较多。特别是在近距离时,吞吐量提高明显。这是因为LD-MAC能够在出现丢包时,根据丢包原因来选择正确的处理措施。图7给出了在不同信号质量条件下,本文改进协议LD-MAC与标准协议(std-MAC)的数据帧重传比率的比较。由图7可知,LD-MAC协议的数据重传比率比标准协议大幅。这是因为LD-MAC协议通过丢包原因的区分,并采取正确处理措施,可避免大量不必要的数据重传。而数据重传的减少又使得LD-MAC吞吐量得到提升。

3 结论

IEEE 802.11标准对于丢包的处理流程存在当出现丢包时性能下降的问题。对此,本文给出了基于丢包区分的改进协议LD-MAC。该协议的基础是将丢包原因区分为冲突丢包和弱信号丢包两种情况。针对不同的情况,采用不同的处理措施,在冲突丢包时只进行指数退避,在弱信号丢包时只进行速率自适应调整,从而获得性能改进。实际实验结果验证了LD-MAC协议的性能提升。

[1].D.Aguayo,J.Bicket,S.Biswas,G.Judd,and R.Morris.Link-level Measurements from an 802.11b Mesh Network.In ACM SIGCOMM,2004

[2].M.Rodrig,C.Reis,R.Mahajan,D.Wetherall,and J.Zahorjan.Mea-surement-based Characterization of 802.11 in a Hotspot Setting.In ACM SIGCOMM E-WIND Workshop,2005

[3].习勇,魏急波,庄钊文.差错信道下IEEE 802.11 DCF最优帧长分析及信道自适应策略.通信学报,2006,27(5):84-89

[4].K.Ramachandran,H.Kremo,M.Gruteser,P.Spasojevic,I.Seskar,Scalability analysis of rate adaptation techniques in congested IEEE 802.11 networks:An orbit testbed comparative study,in:Proceedings of IEEE WoWMoM,2007,pp.1-12

[5].王涛,黎文伟,雷婷.一种基于误码特征的802.11 WLAN包丢失原因推断方法.中南大学学报-自然科学版,2014,45(5):1522-1531

[6].Rayanchu S.,Mishra A.,Agrawal D.,et al.Diagnosing wireless packet losses in 802.11:Seperating collision from weak signal.Proceedings of Infocom 2008,735-743

An Improved IEEE 802.11 MAC Protocol Based on Loss Distinguishing

WANG Tao1,LEI Ting2,ZHOU Jian-cun1
(1.Hunan City University,Hunan Yiyang 413000;2.Chengdu Technological University,Sichuan Chengdu 611730)

The process procedure for packet loss in 802.11 MAC standard induces performance deducing when faces packet losses.In this paper,an improved protocol based on loss distinguishing,LD-MAC is proposed for solving this problem.By distinguishing packet loss causes,this protocol only incurs exponential back-off when the loss cause is collision,and only incurs rate adaptation when the loss cause is weak signal,and then the transmitting performance is improved.The result from real experiments validates the effects of the LD-MAC protocol.

802.11;WLAN;loss distinguishing;MAC protocol

TP393

:A

10.3969/j.issn.1672-7304.2016.01.062

1672–7304(2016)01–0133–02

湖南省科技厅科技计划(2014FJ6068);湖南省教育厅科学研究项目(14C0211);湖南省教育厅科学研究优秀青年项目(15B044)。

(责任编辑:廖建勇)

王涛(1981-),男,湖南郴州人,副教授,研究方向:网络测试与网络优化。

猜你喜欢

重传误码区分
适应于WSN 的具有差错重传的轮询服务性能研究
ZPW-2000A电码化轨道电路误码问题分析及解决方案
无线网络中基于网络编码与Hash查找的广播重传研究
怎么区分天空中的“彩虹”
面向异构网络的多路径数据重传研究∗
一种基于CAN总线的误码测试方法
教你区分功和功率
怎祥区分天空中的“彩虹”(一)
多支路两跳PF协作系统的误码性能
一种基于散列邻域搜索网络编码的机会中继重传方法