《电子技术应用》

密集WiFi网络环境网络分配矢量优化与性能分析

2017年电子技术应用第9期 作者:何明泰,李 可,刘 恒
2017/10/17 11:42:00

何明泰,李  可,刘  恒

(西南交通大学 信息科学与技术学院,四川 成都611756)


    摘  要: IEEE 802.11协议利用RTS/CTS帧交换来设置设备的网络分配矢量(NAV)。现有NAV方案未考虑密集部署场景,可能存在误清除的情况。提出一种简便可行的可计数NAV(C-NAV)设置方案,通过统计NAV设置信息的个数并进行实时更新以防止误清除,从而更有效地利用传输机会。对所提C-NAV方案进行了理论分析和仿真验证,证明在密集部署WiFi场景中,该方案能有效避免现有设置方案NAV时长浪费和错误清除等问题,提升网络的整体吞吐量。

    关键词: 网络分配矢量;密集部署场景;传输机会;重叠的基础服务集

    中图分类号: TN925.93

    文献标识码: A

    DOI:10.16157/j.issn.0258-7998.170232


    中文引用格式: 何明泰,李可,刘恒. 密集WiFi网络环境网络分配矢量优化与性能分析[J].电子技术应用,2017,43(9):106-110.

    英文引用格式: He Mingtai,Li Ke,Liu Heng. Optimized network allocation vector setting and performance analysis in dense WiFi networks[J].Application of Electronic Technique,2017,43(9):106-110.

0 引言

    随着无线网络技术的快速发展,移动终端和智能设备的数量迅猛增长,使无线网络环境变得越来越拥挤。尤其在WiFi网络热点处,已经出现了诸如容易掉线、网速差等现象,严重影响用户体验。同时,人们对无线网络性能的要求却越来越高。为了满足用户需求,在下一代无线网络中,接入点(Access Point,AP)将会部署得越来越密集,最终形成一种新的网络形式——密集型WiFi网络。密集型WiFi网络是指场景中任意一个基础服务集(Basic Service Set,BSS)都有3个以上的重叠的基础服务集(Overlapping BSS,OBSS),即AP所拥有的邻居AP数远多于3个的无线网络[1]

    在WiFi网络中,为避免因距离远而不能感知正在通信的终端的存在,802.11协议提出了虚拟载波侦听机制,利用请求发送帧和清除发送帧(Request To Send/Clear To Send,RTS/CTS)交换来设置终端的网络分配矢量(Network Allocation Vector,NAV)。即在开始发送数据前,先发送RTS和CTS帧,这两个帧都含有NAV设置的信息,所有接收到这两个帧的终端根据协议判断是否需要设置NAV。

    传统的NAV设置方案大多以传输机会(Transmission Opportunity,TXOP)来设置,设置的时间一般较长,这意味着会浪费较多的信道利用机会。而现有改进的NAV设置方案虽然能够克服时长浪费的问题,但在密集型WiFi网络环境下仍然存在误清除的情况。误清除可能会造成终端过早接入信道,与正在通信的终端发生碰撞,从而影响网络整体吞吐量。因此,提出一个适用于密集型WiFi网络场景的NAV方案就成了解决碰撞和时长浪费问题的关键。

    近年来,已有一些文献[2-9]提出了改进的NAV设置方案以提升系统性能。主要包括以下几个方面的内容:

    (1)基于传统的NAV设置方案进行改进以解决时长浪费的问题。例如文献[2]中提出的两层网络分配矢量方案(Two Level NAV,TLNAV)。该方案是通过用块确认帧/块确认请求帧(Block Acknowledge/Block Acknowledge Request,BA/BAR)中的保留字段携带最后一帧信息来清除冗余的NAV设置,以解决因多用户MIMO(Multiple Users Multiple Input Multiple Output,MU-MIMO)给系统带来的TXOP时长浪费问题。此方案没有考虑密集场景的情况,仍有可能无法避免干扰,甚至造成干扰加剧。文献[3]中通过两级载波侦听机制OBNAV(Overlapping BSS NAV)和SBNAV(Self BSS NAV)来解决OBSS的干扰问题,但保持多个NAV的方式需要传输更多的帧[4],会增加额外的通信开销。

    (2)根据STA传输的业务类型[5]和数据包[7]不同、或使用的协议类型[6]不同来设置不同的NAV。文献[5]根据终端传送的是数据还是语音信息来设置对应的NAV值。语音信息则设置较短的NAV值,而数据信息则多加一个优先接入时长作为其NAV值。文献[6]通过对使用802.11g的高速STA设置较短的NAV值,保证高速STA的吞吐量不低于使用802.11b的低速STA的吞吐量,确保系统整体吞吐量不受相同的NAV设置策略的影响,解决了不同协议类型的STA的共存问题。文献[7]通过仿真比较了传输每一个数据包独立设置NAV和传输多个数据包一次设置NAV的吞吐量差异,并证明在没有NAV清除机制的情况下,传输每一个包独立设置NAV的吞吐量优于多个包一次设置NAV。但分类设置要求AP对其关联的每一个STA都进行分类管理,增加了系统管理的复杂度。

    (3)通过改进RTS/CTS发送机制来减少无用的NAV设置。文献[8]采用一种替代RTS/CTS的机制——带冲突避免的媒质接入(Media Access with Collision Avoidance,MACA)机制。该机制实质上是缩短了NAV的时长,减少了时长浪费,但是该方案需改变现有的RTS/CTS机制。文献[9]提出一种由发送端主动发送 “取消”帧来清除无用的NAV设置的方案,以减少不合理的NAV设置带来的时长浪费问题。由于每个“取消”帧仅对一个STA的NAV进行清除,当存在多用户时,特别是在MU-MIMO场景下仍然存在时长浪费的现象。

    综上所述,现有NAV设置方案并不适用于密集WiFi网络场景,目前针对密集WiFi场景的NAV设置方案的研究还存在不足。因此本文提出了一种可计数的网络分配矢量(Countable-NAV,C-NAV)方案,以解决密集WiFi网络场景带来的时长浪费和误清除问题。通过理论分析和仿真结果证明:该方案能有效避免传统NAV设置带来的时长浪费和已有改进设置方案可能带来的NAV错误清除,从而提升了网络的整体吞吐量。

