CN109818866B - 一种能量意识和多维参数感知的服务质量保障路由方法 - Google Patents
一种能量意识和多维参数感知的服务质量保障路由方法 Download PDFInfo
- Publication number
- CN109818866B CN109818866B CN201910220760.6A CN201910220760A CN109818866B CN 109818866 B CN109818866 B CN 109818866B CN 201910220760 A CN201910220760 A CN 201910220760A CN 109818866 B CN109818866 B CN 109818866B
- Authority
- CN
- China
- Prior art keywords
- node
- link
- energy
- nodes
- network
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明提出了一种能量意识和多维参数感知的服务质量保障路由方法。首先定义能量饱和模式和能量亏损模式两种工作模式,建立能量代价模型,并对HELLO消息的数据包格式字段进行修改,以此来影响泛洪频率即HELLO消息泛洪周期时间,达到节省能量的目的;其次对于网络中MPR节点冗余问题也进行了算法优化处理,以此提高整个网络负载和网络能量使用效率,进一步提高网络性能;最后在标准OLSR协议(optimized link state routing protocol,OLSR协议)的基础之上对路由路径选择策略做出改进,加入链路剩余带宽、链路端间时延、节点连接时间三种服务质量约束条件,在路径选择上改进了单一的迪杰斯特拉算法路径选择规则,从而综合保障网络服务质量的可靠性。
Description
技术领域
本发明属于移动自组织网络技术领域,特别是涉及一种能量意识和多维参数感知的服务质量保障路由方法。
背景技术
移动自组织网络(MANET)是一种用于连接移动设备的无线网络,网络中的设备都可能独立的向任何方向自由移动,因此会频繁的改变与其他设备之间的连接。持续地为每个设备保持建立正确路由所需的信息是MANET的主要挑战。相较于现有的一些有中心结构网络来说,MANET具有更低的建设成本和更大的普及空间。
OLSR(Optimized Link State Routing,优化链路状态路由协议)是一种主要用于MANET网络的路由协议。它对经典链路状态算法进行优化,使其符合MANET的要求。优化链路状态路由协议(OLSR)的关键是使用了多点中继(MPR)技术,最小化洪范网络中的控制信息。OLSR共有3种消息用于网络维护,分别是HELLO消息,拓扑控制(Topology Control,TC)消息和多接口声明(Multiple Interface Declaration,MID)消息。
HELLO消息包含了发送节点所有邻居节点的地址和它们之间的链路状态,且不会
被任何节点转发,用于邻居发现和MPR计算。每个节点周期性发送HELLO消息,节点接收到HELLO消息后,将HELLO发送者填充到链路集和1跳邻居集,将HELLO包含的节点地址和链路状态保存到2跳邻居集。接下来节点从它的1跳对称邻居节点中选出部分节点作为MPR,使该节点能通过这些MPR节点覆盖它的所有2跳邻居节点。节点通过HELLO消息获得1跳和2跳节点的链路状态。
TC消息包含了消息序列号ANSN,发送者自身和它所有MPR选择者的地址,只被转发者的MPR转发,用于洪范链路状态和计算路由。每个MPR节点周期性发送TC消息,节点接收到TC消息后,将TC包含的地址和TC发送者地址填充到拓扑集。节点可以获得它的所有两跳节点的链路状态。节点通过TC消息获得2跳以上节点的链路状态。
MID消息包含了主地址和其它参与OLSR的接口地址,只被转发者的MPR转发,用于计算路由表。当某个物理节点包含多个参与OLSR的接口时,它必须周期性发送MID消息。节点通过MID消息获得多接口信息。
当OLSR节点接收到以上3种消息之一,并按照流程填充完相应的数据库后,使用最短跳数优先的原则计算出整个网络的路由表。
标准OLSR协议是MANET网络中一种经典路由协议,适用于大规模密集型移动网络,并且适合于节点变化频繁的场合使用。标准OLSR协议在计算路由时,只通过路径跳数来选择路由,但是在实际环境中,还存在其他的影响因素,例如节点能量固定和网络服务质量等问题。在一些特定的场景中吗,整个网络中节点生存时间和网络服务质量显得非常重要。例如,战场通信或者应急通讯等组网环境下需要长时间的网络生存时间和良好的网络服务质量,从而提供可靠的数据网络通信服务。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于标准OLSR协议改进型路由协议,具有能量意识和多维参数感知的服务质量保障路由方法。协议通过改进HELLO消息,加入能量代价参数字段,并设定能量饱和模式和能量亏损模式两种能量状态工作模式,有效控制网络中广播消息洪泛频率,从而达到能量均衡目的;通过对标准OLSR协议中采用贪心算法计算最小多点中继集合时存在较大冗余情况进行改进,改进后的算法通过除去冗余可以简单高效地得到最小MPR集合,改善网络负载,提高网络性能;通过链路剩余带宽、链路端间时延和节点连接时间三个度量指标结合标准协议中迪杰斯特拉最短路径算法综合选择路由路径策略,并根据实际网络应用环境设定约束条件优先级,实现网络传输过程中的网络服务质量保证。
为实现上述发明目的,本发明提出了一种能量意识和多维参数感知的服务质量保障路由方法,包括以下步骤:
步骤1:OLSR协议初始化,网络节点进行剩余能量自检模式,设定节点剩余能量阈值,定义两种能量工作模式,当节点剩余能量在阈值以上,则网络节点保持在能量饱和模式;当节点剩余能量在阈值以下,则网络节点进入能量亏损模式;
步骤2:泛洪HELLO消息,通过周期性交换HELLO消息来建立本地链路信息库和相邻区域信息库,建立能量代价模型,通过HELLO消息中的能量信息字段计算能量代价系数,根据步骤1中判断结果调整泛洪HELLO消息的频率;
步骤3:计算多点中继节点MPR,以MPR节点选择标准为基础进行优化,求得的MPR集最优解使得网络中冗余MPR节点最少;
步骤4:路由表计算,根据MANET的实际网络情况,并结合服务质量度量方法,选择链路剩余带宽、链路端间时延、节点连接时间作为路由路径选择的服务质量约束条件,并分别建立数学模型;
作为优选,步骤1中所述OLSR协议初始化为:网络节点上电运行,路由协议程序开始工作,在初始化阶段,节点A对外广播HELLO消息分组,当节点B收到这个分组时,B节点将A节点添加到邻居集合中,并标记A到B链路状态为非对称链路,然后,B对外广播HELLO消息分组时,在HELLO分组中就包含有A是B的邻居节点的信息,此信息指明从A到B的链路状态是非对称的,当A收到此分组时,会在邻居集中将B的状态更新为对称,同理,在A再次广播HELLO分组时,HELLO分组中就包含了B是A邻居节点并且是对称链路的信息,当B收到该分组时,B就在邻居节点集中将A的状态更新为对称;
步骤1中所述网络节点进行剩余能量自检模式为:由于标准OLSR协议的操作独立于其他协议,对底层链路层未做任何假设,因此在HELLO消息数据分组格式保留字段中加入能量信息字段,以此获取网络节点能量剩余信息:Eresidual。网络节点根据该值与设定的阈值进行对比,若该值大于设定阈值,则网络节点将工作模式切换为能量饱和模式,反之网络节点将工作模式切换为能量亏损模式。此过程称之为网络节点进行剩余能量自检模式;
步骤1中所述能量饱和模式的定义如下:
能量饱和模式,是指网络节点剩余能量大于设定阈值,与标准OLSR协议工作并无差异。
步骤1中所述能量亏损模式的定义如下:
能量亏损模式,是指网络节点剩余能量小于设定阈值,将会降低HELLO消息发送频率。
作为优选,步骤2中所述泛洪HELLO消息为:标准OLSR协议,在初始化阶段通过泛洪HELLO消息建立链路,由于每个节点都需要探测与其他邻近节点间的链路,由于无线传播的不确定性,某些链路可能被认为是单向的,因此,所有链路必须双向验证才被认为是可用的,OLSR协议中全局链路感知是通过HELLO消息泛洪实现的,本地链路信息表存储了该节点到邻居节点的链路信息。节点发送HELLO分组时,本地链路信息表作为消息的内容。节点收到HELLO分组,更新本地链路信息表;
步骤2中所述本地链路信息库为:本地链路信息库存储到达相邻节点的有关链路的信息。
步骤2中所述相邻区域信息库为存储有关相邻节点、跳相邻节点、MPR,以及MPR选择器的信息;
所述相邻节点集为一个节点记录一个相邻节点数组集合,用于其相邻节点的描述;
所述二跳相邻节点集为一个节点记录一个二跳相邻节点数组集合,用于其相邻节点和对称二跳相邻区域之间的对称链路描述,以及根据定义,MPR链路也是对称链,因此还包含MPR的描述;
所述MPR集为一个节点维护一个被选作MPR的相邻节点的集合,各个相邻节点的主地址被列在MPR集合中
所述MPR选择器集为一个节点记录一个MPR选择器数组集合,用于已经将本节点选作MPR的相邻节点的描述。
步骤2中所述建立能量代价模型为:
当Ethreshold<Eresidual<Einitial时,取θ为0,网络节点处于能量饱和模式;
当Eresidual≤Ethreshold<<Einitial且0<<Eresidual时,取θ为1,网络节点处于能量亏损模式。
上式中,Cenergy代表节点能量代价系数,θ为开关参,Einitial代表节点初始电池能量,Eresidual代表节点当前时间剩余电池能量,Ethreshold代表节点能量工作模式阈值,以此设定两种能量状态下不同工作模式;
根据能量投递代价系数公式可得,随着节点入网后时间的推移,节点的剩余电量不断减少,当达到能量阈值时,节点能量代价系数会增加,节点将根据自己的剩余电量来自适应决定向邻居节点HELLO消息的发送周期即时间间隔;
定义Cenergy与HELLO消息发送周期Htime关系函数如下:
Htime=C*(Cenergy+1)×(1+a/16)×2b
HELLO消息发送周期Htime:为本域指定本节点在某个特定接口发送HELLO消息的间隔时间,即发送下一条HELLO消息之前的时间。可以将这个时间信息用于链路探测,消息发送间隔时间用本域高部4比特表示的尾数和本域低部4比特表示的指数来共同表示,HELLO消息发送周期所占用的8比特数据;
Htime=C×(1+a/16)×2b
其中,a表示本域高部4比特表示的整数,b表示本域低部4比特表示的整数;
比例因子常数C的取值为:C=1/16s(0.0625s);
对于前面建议的常数C(1/16s),可以采用上述公式按照二进制定点数或者二进制浮点数与至少8比特分数部分表示而将其存储下来,而且不会损失其精确度,这相当于NTP时间邮戳和单精度IEEE标准754浮点数。
作为优选,步骤3中所述计算多点中继节点MPR为:
多点中继的思想是通过降低相同区域内的冗余重传而将消息在网络中的泛洪开销降低到最低程度,网络中的每个节点N从其对称一跳相邻区域即任一节点N的对称一跳相邻区域是一组节点,该组节点至少存在一条对称链路到达节点N中选择个节点集称为节点N的MPR集,该相邻区域可能重传该节点N发送的消息,不在节点N的MPP集中的那些相邻节点仍然接收和处理广播消息,但是不重传从节点N接收到的广播消息;
每个节点从其一跳对称相邻节点中选择其MPR集,选出的MPR集覆盖按照传输距离来衡量全部对称严格二跳节点;节点N的、MPR集表示为MPR(N),是节点N的对称一跳相邻区域的、满足以下条件的任意子集:节点N的对称严格二跳相邻区域中的每个节点必须有一条链路到达MPR(N),MPR集越小,OLSR路由协议的控制传输开销越低。
每个节点维护有关已经选择其作为MPR的相邻节点集的信息这个相邻节点集称为该节点的多点中继选择器集,一个节点从其相邻节点周期性发送的HELLO消息中获取多点中继选择器集信息。
假定来自节点N的任意一个MPR选择器的、需要传播到整个网络中的一条广播消息被节点N重传,其前提是节点N迄今还未接收到这条广播消息,MRP集可能随着时间的流逝而变化即当一个节点选择另外一个MPR集的时候,并且通过其HELLO消息中的选择器节点来说明。
作为优选,步骤3中所述MPR节点选择标准为基础进行优化方法如下:
网络中每个节点独立地计算自己的MPR集,MPR集合的选定应满足下列条件:
首先,节点Xi的MPR集合元素取自于Xi的一跳邻居节点集合;
其次,选定的一跳节点能覆盖Xi的全部二跳节点。因此可将最小MPR集选择问题转变为如下数学模型的表达形式:
定义节点Xi的MPR集为集合O,其一跳邻居节点的集合为Y1(Xi),二跳邻居节点的集合为Y2(Xi),据MPR集的选定的必要条件:
因此整个问题就转变为在符合上述条件的基础上尽可能使得MPR集合成员的个数最少,即是最小化|O|;
优化多点中继节点选择算法如下:
步骤3.1,设O为节点Xi的MPR集,且O初始化为除X_Willingness(节点Xi的意愿设置程度)=WILL_NEVER(总是不愿意)的全部节点的集合;
X_Willingness为本域说明一个节点愿意承载和转发其他节点的信息一个将本域设为WILL_NEVER(总是不愿意)的节点决不会被任何节点选作MPR;一个将本域设为总是愿意即WILL ALWAYS的节点必定总是被选作MPR,在默认情况下,一个节点应该广描本域为默认WILL_DEFAULT;
意愿设置程度:
WILL_NEVER=0
WILL_LOW=1
WILL_DEFAULT=3
WILL_HIGH=6
WILL_ALWAYS=7
一个节点的意愿设置程度可以设为0~7之间的任一整数,说明该节点到底有多愿意为其他节点转发信息节点的默认愿意设置程度为WILL_DEFAULT即等于3,意愿程度WILL_NEVER即等于0表示一个节点不愿意为其他节点转发信息,比如由于资源限制而不愿意;意愿程度WILL_ALWAYS即等于7表示个节点总是愿意被选择为其他一节点转发信息,例如由于资源充足而愿意,一个节点可以随着其条件变化而动态改变其意愿设置程度;
步骤3.2,分别计算Y1(Xi)中全部节点在Y2(Xi)中所能覆盖的节点个数;
步骤3.3,分别计算O中节点的能量消耗值Eall;
定义Eall与节点意愿设置程度X_Willingness的关系式如下:
以及:Eall=Einitial-Eresidual;
公式适用说明:例如,当节点意愿设置程度为WILL_DEFAULT时,但是Eall不对其产生影响;当节点意愿设置程度为WILL_DEFAULT时,但是Eall每增长到一个门限值,将节点意愿设置程度更新为对应等级。
上式中ΔX_Willingnes代表节点更新后的意愿程度;X_Willingness代表节点本身的意愿程度;Eall代表节点能量消耗总和。
以上关系式可以看出,节点能量消耗值Eall越大,则该节点X_Willingnes值越小,对应的被选为MPR节点的概率就越小。另外该函数也一定程度考虑了节点能量的利用率因素,这就使得剩余电量较多和节点能量利用率更高的节点即是X_Willingnes相对较高的节点更主动承担更多的网络拓扑维护和数据业务的中继传输任务,从而在保障能量利用率的基础上,尽可能均衡使用各网络节点能量,有效延长网络节点的生存时间;
步骤3.4,O中没有被选中的节点按照以下条件先后退出集合O:
首先是X_Willingness=WILL_NEVER的节点优先退出集合O;
其次是二跳邻居节点覆盖冗余的节点退出;
检查此时Y2(Xi)中是否有未被O集合中某个节点覆盖的节点,如有则不能删除O中节点,反之从O集合中删除节点;
步骤3.5,重复执行步骤3.2~3.4,并检查此时Y2(Xi)中是否有未被O集合中某个节点覆盖的节点,如有则不能删除O中节点,反之从O集合中删除节点的操作,直到O集合节点完全覆盖Y2(Xi)中全部节点;
建立拓扑表,标准OLSR协议的链路探测和相邻节点探测基本土为每个节点提供了一张相邻节点列表、分组格式和分组转发、MPR优化泛洪机制,使用这张相邻节点列表可以直接进行通信,在此基础之上,将拓扑信息传播到整个网络中;
作为优选,步骤4中所述服务质量度量方法的条件如下所述:
在MANET中,网络拓扑由移动的节点与通信范围内节点之间的无线链路构成,因此该拓扑结构在数学上可以抽象为图论中简单无向图G=(V,E)。其中,V={v1,v2,v3,…,vn}表示图G中所有节点集合,vi∈V对应网络中移动的通信节点。E={e1,e2,e3,…,em}表示图G中所有边的集合,ei∈E对应于处于通信范围内两个节点之间的无线链路。基于拓扑结构的数学抽象,根据QoS保证的需求,设定节点u和节点v之间的链路euv的链路剩余带宽需求为Buv,链路端间时延需求为Duv,节点连接时间要求为Tuv。则路径Ruv=νu,ν1,ν2,ν3,...,νn,νv上的三种QoS度量分别如下,其中d为QoS量化参数:
可加性度量:d(Ruv)=d(eu1)+d(e12)+…+d(env)
可乘性度量:d(Ruv)=d(eu1)×d(e12)×…×d(env)
最小性度量:d(Ruv)=min(d(eu1),d(e12),…,d(env))
根据服务质量度量的三种划分标准,链路剩余带宽属于最小化参数;链路端间时延属于可加性参数;节点连接时间属于最小化参数。由此可知,在MANET中寻找符合服务质量的路径问题规划为寻找符合最大端间时延的Dmax最小可用带宽Bmin以及最小连接时间Tmin的链路Ru→v,使其满足如下的约束条件:
综上所述,链路中三种QoS参数应该满足以下约束条件:链路剩余带宽B应该满足大于等于最小链路剩余带宽Bmin;链路端间时延D应该满足小于等于最大链路端间时延Dmax;节点连接时间T应该满足大于等于最小节点连接时间Tmin。否则,该链路应该被排除在路由路径策略之外;
步骤4中链路剩余带宽、链路端间时延、节点连接时间三个参数的计算方法如下:
关于网络节点链路剩余带宽计算方法:采用网络节点信道空闲时间比例来估算剩余带宽,并且通过滑动窗口机制计算平均带宽,最后采用加权平滑技术对窗口数进行加权平均,即可求得当前时刻链路的可用带宽。具体计算公式步骤如下:
假设每条链路总带宽Bw已知,每个节点M在链路层实时监听信道,设每次监听时间总长度为TM,其中信道的空闲时间为TI,则该时间长度TM内节点M的剩余带宽可估算为:
Ba(M,t)=Bw×TI÷TM
网络层收到MAC层测量到的链路可用带宽信息后,采用滑动窗口机制(窗口大小为3)计算平均带宽,新的带宽统计参数一到,窗口中的3个值就向前移动一位,最早统计时刻的剩余带宽值移出队列。这样,窗口中的值始终是最近3次测量的结果。
采用加权平滑技术,对这3个时刻的剩余带宽值进行加权平均,即可求得当前时刻链路的可用带宽:
其中Wi为归一化权值,W1+W2+W3=1。
关于网络节点链路端间时延计算方法:利用ICMP协议实现网络节点链路端间时延的计算,这也是最常用的测量方式,最典型的应用就是操作系统里自带的“Ping”命令。Ping是基于ICMP请求应答(Echo Request)报文开发的应用软件,Ping发送ICMP的Echo(类型08)回应请求报文,当接收方收到该报文后,会马上返回一个Echo Reply(类型00)回应应答报文,这样发送方收到反馈报文后就可以计算得出网络的传输时延。
设定节点i发送ICMP请求应答的时间戳为TEcho Request,节点j返回ICMP回复应答的时间戳为TEcho Reply,即是节点i与节点j之间的网络传输时延Delay记为:
Dij=TEcho Reply-TEcho Request
关于网络节点连接时间计算方法:假定在MANET中所有节点的有效传输距离一致,且均处于一个自由空间传播模型中,信号强度仅与传播距离有关。若在某一时刻网络中,任意两个节点之间的距离小于等于有效传输距离,即可认为两个节点在此刻能够保持连接,定义连接链路时间LT(link time)为:
其中:
m=Vi×cosθi-Vj×cosθj;n=Xi-Xj;
o=Vi×sinθi-Vj×sinθj;p=Yi-Yj;
式中:Vi,Vj分别为节点i,j的平均移动速度,θi,θj为节点i,j的移动方向角度;(Xi,Yi)和(Xj,Yj)分别为节点i,j的坐标;r为节点的有效传输距离。上述此类参数皆可以由GPS定位或者北斗定位信息获得。对于己保持连接的两节点,当方向与速度一致时Tij为无穷大,即一直可保持连接;若Tij为负数,则认为两节点不能保持连接。
结合Dijkstra最短路径算法综合计算路由路径质量评价数值,定义节点i到节点j之间的路由路径质量评价数值(Path(i,j))如下:
Path(i,j)={v×Hop,μ×Sij}
式中v为Dijkstra最短路径算法求得的最短转发跳数Hop的权值系数;μ为综合服务质量参数Sij的权值系数,其中ν+μ=1。
上式中Sij为综合服务质量参数定义如下:链路剩余带宽、链路端间时延、节点连接时间
式中a,β,γ为加权参数,满足a+β+γ=1,其中a为链路剩余带宽权值参数,为节点i与节点j的链路剩余带宽;其中β为链路端间时延权值参数,Dij为节点i与节点j的链路端间时延;其中γ为节点连接时间权值参数,Tij为节点i与j的连接时间。值得说明的是a,β,γ权值数值分配需要根据网络实际情况结合网络仿真软件进行大量实验取值。
结合上述约束条件,综合现实使用情况和网络仿真情况分别选取各个约束条件的权值占比,在Dijkstra最短路径算法的基础上,综合得出最短最优路由路径。
本发明基于标准OLSR协议改进实现具有能量意识的多约束服务质量保障的OLSR路由方法,首先定义能量饱和模式和能量亏损模式两种工作模式,建立能量代价模型,并对HELLO消息的数据包格式字段进行修改,以此来影响泛洪频率即HELLO消息泛洪周期时间,达到节省能量的目的;其次对于网络中MPR节点冗余问题也进行了算法优化处理,以此提高整个网络负载和网络能量使用效率,进一步提高网络性能;最后在标准OLSR协议的基础之上对路由路径选择策略做出改进,加入链路剩余带宽、链路端间时延、节点连接时间三种服务质量约束条件,在路径选择上改进了单一的迪杰斯特拉算法路径选择规则,从而综合保障网络服务质量的可靠性。
附图说明
图1:是改进后协议相较于标准OLSR协议主要改进步骤说明图;
图2:是改进后协议中HELLO消息包含能量信息的数据格式图;
图3:是网络节点剩余能量自检模式结合HELLO消息泛洪频率优化改进运行流程说明图;
图4:是关于MPR集节点冗余优化流程说明图;
图5:是关于优化后MPR集节点选择算法应用说明图;
图6:是计算路由路径质量评价数值步骤说明图;
图7:是关于优化后最短最优路径选择算法应用说明图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1至图7介绍本发明的具体实施方式为:
如图1所示,S1-S4分别代表本发明相对于标准OLSR协议所作出的主要改进。此外,流程图中包含建立拓扑表、建立路由表和节点配置等标准协议中基本步骤,是为了便于实施者能够便于理解整个路由方法工作流程。
下面分别概述图1中S1-S4中主要工作和优化功能,图中S1部分表示协议初始化过程中设定网络节点剩余能量阈值,以此定义两种工作模式。图中S2部分表示通过对标准协议中HELLO消息数据包分组格式的改进,增加能量信息字段并通过剩余能量的变化建立能量代价系数,从而影响HELLO消息泛洪周期时间,达到控制网络节点能量快速消耗而过快成为死亡节点的目的。图中S3部分表示通过对标准协议中传统的MPR集选择算法改进,传统贪心算法会造成MPR集节点大量冗余,相对于传统算法本发明提出顺序退出规则,大大减小MPR集节点选择冗余问题,并且通过S2中能量代价系数影响节点愿意设置数值,防止MPR集节点能量消耗过快成为死亡节点,不仅使得网络负载情况转好,而且使得网络节点能量均衡。图中S4部分表示通过选取多个与网络服务质量相关的QoS约束结合标准OLSR协议中迪杰斯特拉最短路径算法,分别设定权值参数,计算可选路由路径综合质量评价数值,从而选取最短最优路径作为网络服务质量保障的数据传输路由路径。
步骤1:OLSR协议初始化,网络节点进行剩余能量自检模式,设定节点剩余能量阈值,定义两种能量工作模式,当节点剩余能量在阈值以上,则网络节点保持在能量饱和模式;当节点剩余能量在阈值以下,则网络节点进入能量亏损模式。
作为优选,步骤1中所述OLSR协议初始化为:网络节点上电运行,路由协议程序开始工作,在初始化阶段,节点A对外广播HELLO消息分组,当节点B收到这个分组时,B节点将A节点添加到邻居集合中,并标记A到B链路状态为非对称链路,然后,B对外广播HELLO消息分组时,在HELLO分组中就包含有A是B的邻居节点的信息,此信息指明从A到B的链路状态是非对称的,当A收到此分组时,会在邻居集中将B的状态更新为对称,同理,在A再次广播HELLO分组时,HELLO分组中就包含了B是A邻居节点并且是对称链路的信息,当B收到该分组时,B就在邻居节点集中将A的状态更新为对称;
步骤1中所述网络节点进行剩余能量自检模式为:由于标准OLSR协议的操作独立于其他协议,对底层链路层未做任何假设,因此在HELLO消息数据分组格式中保留字段中加入能量信息字段,以此获取网络节点能量剩余信息:Eresidual。网络节点根据该值与设定的阈值进行对比,若该值大于设定阈值,则网络节点将工作模式切换为能量饱和模式,反之网络节点将工作模式切换为能量亏损模式。此过程称之为网络节点进行剩余能量自检模式;
经过网络仿真软件多次仿真结果和实际网络情况,一般将网络节点剩余能量阈值设定为初始能量数值的20%作为参考值,即是网络节点剩余能量阈值Ethreshold=Einitial*0.2。
上述论述中HELLO消息数据分组格式保留字段中加入能量信息字段,具体格式如图2所示。
将该能量信息量化为0~100的十进制数值,在编程过程中转化为二进制编码,一共占用7位。因此,如图2中所示定义该能量信息字段二进制编码占用原保留字段中8位,其余8位,继续作为保留字段,作为后期升级使用。
步骤1中所述能量饱和模式的定义如下:
能量饱和模式,是指网络节点剩余能量大于设定阈值,与标准OLSR协议工作并无差异。
步骤1中所述能量亏损模式的定义如下:
能量亏损模式,是指网络节点剩余能量小于设定阈值,将会降低HELLO消息发送频率。
步骤2:泛洪HELLO消息,通过周期性交换HELLO消息来建立本地链路信息库和相邻区域信息库,建立能量代价模型,通过HELLO消息中的能量信息字段计算能量代价系数,根据步骤1中判断结果调整泛洪HELLO消息的频率。
如图3所示,优化后OLSR协议经过步骤1后将会判断选择进入两种工作模式之一,并通过判断结果对HELLO消息泛洪周期时间施加影响。
作为优选,步骤2中所述泛洪HELLO消息为:标准OLSR协议,在初始化阶段通过泛洪HELLO消息建立链路,由于每个节点都需要探测与其他邻近节点间的链路,由于无线传播的不确定性,某些链路可能被认为是单向的,因此,所有链路必须双向验证才被认为是可用的,OLSR协议中全局链路感知是通过HELLO消息泛洪实现的,本地链路信息表存储了该节点到邻居节点的链路信息。节点发送HELLO分组时,本地链路信息表作为消息的内容。节点收到HELLO分组,更新本地链路信息表;
步骤2中所述本地链路信息库为:本地链路信息库存储到达相邻节点的有关链路的信息。
步骤2中所述相邻区域信息库为存储有关相邻节点、跳相邻节点、MPR,以及MPR选择器的信息;
所述相邻节点集为一个节点记录一个相邻节点数组集合,用于其相邻节点的描述;
所述二跳相邻节点集为一个节点记录一个二跳相邻节点数组集合,用于其相邻节点和对称二跳相邻区域之间的对称链路描述,以及根据定义,MPR链路也是对称链,因此还包含MPR的描述;
所述MPR集为一个节点维护一个被选作MPR的相邻节点的集合,各个相邻节点的主地址被列在MPR集合中
所述MPR选择器集为一个节点记录一个MPR选择器数组集合,用于已经将本节点选作MPR的相邻节点的描述。
步骤2中所述建立能量代价模型为:
当Ethreshold<Eresidual<Einitial时,取θ为0,网络节点处于能量饱和模式;
当Eresidual≤Ethreshold<<Einitial且0<<Eresidual时,取θ为1,网络节点处于能量亏损模式。
上式中,Cenergy代表节点能量代价系数,θ为开关参数,Einitial代表节点初始电池能量,Eresidual代表节点当前时间剩余电池能量,Ethreshold代表节点能量工作模式阈值,以此设定两种能量状态下不同工作模式;
根据能量投递代价系数公式可得,随着节点入网后时间的推移,节点的剩余电量不断减少,当达到能量阈值时,节点能量代价系数会增加,节点将根据自己的剩余电量来自适应决定向邻居节点HELLO消息的发送周期即时间间隔;
如图3所示,当能量剩余值还未达到设定能量阈值,进入能量饱和模式工作,取θ为0,能量损耗暂时与HELLO消息泛洪频率无关,与原标准OLSR协议工作无异。当能量剩余值已经达到设定能量阈值,进入能量亏损模式工作,取θ为1,此时,HELLO消息泛洪周期时间受到能量代价系数影响,随着该系数数值的增加,将会以系数相乘的方式增加HELLO消息泛洪周期时间的长度,以此影响HELLO消息的泛洪频率,能量代价系数与HELLO消息发送周期Htime的关系函数定义如下:
定义Cenergy与HELLO消息发送周期Htime关系函数如下:
Htime=C*(Cenergy+1)×(1+a/16)×2b
HELLO消息发送周期Htime:为本域指定本节点在某个特定接口发送HELLO消息的间隔时间,即发送下一条HELLO消息之前的时间。可以将这个时间信息用于链路探测,消息发送间隔时间用本域高部4比特表示的尾数和本域低部4比特表示的指数来共同表示,HELLO消息发送周期所占用的8比特数据;
Htime=C×(1+a/16)×2b
其中,a表示本域高部4比特表示的整数,b表示本域低部4比特表示的整数;
比例因子常数C的取值为:C=1/16s(0.0625s);
对于前面建议的常数C(1/16s),可以采用上述公式按照二进制定点数或者二进制浮点数与至少8比特分数部分表示而将其存储下来,而且不会损失其精确度,这相当于NTP时间邮戳和单精度IEEE标准754浮点数。
步骤3:计算多点中继节点MPR,以MPR节点选择标准为基础进行优化,求得的MPR集最优解使得网络中冗余MPR节点最少;
步骤3中所述计算多点中继节点MPR为:
多点中继的思想是通过降低相同区域内的冗余重传而将消息在网络中的泛洪开销降低到最低程度,网络中的每个节点N从其对称一跳相邻区域即任一节点N的对称一跳相邻区域是一组节点,该组节点至少存在一条对称链路到达节点N中选择个节点集称为节点N的MPR集,该相邻区域可能重传该节点N发送的消息,不在节点N的MPP集中的那些相邻节点仍然接收和处理广播消息,但是不重传从节点N接收到的广播消息;
每个节点从其一跳对称相邻节点中选择其MPR集,选出的MPR集覆盖按照传输距离来衡量全部对称严格二跳节点;节点N的、MPR集表示为MPR(N),是节点N的对称一跳相邻区域的、满足以下条件的任意子集:节点N的对称严格二跳相邻区域中的每个节点必须有一条链路到达MPR(N),MPR集越小,OLSR路由协议的控制传输开销越低。
每个节点维护有关已经选择其作为MPR的相邻节点集的信息这个相邻节点集称为该节点的多点中继选择器集,一个节点从其相邻节点周期性发送的HELLO消息中获取多点中继选择器集信息。
假定来自节点N的任意一个MPR选择器的、需要传播到整个网络中的一条广播消息被节点N重传,其前提是节点N迄今还未接收到这条广播消息,MRP集可能随着时间的流逝而变化即当一个节点选择另外一个MPR集的时候,并且通过其HELLO消息中的选择器节点来说明。
步骤3中所述MPR节点选择标准为基础进行优化方法如下:
网络中每个节点独立地计算自己的MPR集,MPR集合的选定应满足下列条件:
首先,节点Xi的MPR集合元素取自于Xi的一跳邻居节点集合;
其次,选定的一跳节点能覆盖Xi的全部二跳节点。因此可将最小MPR集选择问题转变为如下数学模型的表达形式:
定义节点Xi的MPR集为集合O,其一跳邻居节点的集合为Y1(Xi),二跳邻居节点的集合为Y2(Xi),据MPR集的选定的必要条件:
因此整个问题就转变为在符合上述条件的基础上尽可能使得MPR集合成员的个数最少,即是最小化|O|;
如图4所示,优化MPR集最小选择算法主要流程图分别对应上述几个步骤,优化的主要核心在于两个方面。第一是,网络节点愿意设置程度数值影响该节点是否成为MPR集节点的主要因素;第二是,网络节点覆盖二跳邻居节点是否被冗余覆盖也成为MPR集节点的一个因素。
优化多点中继节点选择算法如下:
步骤3.1,设O为节点Xi的MPR集,且O初始化为除X_Willingness(节点Xi的意愿设置程度)=WILL_NEVER(总是不愿意)的全部节点的集合;
X_Willingness为本域说明一个节点愿意承载和转发其他节点的信息一个将本域设为WILL_NEVER(总是不愿意)的节点决不会被任何节点选作MPR;一个将本域设为总是愿意即WILL ALWAYS的节点必定总是被选作MPR,在默认情况下,一个节点应该广描本域为默认WILL_DEFAULT;
意愿设置程度:
WILL_NEVER=0
WILL_LOW=1
WILL_DEFAULT=3
WILL_HIGH=6
WILL_ALWAYS=7
一个节点的意愿设置程度可以设为0~7之间的任一整数,说明该节点到底有多愿意为其他节点转发信息节点的默认愿意设置程度为WILL_DEFAULT即等于3,意愿程度WILL_NEVER即等于0表示一个节点不愿意为其他节点转发信息,比如由于资源限制而不愿意;意愿程度WILL_ALWAYS即等于7表示个节点总是愿意被选择为其他一节点转发信息,例如由于资源充足而愿意,一个节点可以随着其条件变化而动态改变其意愿设置程度;
步骤3.2,分别计算Y1(Xi)中全部节点在Y2(Xi)中所能覆盖的节点个数;
步骤3.3,分别计算O中节点的能量消耗值Eall;
定义Eall与节点意愿设置程度X_Willingness的关系式如下:
以及:Eall=Einitial-Eresidual;
公式适用说明:例如,当节点意愿设置程度为WILL_DEFAULT时,但是Eall不对其产生影响;当节点意愿设置程度为WILL_DEFAULT时,但是Eall每增长到一个门限值,将节点意愿设置程度更新为对应等级。
上式中ΔX_Willingnes代表节点更新后的意愿程度;X_Willingness代表节点本身的意愿程度;Eall代表节点能量消耗总和。
以上关系式可以看出,节点能量消耗值Eall越大,则该节点X_Willingnes值越小,对应的被选为MPR节点的概率就越小。另外该函数也一定程度考虑了节点能量的利用率因素,这就使得剩余电量较多和节点能量利用率更高的节点即是X_Willingnes相对较高的节点更主动承担更多的网络拓扑维护和数据业务的中继传输任务,从而在保障能量利用率的基础上,尽可能均衡使用各网络节点能量,有效延长网络节点的生存时间;
步骤3.4,O中没有被选中的节点按照以下条件先后退出集合O:
首先是X_Willingness=WILL_NEVER的节点优先退出集合O;
其次是二跳邻居节点覆盖冗余的节点退出;
检查此时Y2(Xi)中是否有未被O集合中某个节点覆盖的节点,如有则不能删除O中节点,反之从O集合中删除节点;
步骤3.5,重复执行步骤3.2~3.4,并检查此时Y2(Xi)中是否有未被O集合中某个节点覆盖的节点,如有则不能删除O中节点,反之从O集合中删除节点的操作,直到O集合节点完全覆盖Y2(Xi)中全部节点;
上述优化MPR集节点选择算法通过图5来说明。如图所示节点a、b、c、d、e、f、g、h、i作为一跳邻居集合,其中E表示Energy,代表节点能量剩余数值,该数值量化为0~100;其中W表示Willingness,代表节点意愿程度值,该数值量化为0~7表示。
根据优化步骤3.1所述,初始化集合O为节点Xi的MPR集,即是O={a,b,c,d,e,f,g,h,i},但是根据规则中所述,应该排除意愿程度值为0的节点,节点i则被排除,即是O={a,b,c,d,e,f,g,h}。
根据优化步骤3.2所述,分别计算Y1(Xi)中全部节点在Y2(Xi)中所能覆盖的节点个数,如图所示节点a、b、c、d、e、f、g、h覆盖的二跳邻居节点数量分别为:5、2、1、4、5、4、3、3。
根据优化步骤3.3所述,分别计算O中节点的能量消耗值Eall,根据计算公式Eall=Einitial-Eresidual可以得到节点a、b、c、d、e、f、g、h的能量消耗值Eall分别为:0、40、10、10、5、40、20、81。节点h能量消耗值Eall∈[80,100),则该节点意愿设置程度更新为WILL_NEVER=0,从集合O中删除。
根据优化步骤3.4所述,当集合O中某一节点意愿设置程度数值为WILL_NEVER=0时,将该节点从集合中删除,如图所示节点h从集合O中被删除。此外,检查覆盖二跳邻居节点较少的节点依次退出。集合O中覆盖二跳邻居节点数量分别为O={{a:5},{e:5},{d:4},{f:4},{g:3},{b:2},{c:1}},根据规则删除节点c,检查c所覆盖节点是否能被其他节点所覆盖,检测到c所覆盖节点不能被其他节点所覆盖,因此c不能被删除;继续运行退出规则删除节点b,检查b所覆盖节点是否能被其他节点所覆盖,检测到b所覆盖节点能被其他节点所覆盖,因此b能被删除;同理保留节点g、删除节点f、保留节点d、保留节点e、保留节点a。此时,集合O={a,e,d,g,c},相较于原有集合O中9个节点,此时集合O中只有5个节点,却能保证网络正常工作,大大降低了MPR集合冗余,使网络负载得以优化。
根据优化步骤3.5所述,重复执行步骤3.2~3.4,直到暂时形成一种稳定的Mesh网络拓扑结构。
针对孤立节点问题,随着网络运行时间增长,节点剩余能量逐步减小,节点能量消耗值Eall逐步增大,节点意愿设置程度逐步降低。这个过程中随着意愿程度减低,此类节点原来覆盖的二跳节点也逐渐寻求其他能被覆盖的一跳邻居节点且意愿程度较高的节点转发TC消息数据,此外,由于MANET的动态网络特性,存在孤立节点的概率会大大降低。
建立拓扑表,标准OLSR协议的链路探测和相邻节点探测基本土为每个节点提供了一张相邻节点列表、分组格式和分组转发、MPR优化泛洪机制,使用这张相邻节点列表可以直接进行通信。在此基础之上,将拓扑信息传播到整个网络中。
步骤4:路由表计算,根据MANET的实际网络情况,并结合服务质量度量方法,选择链路剩余带宽、链路端间时延、节点连接时间作为路由路径选择的服务质量约束条件,并分别建立数学模型;
步骤4中所述服务质量度量方法的条件如下所述:
在MANET中,网络拓扑由移动的节点与通信范围内节点之间的无线链路构成,因此该拓扑结构在数学上可以抽象为图论中简单无向图G=(V,E)。其中,V={v1,v2,v3,…,vn}表示图G中所有节点集合,vi∈V对应网络中移动的通信节点。E={e1,e2,e3,…,em}表示图G中所有边的集合,ei∈E对应于处于通信范围内两个节点之间的无线链路。基于拓扑结构的数学抽象,根据QoS保证的需求,设定节点u和节点v之间的链路euv的链路剩余带宽需求为Buv,链路端间时延需求为ηuv,节点连接时间要求为Tuv。则路径Ruv=νu,ν1,ν2,ν3,...,νn,νv上的三种QoS度量分别如下,其中d为QoS量化参数:
可加性度量:d(Ruv)=d(eu1)+d(e12)+…+d(env)
可乘性度量:d(Ruv)=d(eu1)×d(e12)×…×d(env)
最小性度量:d(Ruv)=min(d(eu1),d(e12),…,d(env))
根据服务质量度量的三种划分标准,链路剩余带宽属于最小化参数;链路端间时延属于可加性参数;节点连接时间属于最小化参数。由此可知,在MANET中寻找符合服务质量的路径问题规划为寻找符合最大拥塞度的Dmax最小可用带宽Bmin以及最小连接时间Tmin的链路Ru→v,使其满足如下的约束条件:
如图6所示,建立QoS多约束条件,经过多次计算最终得出路由路径质量评价数值,主要的目的在于诸多路径中选择出最短最优路径作为优先传输路径。
步骤4中链路剩余带宽、链路端间时延、节点连接时间三个参数的计算方法如下:
关于网络节点链路剩余带宽计算方法:采用网络节点信道空闲时间比例来估算剩余带宽,并且通过滑动窗口机制计算平均带宽,最后采用加权平滑技术对窗口数进行加权平均,即可求得当前时刻链路的可用带宽。具体计算公式步骤如下:
假设每条链路总带宽Bw已知,每个节点M在链路层实时监听信道,设每次监听时间总长度为TM,其中信道的空闲时间为TI,则该时间长度TM内节点M的剩余带宽可估算为:
Ba(M,t)=Bw×TI÷TM
网络层收到MAC层测量到的链路可用带宽信息后,采用滑动窗口机制(窗口大小为3)计算平均带宽,新的带宽统计参数一到,窗口中的3个值就向前移动一位,最早统计时刻的剩余带宽值移出队列。这样,窗口中的值始终是最近3次测量的结果。
采用加权平滑技术,对这3个时刻的剩余带宽值进行加权平均,即可求得当前时刻链路的可用带宽:
其中Wi为归一化权值,W1+W2+W3=1。
关于网络节点链路端间时延计算方法利用ICMP协议实现网络节点链路端间时延的计算,这也是最常用的测量方式,最典型的应用就是操作系统里自带的“Ping”命令。Ping是基于ICMP请求应答(Echo Request)报文开发的应用软件,Ping发送ICMP的Echo(类型08)回应请求报文,当接收方收到该报文后,会马上返回一个Echo Reply(类型00)回应应答报文,这样发送方收到反馈报文后就可以计算得出网络的传输时延。
设定节点i发送ICMP请求应答的时间戳为TEcho Request,节点j返回ICMP回复应答的时间戳为TEcho Reply,即是节点i与节点j之间的网络传输时延Delay记为:
Dij=TEcho Reply-TEcho Request
关于网络节点连接时间计算方法:假定在MANET中所有节点的有效传输距离一致,且均处于一个自由空间传播模型中,信号强度仅与传播距离有关。若在某一时刻网络中,任意两个节点之间的距离小于等于有效传输距离,即可认为两个节点在此刻能够保持连接,定义连接链路时间LT(link time)为:
其中:
m=Vi×cosθi-Vj×cosθj;n=Xi-Xj;
o=Vi×sinθi-Vj×sinθj;p=Yi-Yj;
式中:Vi,Vj分别为节点i,j的平均移动速度,θi,θj为节点i,j的移动方向角度;(Xi,Yi)和(Xj,Yj)分别为节点i,j的坐标;r为节点的有效传输距离。上述此类参数皆可以由GPS定位或者北斗定位信息获得。对于己保持连接的两节点,当方向与速度一致时Tij为无穷大,即一直可保持连接;若Tij为负数,则认为两节点不能保持连接。
结合Dijkstra最短路径算法综合计算路由路径质量评价数值,定义节点i到节点j之间的路由路径质量评价数值(Path(i,j))如下:
Path(i,j)={v×Hop,μ×Sij}
式中v为Dijkstra最短路径算法求得的最短转发跳数Hop的权值系数;μ为综合服务质量参数Sij的权值系数,其中v+μ=1。
上式中Sij为综合服务质量参数定义如下:
式中a,β,γ为加权参数,满足a+β+γ=1,其中a为链路剩余带宽权值参数,为节点i与节点j的链路剩余带宽;其中β为链路端间时延权值参数,Dij为节点i与节点j的链路端间时延;其中γ为节点连接时间权值参数,Tij为节点i与j的连接时间。值得说明的是a,β,γ权值数值分配需要根据网络实际情况结合网络仿真软件进行大量实验取值。
结合多个QoS约束条件,综合现实使用情况和网络仿真情况分别选取各个约束条件的权值占比,在Dijkstra最短路径算法的基础上,综合得出最短最优路由路径。
如图7所示,为了能够更清楚的展示优化后的路由路径选择策略,列举一个简单的网络拓扑结构,加以说明。图中符号B表示链路链路剩余带宽单位为Mbps;图中符号η表示链路端间时延单位为ms;图中符号T表示节点连接时间单位为min。代入路由路径质量评价数值Path(S,D)计算时这三种参数全部转换为无量纲常数计算。
根据实际课题项目试验需要,关于Path(i,j)={ν×Hop,μ×Sij}中ν,μ的取值分别为0.6和0.4;关于中a,β,γ的取值分别为0.5、0.3和0.2。结合图7中所给定的参数,节点A到节点H之间选取三条链路作为对比。
在计算之前需要说明的是,链路中三种QoS参数应该满足以下约束条件:链路剩余带宽B应该满足大于等于最小链路剩余带宽Bmin;链路端间时延D应该满足小于等于最大链路端间时延Dmax;节点连接时间T应该满足大于等于最小节点连接时间Tmin。否则,该链路应该被排除在路由路径策略之外。
链路1为A-B-G-H,三跳之间的综合服务质量参数Sij为{{9,15,0.6},{8,21,0.8},{8.5,18,0.6}},路由路径质量评价数值Path(i,j)为{{3},{Sij}}。
链路2为A-E-G-H,三跳之间的综合服务质量参数Sij为{{10.5,15,0.6},{9,15,0.8},{8.5,18,0.6}},路由路径质量评价数值Path(i,j)为{{3},{Sij}}。
链路3为A-C-E-G-H,四跳之间的综合服务质量参数Sij为{{9,16.5,0.6},{9.5,13.5,0.6},{9,15,0.8},{8.5,18,0.6}},路由路径质量评价数值Path(i,j为{{4},{Sij}}。
对比3条链路,由于起始节点到目的节点链路跳数权值为0.6,作为第一优先级,节点综合服务质量参数权值为0.4,作为第二优先级,因此,链路3不能作为最短最优路由路径。继续对比链路1和链路2,链路2链路剩余带宽由于链路1链路剩余带宽,综合服务质量参数中链路剩余带宽作为第一优先级,链路端间时延作为第二优先级,链路连接时间作为第三优先级,因此,选择链路2作为3种链路中的最短最优路径,作为路由路径策略。
当然,本发明中“最短最优”路由路径是在所有可选最短路径中相对而言的,图7只代表一种样例作为说明,其他情况要根据实际情况选取权值参数,并在程序中设定对比规则算法,当两条路径跳数相同的情况下,能够迅速通过权值优先级选取最优路径。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (5)
1.一种能量意识和多维参数感知的服务质量保障路由方法,其特征在于,包括:
步骤1:OLSR协议初始化,网络节点进行剩余能量自检模式,设定节点剩余能量阈值,定义两种能量工作模式,当节点剩余能量在阈值以上,则网络节点保持在能量饱和模式;当节点剩余能量在阈值以下,则网络节点进入能量亏损模式;
步骤2:泛洪HELLO消息,通过周期性交换HELLO消息来建立本地链路信息库和相邻区域信息库,建立能量代价模型,通过HELLO消息中的能量信息字段计算能量代价系数,根据步骤1中判断结果调整泛洪HELLO消息的频率;
步骤3:计算多点中继节点MPR,以MPR节点选择标准为基础进行优化,求得的MPR集最优解使得网络中冗余MPR节点最少;
步骤4:路由表计算,根据MANET的实际网络情况,并结合服务质量度量方法,选择链路剩余带宽、链路端间时延、节点连接时间作为路由路径选择的服务质量约束条件,并分别建立数学模型。
2.根据权利要求1所述的能量意识和多维参数感知的服务质量保障路由方法,其特征在于:步骤1中所述OLSR协议初始化为:网络节点上电运行,路由协议程序开始工作,在初始化阶段,节点A对外广播HELLO消息分组,当节点B收到这个分组时,B节点将A节点添加到邻居集合中,并标记A到B链路状态为非对称链路,然后,B对外广播HELLO消息分组时,在HELLO分组中就包含有A是B的邻居节点的信息,此信息指明从A到B的链路状态是非对称的,当A收到此分组时,会在邻居集中将B的状态更新为对称,同理,在A再次广播HELLO分组时,HELLO分组中就包含了B是A邻居节点并且是对称链路的信息,当B收到该分组时,B就在邻居节点集中将A的状态更新为对称;
步骤1中所述网络节点进行剩余能量自检模式为:由于标准OLSR协议的操作独立于其他协议,对底层链路层未做任何假设,因此在HELLO消息数据分组格式保留字段中加入能量信息字段,以此获取网络节点能量剩余信息:Eresidual;网络节点根据该值与设定的阈值进行对比,若该值大于设定阈值,则网络节点将工作模式切换为能量饱和模式,反之网络节点将工作模式切换为能量亏损模式;此过程称之为网络节点进行剩余能量自检模式;
步骤1中所述能量饱和模式的定义如下:
能量饱和模式,是指网络节点剩余能量大于设定阈值,与标准OLSR协议工作并无差异;
步骤1中所述能量亏损模式的定义如下:
能量亏损模式,是指网络节点剩余能量小于设定阈值,将会降低HELLO消息发送频率。
3.根据权利要求1所述的能量意识和多维参数感知的服务质量保障路由方法,其特征在于:步骤2中所述泛洪HELLO消息为:标准OLSR协议,在初始化阶段通过泛洪HELLO消息建立链路,由于每个节点都需要探测与其他邻近节点间的链路,由于无线传播的不确定性,将导致某些链路是单向的,因此,所有链路必须双向验证才被认为是可用的,OLSR协议中全局链路感知是通过HELLO消息泛洪实现的,本地链路信息表存储了该节点到邻居节点的链路信息;节点发送HELLO分组时,本地链路信息表作为消息的内容;节点收到HELLO分组,更新本地链路信息表;
步骤2中所述本地链路信息库为:本地链路信息库存储到达相邻节点的有关链路的信息;
步骤2中所述相邻区域信息库为存储有关相邻节点、二跳相邻节点、MPR,以及MPR选择器的信息;
相邻节点集为一个节点记录一个相邻节点数组集合,用于其相邻节点的描述;
二跳相邻节点集为一个节点记录一个二跳相邻节点数组集合,用于其相邻节点和对称二跳相邻区域之间的对称链路描述,以及根据定义,MPR链路也是对称链,因此还包含MPR的描述;
MPR集为一个节点维护一个被选作MPR的相邻节点的集合,各个相邻节点的主地址被列在MPR集合中
MPR选择器集为一个节点记录一个MPR选择器数组集合,用于已经将本节点选作MPR的相邻节点的描述;
步骤2中所述建立能量代价模型为:
当Ethreshold<Eresidual<Einitial时,取θ为0,网络节点处于能量饱和模式;
当Eresidual≤Ethreshold<<Einitial且0<<Eresidual时,取θ为1,网络节点处于能量亏损模式;
上式中,Cenergy代表节点能量代价系数,θ为开关参数,Einitial代表节点初始电池能量,Eresidual代表节点当前时间剩余电池能量,Ethreshold代表节点能量工作模式阈值,以此设定两种能量状态下不同工作模式;
根据能量投递代价系数公式可得,随着节点入网后时间的推移,节点的剩余电量不断减少,当达到能量阈值时,节点能量代价系数会增加,节点将根据自己的剩余电量来自适应决定向邻居节点HELLO消息的发送周期即时间间隔;
定义Cenergy与HELLO消息发送周期Htime关系函数如下:
Htime=C×(Cenergy+1)×(1+a/16)×2b
HELLO消息发送周期Htime:为本域指定本节点在某个特定接口发送HELLO消息的间隔时间,即发送下一条HELLO消息之前的时间;将这个时间信息用于链路探测,消息发送间隔时间用本域高部4比特表示的尾数和本域低部4比特表示的指数来共同表示,HELLO消息发送周期所占用的8比特数据;
Htime=C×(1+a/16)×2b
其中,a表示本域高部4比特表示的整数,b表示本域低部4比特表示的整数;
比例因子常数C的取值为:C=1/16s(0.0625s);
对于前面建议的常数C,采用上述公式按照二进制定点数或者二进制浮点数与至少8比特分数部分表示而将其存储下来,而且不会损失其精确度,这相当于NTP时间邮戳和单精度IEEE标准754浮点数。
4.根据权利要求1所述的能量意识和多维参数感知的服务质量保障路由方法,其特征在于:步骤3中所述MPR节点选择标准为基础进行优化方法如下:
网络中每个节点独立地计算自己的MPR集,MPR集合的选定应满足下列条件:
首先,节点Xi的MPR集合元素取自于Xi的一跳邻居节点集合;
其次,选定的一跳节点能覆盖Xi的全部二跳节点,因此将最小MPR集选择问题转变为如下数学模型的表达形式:
定义节点Xi的MPR集为集合O,其一跳邻居节点的集合为Y1(Xi),二跳邻居节点的集合为Y2(Xi),根据MPR集的选定的必要条件:
因此整个问题就转变为在符合上述条件的基础上使得MPR集合成员的个数最少,即是最小化|O|;
优化多点中继节点选择算法如下:
步骤3.1,设O为节点Xi的MPR集,且O初始化为除X_Willingness=WILL_NEVER的全部节点的集合;
X_Willingness为本域说明一个节点愿意承载和转发其他节点的信息,一个将本域设为WILL_NEVER总是不愿意的节点决不会被任何节点选作MPR;一个将本域设为总是愿意即WILL ALWAYS的节点必定总是被选作MPR,在默认情况下,一个节点广播本域X_Willingness为默认值WILL_DEFAULT;
意愿设置程度:
WILL_NEVER=O
WILL_LOW=1
WILL_DEFAULT=3
WILL_HIGH=6
WILL_ALWAYS=7
一个节点的意愿设置程度设为0~7之间的任一整数,说明该节点到底有多愿意为其他节点转发信息节点的默认愿意设置程度为WILL_DEFAULT即等于3,意愿程度WILL_NEVER即等于0表示一个节点不愿意为其他节点转发信息,由于资源限制而不愿意;意愿程度WILL_ALWAYS即等于7表示一个节点总是愿意被选择为其他一个节点转发信息,由于资源充足而愿意,一个节点随着其条件变化而动态改变其意愿设置程度;
步骤3.2,分别计算Y1(Xi)中全部节点在Y2(Xi)中所能覆盖的节点个数;
步骤3.3,分别计算O中节点的能量消耗值Eall;
定义Eall与节点意愿设置程度X_Willingness的关系式如下:
以及:Eall=Einitial-Eresidual;
公式适用说明:当节点意愿设置程度为WILL_DEFAULT时,但是Eall不对其产生影响;当节点意愿设置程度为WILL_DEFAULT时,但是 Eall每增长到一个门限值,将节点意愿设置程度更新为对应等级;
上式中ΔX_Willingness代表节点更新后的意愿程度;X_Willingness代表节点本身的意愿程度;Eall代表节点能量消耗总和;
以上关系式看出,节点能量消耗值Eall越大,则该节点X_Willingnes值越小,对应的被选为MPR节点的概率就越小,另外考虑了节点能量的利用率因素,这就使得剩余电量较多和节点能量利用率更高的节点即是X_Willingness较高的节点更主动承担更多的网络拓扑维护和数据业务的中继传输任务,从而在保障能量利用率的基础上,均衡使用各网络节点能量,有效延长网络节点的生存时间;
步骤3.4,O中没有被选中的节点按照以下条件先后退出集合O:
首先是X_Willingness=WILL_NEVER的节点优先退出集合O;
其次是二跳邻居节点覆盖冗余的节点退出;
检查此时Y2(Xi)中是否有未被O集合中某个节点覆盖的节点,如有则不能删除O中节点,反之从O集合中删除节点;
步骤3.5,重复执行步骤3.2~3.4,并检查此时Y2(Xi)中是否有未被O集合中某个节点覆盖的节点,如有则不能删除O中节点,反之从O集合中删除节点的操作,直到O集合节点完全覆盖Y2(Xi)中全部节点;
建立拓扑表,标准OLSR协议的链路探测和相邻节点探测为每个节点提供了一张相邻节点列表、分组格式和分组转发、MPR优化泛洪机制,使用这张相邻节点列表直接进行通信,在此基础之上,将拓扑信息传播到整个网络中。
5.根据权利要求1所述的能量意识和多维参数感知的服务质量保障路由方法,其特征在于:步骤4中所述服务质量度量方法的条件如下所述:
在MANET中,网络拓扑由移动的节点与通信范围内节点之间的无线链路构成,因此该拓扑结构在数学上抽象为图论中简单无向图G=(V,E);其中,V={v1,v2,v3,…,vn}表示图G中所有节点集合,vi∈V对应网络中移动的通信节点,且i满足1≤i≤n;E={e1,e2,e3,…,em}表示图G中所有边的集合,ei∈E对应于处于通信范围内两个节点之间的无线链路,且i满足1≤i≤m;基于拓扑结构的数学抽象,根据QoS保证的需求,设定节点u和节点v之间的链路euv的链路剩余带宽需求为Buv,链路端间时延需求为Duv,节点连接时间要求为Tuv;则路径Ruv=νu,ν1,ν2,v3,...,vn,vv上的三种QoS度量分别如下,其中d为QoS量化参数:
可加性度量:d(Ruv)=d(eu1)+d(e12)+…+d(env)
可乘性度量:d(Ruv)=d(eu1)×d(e12)×…×d(env)
最小性度量:d(Ruv)=min(d(eu1),d(e12),…,d(env))
根据服务质量度量的三种划分标准,链路剩余带宽属于最小化参数;链路端间时延属于可加性参数;节点连接时间属于最小化参数;由此可知,在MANET中寻找符合服务质量的路径问题规划为寻找符合最大端间时延的Dmax最小可用带宽Bmin以及最小连接时间Tmin的链路Ru→v,使其满足如下的约束条件:
综上所述,链路中三种QoS参数满足以下约束条件:链路剩余带宽B满足大于等于最小链路剩余带宽Bmin;链路端间时延D满足小于等于最大链路端间时延Dmax;节点连接时间T满足大于等于最小节点连接时间Tmin;否则,该链路被排除在路由路径策略之外;
步骤4中链路剩余带宽、链路端间时延、节点连接时间三个参数的计算方法如下:
关于网络节点链路剩余带宽计算方法:采用网络节点信道空闲时间比例来估算剩余带宽,并且通过滑动窗口机制计算平均带宽,最后采用加权平滑技术对窗口数进行加权平均,即可求得当前时刻链路的可用带宽;具体计算公式步骤如下:
假设每条链路总带宽Bw已知,每个节点M在链路层实时监听信道,设每次监听时间总长度为TM,其中信道的空闲时间为TI,t为每次监听结束的时间,则t时刻节点M的剩余带宽可估算为:
Ba(M,t)=Bw×TI÷TM
网络层收到MAC层测量到的链路可用带宽信息后,采用滑动窗口机制,窗口大小为3计算平均带宽,新的带宽统计参数一到,窗口中的3个值就向前移动一位,最早统计时刻的剩余带宽值移出队列;这样,窗口中的值始终是最近3次测量的结果;
采用加权平滑技术,对这3个时刻的剩余带宽值进行加权平均,即可求得当前时刻链路的可用带宽:
其中Wi为归一化权值,W1+W2+W3=1;
关于网络节点链路端间时延计算方法:利用ICMP协议实现网络节点链路端间时延的计算,这也是最常用的测量方式,最典型的应用就是操作系统里自带的“Ping”命令;Ping是基于ICMP请求应答Echo Request报文开发的应用软件,Ping发送ICMP的Echo类型08回应请求报文,当接收方收到该报文后,会马上返回一个Echo Reply类型00回应应答报文,这样发送方收到反馈报文后就计算得出网络的传输时延;
设定节点i发送ICMP请求应答的时间戳为TEcho Request,节点j返回ICMP回复应答的时间戳为TEcho Reply,即是节点i与节点j之间的网络传输时延Delay记为:
Dij=TEcho Reply-TEcho Request
关于网络节点连接时间计算方法:假定在MANET中所有节点的有效传输距离一致,且均处于一个自由空间传播模型中,信号强度仅与传播距离有关;若在某一时刻网络中,任意两个节点之间的距离小于等于有效传输距离,即认为两个节点在此刻能够保持连接,定义连接链路时间为:
其中:
m=Vi×cosθi-Vj×cosθj;n=Xi-Xj;
o=Vi×sinθi-Vj×sinθj;p=Yi-Yj;
式中:Vi,Vj分别为节点i,j的平均移动速度,θi,θj为节点i,j的移动方向角度;(Xt,Yi)和(Xj,Yj)分别为节点i,j的坐标;r为节点的有效传输距离;上述此类参数皆由GPS定位或者北斗定位信息获得;对于己保持连接的两节点,当方向与速度一致时Tij为无穷大,即一直可保持连接;若Tij为负数,则认为两节点不能保持连接;
结合Dijkstra最短路径算法综合计算路由路径质量评价数值,定义节点i到节点j之间的路由路径质量评价数值Path(i,j)如下:
Path(i,j)={v×Hop,μ×Sij}
式中v为Dijkstra最短路径算法求得的最短转发跳数Hop的权值系数;μ为综合服务质量参数Sij的权值系数,其中v+μ=1;
上式中Sij为综合服务质量参数定义如下:链路剩余带宽、链路端间时延、节点连接时间
式中a,β,γ为加权参数,满足a+β+γ=1,其中a为链路剩余带宽权值参数,为节点i与节点j的链路剩余带宽;其中β为链路端间时延权值参数,Dij为节点i与节点j的链路端间时延;其中γ为节点连接时间权值参数,Tij为节点i与j的连接时间;值得说明的是a,β,γ权值数值分配需要根据网络实际情况结合网络仿真软件进行大量实验取值;
结合上述约束条件,综合现实使用情况和网络仿真情况分别选取各个约束条件的权值占比,在Dijkstra最短路径算法的基础上,综合得出最短最优路由路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910220760.6A CN109818866B (zh) | 2019-03-22 | 2019-03-22 | 一种能量意识和多维参数感知的服务质量保障路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910220760.6A CN109818866B (zh) | 2019-03-22 | 2019-03-22 | 一种能量意识和多维参数感知的服务质量保障路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109818866A CN109818866A (zh) | 2019-05-28 |
CN109818866B true CN109818866B (zh) | 2021-04-16 |
Family
ID=66609966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910220760.6A Active CN109818866B (zh) | 2019-03-22 | 2019-03-22 | 一种能量意识和多维参数感知的服务质量保障路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109818866B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637059B (zh) * | 2020-12-14 | 2022-06-14 | 浙江大学 | 一种面向跨界服务网络的服务路由方法 |
CN113300960B (zh) * | 2021-07-27 | 2021-11-23 | 南京中网卫星通信股份有限公司 | 一种基于路由调度与联合优化的时延确定性传输方法 |
CN113891399B (zh) * | 2021-10-13 | 2023-08-01 | 北京慧清科技有限公司 | 一种面向负载均衡的多径加权调度olsr路由方法 |
CN115051984B (zh) * | 2021-11-22 | 2023-03-28 | 厦门大学 | 一种分布式数据平面验证方法 |
CN115242290B (zh) * | 2022-06-13 | 2023-10-13 | 北京邮电大学 | 应急无人机网络olsr协议优化方法及装置 |
CN115835155A (zh) * | 2022-11-24 | 2023-03-21 | 广西电网有限责任公司电力科学研究院 | 一种自取能传感器自组织网络组网方法 |
CN117251380B (zh) * | 2023-11-10 | 2024-03-19 | 中国人民解放军国防科技大学 | 一种面向单调流式图的优先级异步调度方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101023631A (zh) * | 2003-07-24 | 2007-08-22 | 思科技术公司 | 用于在网络环境中交换获知信息的系统和方法 |
CN101286910A (zh) * | 2008-03-05 | 2008-10-15 | 中科院嘉兴中心微系统所分中心 | 面向任务的无线传感网网络拓扑建立的方法 |
CN101827404A (zh) * | 2010-04-09 | 2010-09-08 | 无锡泛联物联网科技股份有限公司 | 无线传感网中多移动sink接入控制方法 |
CN102065513A (zh) * | 2011-01-06 | 2011-05-18 | 西安电子科技大学 | 提高AdHoc网络邻节点列表精确性的方法 |
CN102595504A (zh) * | 2012-02-24 | 2012-07-18 | 南京理工大学 | 一种基于链路拥塞度的动态多径olsr路由方法 |
CN106211258A (zh) * | 2016-07-21 | 2016-12-07 | 河南工业大学 | 一种基于簇头轮换机制的簇树路由方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374311B1 (en) * | 1991-10-01 | 2002-04-16 | Intermec Ip Corp. | Communication network having a plurality of bridging nodes which transmit a beacon to terminal nodes in power saving state that it has messages awaiting delivery |
WO2007020941A1 (ja) * | 2005-08-18 | 2007-02-22 | Nec Corporation | 無線マルチホップネットワークにおける通信経路制御方法および通信端末 |
-
2019
- 2019-03-22 CN CN201910220760.6A patent/CN109818866B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101023631A (zh) * | 2003-07-24 | 2007-08-22 | 思科技术公司 | 用于在网络环境中交换获知信息的系统和方法 |
CN101286910A (zh) * | 2008-03-05 | 2008-10-15 | 中科院嘉兴中心微系统所分中心 | 面向任务的无线传感网网络拓扑建立的方法 |
CN101827404A (zh) * | 2010-04-09 | 2010-09-08 | 无锡泛联物联网科技股份有限公司 | 无线传感网中多移动sink接入控制方法 |
CN102065513A (zh) * | 2011-01-06 | 2011-05-18 | 西安电子科技大学 | 提高AdHoc网络邻节点列表精确性的方法 |
CN102595504A (zh) * | 2012-02-24 | 2012-07-18 | 南京理工大学 | 一种基于链路拥塞度的动态多径olsr路由方法 |
CN106211258A (zh) * | 2016-07-21 | 2016-12-07 | 河南工业大学 | 一种基于簇头轮换机制的簇树路由方法及装置 |
Non-Patent Citations (5)
Title |
---|
Energy Power-Aware Routing in OLSR Protocol;Abderrahim Benslimane et al.;《IEEE:CECNet》;20120423;全文 * |
Optimizing Performance of OLSR Protocol Using Energy Based MPR Selection in MANET;Sefali Prajapati et al.;《IEEE:CSNT》;20150406;全文 * |
基于OLSR的能量有效路由新方案;栾玉洁;《微计算机信息》;20050620;全文 * |
基于拓扑快速变化的OLSR改进路由协议研究;杨彬;《计算机工程与应用》;20131127;全文 * |
无人机自组网OLSR路由协议的优化;董思妤;《军械工程学院学报》;20170430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109818866A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109818866B (zh) | 一种能量意识和多维参数感知的服务质量保障路由方法 | |
TWI461029B (zh) | 多重無線電多重頻道多重跳頻無線網路之無線電及頻寬相關的佈線度量 | |
Lu et al. | An energy-efficient multipath routing protocol for wireless sensor networks | |
Ge et al. | Quality of service routing in ad-hoc networks using OLSR | |
US20120030150A1 (en) | Hybrid Learning Component for Link State Routing Protocols | |
JP2010148088A (ja) | 無線メッシュネットワークにおける電力資源の使用方法 | |
WO2007053141A1 (en) | Method for determining a route in a wireless mesh network using a metric based on radio and traffic load | |
CN104010343A (zh) | 智能抄表系统无线网络优化方法 | |
Lu et al. | Cooperative data offload in opportunistic networks: From mobile devices to infrastructure | |
Kush et al. | Energy efficient Routing for MANET | |
Kunz | Energy-efficient variations of OLSR | |
Lotfi et al. | A new energy efficient routing algorithm based on a new cost function in wireless ad hoc networks | |
Sasidharan et al. | Improving network lifetime and reliability for machine type communications based on LOADng routing protocol | |
CN106685819B (zh) | 一种基于节点能量划分的aomdv协议节能方法 | |
Feng et al. | Cost effective routing in large-scale multi-hop LoRa networks | |
Gong et al. | Topology control and channel assignment in lossy wireless sensor networks | |
Chaudhari et al. | Multilayered distributed routing for power efficient MANET performance | |
CN110392408B (zh) | 基于节点角色和参数可调的时变网络拓扑控制方法与系统 | |
Mazinani et al. | An energy-efficient real-time routing protocol for differentiated data in wireless sensor networks | |
JP2007221568A (ja) | 転送遅延制御方法および無線端末 | |
Alleema et al. | Cooperative and fresher encounter algorithm for reducing delay in MANET | |
KR102199577B1 (ko) | 이종 트래픽 무선 센서 네트워크에서의 노드 및 노드 라우팅 방법 | |
Vir et al. | Traffic Generator Based Power Analysis of Different Routing Protocol For Mobile Nodes in Wireless Sensor Network Using QualNet | |
Farooq et al. | Multi metric on-demand ad-hoc routing protocol for wireless smart metering deployment | |
CN115802440A (zh) | 一种无线自组网和sdn结合的拓扑发现和路由下发方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |