一种wifi多用户环境性能提升方法及装置
技术领域
本发明属于无线通信领域,特别涉及一种wifi多用户环境性能提升方法及装置。
背景技术
近些年来随着个人数据通信的发展,为了实现使用户能够在任何时间、任何地点均能实现数据通信的目标,要求传统的计算机网络由有线向无线、由固定向移动、由单一业务向多媒体发展,由此无线局域网技术得到了快速的发展。除此之外,市场上各种各样的WiFi终端如笔记本电脑、PDA、双模手机、支持Wi-Fi的游戏机、即拍即传的数码相机如雨后春笋般涌现出来,同时价格越来越低,普及程度越来越高,也造就了最终用户对WLAN覆盖的迫切需求。
随着技术的发展,WLAN网络的规模越来越大、越来越复杂。无论是家庭、SOHO一族、还是各类大规模企业,WLAN网络已经是他们日常生活工作中必不可少的一部分。从而受到了运营商、行业用户和大企业越来越多的关注,同时,绝大多数用户已经无法忍受上网速度慢,时常掉线的无线网络环境,而是渴望得到可靠、卓越性能的WLAN服务。
在多用户的无线网络环境中,普遍存在如下5类问题:
1.上下行流量不均衡问题,大量STAs接入到单个AP上,由于STAs使用的应用程序大多是基于C/S模式的,下行流量总是较上行流量高出很多,但是由于ieee802.11的DCF机制,STAs与AP获得无线信道资源的机会是均等的,导致AP有较多的报文因无法获取到更多的信道占用机会而丢包问题。
2.无线传输环境的高误码率导致报文丢失,TCP性能降低问题,该协议把报文丢失的原因都归结为网络拥塞造成的,进而降低传输速率,在无线传输环境中,高误码率导致报文的随机丢失与拥塞并无关系,导致TCP性能骤降问题。
3.无线传输环境的竞争与冲突问题,STAs通过CSMA/CA机制竞争信道资源,大量STAs接入到AP时,竞争与冲突问题会很严重。
4.速率的差异与公平问题,在一种可能的无线网络环境中,不同的STAs可能会因为无线环境问题使用不同的速率来发送报文,若某些STAs认为无线网络环境质量差,使用较低的速率发送报文,这样会增加信道的使用时间。
5.AP侧聚合效率低问题,我们可以通过802.11n协议了解,为了提升11n用户的吞吐量,在无线链路层提供了一种多个无线帧打包一起发送的方法,这样可以减少对空中媒介竞争的次数,高效利用空中媒介,提高发送效率,但是如果每次打包的无线帧数量比较少的话,仍难以有较大吞吐量的提升;传统的AP无线驱动中发送聚合报文未考虑到报文按照周期突发的情况,假设下行的报文具有一定的时隙的突发性,每次从有线转到无线5个报文,间隔非常小的一段时间,又突发传输5个报文,那么AP传统无线驱动每次按照5个报文来聚合,这样就会无法充分利用其聚合能力,同时又需要时间重新竞争获取使用信道资源,在多用户环境下,这种问题会被加剧。
针对上述问题,目前有较多的性能优化方法,但主要集中在以下两种方案上:
1.当大量STAs接入到AP时,STAs会使用CSMA/CA机制来竞争信道资源,IEEE802.11MAC层中的分布式协调功能DCF使用随机退避机制来解决信道竞争问题,导致信道资源不能充分利用。特别是在高负载的网络系统中,信道带宽在碰撞状态下浪费严重。现有的解决方法对竞争窗口的退避算法进行优化,而后通过仿真方法验证性能,证明系统的吞吐量得到提高,延迟减少。
2.TCP协议是最常用的数据传输协议,但是该协议把报文丢失的原因都归结为网络拥塞造成的,进而降低传输速率,在无线传输环境中,高误码率导致报文的随机丢失与拥塞并无关系。现有的解决方法在无线网络中对TCP的拥塞算法进行优化,保证无线网络中数据传输质量,而后通过仿真方法验证性能,可以缓和发送速率的骤降,保证传输质量。
上述现有的方案仍存在以下缺陷:
1.现有的优化方案仅解决了某个问题点,或问题的子集,如优化退避算法,仅仅解决了无线传输环境的竞争与冲突问题;如针对无线网络环境的TCP拥塞算法优化,仅解决了TCP性能降低问题。
2.有些解决方案,需要同时修改STAs与AP侧的代码,可实施性差。
3.多数解决方法均使用仿真方法进行性能验证,在真实的网络环境中效果可能不够明显。
发明内容
鉴于现有技术的缺陷,本发明的目的在于解决以下5类问题:
1.上下行流量不均衡问题
2.无线传输环境的高误码率导致报文丢失,TCP性能降低问题
3.无线传输环境的竞争与冲突问题
4.速率的差异与公平问题
5.AP聚合效率低问题
根据本发明的一个方面,提供了一种wifi多用户环境性能提升方法,其特征在于包括步骤:
S1,设置AP下行报文发送队列;
S2,通过动态调整EDCA参数,根据AP下行报文发送队列深度,逐级给予AP相应的获取访问信道的能力,使得AP下行报文的发送优先级随AP下行报文发送队列深度单调递增。
优选的,其特征在于还包括步骤:
S3,按照用户在无线驱动中划分发送队列;
S4,维护一个根据用户队列划分的指数加权移动平均数模型信道占用时间表项,信道占用时间参数是根据发送报文长度、发送速率与TCP或UDP类型报文信道占用时间因子计算的;若报文类型为TCP,则需要预估出该报文与其对应回复报文共同占用时间,若报文类型为UDP,则只需预估出该报文发送时间,以区别对待两种类型报文;
S5,使用用户发送队列报文调度器根据无线驱动底层队列的可用状态,选择一个非空并且信道占用时间最短的用户队列取出报文,同时,为了保证流量低且信号质量差的用户网络的流畅,每次查找信道占用时间最短的用户队列时,都要看各个队列的第一个报文与当前时间差,若大于指定值,则同样需要将该队列报文出队;若多个用户发送队列报文均为最短信道占用时间,则采用轮转优先级方式将报文向无线驱动底层传递。
优选的,其特征在于还包括步骤:
S6,将下行server传递给STA的报文进行缓存,以备需要协助重传时使用;
S7,根据TCP传输原理,进行快速检测出是否存在丢包情况,并及时准确重传该报文;
S8,预估出网络中可用的带宽,并根据估计值确定拥塞避免窗口;
S9,监控无线驱动的发送队列深度,当达到满队情况时,模拟client向server发送拥塞通知消息,通知server以减缓AP下行发送报文的压力。
优选的,其特征在于还包括步骤:
S10,根据11n用户协商的最大聚合报文数量,设定一个最小聚合数量的阈值,若准备发给对应用户的聚合报文数量达到该阈值,则开始发送聚合报文;
S11,定期对比每个11n用户聚合报文中的最后一个报文入队时间与当前时间,若时间差值超过指定时间则发送聚合报文,而不论是否达到最小聚合数量阈值。
根据本发明的另一方面,提供了一种wifi多用户环境性能提升装置,其特征在于包括:
模块1,用于设置AP下行报文发送队列;
模块2,用于通过动态调整EDCA参数,根据AP下行报文发送队列深度,逐级给予AP相应的获取访问信道的能力,使得AP下行报文的发送优先级随AP下行报文发送队列深度单调递增。
优选的,其特征在于还包括:
模块3,用于按照用户在无线驱动中划分发送队列;
模块4,用于维护一个根据用户队列划分的指数加权移动平均数模型信道占用时间表项,信道占用时间参数是根据发送报文长度、发送速率与TCP或UDP类型报文信道占用时间因子计算的;若报文类型为TCP,则需要预估出该报文与其对应回复报文共同占用时间,若报文类型为UDP,则只需预估出该报文发送时间,以区别对待两种类型报文;
模块5,用于使用用户发送队列报文调度器根据无线驱动底层队列的可用状态,选择一个非空并且信道占用时间最短的用户队列取出报文,同时,为了保证流量低且信号质量差的用户网络的流畅,每次查找信道占用时间最短的用户队列时,都要看各个队列的第一个报文与当前时间差,若大于指定值,则同样需要将该队列报文出队;若多个用户发送队列报文均为最短信道占用时间,则采用轮转优先级方式将报文向无线驱动底层传递。
优选的,其特征在于还包括:
模块6,用于将下行server传递给STA的报文进行缓存,以备需要协助重传时使用;
模块7,用于根据TCP传输原理,进行快速检测出是否存在丢包情况,并及时准确重传该报文;
模块8,用于预估出网络中可用的带宽,并根据估计值确定拥塞避免窗口;
模块9,用于监控无线驱动的发送队列深度,当达到满队情况时,模拟client向server发送拥塞通知消息,通知server以减缓AP下行发送报文的压力。
优选的,其特征在于还包括:
模块10,用于根据11n用户协商的最大聚合报文数量,设定一个最小聚合数量的阈值,若准备发给对应用户的聚合报文数量达到该阈值,则开始发送聚合报文;
模块11,用于定期对比每个11n用户聚合报文中的最后一个报文入队时间与当前时间,若时间差值超过指定时间则发送聚合报文,而不论是否达到最小聚合数量阈值。
附图说明
图1是本发明实施例提供的一种wifi多用户环境性能提升方法框架图;
图2是本发明实施例动态调整AP发送优先级与用户信道占用时间公平两种方法的示意图;
图3是本发明实施例提供的一种改进的聚合方法示意图。
具体实施例
为了更加清楚的介绍本发明,以下结合附图,对本发明的具体实施例进行详细介绍。
本发明分四部分来解决无线网络中存在的5类多用户环境下性能瓶颈问题,各个模块在系统的位置中如附图1所示。
各个模块说明如下:
a.改进的TCP代理模块:可执行一种改进的TCP代理方法,从而减少TCP拥塞机会;
b.用户信道占用公平控制模块:可执行一种用户信道占用时间公平控制的方法,从而避免速率较低的用户占用较长时间的信道;
c.改进的聚合方法模块:区别于传统的聚合方法,可提高11n用户吞吐量;
d.动态调整发送优先级模块:可执行一种动态调整AP发送报文优先级的方法,从而增加AP发送报文机会。
通过上述四个模块,可解决现有技术存在的诸多问题,例如,总体上从AP的发送和接收两个流程上说明其处理过程:
a.在发送流程上,AP的TCP/IP协议层接收到需要向无线转发的报文,通过改进的TCP代理模块判断该报文协议类型是否为TCP类型,若不是则直接跳过该处理模块,若为该类型则先进入该模块处理;然后进入用户信道占用公平模块保证各个用户间流量的均衡,处理完成后,进入改进的聚合方法模块将各个用户报文聚合,最后通过动态调整发送优先级模块发送到空中。
b.在接收流程上,通过无线硬件将报文递交到无线驱动,走完无线驱动中的其他处理流程后,将该报文递交给改进的TCP代理模块,同样,该模块对报文类型进行检测,来决定是否需要进入该处理模块。
以下,对附图1所示的四个处理模块的详细工作过程进行介绍。
动态调整发送优先级模块:
为了解决上下行流量不对称问题与无线网络中竞争与冲突问题,我们使用一种动态调整AP发送报文优先级的方法。根据802.11e协议中的EDCA机制提供的四个参数CWmin最小竞争窗口、CWmax最大竞争窗口、AIFS仲裁帧间间隔、TXOP发送机会限制,根据无线网络的空闲与忙碌情况,动态调整以上四个参数,以使得在下行流量较大情况下,AP得到更多的信道使用机会,从而达到性能的提升,
具体方法如下,图2说明了该部分的工作方式:
i.给予AP下行发送报文机会大小需要根据当时AP的动态下行流量,而动态下行的流量可以根据瞬时的发送队列深度可以预计,发送队列的深度的上限为发送队列的最大长度,因此我们设计了动态调整发送优先级模块,首先,当发送队列深度为0时,报文应该有最低的发送优先级,并且当发送队列深度为最大发送队列长度时,报文应该有最高的发送优先级;其次,该模块的发送优先级应该为单调递增的伴随的发送队列深度的增加。
ii.通过动态调整EDCA参数(CWmin、CWmax、AIFS、TXOPLimit),根据下行吞吐量大小(AP发送队列深度),逐级给予AP相应的获取访问信道的能力,以满足下行流量需求。
用户信道占用公平控制模块:
为了解决速率差异与公平问题,我们使用一种用户信道占用时间公平控制的方法避免速率较低的用户占用较长时间的信道。根据用户数量为每一个用户创建一个发送报文队列,当网络栈有报文转入到无线驱动中时,首先分别进入属于各自的队列,使用一个调度器根据各个用户队列报文的信道占用时间发送报文,这样可以保证高速率的报文得到优先发送的机会,具体方法如下,图2说明了该部分的工作方式:
iii.按照用户在无线驱动中划分发送队列,队列长度不限;
iv.维护一个根据用户队列划分的指数加权移动平均数模型信道占用时间表项,信道占用时间参数是根据发送报文长度、发送速率与TCP或UDP类型报文信道占用时间因子计算的;若报文类型为TCP,则需要预估出该报文与其对应回复报文共同占用时间,若报文类型为UDP,则只需预估出该报文发送时间,以区别对待两种类型报文;
v.使用用户发送队列报文调度器根据无线驱动底层队列的可用状态,选择一个非空并且信道占用时间最短的用户队列取出报文,同时,为了保证流量低且信号质量差的用户网络的流畅,每次查找信道占用时间最短的用户队列时,都要看各个队列的第一个报文与当前时间差,若大于指定值,则同样需要将该队列报文出队;若多个用户发送队列报文均为最短信道占用时间,则采用轮转优先级方式将报文向无线驱动底层传递。
改进的TCP代理模块:
为了解决无线传输环境的高误码率导致报文丢失,TCP性能降低问题,我们使用一种改进的TCP代理方法减少TCP拥塞机会。根据无线环境的特殊性报文随机丢失,进而报文的重传,导致TCP性能下降问题,我们在AP侧的内核中实现TCP代理功能,具体方法如下:
vi.将下行server传递给STA的报文进行缓存,以备需要协助重传时使用;
vii.根据TCP传输原理,进行快速检测出是否存在丢包情况,并及时准确重传该报文;
viii.预估出网络中可用的带宽,并根据估计值确定拥塞避免窗口,从而最大限度的利用网络带宽。
ix.监控无线驱动的发送队列深度,当达到满队情况时,模拟client(STAs)向server发送拥塞通知消息通知server以减缓AP下行发送报文的压力。
改进的聚合方法模块:
为了解决多用户(11n用户)环境下AP聚合效率低问题,我们使用一种改进的聚合方法。具体方法如下,图3说明了该部分的工作方式:
x.根据11n用户协商的最大聚合报文数量,设定一个最小聚合数量的阈值,其例如可以为最大聚合报文数量的一半,若准备发给对应用户的聚合报文数量达到该阈值,则开始发送聚合报文,这样可以保证单次聚合效率。
xi.定期对比每个11n用户聚合报文中的最后一个报文入队时间与当前时间,若时间差值超过指定时间则发送聚合报文,不论是否达到最小聚合数量阈值,这样可以保证低流量情况下聚合报文的正常发送。
本发明通过在现实多用户环境中的测试,性能可提升40%-50%。
需要说明的是,以上实施例所列举的模块仅为示意性的,其功能可全部通过计算机程序的方式实现,因此,本发明同样包括相应的装置结构,其可通过与方法步骤对应的模块任意组合实现,这里不再赘述,其结构以权利要求的保护范围为准。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。