1 NAV设置的问题和C-NAV方案设计

    在密集场景下,一个终端(AP或STA)在一段时间内会接收到多个NAV设置信息,当终端上电后接收到第一个NAV信息,自然将其作为NAV值设置。在收到第二个NAV信息时,终端将新的NAV值与其剩余NAV时长比较,若新NAV值长于终端的剩余NAV时长,则更新其NAV值为新的NAV时长。当AP与STA之间完成数据传输,按照传统的NAV设置方式AP会广播CF-End(Contention Free-End)帧来清除剩余时长,但是此方式可能造成TXOP时长浪费的问题。

    如图1所示,4个AP的覆盖范围相互都有重叠。现以STA4为例做进一步说明,当AP1、AP2、AP3分别向STA1、STA2、STA3发送数据包,STA4会分别收到来自STA1、STA2、STA3的NAV设置信息。假设STA4最先收到STA1的NAV设置信息,则STA4以STA1的NAV设置信息中的时长值作为其NAV值。当接收到STA2和STA3的NAV设置信息后,STA4会将其与当前的NAV剩余时长比较,判断是否需要更新其NAV值。一旦AP1与STA1,或AP2与STA2,或AP3与STA3完成数据发送,各AP广播CF-End帧,接收到CF-End帧的STA就会清除剩余TXOP时长。然而STA4不在AP1、AP2和AP3的覆盖范围内,会因收不到CF-End帧而不能清除TXOP剩余时长,从而造成STA4传输机会的浪费。

tx4-t1.gif

    为了解决这个的问题,AP1、AP2、AP3可在BAR帧的保留字段中设置最后一帧信息,同时相应的STA响应BAR时,在BA帧的保留字段中也设置最后一帧信息,STA4就可以根据收到的BA帧来清除剩余TXOP时长[2]。但这种方法仍有可能导致TXOP剩余时长被误清除。从图2中STA4的NAV设置情况可以看出,AP1与STA1最先完成数据传输,并传输携带最后一帧信息的BAR和BA帧。若STA4接收到携带最后一帧信息的BA时清除TXOP剩余时长,而此时STA2和STA3还没有完成数据传输,若STA4清除了NAV并与AP4进行数据传输,必然会对STA2和STA3造成干扰。

