一种基于ieee802.15.4的自适应csma/ca接入方法

文档序号:7813601阅读:259来源:国知局
专利名称:一种基于ieee802.15.4的自适应csma/ca接入方法
技术领域
本发明涉及无线传感器网络介质访问控制(MAC,Media Access Control)子层处理技木,尤其涉及一种新的IEEE802. 15. 4标准中的CSMA/CA接入机制优化方法。
背景技术
无线传感器网络(WSN,Wireless Sensor Network)是ー种以数据为中心的网络, 大量具有无线通信以及数据处理能力的传感器节点以自组织或多跳的方式构成的ー种无线网络。节点通过传感器采集、处理数据并反馈给用户。IEEE802. 15. 4标准主要是针对低速率、低功耗、低成本的低速无线个域网 (LR-WPAN, Low Rate-Wireless Personal Area Network),定义了物理层和数据链路层的协议,该协议非常适合WSN,目前很多WSN研究都是基于该协议标准。IEEE802. 15. 4协议提供两种工作模式非信标使能和信标使能。非信标使能的网络中节点间没有建立时间同歩,因此节点由于空闲侦听造成大量的能量消耗。在信标使能网络中,许多节点通过ー个网络协调器(Coordinator)构成 ー个星型网络。网络协调器的功能是为网络提供基本的定时和中心控制功能,与协调器关联的节点称为ー个Device,Device间通信都要通过网络协调器。网络协调器定期发送信标帧来建立网络的时间同歩,Device遵循与其关联的网络协调器的时序来定期进行睡眠或工作,这样的工作模式大大降低了能耗。树型的网络拓扑在局部范围内可以看作是星型网络,因此研究星型网络具有重要的现实意义,本发明基于信标使能的星型网络对 IEEE802. 15. 4MAC协议进行改进,并可以扩展到成簇网络中,网络中每个簇都为ー个星型拓扑结构単元。在基于CSMA/CA的MAC协议中,退避算法的目标是赋予节点适当的退避时间,以正确反映节点附近信道的争用状況。包括IEEE 802. 11标准在内的很多无线通信协议都采用 ニ进制指数退避(BEB,Eigenvalue Based Beamforming)算法。图1显示了 BEB算法流程。该接入方法虽然实现简单,但存在诸多问题
首先,它总是有利于前一次数据传输成功的节点短时间内又一次竞争到信道,尤其当网络节点数覆盖密度比较大的情况下,容易使其他节点因抢占不到信道而出现网络中的 “饿死”现象,退避延迟也会随着冲突发生的次数的增加逐渐增大;
其次,固定的macMinBE、aMaxBE值,不利于网络的自适应变化。macMinBE的值并不能反映当时网络的传输状況,在CSMA/CA机制开始之后,需要接入信道的节点必须花很多的时间逐步调整退避指数BE,直到调整达到默认的最大值aMaxBE,或者随机选择的退避周期能够满足要求,节点可以接入信道为止。当下一次算法开始后,BE重新恢复默认值,节点极有可能再次发生碰撞并重传数据包直到BE再次达到较高的数值,从而浪费大量的时间和信道资源。造成网络的呑吐量下降,易发生消息碰撞,消息延迟等,网络负载加重。针对以上BEB算法的固有缺点,近年来对于BEB算法的改进优化比较少见,而BEB 算法对于CSMA/CA机制起着极其重要的作用,因此对于BEB的研究有着重大的意义。

