首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

无线Mesh网络中基于公平的EDCA算法

无线Mesh网络中基于公平的EDCA算法

随着网络技术的发展 和应用,用户对网络的移动性和可靠性要求越来越高,基于IEEE 802.11系列标准的无线Mesh网络近年来得到了快速、广泛的应用。在无线Mesh网络中,任何无线设备节点都可以同时作为接入点(AP)和路由器,网络中的每个节点都可以发送和接收信号,每个节点都可以与一个或者多个对等节点进行直接通信。但由于无线网络本身的特性和多种物理层传输技术的应用,合适的媒体接入控制MAC 协议对无线Mesh网络至关重要。
在无线Mesh 网络中应用的MAC 协议包括:CSMA/CA、DCF、PCF 等,为了在MAC 子层实现对不同业务流的QoS支持,IEEE 802.11e工作组在IEEE 802.11中DCF机制的基础上提出了增强分布式信道接入机制(Enhanced Distributed Channel Access,EDCA),使得无线Mesh网络可以更好地提供音频和视频业务的服务。

EDCA 将不同的业务流分为4 个不同的优先等级AC(Access Categories),每一个AC 对应一个队列,通过设置仲裁帧间间隔(Arbitration Interframe Space,AIFS)、最小竞争窗口值CWmin、最大竞争窗口CWmax和传输机会TXOP(Transmission Opportunity)4个 参数值实现不同业务流间的业务区分。文献研究表明,由于无线网络状况的移动性和复杂性,EDCA 算法中4个参数的静态设置并不能使无线网络的性能实现最优,特别在高负载或突发业务量较大的状况下,由于无线网络中有较高的冲突率,EDCA 的网络性能急剧下降,无法满足网络用户的要求。也有相关研究通过CW 的自适应调整机制及相关退避算法的改进,如Lamia Romdhani 提出的AEDCF 机制(Adaptive EDCF,AEDCF);Younggoo Kwon提出的快速碰撞解决机制(Fast Collision Resolutio,FCR)等,使得EDCA算法更适合无线网络环境。但这些研究都没有考虑EDCA 算法本身及参数AIFS、CWmin、CWmax和TXOP调整后对无线Mesh网络公平性(节点间和不同业务流间)带来的影响。

本文提出了一种基于公平的EDCA 算法(Fairness-based EDCA,FEDCA)。FEDCA算法的基本思想是通过加权轮询的方式确定传输的数据接入类别和本次信道侦听的时间,通过公平因子的计算确定TXOP 参数,以达到保证网络公平性的条件下提高网络性能和QoS保证的目的。并通过仿真结果验证该算法的可行性。

1 EDCA算法

EDCA 是IEEE 802.11e工作组在IEEE 802.11 协议中DCF机制基础上进行QoS支持提出的,其基本 的接入信道方式与DCF保持一致,各移动节点以CSMA/CA 方式通过竞争获得信道接入的机会。同时EDCA 提供了不同类型业务数据传输的多种信道接入类别AC,可以实现不同业务的服务区分。

1.1 EDCA算法简介

为保证不同业务的不同QoS要求,EDCA算法定义了上层的8类业务类别(Traffic Category,TC)和本层的4类基于IEEE 802.1D的接入类别(Access Category,AC),8类TC分别映射至4类AC的队列中:AC_VO,AC_VI,AC_BE和AC_BK,分别代表语音(Voice)类,视频(Video)类,尽力而为(Best Effort)类和背景(Background)类的业务。为实现4个AC队列不同优先级的区别,定义了4个参数:仲裁帧间间隔AIFS、最小竞争窗口值CWmin、最大竞争窗口CWmax和传输机会TXOP。不同的AC通过不同的参数设置,控制其接入信道的过程,从而实现了不同业务类型的区分。

某一移动节点通过两个阶段实现一个AC队列内的数据发送。首先在一个节点内部争夺传输机会TXOP,获得传输机会的队列才有可能获得信道接入的机会。其次,获得信道接入机会的分组再在不同的节点间通过CSMA/CA 方式获得信道接入机会才可以进行数据传输。EDCA算法完成数据传输第一阶段的任务:不同队列通过竞争获得传输机会。

IEEE 802.11e EDCA的基本访问机制如图1所示。



图1 IEEE 802.11e EDCA的基本访问机制


