一种用于动态网络的路由更新方法及系统技术方案

技术编号:26178042 阅读:32 留言:0更新日期:2020-10-31 14:25
本发明专利技术涉及一种用于动态网络的路由更新方法及系统。该方法包括:获取动态网络中发生变化的链路;根据所述链路的两个端节点更新所述动态网络的拓扑表;根据更新后的所述动态网络的拓扑表,利用Dijkstra最短路径算法更新所述第一端节点的路由表和所述第二端节点的路由表;确定待更新节点,得到路由更新集合;判断所述路由更新集合中是否包括所述第i个节点;如果是,更新所述第i个节点存储的所述动态网络的拓扑表,并根据更新后的所述动态网络的拓扑表计算所述第i个节点的路由表;如果否,更新所述第i个节点存储的所述动态网络的拓扑表。本发明专利技术可以解决任意动态网络环境下的全局最优路由更新问题,降低路由更新引起的计算负载。

【技术实现步骤摘要】
一种用于动态网络的路由更新方法及系统
本专利技术涉及动态网络领域,特别是涉及一种用于动态网络的路由更新方法及系统。
技术介绍
动态网络的概念广泛存在于各种各样的网络体系,例如Internet中节点或链路的失效、地面AdHoc网络中节点的移动、卫星网络中卫星的高速运动,均可导致网络的拓扑发生变化。路由是网络数据传输的基础,一旦网络的拓扑发生变化,如果不进行相应的路由计算与更新,基于原始拓扑的数据传输可能会失效。因此,动态网络环境下的路由更新是解决动态网络数据传输的关键问题。目前动态网络的路由更新主要包括反应式路由更新与主动式路由更新策略。反应式路由更新策略主要包括两步:一是扩散变化链路的信息,二是进行重路由计算。变化链路信息扩散包括全局扩散和局部扩散。全局扩散需要将变化链路信息扩散至网络中所有节点,当所有节点收到变化的链路信息后,然后进行重路由计算,即最短路径路由树计算。局部扩散仅在本地扩散变化链路信息,然后实现局部路由更新。主动式路由更新策略主要基于多路径转发的思想,通过为任意源与目的节点计算多条路径,从而实现节点的多地址转发。本文档来自技高网...

【技术保护点】
1.一种用于动态网络的路由更新方法,其特征在于,包括:/n获取动态网络中发生变化的链路;所述链路包括两个端节点,分别为第一端节点和第二端节点;/n根据所述链路的两个端节点更新所述动态网络的拓扑表;所述动态网络的拓扑表为所述动态网络中所有节点的连接关系表;/n根据更新后的所述动态网络的拓扑表,利用Dijkstra最短路径算法更新所述第一端节点的路由表和所述第二端节点的路由表;/n根据链路发生变化前所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,以及链路发生变化后所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,确定待更新节点,得到路由更新集合;所述路由更新集合为所有待更新节点的集合;所述路...

【技术特征摘要】
1.一种用于动态网络的路由更新方法,其特征在于,包括:
获取动态网络中发生变化的链路;所述链路包括两个端节点,分别为第一端节点和第二端节点;
根据所述链路的两个端节点更新所述动态网络的拓扑表;所述动态网络的拓扑表为所述动态网络中所有节点的连接关系表;
根据更新后的所述动态网络的拓扑表,利用Dijkstra最短路径算法更新所述第一端节点的路由表和所述第二端节点的路由表;
根据链路发生变化前所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,以及链路发生变化后所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,确定待更新节点,得到路由更新集合;所述路由更新集合为所有待更新节点的集合;所述路由矩阵的第i行第j列表示第i个节点到第j节点之间的下一跳地址相关的信息;
对于所述动态网络中的第i个节点,判断所述路由更新集合中是否包括所述第i个节点;所述第i个节点为所述动态网络中除所述第一端节点和所述第二端节点之外的任一节点;
当所述路由更新集合中包括所述第i个节点时,更新所述第i个节点存储的所述动态网络的拓扑表,并根据更新后的所述动态网络的拓扑表计算所述第i个节点的路由表;
当所述路由更新集合中不包括所述第i个节点时,更新所述第i个节点存储的所述动态网络的拓扑表。


2.根据权利要求1所述的用于动态网络的路由更新方法,其特征在于,所述获取动态网络中发生变化的链路,之前还包括:
初始化所述动态网络中每个节点的存储信息;所述节点的存储信息包括所述动态网络的拓扑表、所述节点的路由表和所述节点的路由矩阵。


3.根据权利要求1所述的用于动态网络的路由更新方法,其特征在于,所述根据链路发生变化前所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,以及链路发生变化后所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,确定待更新节点,得到路由更新集合,具体包括:
将链路发生变化后所述第一端节点的路由矩阵与链路发生变化前所述第一端节点的路由矩阵做差,得到第一差值矩阵;
将所述第一差值矩阵中行元素不全为0的行号对应的节点确定为待更新节点;
将链路发生变化后所述第二端节点的路由矩阵与链路发生变化前所述第二端节点的路由矩阵做差,得到第二差值矩阵;
将所述第二差值矩阵中行元素不全为0的行号对应的节点确定为待更新节点;
根据所有待更新节点,确定所述路由更新集合。


4.根据权利要求1所述的用于动态网络的路由更新方法,其特征在于,所述根据链路发生变化前所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,以及链路发生变化后所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,确定待更新节点,得到路由更新集合,之前还包括:
对于第k个节点,根据所述第k个节点存储的所述动态网络的拓扑表,利用Dijkstra最短路径算法计算所述第k个节点到达第m个节点的所有下一跳地址,得到所述第k个节点对应的下一跳地址集合;所述第k个节点为所述第一端节点或所述第二端节点,所述第m个节点为所述动态网络中除所述第k个节点之外的节点;
根据所述第k个节点对应的下一跳地址集合,基于康托配对函数,更新所述第k个节点的路由矩阵中第k行第m列的元素值;
依次更新所述第k个节点的路由矩阵中第k行的所有元素值,得到更新后的所述第k个节点的路由矩阵;所述更新后的所述第k个节点的路由矩阵为链路发生变化后的所述第k个节点的路由矩阵。


5.根据权利要求4所述的用于动态网络的路由更新方法,其特征在于,所述根据所述第k个节点对应的下一跳地址集合,基于康托配对函数,更新所述第k个节点的路由矩阵中第k行第m列的元素值,具体包括:
基于康托配对函数,利用公式R1(k,m)=(x1+0)(x1+0+1)/2+0计算第1次迭代的函数初值;其中,x1为所述第k个节点对应的下一跳地址集合中第1个元素,R1(k,m)为第1次迭代的函数初值;
对于第j次迭代,利用公式Rj(k,m)=(xj+Rj-1(k,m))(xj+Rj-1(k,m)+1)/2+Rj-1(k,m)计算第j次迭代的函数值;其中,Rj(k,m)为第j次迭代的函数值,xj为所述第k个节点对应的下一跳地址集合中第j个元素,Rj-1(k,m)为第j-1次迭代的函数值;
将第n次迭代的函数值确定为第k个节点的路由矩阵中第k行第m列的元素值;n为所述第k个节点对应的下一跳地址集合的元素个数。


6.根据权利要求1所述的用于动态网络的路由更新方法,其特征在于,所述根据链路发生变化前所述第一端节点的路由矩阵和所述第二端节点的路由矩阵,以及链路发生变化...

【专利技术属性】
技术研发人员:卢勇倪国旗程东汤勇刚付新华王威
申请(专利权)人:电子科技大学中山学院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1