CN102231711B - 基于维纳预测动态调整节点拥塞等级的路由控制方法 - Google Patents
基于维纳预测动态调整节点拥塞等级的路由控制方法 Download PDFInfo
- Publication number
- CN102231711B CN102231711B CN2011102023574A CN201110202357A CN102231711B CN 102231711 B CN102231711 B CN 102231711B CN 2011102023574 A CN2011102023574 A CN 2011102023574A CN 201110202357 A CN201110202357 A CN 201110202357A CN 102231711 B CN102231711 B CN 102231711B
- Authority
- CN
- China
- Prior art keywords
- node
- neighbors
- grouping
- data
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000001105 regulatory effect Effects 0.000 title abstract 2
- 238000010276 construction Methods 0.000 claims description 54
- 230000015572 biosynthetic process Effects 0.000 claims description 41
- 230000008859 change Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 20
- 238000012986 modification Methods 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 abstract description 2
- 230000006378 damage Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于维纳预测动态调整节点拥塞等级的路由控制方法,主要解决现有技术不能有效转移负载,导致节点拥塞的问题。该方法通过维纳预测模块、节点状态信息模块和路由控制模块实现其路由控制。维纳预测模块用于更新定时间隔内的节点接收数据量统计值、节点拥塞值和节点拥塞等级;节点状态信息模块用于更新邻居表项信息和节点度,生成节点状态信息分组;路由控制模块用于完成节点状态信息分组的发送,通过引入维纳预测、设置节点拥塞等级并进行邻节点间的节点状态信息交换,进行动态的路由等级控制,完成数据分组的接收、发送、销毁或重新放入节点缓存队列中。本发明有效实现了负载转移,明显改善网络性能,可用于IP网络。
Description
技术领域
本发明属于数据通信技术领域,涉及通信网络中的路由控制方法,特别是一种基于维纳预测动态调整节点拥塞等级的路由控制方法,适用于IP网络。
背景技术
当今世界已进入信息化时代,随着web技术和社交化网络的发展,网络信息量呈现出指数性增长,这一变化趋势使得对通信网络的设计和控制提出了新的挑战。人们利用复杂网络理论对通信网络进行分析研究,对于分析并解决当今通信网络以及新一代信息网络的通信网络拥塞问题,非常具有启迪意义,并且取得了许多可喜的研究成果。
基于复杂网络的特点,现有研究已提出了多种技术方法:在网络结构上,通过增加一些链路或节点的方式来实现网络性能提升;在节点和链路上,通过改变节点和链路的容量或速率来实现网络性能提升;在路由策略上,通过考虑节点拥塞的动态路由方法,以负载转移来实现网络性能提升。例如在文献“Congestion-gradient driven transporton complex networks”中加入拥塞感知参数的路由策略。在文献“Dissemination ofinformation in complex networks with congestion”中提出了一种考虑了基于设置节点阀值的动态路由策略。但是这些方法都没有对节点的动态行为进行分析考虑,没有利用邻节点间的深层信息沟通来实现动态的路由控制,使得其对网络状态没有预见性、对邻节点状态信息没有充分利用,路由控制效果不能得到进一步的提升。
发明内容
本发明的目的是针对现有路由控制方法的不足,提出一种基于维纳预测动态调整节点拥塞等级的路由控制方法,在本路由控制方法中引入邻节点间的节点状态信息交换,依据节点的动态行为,以及数据传输的动态特性来进行路由控制,有效转移负载,提高网络的鲁棒性,从而实现整个网络性能的提升。
为实现上述目的,本发明基于维纳预测动态调整节点拥塞等级的路由控制方法包括:
(1)维纳预测步骤
(1a)当节点接收到来自邻节点的数据包时,判断数据包类型,若该数据包为节点状态信息NSM分组,转入步骤(2),若该数据包为数据DATA分组,转入步骤(1b);
(1b)设有一个定时间隔τ,根据网络中各节点的平均数据到达率大小,时间间隔τ可设置为节点接收到1kb至10Mb数据量的平均时间间隔大小,节点对每个时间间隔内的接收数据量进行统计,保存当前时刻之前的26个时间间隔的接收数据量统计值,当节点接收到来自邻节点的数据DATA分组时,将当前定时间隔内的接收数据量统计值加上该DATA分组长度;
(1c)本节点地址为i,计算节点缓存队列中的数据量总和,得到本节点缓存队列长度m(t),由m(t)和本节点处理速率Vi两种信息计算本节点拥塞值Ti;
(1d)当定时间隔到达时,基于前26个接收数据量统计值,对下一个时间间隔内的节点接收数据量进行维纳预测,得到本节点下一个时间间隔的预测接收数据量R(t+τ);
(1e)由本节点缓存队列长度m(t)和本节点缓存容量Mi两种信息确定节点当前状态CS,由R(t+τ)、m(t)、Mi和本节点处理速率Vi四种信息确定节点预测状态PS,并根据节点当前状态CS和节点预测状态PS动态调整节点拥塞等级S;
(2)节点状态信息更新步骤
(2a)当节点接收到来自邻节点的节点状态信息NSM分组时,对该NSM分组对应的邻居表项信息进行更新,由更新后的邻居表项信息得到节点度Ki,其中,节点度Ki表示节点i有Ki个邻节点;
(2b)当定时间隔到达时,在节点拥塞等级S更新后,根据节点拥塞等级S、节点度Ki和邻节点拥塞值Tj,A1,A2,L,分别表示Ki个邻节点的各邻节点地址,确定本节点对每一个邻节点的控制等级CLi,j;若S=0,置本节点对所有邻节点的控制等级CLi,j=0,若S=1,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj,按从小到大进行排序,若邻节点j的节点拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=0;若S=2,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj,按从小到大进行排序,若邻节点j的节点拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;若S=3,置本节点对所有邻节点的控制等级CLi,j=2,
(2c)统计邻居表项中控制等级CLj,i=0,的邻节点总个数Z,根据邻居表项中邻节点对本节点的控制等级CLj,i,确定对应每一个邻节点的无限制邻节点总个数Ni,j,将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j,本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j,写入NSM分组,生成对应每一个邻节点的节点状态信息NSM分组。
(3)路由控制步骤
(3a)设置一个DATA分组时延门限De和对应每一个邻节点的拥塞临界值Tej,
(3b)当有节点状态信息NSM分组等待处理时,将NSM分组发送至相应的邻节点;
(3c)当没有NSM分组等待处理,但节点缓存队列中有数据DATA分组等待处理时,对节点缓存队列中的头部第一个DATA分组进行处理,若该DATA分组的目的地址为本节点地址,本节点对该DATA分组进行接收,否则,查询该DATA分组的下一跳地址NA;若NA为该DATA分组的目的地址,发送该DATA分组,否则,计算该DATA分组的时延D;若D>De,将该DATA分组销毁,否则,置参数NA1=NA,TIMES=0,转入步骤(3d);
(3d)查询邻居表项中邻节点NA对本节点的控制等级CLNA,i,若CLNA,i=0,转入步骤(3e),若CLNA,i=1,转入步骤(3f),若CLNA,i=2,转入步骤(3g);
(3e)查询邻居表项中NA对应的节点拥塞值TNA,对应NA的拥塞临界值为TeNA,若TNA<=TeNA,发送该DATA分组,否则,查询邻居表项中邻节点NA对应的节点度KNA和无限制邻节点总个数NNA,i,产生一个介于0与1之间的随机小数p;若p<=NNA,i/(KNA-1),发送该DATA分组,否则,转入步骤(3g);
(3f)产生一个介于0与1之间的随机小数p,若p<=0.5,发送该DATA分组,否则,转入步骤(3g);
(3g)忽略NA、除NA外邻居表项中控制CLj,i=2,的邻节点、NA1和该DATA分组的源地址,按最短路径为该DATA分组重新计算路由,若不能找到一条源目的节点间的路径,将该DATA分组重新放入节点缓存队列中进行排队等待,否则,NA更新为新路由路径的下一跳地址,更新TIMES=TIMES+1;若TIMES<=2,返回步骤(3d),否则,将该DATA分组重新放入节点缓存队列中。
为实现上述目的,本发明基于维纳预测动态调整节点拥塞等级的路由控制系统,包括:
(A)维纳预测模块,它包括:
(A1)节点缓存队列子模块,用于设有一个定时间隔τ,根据网络中各节点的平均数据到达率大小,时间间隔τ可设置为节点接收到1kb至10Mb数据量的平均时间间隔大小,节点对每个时间间隔内的接收数据量进行统计,保存当前时刻之前的26个时间间隔的接收数据量统计值,当节点缓存队列子模块接收到来自邻节点的数据包时,判断数据包类型,若该数据包为节点状态信息NSM分组,将NSM分组发送至更新邻居表项信息子模块,若该数据包为数据DATA分组,对当前定时间隔内的接收数据量统计值进行更新;
(A2)更新节点拥塞值T子模块,用于当节点缓存队列子模块接收到来自邻节点的数据DATA分组时,计算节点缓存队列中的数据量总和,得到本节点缓存队列长度m(t),本节点地址为i,由m(t)和本节点处理速率Vi两种信息计算本节点拥塞值Ti;
(A3)更新节点拥塞等级S子模块,用于当定时间隔到达时,基于前26个接收数据量统计值,对下一个时间间隔内的节点接收数据量进行维纳预测,得到下一个时间间隔的预测接收数据量R(t+τ),由本节点缓存队列长度m(t)和本节点缓存容量Mi两种信息确定节点当前状态CS,由R(t+τ)、m(t)、Mi和本节点处理速率Vi四种信息确定节点预测状态PS,并根据节点当前状态CS和节点预测状态PS动态调整节点拥塞等级S。
(B)节点状态信息模块,它包括:
(B1)更新邻居表项信息子模块,用于当该子模块接收到来自节点缓存队列子模块的节点状态信息NSM分组时,对该NSM分组对应的邻居表项信息进行更新;
(B2)更新节点度K子模块,用于根据更新邻居表项信息子模块中的邻居表项信息,统计邻居表项中的邻节点总个数,得到本节点度Ki;
(B3)生成节点状态信息分组子模块,用于当定时间隔到达时,在节点拥塞等级S更新后,根据节点拥塞等级S、节点度Ki和邻节点拥塞值Tj,确定本节点对每一个邻节点的控制等级CLi,j,其中,A1,A2,L,分别表示Ki个邻节点的各邻节点地址;
若S=1,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj,按从小到大进行排序,若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=0;
若S=2,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj,按从小到大进行排序,若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;
统计邻居表项中控制等级CLj,i=0,的邻节点总个数Z,根据邻居表项中邻节点对本节点的控制等级CLj,i,确定对应每一个邻节点的无限制邻节点总个数Ni,j,将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j,本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j,写入NSM分组,生成对应每一个邻节点的节点状态信息NSM分组。
(C)路由控制模块,用于完成如下功能:
(C1)设置一个DATA分组时延门限De和对应每一个邻节点的拥塞临界值Tej,De值大于网络数据分组最大时延值,取De值为网络数据分组最大时延值的三倍大小,邻节点j的缓冲容量为Mj,邻节点j的处理速率为Vj,取Tej=0.8Mj/Vj;
(C2)当路由控制模块接收到来自生成节点状态信息分组子模块的节点状态信息NSM分组时,将NSM分组发送至相应的邻节点;
(C3)当没有NSM分组等待处理,但节点缓存队列中有数据DATA分组等待处理时,对节点缓存队列中的头部第一个DATA分组进行处理,若该DATA分组的目的地址为本节点地址,本节点对该DATA分组进行接收,否则,查询该DATA分组的下一跳地址NA;若NA为该DATA分组的目的地址,发送该DATA分组,否则,计算该DATA分组的时延D;若D>De,将该DATA分组销毁,否则,置参数NA1=NA,TIMES=0,转入步骤(C4);
(C4)查询邻居表项中邻节点NA对本节点的控制等级CLNA,i,若CLNA,i=0,转入步骤(C5),若CLNA,i=1,转入步骤(C6),若CLNA,i=2,转入步骤(C7);
(C5)查询邻居表项中NA对应的节点拥塞值TNA,对应邻节点NA的拥塞临界值为TeNA,若TNA<=TeNA,发送该DATA分组,否则,查询邻居表项中邻节点NA对应的节点度KNA和无限制邻节点总个数NNA,i,产生一个介于0与1之间的随机小数p;若p<=NNA,i/(KNA-1),发送该DATA分组,否则,转入步骤(C7);
(C6)产生一个介于0和1之间的随机小数p,若p<=0.5,发送该DATA分组,否则,转入步骤(C7);
(C7)忽略NA、除NA外邻居表项中控制CLj,i=2,的邻节点、NA1和该DATA分组的源地址,按最短路径为该DATA分组重新计算路由,若不能找到一条源目的节点间的路径,将该DATA分组重新放入节点缓存队列中进行排队等待,否则,NA更新为新路由路径的下一跳地址,更新TIMES=TIMES+1;若TIMES<=2,返回步骤(3d),否则,将该DATA分组重新放入节点缓存队列中。
本发明与现有技术相比,具有如下优点:
1)本发明根据维纳预测原理,对一个时间间隔内的节点接收数据量进行预测,获得节点接收数据量的动态行为,可以预先进行路由控制以避免节点发生拥塞。
2)本发明引入拥塞等级,根据节点当前状态和节点预测状态动态调整节点拥塞等级,为节点进行与拥塞等级相一致的路由控制提供支持,实现节点的高效利用。
3)本发明引入邻居表项,通过节点的状态信息及其邻节点的状态信息生成节点状态信息分组,并在邻节点间进行节点状态信息分组交换,为路由控制提供邻节点的状态信息以及两跳节点的情况,实现更为有效的路由控制。
附图说明
图1是本发明的系统框图;
图2是本发明的方法总流程框图;
图3是本发明的维纳预测子流程图;
图4是本发明的节点状态信息更新子流程图;
图5是本发明的路由控制子流程图。
具体实施方式
下面结合附图和实施例对本发明内容作详细叙述:
参照图1,本发明的系统由维纳预测模块1、节点状态信息模块2和路由控制模块3共三个模块组成。其中:维纳预测模块1,包括节点缓存队列子模块、更新节点拥塞值T子模块和更新节点拥塞等级S子模块;节点状态信息模块2,包括更新邻居表项信息子模块、更新节点度K子模块和生成节点状态信息分组子模块。各模块的功能如下:
节点缓存队列子模块,用于当接收到来自邻节点的数据包时,判断数据包类型,若该数据包为节点状态信息NSM分组,将NSM分组发送至更新邻居表项信息子模块,若该数据包为数据DATA分组,对当前定时间隔内的接收数据量统计值进行更新,并保存有当前时刻之前的26个时间间隔的接收数据量统计值;
更新节点拥塞值T子模块,用于根据节点缓存队列子模块中的节点缓存队列长度和节点处理速率,对节点拥塞值T进行更新;
更新节点拥塞等级S子模块,用于当定时间隔τ到达时,根据节点缓存队列子模块中的节点缓存队列长度、节点缓存容量、节点处理速率和节点接收数据量统计值,对节点拥塞等级S进行更新;
更新邻居表项信息子模块,用于当接收到来自节点缓存队列子模块的节点状态信息NSM分组时,对该NSM分组对应的邻居表项信息进行更新;
更新节点度K子模块,用于根据更新邻居表项信息子模块中的邻居表项信息,统计邻居表项中的邻节点总个数,对节点度K进行更新;
生成节点状态信息分组子模块,用于当定时间隔τ到达时,根据更新节点拥塞值T子模块中的节点拥塞值T、更新节点拥塞等级S子模块中的节点拥塞等级S、更新节点度K子模块中的节点度K和更新邻居表项信息子模块中的邻居表项信息,生成对应每一个邻节点的节点状态信息NSM分组,并将NSM分组发送至路由控制模块;
路由控制模块,用于当接收到来自生成节点状态信息分组子模块的NSM分组时,将NSM分组发送至相应的邻节点,当没有NSM分组等待处理,但节点缓存队列中有数据DATA分组等待处理时,对节点缓存队列中的头部第一个DATA分组进行处理,根据更新邻居表项信息子模块内的邻居表项信息,完成DATA分组的接收、发送、销毁或重新放入节点缓存队列中进行排队等待。
参照图2,本发明的基于维纳预测动态调整节点拥塞等级的路由控制方法,包括以下步骤:
步骤1:维纳预测。
参照图3,本步骤的具体实现如下:
1.1)当节点接收到来自邻节点的数据包时,判断数据包类型,若该数据包为节点状态信息NSM分组,转入步骤2,若该数据包为数据DATA分组,转入步骤1.2),节点状态信息NSM分组内存储有节点地址A、节点拥塞值T、节点对其邻节点的控制等级CL、节点度K和对应其邻节点的无限制邻节点总个数N,共5种信息。
1.2)设有一个定时间隔τ,根据网络中各节点的平均数据到达率大小,时间间隔τ可设置为节点接收到1kb至10Mb数据量的平均时间间隔大小,节点对每个时间间隔内的接收数据量进行统计,保存当前时刻之前的26个时间间隔的接收数据量统计值,设置t-kτ,L,t-τ,t,t+τ,L为各定时点,记t-τ和t之间的的接收数据量统计值为R(t),当节点接收到来自邻节点的数据DATA分组时,按如下公式对当前定时间隔内的接收数据量统计值R(t)进行更新:
R(t)=R(t)+pl
其中,R(t)在t-τ时刻时为0,pl为DATA分组长度;
1.3)本节点地址为i,对节点缓存队列中的数据DATA分组长度进行求和,得到本节点缓存队列长度m(t),按如下公式对本节点拥塞值Ti进行更新:
Ti=m(t)/Vi
其中,Vi为本节点处理速率;
1.4)当定时间隔τ到达时,即相对前一次对节点数据接收量进行维纳预测的定时点,经过时间间隔τ到达新的定时点,基于前26个接收数据量统计值,按如下公式对下一个时间间隔内的节点数据接收量R(t+τ)进行维纳预测:
α为(0,1)标准正态分布变量,取置信上限区间为85%,则α=1.04,R(t-kτ),…,R(t)分别为前k+1个时间间隔内的节点接收数据量统计值,当k>=25时,μ(t)和δ(t)将获得比较接近的估计值,这里取k=25;
1.5)按如下公式计算节点当前缓存占用率cp:
cp=m(t)/Mi
其中,Mi为本节点缓存容量。
当cp>0.95时,置节点当前状态CS=1,否则,置CS=0;
按如下公式计算节点预测缓存占用率cpp:
当cpp>0.95时,置节点预测状态PS=1,否则,置PS=0;
1.6)根据节点当前状态CS和节点预测状态PS,按如下规则动态调整节点拥塞等级S:
当CS=0,PS=0时:S=S-1,若S<0,置S=0;
当CS=0,PS=1时:S=S+1,若S>3,置S=3;
当CS=1,PS=1时:S=S+1,若S>3,置S=3;
当CS=1,PS=0时:S=S。
步骤2:节点状态信息更新。
参照图4,本步骤的具体实现如下:
2.1)当节点接收到来自邻节点的节点状态信息NSM分组时,对该NSM分组对应的邻居表项信息进行更新,邻居表项信息包括邻节点地址j、邻节点拥塞值Tj、邻节点对本节点的控制等级CLj,i、邻节点度Kj、对应本节点的无限制邻节点总个数Nj,i、邻节点缓存容量Mj和邻节点处理速率Vj,其中,邻节点度Kj表示邻节点j有Kj个邻节点,邻节点缓存容量Mj和邻节点处理速率Vj在与邻节点j建立连接时相互交换获得,对邻居表项进行更新的具体步骤如下:
(2.1a)读取节点状态信息NSM分组的源地址j,查找该源地址对应的邻居表项;
(2.1b)读取NSM分组中的节点拥塞值Tj、邻节点j对本节点i的控制等级CLj,i、节点度Kj和无限制邻节点总个数Nj,i;
(2.1c)分别将Tj、CLj,i、Kj和Nj,i写入邻节点j对应的邻居表项中;
(2.1d)销毁该NSM分组;
2.2)根据更新后的邻居表项,本节点i的节点度Ki更新为邻居表项中的邻节点总个数;
若S=1,根据本节点度Ki确定拒绝邻节点个数Ri:当Ki<=2时,Ri=1;当Ki>=3时,Ri对Ki/3四舍五入取值;对邻节点的节点拥塞值Tj,按从小到大进行排序;若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=0;
若S=2,根据本节点度Ki确定拒绝邻节点个数Ri:当Ki<=2时,Ri=1;当Ki>=3时,Ri对Ki/3四舍五入取值;对邻节点的节点拥塞值Tj,按从小到大进行排序;若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;
其中,控制等级CLi,j,包括0、1和2三种取值:当CLi,j=0时,表示节点i对邻节点j没有限制;当CLi,j=1时,表示节点i要求邻节点j向节点i发送DATA分组时,按50%的概率发送;当CLi,j=2时,表示节点i拒绝接收邻节点j的DATA分组;
2.4)生成对应每一个邻节点的节点状态信息NSM分组,具体步骤如下:
步骤3:路由控制。
参照图5,本步骤的具体实现如下:
3.1)当有节点状态信息NSM分组等待处理时,将NSM分组发送至相应的邻节点,当没有NSM分组等待处理,但节点缓存队列中有数据DATA分组等待处理时,对节点缓存队列中的头部第一个DATA分组进行处理,转入步骤3.2);
3.2)读取该DATA分组的目的地址,若该目的地址为本节点地址,则该DATA分组到达其目的节点,本节点对该DATA分组进行接收,否则,转入步骤3.3);
3.3)查询该DATA分组的下一跳地址NA,若NA为该DATA分组的目的地址,发送该DATA分组,否则,转入步骤3.4);
3.4)设置有一个数据DATA分组时延门限De,De值大于网络数据分组最大时延值,取De值为网络数据分组最大时延值的三倍大小,用当前时刻减去该DATA分组的生成时刻,得到该DATA分组的时延值D,若D>De,将该DATA分组销毁,否则,置参数NAl=NA,TIMES=0,转入步骤3.5);
3.5)查询邻居表项中邻节点NA对本节点的控制等级CLNA,i,若CLNA,i=0,转入步骤3.6;若CLNA,i=1,转入步骤3.7,若CLNA,i=2,转入步骤3.8);
3.6)根据邻节点NA的缓存容量MNA和处理速率VNA,设置对应邻节点NA的拥塞临界值TeNA,取TeNA=0.8MNA/VNA,查询邻居表项中邻节点NA对应的节点拥塞值TNA,若TNA<=TeNA,发送DATA分组至NA,否则,查询邻居表项中邻节点NA对应的节点度KNA和无限制邻节点总个数NNA,i,产生一个介于0与l之间的随机小数p;若p<=NNA,i/(KNA-1),发送DATA分组,否则,转入步骤3.8);
3.7)产生一个介于0与1之间的随机小数p,若p<=0.5,发送该DATA分组,否则,转入步骤3.8);
3.8)忽略邻节点NA、除NA外邻居表项中控制等级CL=2的邻节点、NA1和该DATA分组的源地址,按最短路径为该DATA分组重新计算路由,若不能找到一条源目的节点间的路径,将该DATA分组重新放入节点缓存队列中进行排队等待,否则,更新NA为新路由路径的下一跳地址,TIMES=TIMES+1;若TIMES<=2,返回步骤3.5),否则,将该DATA分组重新放入节点缓存队列中进行排队等待。
Claims (10)
1.一种基于维纳预测动态调整节点拥塞等级的路由控制方法,包括:
(1)维纳预测步骤
(1a)当节点接收到来自邻节点的数据包时,判断数据包类型,若该数据包为节点状态信息NSM分组,转入步骤(2),若该数据包为数据DATA分组,转入步骤(1b);
(1b)设有一个定时间隔τ,根据网络中各节点的平均数据到达率大小,时间间隔τ可设置为节点接收到1kb至10Mb数据量的平均时间间隔大小,节点对每个时间间隔内的接收数据量进行统计,保存当前时刻之前的26个时间间隔的接收数据量统计值,当节点接收到来自邻节点的数据DATA分组时,将当前定时间隔内的接收数据量统计值加上该DATA分组长度;
(1c)本节点地址为i,计算节点缓存队列中的数据量总和,得到本节点缓存队列长度m(t),由m(t)和本节点处理速率Vi两种信息计算本节点拥塞值Ti;
(1d)当定时间隔到达时,基于前26个接收数据量统计值,对下一个时间间隔内的节点接收数据量进行维纳预测,得到本节点下一个时间间隔的预测接收数据量R(t+τ);
(1e)由本节点缓存队列长度m(t)和本节点缓存容量Mi两种信息确定节点当前状态CS,由R(t+τ)、m(t)、Mi和本节点处理速率Vi四种信息确定节点预测状态PS,并根据节点当前状态CS和节点预测状态PS动态调整节点拥塞等级S;
(2)节点状态信息更新步骤
(2a)当节点接收到来自邻节点的节点状态信息NSM分组时,对该NSM分组对应的邻居表项信息进行更新,由更新后的邻居表项信息得到节点度Ki,其中,节点度Ki表示节点i有Ki个邻节点;
(2b)当定时间隔到达时,在节点拥塞等级S更新后,根据节点拥塞等级S、节点度Ki和邻节点拥塞值Tj,j=A1,A2,…,,A1,A2,…,分别表示Ki个邻节点的各邻节点地址,确定本节点对每一个邻节点的控制等级CLi,j;若S=0,置本节点对所有邻节点的控制等级若S=1,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值按从小到大进行排序,若邻节点j的节点拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=0;若S=2,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值按从小到大进行排序,若邻节点j的节点拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;若S=3,置本节点对所有邻节点的控制等级
(2c)统计邻居表项中控制等级的邻节点总个数Z,根据邻居表项中邻节点对本节点的控制等级CLj,i,确定对应每一个邻节点的无限制邻节点总个数Ni,j,将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j,本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j,写入NSM分组,生成对应每一个邻节点的节点状态信息NSM分组;
(3)路由控制步骤
(3a)设置一个DATA分组时延门限De和对应每一个邻节点的拥塞临界值Tej,
(3b)当有节点状态信息NSM分组等待处理时,将NSM分组发送至相应的邻节点;
(3c)当没有NSM分组等待处理,但节点缓存队列中有数据DATA分组等待处理时,对节点缓存队列中的头部第一个DATA分组进行处理,若该DATA分组的目的地址为本节点地址,本节点对该DATA分组进行接收,否则,查询该DATA分组的下一跳地址NA;若NA为该DATA分组的目的地址,发送该DATA分组,否则,计算该DATA分组的时延D;若D>De,将该DATA分组销毁,否则,置参数NA1=NA,TIMES=0,转入步骤(3d);
(3d)查询邻居表项中邻节点NA对本节点的控制等级CLNA,i,若CLNA,i=0,转入步骤(3e),若CLNA,i=1,转入步骤(3f),若CLNA,i=2,转入步骤(3g);
(3e)查询邻居表项中NA对应的节点拥塞值TNA,对应NA的拥塞临界值为TeNA,若TNA<=TeNA,发送该DATA分组,否则,查询邻居表项中邻节点NA对应的节点度KNA和无限制邻节点总个数NNA,i,产生一个介于0与1之间的随机小数p;若p<=NNA,i/(KNA-1),发送该DATA分组,否则,转入步骤(3g);
(3f)产生一个介于0与1之间的随机小数p,若p<=0.5,发送该DATA分组,否则,转入步骤(3g);
2.根据权利要求1所述的路由控制方法,其中步骤(1a)所涉及的节点状态信息NSM分组,包括节点地址A、节点拥塞值T、节点对其邻节点的控制等级CL、节点度K和对应其邻节点的无限制邻节点个数N,共5种信息。
3.根据权利要求1所述的路由控制方法,其中步骤(1e)所述的由本节点缓存队列长度m(t)和本节点缓存容量Mi两种信息确定节点当前状态CS,按如下规则确定:
计算节点缓存占用率cp:
cp=m(t)/Mi
当cp>0.95时,置节点当前状态CS=1,否则,置CS=0。
4.根据权利要求1所述的路由控制方法,其中步骤(1e)所述的由R(t+τ)、m(t)、Mi和本节点处理速率Vi四种信息确定节点预测状态PS,按如下规则确定:
计算节点预测缓存占用率cpp:
当cpp>0.95时,置节点预测状态PS=1,否则,置PS=0。
5.根据权利要求1所述的路由控制方法,其中步骤(1e)所述的根据节点当前状态CS和节点预测状态PS动态调整节点拥塞等级S,按如下规则确定:
当CS=0,PS=0时:S=S-1,若S<0,置S=0;
当CS=0,PS=1时:S=S+1,若S>3,置S=3;
当CS=1,PS=1时:S=S+1,若S>3,置S=3;
当CS=1,PS=0时:S=S。
7.根据权利要求1所述的路由控制方法,其中步骤(2a)所述的对该NSM分组对应的邻居表项信息进行更新,按如下步骤进行:
(7a)读取节点状态信息NSM分组的源地址j,查找该源地址对应的邻居表项;
(7b)读取NSM分组中的节点拥塞值Tj、邻节点j对本节点i的控制等级CLj,i、节点度Kj和无限制邻节点总个数Nj,i;
(7c)分别将Tj、CLj,i、Kj和Nj,i写入到邻节点j对应的邻居表项中;
(7d)销毁该NSM分组。
8.根据权利要求1所述的路由控制方法,其中步骤(2b)所涉及的控制等级CLi,j,包括0、1和2三种取值;
当CLi,j=0时,表示节点i对邻节点j没有限制;
当CLi,j=1时,表示节点i要求邻节点j向节点i发送DATA分组时,按50%的概率发送;
当CLi,j=2时,表示节点i拒绝接收邻节点j的DATA分组。
10.一种基于维纳预测动态调整节点拥塞等级的路由控制系统,包括:
(A)维纳预测模块,它包括:
(A1)节点缓存队列子模块,用于设有一个定时间隔τ,根据网络中各节点的平均数据到达率大小,时间间隔τ可设置为节点接收到1kb至10Mb数据量的平均时间间隔大小,节点对每个时间间隔内的接收数据量进行统计,保存当前时刻之前的26个时间间隔的接收数据量统计值,当节点缓存队列子模块接收到来自邻节点的数据包时,判断数据包类型,若该数据包为节点状态信息NSM分组,将NSM分组发送至更新邻居表项信息子模块,若该数据包为数据DATA分组,对当前定时间隔内的接收数据量统计值进行更新;
(A2)更新节点拥塞值T子模块,用于当节点缓存队列子模块接收到来自邻节点的数据DATA分组时,计算节点缓存队列中的数据量总和,得到本节点缓存队列长度m(t),本节点地址为i,由m(t)和本节点处理速率Vi两种信息计算本节点拥塞值Ti;
(A3)更新节点拥塞等级S子模块,用于当定时间隔到达时,基于前26个接收数据量统计值,对下一个时间间隔内的节点接收数据量进行维纳预测,得到下一个时间间隔的预测接收数据量R(t+τ),由本节点缓存队列长度m(t)和本节点缓存容量Mi两种信息确定节点当前状态CS,由R(t+τ)、m(t)、Mi和本节点处理速率Vi四种信息确定节点预测状态PS,并根据节点当前状态CS和节点预测状态PS动态调整节点拥塞等级S;
(B)节点状态信息模块,它包括:
(B1)更新邻居表项信息子模块,用于当该子模块接收到来自节点缓存队列子模块的节点状态信息NSM分组时,对该NSM分组对应的邻居表项信息进行更新;
(B2)更新节点度K子模块,用于根据更新邻居表项信息子模块中的邻居表项信息,统计邻居表项中的邻节点总个数,得到本节点度Ki;
(B3)生成节点状态信息分组子模块,用于当定时间隔到达时,在节点拥塞等级S更新后,根据节点拥塞等级S、节点度Ki和邻节点拥塞值Tj,确定本节点对每一个邻节点的控制等级CLi,j,其中,分别表示Ki个邻节点的各邻节点地址;
若S=1,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj,按从小到大进行排序,若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=0;
若S=2,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj,按从小到大进行排序,若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;
统计邻居表项中控制等级CLj,i=0,的邻节点总个数Z,根据邻居表项中邻节点对本节点的控制等级CLj,i,确定对应每一个邻节点的无限制邻节点总个数Ni,j,将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j,本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j,写入NSM分组,生成对应每一个邻节点的节点状态信息NSM分组;
(C)路由控制模块,用于完成如下功能:
(C1)设置一个DATA分组时延门限De和对应每一个邻节点的拥塞临界值Tej,De值大于网络数据分组最大时延值,取De值为网络数据分组最大时延值的三倍大小,邻节点j的缓冲容量为Mj,邻节点j的处理速率为Vj,取Tej=0.8Mj/Vj;
(C2)当路由控制模块接收到来自生成节点状态信息分组子模块的节点状态信息NSM分组时,将NSM分组发送至相应的邻节点;
(C3)当没有NSM分组等待处理,但节点缓存队列中有数据DATA分组等待处理时,对节点缓存队列中的头部第一个DATA分组进行处理,若该DATA分组的目的地址为本节点地址,本节点对该DATA分组进行接收,否则,查询该DATA分组的下一跳地址NA;若NA为该DATA分组的目的地址,发送该DATA分组,否则,计算该DATA分组的时延D;若D>De,将该DATA分组销毁,否则,置参数NA1=NA,TIMES=0,转入步骤(C4);
(C4)查询邻居表项中邻节点NA对本节点的控制等级CLNA,i,若CLNA,i=0,转入步骤(C5),若CLNA,i=1,转入步骤(C6),若CLNA,i=2,转入步骤(C7);
(C5)查询邻居表项中NA对应的节点拥塞值TNA,对应邻节点NA的拥塞临界值为TeNA,若TNA<=TeNA,发送该DATA分组,否则,查询邻居表项中邻节点NA对应的节点度KNA和无限制邻节点总个数NNA,i,产生一个介于0与1之间的随机小数p;若p<=NNA,i/(KNA-1),发送该DATA分组,否则,转入步骤(C7);
(C6)产生一个介于0和1之间的随机小数p,若p<=0.5,发送该DATA分组,否则,转入步骤(C7);
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102023574A CN102231711B (zh) | 2011-07-19 | 2011-07-19 | 基于维纳预测动态调整节点拥塞等级的路由控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102023574A CN102231711B (zh) | 2011-07-19 | 2011-07-19 | 基于维纳预测动态调整节点拥塞等级的路由控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102231711A CN102231711A (zh) | 2011-11-02 |
CN102231711B true CN102231711B (zh) | 2013-11-06 |
Family
ID=44844249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102023574A Expired - Fee Related CN102231711B (zh) | 2011-07-19 | 2011-07-19 | 基于维纳预测动态调整节点拥塞等级的路由控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102231711B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9013995B2 (en) * | 2012-05-04 | 2015-04-21 | Telefonaktiebolaget L M Ericsson (Publ) | Congestion control in packet data networking |
CN106603432B (zh) | 2016-12-23 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种报警网络的网络拥塞控制方法及装置 |
CN107506175B (zh) * | 2017-07-21 | 2020-07-28 | 北京中科睿芯科技有限公司 | 一种基于执行效率梯度预测的数据流图拥塞检测方法 |
CN110247854B (zh) * | 2019-06-21 | 2023-01-20 | 广西电网有限责任公司 | 一种多等级业务调度方法和调度系统以及调度控制器 |
CN116094998A (zh) * | 2022-12-29 | 2023-05-09 | 天翼云科技有限公司 | 一种基于ovs的邻居表项的vxlan报文的转发方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697635A (zh) * | 2009-09-16 | 2010-04-21 | 重庆大学 | 认知无线mesh网络的接入方法和控制方法 |
CN101835235A (zh) * | 2010-04-23 | 2010-09-15 | 西安电子科技大学 | 基于认知的异构网络路由方法 |
CN101854641A (zh) * | 2010-03-30 | 2010-10-06 | 中国人民解放军信息工程大学 | 认知Mesh网络路由方法 |
-
2011
- 2011-07-19 CN CN2011102023574A patent/CN102231711B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697635A (zh) * | 2009-09-16 | 2010-04-21 | 重庆大学 | 认知无线mesh网络的接入方法和控制方法 |
CN101854641A (zh) * | 2010-03-30 | 2010-10-06 | 中国人民解放军信息工程大学 | 认知Mesh网络路由方法 |
CN101835235A (zh) * | 2010-04-23 | 2010-09-15 | 西安电子科技大学 | 基于认知的异构网络路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102231711A (zh) | 2011-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Grundy et al. | Promoting congestion control in opportunistic networks | |
CN102231711B (zh) | 基于维纳预测动态调整节点拥塞等级的路由控制方法 | |
Ferreira et al. | Performance evaluation of routing protocols for MANETs with known connectivity patterns using evolving graphs | |
CN103023806B (zh) | 共享缓存式以太网交换机的缓存资源控制方法及装置 | |
CN102387082B (zh) | 基于流分类的分组流量控制系统及控制方法 | |
CN103081434A (zh) | 智能存储器 | |
CN106713182A (zh) | 一种处理流表的方法及装置 | |
CN105245448A (zh) | 命名数据网络中多业务多路径路由优化方法 | |
CN106201356A (zh) | 一种基于链路可用带宽状态的动态数据调度方法 | |
CN110351286A (zh) | 一种软件定义网络中链路洪泛攻击检测响应机制 | |
Rashid et al. | Message drop control buffer management policy for DTN routing protocols | |
CN104092612A (zh) | 更新快速转发表匹配顺序的方法及装置 | |
CN106537824A (zh) | 用于减少信息中心网络的响应时间的方法和装置 | |
Rashid et al. | Dynamic Prediction based Multi Queue (DPMQ) drop policy for probabilistic routing protocols of delay tolerant network | |
CN104954477A (zh) | 一种基于并发改进的大规模图数据流式划分方法及系统 | |
Liang et al. | The effect of routing under local information using a social insect metaphor | |
Malarvizhi et al. | RETRACTED ARTICLE: Dynamic scheduling and congestion control for minimizing delay in multihop wireless networks | |
CN101783763B (zh) | 防拥塞的处理方法及系统 | |
CN102573000A (zh) | 基于直接/间接矩阵的无线自组织网络保护路由生成算法 | |
Alnajjar et al. | Performance analysis of routing protocols in delay/disruption tolerant mobile ad hoc networks | |
Handigol et al. | A reliable data transport protocol for partitioned actors in Wireless Sensor and Actor Networks | |
An et al. | MACRE: A novel distributed congestion control algorithm in DTN | |
Zhang et al. | A fuzzy ranking based buffer replacement strategy for opportunistic networks | |
JP5361001B2 (ja) | 経路制御装置、経路制御方法、およびプログラム | |
Bowlin et al. | A blockchain application on bootstrapping mobile nodes within vanet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131106 |