发明内容
本发明的目的是提供一种基于IEEE802. 15. 4标准的自适应CSMA/CA的接入方法, 是ー种对BEB算法的优化方法,在输入业务量比较重的情况下,降低冲突发生概率,尽量减少数据包的重发次数,增加数据成功投递率,提高系统网络呑吐量,同时减少节点接入信道的延迟,降低了网络负载。本发明为一种基于IEEE802. 15. 4的具有自适应调整能力的ニ进制指数退避BEB 算法的优化方法ABE (Adaptive Backoff Exponential Algorithm)-BEB。本优化方法能够使网络中部分节点根据占用网络流量多少,对CSMA/CA机制中macMinBE參数的默认值进行优化。包括以下三个阶段
分析阶段决策阶段执行阶段
分析阶段以分析周期结束后重复执行的阶段为分析阶段,所述分析周期指网络协调器观察分析与其关联的普通节点占用网络流量的持续时间;分析周期开始后,网络协调器计算每个普通节点传来的数据包的总数,为决策阶段提供普通节点的网络信息状況,直到分析周期结束;
决策阶段分析阶段过后,网络协调器获取了每个普通节点占用网络流量的情况,网络协调器按照收到的每个普通节点的数据包数量多少由小到大进行排序,通过判断发生数据传输的普通节点个数,来构造分组I和分组II,如果普通节点个数大于8,就将序列中前四个普通节点归入分组I,后面的节点归入分组II ;如果普通节点个数小于8,则判断发生数据传输的普通节点数count是否为偶数,若count为偶数则将前coimt/2个普通节点放入分组I、后count/2个普通节点放入分组II ;若count不是偶数,则将前(count-l) /2个普通节点放入分组I、后(coimt-1) /2个普通节点放入分组II,中间剩余的节点随机放到任一組;构造分组完成后,分別判断两个组中的第一个节点的数据包数相差是否大于 DIFFERENCE,如果是,则把分组I的节点信息写入到信标帧的描述字段的BE值减少域;同时把分组II写入到描述字段的BE值增加域;如果小于H(T_ DIFFERENCE,表示节点对网络流量的分布只造成小的变化,则设置ABE描述字段标识域为0,算法仍然按照现有的退避算法操作方式;完成上述操作后,重置数组numReceivedPkts [i]和nodehdexes [i],继续进行下ー个分析周期;
执行阶段普通节点收到网络协调器发来的信标帧后,开始执行自适应调整 ABE (Adaptive Backoff Exponential)算法;执行阶段中所述的ABE优化方法具体如下 步骤1 节点收到了信标帧,则提取ABE描述字段的有效载荷; 步骤2 判断ABE标识域是否为0,如果是,则执行原有的退避指数操作,如果不是,则提取BE増加域和BE减少域;
步骤3:判断本地节点地址是否和分组I中的节点某个地址相同,如果是,则对 macMinBE执行减1操作;判断macMinBE是否为0,如果是,设置为1 ;如果本地地址不在分组I中,则进行步骤4;
步骤4:判断本地节点地址是否和分组II中的节点某个地址相同,如果是,则对macMinBE执行加1操作;如果本地节点地址不匹配,则执行改进前的退避指数算法。通过以上三个阶段可以看出,本发明的自适应BE设计方法仍然保留了 CSMA/CA中 macMinBE的初值,但是通过一定数量的信标帧间隔内每个节点争用网络流量的多少来动态调整退避指数macMinBE,使得传感器节点能够根据网络的状况动态的选择ー个合适的退避范围。经过这种优化,macMinBE更能准确反映当前网络状況,平衡节点间的网络使用权。因此提高了节点的网络公平性,提高了网络吞吐量并降低了网络负载。


图1示出IEEE802. 15. 4中二进制指数退避BEB算法流程; 图2示出本发明的分析周期和决策周期流程;
图3示出本发明的构造分组流程; 图4示出本发明的自适应ABE-BEB的信标帧结构; 图5示出本发明中的执行阶段流程; 图6示出本发明中的ABE-BEB算在NS2下的仿真场景; 图7示出本发明仿真中数据速率对网络呑吐量的影响; 图8示出本发明仿真中数据速率对网络工作负载的影响。
具体实施例方式本发明提出的基于IEEE802. 15. 4的自适应CSMA/CA接入方法分为分析阶段、决策阶段和执行阶段。分析阶段和决策阶段在网络协调器中执行,执行阶段在有数据传输的普通节点中执行。分组I (Group-I)把macMinBE作减1操作的节点存放于该组中。这些节点相对于其他节点来说占用网络流量比较少。分组II (Group-2)把macMinBE作加1操作的节点存放于该组中。这些节点占用网络流量比较大。当Group-2中节点传输的数据包比Group-I中节点多至少H(T_ DIFFERENCE个时,将执行ABE-BEB的决策阶段。否则,将进行下ー个分析周期。H(T_DIFFERENCE 它是执行决策阶段的决定性因素。如果Group-2中的第一个节点发送的数据包比Group-I中第一个节点发送的数据包多至少H(T_DIFFERENCE个时,将执行ABE-BEB的决策阶段。如果不是,则再一次执行分析阶段。为了应用算法的决策阶段,网络协调器将在要传输的信标帧的有效载荷中写入决策信息。numBeaconlntervals 組成ー个分析周期的信标帧间隔数。它是指分析网络中所有节点是否需要调整macMinBE的持续时间。例如,如果信标帧间隔是0. 384s(B0=3),并且 numBeaconlntervals也为3时,则ー个分析周期将是1. 152s。因此,每1. 152s将会进入决策阶段。numReceivedPkts[i]该数组用于记录传输原节点i向网络中传输数据包的个数。nodeIndexes[i]该数组用于存储传输数据包给协调器的源节点i的节点号。该数组中的节点号与numReceivedPktsti]中的i值相匹配。通过占用网络中的流量的大小来相应调整该数组的节点号的排列順序。
“BeaconPay 1 oadFie 1 ds“ — ABE描述字段信标帧的该描述字段占ー个字节,指示需要増加BE的节点数和需要减小BE的节点数。addrList[8]用于记录节点需要增加macMinBE或者需要减小macMinBE的节点地址,ABE-BEB中每个节点地址占用2字节。前四个节点的地址指示其BE的值将会减1,后四个节点地址指示其BE的值将会加1。超帧在信标使能模式下,PAN (Personal Area Network)网络协调器周期性的广播信标帧来同步要关联到它的节点,并使它们能识别自己所属的PAN。信标间隔(Bi)定义了两个连续的信标帧之间的时间。包括一个激活期和一个可选的非激活期,激活期称为超帧。本发明的实现包括三个阶段 阶段ー分析阶段
每个分析周期结束后重复的阶段称为分析阶段。分析周期指的是Coordinator观察每个与其关联的节点占用网络流量的持续时间。本发明中设它为3个信标帧(Bi)时隙间隔。分析周期开始后,初始化 PKT_DIFFRENCE=5,numBeaconIntervals=3, nUmReceiVedPktS[i]=0。初始化之后开始统计收到的消息,若为数据帧,则与其对应的i的 numReceivedPkts[i]加1 ;若非数据帧,则不予统计,进入信标帧正常组帧。在分析阶段期间,网络协调器将计算某个节点传来的数据包的总数,直到分析周期结束。如图2所示。阶段ニ 决策阶段
决策阶段开始于分析阶段之后。ABE-BEB开始之前,初始化各个參数的值,这些值不是绝对的,这些值的动态调整是为了获得更佳的网络公平性,提高网络生存期。本发明中,为了得到显著的結果,需要让BE的值尽可能的在比较大的范围内变化。因此,可以将aMaxBE 可选的最大值设置为8,macMinBE的值设置为3。初始化列表
□PKT_DIFFERENCE: 5
□ numBeacoruntervals 3
□macMinBE 3
□aMaxBE: 8
Pl分析周期结束后,网络协调器获取了每个节点占用网络流量的情況,此时将决定是否改变macMinBE的值。如果需要改变,网络协调器才决定哪些节点应该增加macMinBE的值,哪些节点应该减少macMinBE的值。协调器按照收到的每个节点的数据包数量多少由小到大进行排序。P2协调器通过判断发生数据传输的节点个数,来构造分组Group-I和Group-2。 如果个数大于8,就将序列中前四个节点归入Group-I和后四个节点归入Group-2 ;如果小于8,则判断count是否为偶数,若为偶数则将前count/2个节点放入Group-I、后count/2 个节点放入Group-2 ;若count不是偶数则将前(count-1) /2个节点放入Group-I、后 (count-l)/2个节点放入Group-2,中间剩余的节点随机放到任一組。构造分组流程如图3 所示。P3构造分组完成后,分別判断两个组中的第一个节点的数据包数相差是否大于 PKT_DIFFERENCE,如果是,则把Group-I的节点信息写入到信标帧的ABE描述字段的BE值减少域;同时把Group-2写入到ABE描述字段的BE值增加域。如果小于H(T_ DIFFERENCE,表示节点对网络流量的分布只造成小的变化,则设置ABE描述字段标识域为0。ABE-BEB仍然按照原来的退避BEB算法操作方式。完成上述操作后,重置数组numReceivedPktsti]和 nodehdexesti],继续进行下ー个分析周期。如图2所示。阶段三执行阶段
协调器执行了决策阶段后,需要把相关信息写入到信标帧,所以需要对信标帧结构进行修改。本发明中利用信标帧的附加空间来指示网络协调器对macMinBE的调整,因此附加空间需要指明需要使macMinBE増加或减少的节点数与它们的各自的地址。ABE-BEB使用 1字节(Byte)去表述需要使macMinBE増加或减少的节点数,最大16个字节来表述各个节点的地址,每个节点地址占用两个字节。由于要添加使macMinBE加1还是减1的信息,需要给信标帧有效载荷增加最大17个字节的附加空间。修改后的信标帧结构如图4所示。信标帧的结构修改完成后,协调器执行决策阶段后就可以把相关信息写入到信标帧的ABE描述字段并传输该信标帧。普通节点收到协调器发送来的信标中就执行相应的操作。普通节点收到信标帧后,就执行ABE,算法流程图如图5所示,执行阶段在普通节点中按照以下步骤进行
Pl节点收到了信标帧,则提取ABE描述字段的有效载荷。P2判断ABE标识域是否为0,如果是,则执行原有的退避指数操作。如果不是,则提取BE増加域和BE减少域。P3判断本地节点地址是否和Group-I中的四个节点某个地址相同,如果是,则对 macMinBE执行减1操作;判断macMinBE是否为0,如果是,设置为1。如果本地地址不在 Group-I中,则进行P4。P4判断本地节点地址是否和Group-2中的四个节点某个地址相同,如果是,则对 macMinBE执行加1操作;如果本地节点地址不匹配,则执行退避指数BEB算法。由以上自适应退避调整方法可以看出,自适应BE设计方法仍然保留了 CSMA/CA中 macMinBE的初值,但是通过一定数量的信标帧间隔内每个节点争用网络流量的多少来动态调整退避指数macMinBE,使得传感器节点能够根据网络的状况动态的选择ー个合适的退避范围。经过这样的优化,増大了网络吞吐量和降低了网络负载,提高了网络公平性和网络生存期。为了证明本发明的有效性,我们用NS2 2. 34仿真了 ABE-BEB,网络仿真场景实现了拥有13个节点的LR-WPAN网络,如图6所示,在50mX50m的范围内,PAN Coordinator周围布设了 12个节点,图中中间节点为PAN网络协调器,周边节点为1-12号节点,NS2按逆时针为每个节点进行了编号,12个节点都会向网络协调器发送数据,形成12条数据流。由于采用星型网络拓扑结构,因此只有ー个网络协调器。同时,假定网络中的所有节点都在彼此的通信范围之内,不存在隐藏终端和暴露终端。实验中将BO和SO取值相同,即B0=S0=3,这就意味中超帧中无非活跃部分CFP, 未允许节点进入休眠模式。本实验中在0. 0时刻开启网络协调器,然后每隔0. 5s开启ー 个普通节点,并且数据流的发起时间设为20s。整个网络的模拟时间设为200s。NS2模拟的IEEE802. 15. 4协议栈应用层模型选用CBR(Constant Bit Rate)流量发生器。普通节点收到数据后以恒定流量(CBR)向网络协调器发送数据,并认为每个节点发送的数据量都
7相等。数据包的大小设置为70Bytes,网络中的数据传输方式只支持普通节点到PAN网络协调器的单向通信。网络模拟协议栈传输层选用UDP协议,路由队列类型采用Drop Tail 队列,采用CSMA/CA进行信道的接入,物理层的无线传输模型采用NS2组件支持的Two-Ray Ground Model。物理层工作在2. 4GHZ频段,理想数据传输速率为2501ibpS。每次调节发送 CBR数据封包的时间间隔,采样的数据封包速率为(2,4,6,8,10,12,14,16) pkts/s,然后记录下当前网络的平均呑吐量和平均工作负载。将不同速率下统计的呑吐量生成的曲线图如图7所示和不同速率下整个网络工作负载图如图8所示。图7反映的是不同数据速率对网络呑吐量的仿真结果图,仿真结果可以看到,网络拥塞发生在高数据率区域,该区域冲突碰撞发生的可能性比较大,导致网络性能下降。在低数据率区域,也即低输入业务量的情况下,应用ABE指数调整方法和IEEE802. 15. 4的标准BEB算法在呑吐量的提高上没有明显的区別。但是在高业务量区域,很明显比传统的 IEEE802.15.4的BEB算法吞吐量要高。图中数据速率为8 pkts/s时出现了一个峰值,之后有微微的下降趋势,然后趋于平衡。我们可以解释为,由于我们的ABE设计中在ー个分析只有8个CBR业务流能受影响,其他节点可以在下ー个分析周期受ABE作用,当网络流量比较大时,处理的总统性能必然有所下降。图8反映的是不同数据速率对网络工作负载的仿真结果图,纵坐标表示网络工作负载的数值,单位是Icbps,横坐标表示CBR的发送速率,单位是pkts/s。当数据发送速率比较低吋,也即网络的输入业务量比较低时,应用ABE指数调整方法和IEEE802. 15. 4的标准 BEB算法没有较大区別;而当输入业务量比较大吋,ABE优化方法的效果就比较明显,此时数据包发送成功的概率增加,网络协调器通过统计与其交互的普通节点的业务流量,使普通节点动态调整其最小BE取值,从而选择ー个合适的退避范围,进而数据包的重传次数降低,工作负载減少。仿真结果表明,本发明比原有的IEEE802. 15. 4中的BEB算法在网络输入业务量比较大的情况下,能明显提高网络吞吐量,降低网络工作负载。
权利要求
1. 一种基于IEEE802. 15. 4的自适应CSMA/CA的接入方法,其特征在于包括以下三个阶段分析阶段以分析周期结束后重复执行的阶段为分析阶段,所述分析周期指网络协调器观察分析与其关联的普通节点占用网络流量的持续时间;分析周期开始后,网络协调器计算每个普通节点传来的数据包的总数,为决策阶段提供普通节点的网络信息状況,直到分析周期结束;决策阶段分析阶段过后,网络协调器获取了每个普通节点占用网络流量的情況,网络协调器按照收到的每个普通节点的数据包数量多少由小到大进行排序,通过判断发生数据传输的普通节点个数,来构造分组I和分组II,如果普通节点个数大于8,就将序列中前四个普通节点归入分组I,后面的节点归入分组II ;如果普通节点个数小于8,则判断发生数据传输的普通节点数count是否为偶数,若count为偶数则将前coimt/2个普通节点放入分组I、后count/2个普通节点放入分组II ;若count不是偶数,则将前(count-l) /2个普通节点放入分组I,后(coimt-1) /2个普通节点放入分组II,中间剩余的节点随机放到任一組;构造分组完成后,分別判断两个组中的第一个节点的数据包数相差是否大于 DIFFERENCE,如果是,则把分组I的节点信息写入到信标帧的描述字段的BE值减少域;同时把分组II写入到描述字段的BE值增加域;如果小于H(T_ DIFFERENCE,表示节点对网络流量的分布只造成小的变化,则设置ABE描述字段标识域为0,算法仍然按照现有的退避算法操作方式;完成上述操作后,重置数组numReceivedPktsti]和nodehdexes [i],继续进行下ー个分析周期;执行阶段普通节点收到网络协调器发来的信标帧后,开始执行自适应调整 ABE (Adaptive Backoff Exponential)算法,执行阶段中所述的ABE优化方法具体如下步骤1 节点收到了信标帧,则提取ABE描述字段的有效载荷;步骤2 判断ABE标识域是否为0,如果是,则执行原有的退避指数操作,如果不是,则提取BE増加域和BE减少域;步骤3 判断本地节点地址是否和分组I中的节点某个地址相同,如果是,则对 macMinBE执行减1操作;判断macMinBE是否为0,如果是,设置为1 ;如果本地地址不在分组I中,则进行步骤4;步骤4:判断本地节点地址是否和分组II中的节点某个地址相同,如果是,则对 macMinBE执行加1操作;如果本地节点地址不匹配,则执行ニ进制指数退避BEB算法。
全文摘要
本发明涉及涉及一种新的IEEE802.15.4标准中的CSMA/CA接入机制优化方法。包括分析阶段、决策阶段、执行阶段。本发明仍然保留了CSMA/CA中macMinBE的初值,但是通过一定数量的信标帧间隔内每个节点争用网络流量的多少来动态调整退避指数macMinBE,使得传感器节点能够根据网络的状况动态的选择一个合适的退避范围。经过这种优化,macMinBE更能准确反映当前网络状况,平衡节点间的网络使用权。因此提高了节点的网络公平性,提高了网络吞吐量并降低了网络负载。仿真结果表明,本发明中具有自适应调整能力的二进制指数退避BEB算法的优化方法比原有的IEEE802.15.4中的BEB算法在网络输入业务量比较大的情况下,能明显提高网络吞吐量,降低网络工作负载。
文档编号H04W84/18GK102595648SQ20111045868
公开日2012年7月18日 申请日期2011年12月31日 优先权日2011年12月31日
发明者刘达明, 张 林, 李景中, 苏美君, 蒋贵全, 龙昭华 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1