当因竞争信道发生冲突时,就进入退避过程。在此过程中,将退避计数器Backoff Timer置为[0,CW[AC]]范围内的任一整数值:Backoff_Timer(BT)=uniform[0,CW]×aSlotTime。CW[AC]的初始值设为CWmin[AC]。当发生碰撞时,CW[AC]的值就增加为(CW[AC]+1)×2-1,当CW[AC]增加到CWmax[AC]时,就维持CWmax[AC]的值不变,不再增加。当数据帧成功发送之后,将CW[AC]的值重置为CWmin[AC],继续侦听信道。退避计时器每检测到一个空闲时隙,其值(BT)减1,最先减到零的数据帧占用信道,若节点内多个AC的退避计时器同时减到零,则较高优先级队列的数据帧将占用信道,其他数据帧又进入新一轮的退避过程。2.2 FEDCA算法讨论

从FEDCA算法实现过程来看:

(1)公平性的度量。FEDCA算法采用比例公平作为衡量公平性的标准,也就是每一类业务占用的网络资源是成比例的,这样除了可实现各等级业务间的公平外还可提高系统的吞吐量。FEDCA算法对每一类业务分配一个公平因子用于表明该类业务在本移动节点共享资源中可使用的份额;(2)在加权轮询调度时给每一子队列分配的权值W[AC]与关系FD[AC]:




(3)FEDCA算法通过轮询的方式确定可以发送的队列数据,在发送成功后其拥塞窗口CW的变化方式与EDCA算法一致,发送失败后拥塞避免的过程也与EDCA算法一致,但其拥塞窗口的变化采用FEDCA 算法描述中的方法,目的是维护节点内各等级业务的公平性。

(4)每一业务等级的公平因子FD[AC] 计算公式为:




式中:Total-Length[AC]为本轮轮询调度中队列AC被调度的数据总长度;为保证每一队列能计算出该队列在本轮调度中的公平因子FD[AC],对某一队列应维护一个计数器,用于统计该队列调度的数据长度Total-Length[AC]。

(5)ΔTXOP[AC]的计算公式为:




如图3 所示,为了体现不同业务间的区分ΔTXOP[高] > ΔTXOP [低];F [高] max > F [低] max ;F[高] min< F [低] min 。同时图3给出的ΔTXOPmin[AC]与Fmin[AC]示意图,具体的各参数的设置可根据网络实际情况和网络管理员自行设定。考虑到无线网络运行的可靠性和稳定性,本算法建议ΔTXOP [AC] max不超过TXOPmin[AC]的参考值的1/8 为宜,最大不能超过1/4。

3 仿真分析

为了验证FEDCA 算法性能,通过网络仿真工具NS2 实现该算法和EDCA 算法的性能比较。仿真所采用的拓扑结构如图4所示,仿真时物理层采用802.11b,物理带宽设为11 Mb/s,4个移动节点分别发送VI、VO、BE和BK四种业务流,这4种业务流占总负载的比例为1∶1∶2∶4。分别对FEDCA、EDCA 算法的吞吐量、端到端的延迟及等级业务流量VO、VI的变化情况进行了仿真,仿真结果如图5~图7所示。

从图5的仿真结果可以看出,同一等级的业务采用FEDCA 算法业务量的变化幅度及变换频率比EDCA算法要小,而且不同等级的业务量比例基本保持不变,从而保证了移动节点内各业务间的公平性;从图6仿真结果可看出FEDCA算法能提高各类业务的吞吐量,从而提高了无线信道利用率;同时图7的仿真结果表明FEDCA算法能减少数据帧的平均转发延迟,从而提高了网络的QoS。



图4 无线网络仿真的拓扑结构图



图5 VO、VI吞吐量随时间变化图



图6 吞吐量与负载关系仿真图



图7 平均延迟与负载仿真图



4 结论

本文提出的FEDCA算法能够根据网络的公平性要求,通过加权轮询的方式解决移动节点内的不同子队列竞争信道的问题,改变拥塞窗口的变化方式,提高系统的吞吐量和公平性,通过公平因子调整EDCA算法中的TXOP参数,最终实现提高无线Mesh网络的公平性和改善网络性能的目的。通过仿真分析可知,FEDCA 算法保证了移动节点间和节点内不同业务的公平性,同时能够提高网络性能和实现对不同业务的区分。
返回列表