tx4-t2.gif

    基于上述原因,本文在文献[2]基础上提出C-NAV方案。方案在BA和BAR携带最后一帧信息的同时,增加了一个NAV设置个数的统计计数器。计数器的值表示当前状态下已收到设置信息但未收到清除信息的NAV的个数,初始值为0。当STA在接收到一个NAV信息时,无论更新与否都要对NAV信息个数进行统计,计数器值递增。当STA接收到携带最后一帧信息的BA或BAR时,计数器递减,当收到携带最后一帧信息的BA或BAR且计数器减至零时,清除TXOP剩余时长。

    下面用图2来详细说明C-NAV方案:

    (1)STA4收到第一个NAV设置信息(来自STA1),设置其NAV值,且计数器加1。

    (2)当收到一个新的NAV设置信息时(来自STA2)计数器加1。并比较剩余NAV与新NAV的时长,若新NAV大于剩余NAV时长,则更新NAV值为新的NAV值,否则不更新。

    (3)收到第3个NAV设置信息时,同步骤(2)的操作,STA4的计数器加1,计数器的值为3。

    (4)当AP1与STA1之间结束传输,AP1与STA1分别发送携带最后一帧信息的BAR和BA。STA4检测到STA1发送的携带最后一帧信息的BA,其计数器减1。

    (5)当STA4检测到STA3发送的携带最后一帧信息的BA时,计数器再减1。

    (6)STA4收到STA2发送过来的携带最后一帧信息的BA, 计数器减1。此时计数器值为0了,则清除TXOP剩余时长。

2 性能分析

    假设RTS、CTS、BAR、BA 4种帧在发送过程中都能成功发送并被周围的STA成功接收。设传输时延为δ,则在一个TXOP时长内这4种帧发送的总时长是固定的,将这个总时长记为T1。则: 

     tx4-gs1.gif

其中,G表示AP一次同时通信的STA个数,tSIFS表示一个SIFS间隔的时间(SIFS是RTS与CTS及BAR与BA之间响应的时间间隔)。

    假设第i帧发送完成的时间(即单帧服务时间)yi服从参数为λ的指数分布(其均值为1/λ),那么在一个TXOP时长内发送完成n帧的时间Yn=y1+y2+…+yn服从参数为(n,λ)的Erlang分布[10]。则TXOP内n个帧的平均帧发送时长为n/λ。

    冗余时间应该是NAV设置的时长减去发送固定帧的总时长(式(1))和发送数据包的时间,所以冗余时间Tr为:

tx4-gs2-6.gif

3 仿真设置及结果分析

    仿真场景设置:在一个热点区域内布有4个AP,位置坐标分别为(40 m,40 m)、(-40 m,40 m)、(40 m,-40 m)、(-40 m,-40 m)。每个AP的覆盖半径RAP=60 m。一个AP关联20个STA,每个STA的传输半径为40 m,这20个STA的位置可以在所关联的AP覆盖范围内服从均匀分布。

    基本的仿真参数设置由表1给出。图3分别给出了在发送数据帧n和每帧发送完成时间均值不同情况下产生的冗余时间概率密度分布,同时给出理论结果。从图3可以看出:(1)仿真计算的冗余时间概率密度分布曲线与理论计算曲线吻合,说明了仿真过程的正确性;(2)冗余时间随TXOP时长内发送的数据帧数n增加而减小,冗余时间小的概率就越大。这是因为TXOP时长是一段固定的时间,在这段时间内用于发送的数据帧的时间越多,冗余时间就越少,与实际情况相符合。

tx4-b1.gif

tx4-t3.gif

    图4给出了可清除无用NAV的终端数目M与发送数据帧n不同情况下的吞吐量概率密度分布,仿真中的参数设置与之前相同。从图4可以看出,随着可清除无用NAV的终端数目M增加,冗余时间也就越多,冗余时间内可发送的帧数也会增加。当可清除无用NAV的终端数目M相同的情况下,如果TXOP时长内发送的数据帧数n越少,那么TXOP剩余时长就越多,可利用的发送时长就也越多,网络整体吞吐量也会随之增加。

