CN102231711B - 基于维纳预测动态调整节点拥塞等级的路由控制方法 - Google Patents

基于维纳预测动态调整节点拥塞等级的路由控制方法 Download PDF

Info

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
Application number
CN2011102023574A
Other languages
English (en)
Other versions
CN102231711A (zh
Inventor
史琰
盛敏
陆家成
赵微
彭昌万
王小凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN2011102023574A priority Critical patent/CN102231711B/zh
Publication of CN102231711A publication Critical patent/CN102231711A/zh
Application granted granted Critical
Publication of CN102231711B publication Critical patent/CN102231711B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
Figure BDA0000076959370000021
A1,A2,L,
Figure BDA0000076959370000022
分别表示Ki个邻节点的各邻节点地址,确定本节点对每一个邻节点的控制等级CLi,j;若S=0,置本节点对所有邻节点的控制等级CLi,j=0,
Figure BDA0000076959370000023
若S=1,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj
Figure BDA0000076959370000024
按从小到大进行排序,若邻节点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, j = A 1 , A 2 , L , A K i ;
(2c)统计邻居表项中控制等级CLj,i=0,的邻节点总个数Z,根据邻居表项中邻节点对本节点的控制等级CLj,i
Figure BDA0000076959370000033
确定对应每一个邻节点的无限制邻节点总个数Ni,j
Figure BDA0000076959370000034
将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j
Figure BDA0000076959370000035
本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j写入NSM分组,生成对应每一个邻节点的节点状态信息NSM分组。
(3)路由控制步骤
(3a)设置一个DATA分组时延门限De和对应每一个邻节点的拥塞临界值Tej j = A 1 , A 2 , L , A K i ;
(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,
Figure BDA0000076959370000041
的邻节点、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
Figure BDA0000076959370000051
确定本节点对每一个邻节点的控制等级CLi,j,其中,A1,A2,L,分别表示Ki个邻节点的各邻节点地址;
若S=0,置本节点对所有邻节点的控制等级CLi,j=0,
Figure BDA0000076959370000053
若S=1,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj
Figure BDA0000076959370000054
按从小到大进行排序,若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=0;
若S=2,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj
Figure BDA0000076959370000055
按从小到大进行排序,若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;
若S=3,置本节点对所有邻节点的控制等级CLi,j=2,
Figure BDA0000076959370000056
统计邻居表项中控制等级CLj,i=0,
Figure BDA0000076959370000057
的邻节点总个数Z,根据邻居表项中邻节点对本节点的控制等级CLj,i
Figure BDA0000076959370000058
确定对应每一个邻节点的无限制邻节点总个数Ni,j
Figure BDA0000076959370000059
将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j
Figure BDA00000769593700000510
本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j写入NSM分组,生成对应每一个邻节点的节点状态信息NSM分组。
(C)路由控制模块,用于完成如下功能:
(C1)设置一个DATA分组时延门限De和对应每一个邻节点的拥塞临界值Tej
Figure BDA0000076959370000061
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+τ)进行维纳预测:
R ( t + τ ) = R ( t ) + ΔR ( t ) = R ( t ) + μ ( t ) τ + αδ ( t ) τ
其中μ(t)的估计值和δ(t)的估计值
Figure BDA0000076959370000093
按以下公式计算:
μ ^ ( t ) = Σ j = 0 k - 1 ( R ( t - jτ ) - R ( t - jτ - τ ) ) kτ = R ( t ) - R ( t - kτ ) kτ
δ ^ ( t ) = 1 τ Σ j = 0 k - 1 ( R ( t - jτ ) - R ( t - jτ - τ ) - μ ^ τ ) 2 k
α为(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 = R ( t + τ ) + m ( t ) - V i · τ M i
当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
Figure BDA0000076959370000101
其中,邻节点度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更新为邻居表项中的邻节点总个数;
2.3)当定时间隔到达时,在节点拥塞等级S更新后,根据节点拥塞等级S、节点度Ki和邻节点拥塞值Tj
Figure BDA0000076959370000102
确定本节点对每一个邻节点的控制等级CLi,j,其中,A1,A2,L,
Figure BDA0000076959370000103
分别表示各邻节点的地址:
若S=0,置本节点对所有邻节点的控制等级CLi,j=0,
Figure BDA0000076959370000111
若S=1,根据本节点度Ki确定拒绝邻节点个数Ri:当Ki<=2时,Ri=1;当Ki>=3时,Ri对Ki/3四舍五入取值;对邻节点的节点拥塞值Tj
Figure BDA0000076959370000112
按从小到大进行排序;若邻节点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
Figure BDA0000076959370000113
按从小到大进行排序;若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;
若S=3,置本节点对所有邻节点的控制等级CLi,j=2,
Figure BDA0000076959370000114
其中,控制等级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分组,具体步骤如下:
(2.4a)统计邻居表项中控制等级CLj,i=0,
Figure BDA0000076959370000115
的邻节点总个数Z;
(2.4b)若邻居表项中邻节点j对本节点i的控制等级CLj,i≠0,
Figure BDA0000076959370000116
置对应邻节点j的无限制邻节点总个数Ni,j=Z,否则,置Ni,j=Z-1;
(2.4c)将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j
Figure BDA0000076959370000117
本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j写入NSM分组,生成对应每一个邻节点的节点状态信息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,…,
Figure FDA00003508401400011
,A1,A2,…,
Figure FDA00003508401400012
分别表示Ki个邻节点的各邻节点地址,确定本节点对每一个邻节点的控制等级CLi,j;若S=0,置本节点对所有邻节点的控制等级
Figure FDA00003508401400021
若S=1,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值
Figure FDA00003508401400022
按从小到大进行排序,若邻节点j的节点拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=0;若S=2,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值
Figure FDA00003508401400023
按从小到大进行排序,若邻节点j的节点拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;若S=3,置本节点对所有邻节点的控制等级
Figure FDA00003508401400029
(2c)统计邻居表项中控制等级
Figure FDA000035084014000210
的邻节点总个数Z,根据邻居表项中邻节点对本节点的控制等级CLj,i
Figure FDA00003508401400024
确定对应每一个邻节点的无限制邻节点总个数Ni,j
Figure FDA00003508401400025
将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j
Figure FDA00003508401400027
写入NSM分组,生成对应每一个邻节点的节点状态信息NSM分组;
(3)路由控制步骤
(3a)设置一个DATA分组时延门限De和对应每一个邻节点的拥塞临界值Tej j = A 1 , A 2 , · · · , A K i ;
(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,
Figure FDA00003508401400031
的邻节点、NA1和该DATA分组的源地址,按最短路径为该DATA分组重新计算路由,若不能找到一条源目的节点间的路径,将该DATA分组重新放入节点缓存队列中进行排队等待,否则,NA更新为新路由路径的下一跳地址,更新TIMES=TIME+S1;若TIMES<=2,返回步骤(3d),否则,将该DATA分组重新放入节点缓存队列中。
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 = R ( t + τ ) + m ( t ) - V i · τ M i
当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。
6.根据权利要求1所述的路由控制方法,其中步骤(2a)所涉及的邻居表项信息,包括邻节点地址j、邻节点拥塞值Tj、邻节点对本节点的控制等级CLj,i、邻节点度Kj、对应本节点的无限制邻节点总个数Nj,i、邻节点缓存容量Mj和邻节点处理速率Vj
Figure FDA00003508401400042
其中,邻节点缓存容量Mj和邻节点处理速率Vj在与邻节点j建立连接时相互交换获得。
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分组。
9.根据权利要求1所述的路由控制方法,其中步骤(3a)所涉及的DATA分组时延门限De和对应每一个邻节点的拥塞临界值Tej
Figure FDA00003508401400051
De值大于网络数据分组最大时延值,取De值为网络数据分组最大时延值的三倍大小,邻节点j的缓冲容量为Mj,邻节点j的处理速率为Vj,取Tej=0.8Mj/Vj
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,其中,
Figure FDA00003508401400062
分别表示Ki个邻节点的各邻节点地址;
若S=0,置本节点对所有邻节点的控制等级CLi,j=0,
Figure FDA00003508401400063
若S=1,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj,
Figure FDA00003508401400064
按从小到大进行排序,若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=0;
若S=2,根据本节点度Ki计算本节点的拒绝邻节点个数Ri,对邻居表项中邻节点的节点拥塞值Tj,
Figure FDA00003508401400065
按从小到大进行排序,若邻节点j的拥塞值Tj排序位置处于前Ri个,置本节点i对邻节点j的控制等级CLi,j=2,否则,置CLi,j=1;
若S=3,置本节点对所有邻节点的控制等级CLi,j=2,
Figure FDA00003508401400066
统计邻居表项中控制等级CLj,i=0,
Figure FDA00003508401400067
的邻节点总个数Z,根据邻居表项中邻节点对本节点的控制等级CLj,i
Figure FDA00003508401400068
确定对应每一个邻节点的无限制邻节点总个数Ni,j
Figure FDA00003508401400069
将本节点地址i、本节点拥塞值Ti、本节点对邻节点的控制等级CLi,j
Figure FDA000035084014000610
本节点度Ki和对应邻节点的无限制邻节点总个数Ni,j
Figure FDA000035084014000611
写入NSM分组,生成对应每一个邻节点的节点状态信息NSM分组;
(C)路由控制模块,用于完成如下功能:
(C1)设置一个DATA分组时延门限De和对应每一个邻节点的拥塞临界值TejDe值大于网络数据分组最大时延值,取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,
Figure FDA00003508401400071
的邻节点、NA1和该DATA分组的源地址,按最短路径为该DATA分组重新计算路由,若不能找到一条源目的节点间的路径,将该DATA分组重新放入节点缓存队列中进行排队等待,否则,NA更新为新路由路径的下一跳地址,更新TIMES=TIMES+1;若TIMES<=2,返回步骤(3d),否则,将该DATA分组重新放入节点缓存队列中。
CN2011102023574A 2011-07-19 2011-07-19 基于维纳预测动态调整节点拥塞等级的路由控制方法 Expired - Fee Related CN102231711B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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网络路由方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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