tx4-t4.gif

    图5是不同NAV更新次数下的各个STA数量,统计得到在密集无线网络场景下80%以上的STA会收到多个NAV设置信息。从图中可以看出随着AP所关联的STA数目增加,STA收到的NAV设置信息会越多,需要更新NAV的次数超过2次的STA个数也会随之增加。再者,AP的覆盖半径RAP的增大也会导致STA收到更多的NAV更新信息。这是由于AP的覆盖半径越大,则与其他AP的重叠覆盖区域就越大,处于AP重叠区域的STA的数目就越多。为了避免多个STA同时发送数据产生碰撞,能收到的NAV的更新信息越多,造成的误清除的可能性就越大。

tx4-t5.gif

    图6对比了本文提出的C-NAV方案和TLNAV方案的平均吞吐量。由图可以看出,平均吞吐量随冗余时间增加开始上升,到1.8 ms左右达到峰值,然后呈现下降的趋势。这是因为进行50 000次数据传输得到冗余时间约为1.8 ms的概率最大,在1.8 ms时刻叠加的吞吐量值也越大,这与图4中发送数据帧n为3和单帧服务时间均值为0.2 ms仿真结果的峰值点是一致的。而TLNAV方案的平均吞吐量峰值出现在2 ms附近,这主要是因为,C-NAV方案需要在计算器统计收到的携带最后一帧信息的BA/BAR递减到零时才能触发清除操作,实质上会造成清除NAV的可能性会有所降低,且在一定程度上推迟了清除的时间,相应地由清除操作得到的冗余时间也越短。也正因为这样才保证了无误清除。

tx4-t6.gif

4 结束语

    本文针对下一代密集WiFi网络场景提出了一种可计数的网络分配矢量方案C-NAV,通过统计NAV设置信息的个数与收到的携带最后一帧信息的BA/BAR的个数并进行实时更新以防止误清除,解决了密集WiFi网络场景带来的时长浪费和误清除问题。本文对C-NAV方案进行了理论分析和仿真验证,证明了方案的正确性,并能有效避免传统NAV设置带来的时长浪费和已有改进设置方案可能带来的NAV错误清除,从而提升了网络的整体吞吐量。

参考文献

[1] 武杨.密集型WIFI网络的干扰研究[D].北京:北京邮电大学,2013.

[2] 冀包峰,俞菲,黄永明,等.MAC层协作的VHT WLAN吞吐量增强方案及其性能研究[J].信号处理,2013,29(11):1446-1456.

[3] Fang Yue,Gu Daqing,MCDONALD A B,et al.A Two-level carrier sensing mechanism for overlapping BSS problem in WLAN[C].IEEE LANMAN Workshop,2005.

[4] IEEE P802.11-REVmcTM/D5.4.Draft standard for information technology—Telecommunications and information exchange between systems Local and metropolitan area networks—Specific requirements Part 11:Wireless LAN MediumAccess Control(MAC) and Physical Layer(PHY) Specifications[S].2016.

[5] Yu Yifan,Bai Yong,Chen Lan.NAV(Network Allocation Vector)-based differentiation mechanism for VoWLAN enhancement[C].IEEE Vehicular Technology Conference-Spring(VTC′08),2008:2198-2202.

[6] SHINTAKU T,KISHIDA A,IWABUCHI M,et al.Experi-mental evaluation of a grouping method employing network allocation vector based on IEEE802.11 wireless LAN[C].Proceedings of Asia-Pacific Micro wave Conference,2014.

[7] YANT J,ZHANGTT M,LITTT J,et al.Performance comparison of IEEE 802.11s EDCA based on different NAV settings[C].Communication Technology(ICCT),2010:755-758.

[8] SHIGEYASU T,HIRAKAWA T,MATSUNO H.Two simple modifications for improving IEEE802.11DCF throughput performance[C].WCNC 2004/IEEE Communications Society,2004.

[9] INOUE D,SHIGEYASU T,MATSUNO H,et al.A new MAC protocol for avoiding needless transmission deferment induced by missed RTS/CTS handshake[C].AINAW,2008:977-982.

[10] CHEN M.Stochastic process in information and communication engineering[M].Third edition.Beijing:Science Press,2009.

[11] PAPOULIS A,PILLAI S U.概率、随机变量与随机过程[M].保铮,冯大政,水鹏朗,译.西安:西安交通大学出版社,2012.

继续阅读>>