一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多矩阵的路由扩散模拟方法及装置与流程

2022-04-07 00:00:37 来源:中国专利 TAG:


1.本技术涉及通信领域,尤其涉及一种基于多矩阵的路由扩散模拟方法及装置。


背景技术:

2.网络架构设计对于运营商来说意义重大。其中,网络路由模拟仿真是大型网络架构设计的重要辅助手段,用于进行不同网络路由设计方案之间的对比,从而找出承载效率更高、负载分配更均衡、容灾能力更好的网络路由拓扑。从网络架构设计层面来看,在进行网络路由模拟时通常要解决的问题是,如何进行更好的流量疏导,获取网络中最优的路由拓扑设计,而并非是尽可能高度还原真实网络运行情况。
3.而现阶段常用的网络路由模拟仿真方案,都是尽可能高的还原网络,并没有高度将网络路由抽象化。由于现阶段方案都是大量还原了网络运行细节,因而运行起来会同时运算着网络设计者并不关注的数据,使得运算量巨大,运算效率不高。并且,当网络中需要设置静态路由或缺省路由等特殊路由时,现阶段方案无法针对这些特殊路由进行网络路由模拟。


技术实现要素:

4.本技术提供一种基于多矩阵的路由扩散模拟方法及装置,用以解决现阶段网络路由模拟方案中运算量较大、运算效率低下、不能处理特殊路由的问题。
5.为达到上述目的,本技术的采用如下技术方案:
6.第一方面,本技术提供一种基于多矩阵的路由扩散模拟方法,包括:根据下一跳矩阵与度量值矩阵模拟域内路由。根据下一跳矩阵、度量值矩阵及更新状态矩阵的迭代矩阵变换,模拟域内路由的扩散。其中,下一跳矩阵,度量值矩阵,更新状态矩阵具有相同的矩阵维度。下一跳矩阵中的元素h
s,d
表示以第s个节点为当前节点、第d个节点为目标节点时,第s个节点与第d个节点之间的最优路由中第s个节点的下一跳信息。度量值矩阵中的元素m
s,d
表示以第s个节点为当前节点、第d个节点为目标节点时,第s个节点与第d个节点之间的最优路由的度量值。更新状态矩阵中的元素u
s,d
表示以第s个节点为当前节点、第d个节点为目标节点时,第s个节点与第d个节点之间是否有新路由需要扩散。
7.基于上述技术方案,本技术实施例中路由扩散模拟装置根据对更新状态矩阵、度量值矩阵和下一跳矩阵进行迭代矩阵变换,以模拟待模拟网络中路由节点的扩散。由于本技术的度量值矩阵中的度量值直接选取igp路由表中节点之间路由条目的最低度量值,且更新状态矩阵通过对元素数值的变换保证了迭代次数的精简,使得本技术的技术方案相较于现阶段的模拟方法,能够在模拟过程中脱离igp路由表的同时,具备运算量较低、运算效率高的优点。同时,由于更新状态矩阵、度量值矩阵和下一跳矩阵中能够针对缺省路由和静态路由设置相应的特殊数值,使得本技术实施例能够应对待模拟网络中存在缺省路由和静态路由的特殊情况,应用范围较广,实用性较高。
8.第二方面,本技术提供一种基于多矩阵的路由扩散模拟装置,该路由扩散模拟装
置包括:处理单元。处理单元,用于根据下一跳矩阵与度量值矩阵模拟域内路由。处理单元,还用于根据下一跳矩阵、度量值矩阵及更新状态矩阵的迭代矩阵变换,模拟域内路由的扩散;其中,下一跳矩阵,度量值矩阵,更新状态矩阵具有相同的矩阵维度;下一跳矩阵中的元素h
s,d
表示以第s个节点为当前节点、第d个节点为目标节点时,第s个节点与第d个节点之间的最优路由中第s个节点的下一跳信息;度量值矩阵中的元素m
s,d
表示以第s个节点为当前节点、第d个节点为目标节点时,第s个节点与第d个节点之间的最优路由的度量值;更新状态矩阵中的元素u
s,d
表示以第s个节点为当前节点、第d个节点为目标节点时,第s个节点与第d个节点之间是否有新路由需要扩散。
9.此外,第二方面所述的路由扩散模拟方法的技术效果可以参考上述第一方面所述的路由扩散模拟方法的技术效果,此处不再赘述。
10.第三方面,本技术提供一种存储一个或多个程序的计算机可读存储介质,该一个或多个程序包括指令,上述指令当被本技术的电子设备执行时使电子设备执行如第一方面和第一方面的任一种可能的实现方式中所描述的路由扩散模拟方法。
11.第四方面,本技术提供一种电子设备,包括:处理器以及存储器;其中,存储器用于存储一个或多个程序,一个或多个程序包括计算机执行指令,当电子设备运行时,处理器执行存储器存储的计算机执行指令,以使电子设备执行如第一方面和第一方面的任一种可能的实现方式中所描述的路由扩散模拟方法。
12.第五方面,本技术提供一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得本技术的电子设备执行如第一方面和第一方面的任一种可能的实现方式中所描述的路由扩散模拟方法。
13.第六方面,本技术提供一种芯片系统,该芯片系统应用于路由扩散模拟装置;所述芯片系统包括一个或多个接口电路,以及一个或多个处理器。所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述路由扩散模拟装置的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令。当所述处理器执行所述计算机指令时,所述路由扩散模拟装置执行如第一方面及其任一种可能的设计方式所述的路由扩散模拟方法。
附图说明
14.图1为本技术的实施例提供的一种基于多矩阵的路由扩散模拟方法的流程示意图;
15.图2为本技术的实施例提供的根据下一跳矩阵与度量值矩阵模拟igp路由的示意图;
16.图3为本技术的实施例提供的通过特殊节点号模拟缺省路由的示意图;
17.图4为本技术的实施例提供的基于多矩阵模拟一个路由条目扩散的示意图;
18.图5为本技术的实施例提供的基于多矩阵模拟两个节点之间扩散路由的示意图;
19.图6为本技术的实施例二的节点拓扑关系示意图;
20.图7为本技术的实施例三的节点拓扑关系示意图;
21.图8为本技术的实施例三的初始矩阵示意图;
22.图9为本技术的实施例三的矩阵变换示意图;
23.图10为本技术的实施例三的矩阵变换示意图;
24.图11为本技术的实施例三的矩阵变换示意图;
25.图12为本技术的实施例三的矩阵变换示意图;
26.图13为本技术的实施例三的矩阵变换示意图;
27.图14为本技术的实施例三的矩阵变换示意图;
28.图15为本技术的实施例提供的一种基于多矩阵的路由扩散模拟装置的结构示意图;
29.图16为本技术的实施例提供的另一种基于多矩阵的路由扩散模拟装置的结构示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
31.本文中字符“/”,一般表示前后关联对象是一种“或者”的关系。例如,a/b可以理解为a或者b。
32.本技术的说明书和权利要求书中的术语“第一”和“第二”是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一边缘服务节点和第二边缘服务节点是用于区别不同的边缘服务节点,而不是用于描述边缘服务节点的特征顺序。
33.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
34.另外,在本技术实施例中,“示例性的”、或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、或者“例如”等词旨在以具体方式呈现概念。
35.基于上述igp协议现状,现有技术中对于igp路由的模拟仿真主要有两大方案。一种是以dijkstra算法为基础的仿真方案,借助图论中的抽象形式将设备抽象为节点,利用度量值构建邻接关系矩阵,从而模拟igp协议中对于最短路径的计算。然而,由于该种方案中设备的抽象是基于数学中的图论理论,因此该种方案在针对大部分路由技术中的特有设置时,有无法兼容的问题,例如静态路由、缺省路由等问题。此外,图论相关算法中的矩阵迭代模式还会导致路由扩散次数、扩散关系无法模拟的问题。
36.另一种方案是以路由表为基础的仿真思路,通常构建较为完整的igp路由表,完全模拟路由器运营状态,包括基础的ip(internet protocol)、基础的路由协议(isis(intermediate system to intermediate system)、ospf(open shortest path first)等)、扩展的特殊路由配置(静态路由、路由策略(policy)、路由重发布和相互引入等)等各种路由细节,例如思科、华为等设备厂家提供的模拟器。完整的路由模拟的数据量和运算量
都较大,尤其在模拟路由表查询和变换时,该种方案是针对目的ip地址 掩码(mark)在ip路由表中进行的表项检索,而难以实现直接针对特定位置的读取和修改。也就是说,该种方案虽然能够很真实的模拟仿真路由协议中的各种细节,但是运算量较大、速度较慢,适合进行单路由方案的详细模拟仿真,而不适合用于大量路由方案的对比分析。
37.因此,为解决上述现有技术中在对igp路由进行模拟时,不能兼顾静态路由、缺省路由等特定路由情形,以及运算效率的问题,本技术提供一种基于多矩阵的路由扩散模拟方法。
38.本技术中路由扩散模拟方法的执行主体是路由扩散模拟装置,该路由扩散模拟装置可以是用于模拟路由扩散的电子设备,也可以是电子设备中的中央处理器(central processing unit,cpu),还可以是电子设备中用于进行路由扩散模拟的客户端。本技术实施例以电子设备作为路由扩散模拟装置来执行路由扩散模拟方法为例,对本技术提供的路由扩散模拟方法进行说明。
39.下面结合说明书附图,对本技术所提供的技术方案进行具体阐述。
40.实施例一:
41.为了解决现有技术方案中,不能兼顾静态路由、缺省路由等特定路由情形,以及运算效率的问题,本技术实施例提供一种基于多矩阵的路由扩散模拟方法。如图1所示,本技术实施例提供的路由扩散模拟方法包括以下步骤:
42.s101、路由扩散模拟装置确定直连关系信息。
43.其中,直连关系信息用于表示路由节点之间直连链路的互联接口和路由协议度量值(没有启用路由协议的链路也可以没有度量值)。
44.实施过程中,通常通过文件或api接口形式导入待模拟网络的直连关系信息,即网络拓扑信息。
45.s102、路由扩散模拟装置根据直连关系信息确定初始状态的下一跳矩阵、度量值矩阵、以及更新状态矩阵。
46.其中,下一跳矩阵中的元素h
s,d
表示以第s个节点为源节点,以第d个节点为目标节点时,第s个节点与第d个节点之间的最优路由中第s个节点的下一跳节点序号,以及第s个节点与下一跳节点连接的属于第s个节点的路由出接口序号。其中,下一跳节点和路由出接口的序号可以为序号形式,也可以为字符串形式。
47.度量值矩阵中的元素m
s,d
表示以第s个节点为源节点,以第d个节点为目标节点时,第s个节点与第d个节点之间最优路由的度量值。
48.更新状态矩阵中的元素u
s,d
表示第s个节点与第d个节点之间,是否有新路由需要扩散。
49.可选的,下一跳矩阵、度量值矩阵、以及更新状态矩阵均为n
×
(n 1)维矩阵,n为待模拟网络中的节点数量。需要说明的是,此时下一跳矩阵、度量值矩阵、以及更新状态矩阵中元素的列数为(n 1),这是由于首列元素用于表示目标路由节点为缺省路由。可以理解,若待模拟网络中不存在缺省路由,则可以将表示目标路由节点为缺省路由的首列元素设为空,也可以将下一跳矩阵、度量值矩阵、以及更新状态矩阵设置为n
×
n维的矩阵。
50.可选的,路由扩散模拟装置对下一跳矩阵的确定包括以下步骤:
51.(1)根据所述节点的数量n,构建n
×
(n 1)维的下一跳矩阵,将行号与列号相等的
元素的初始参数设为{行号,0},其余元素的初始参数设为空。
52.(2)在节点s与节点n之间存在直连关系的情况下,则将初始下一跳矩阵中元素h
s,d
的参数,修改为{d,出接口序号}。
53.需要说明的是,当节点d(也即目标节点)为缺省路由时,将元素h
s,d
的内容修改为缺省路由的出接口和下一跳节点。
54.可选的,路由扩散模拟装置对度量值矩阵的确定过程包括以下步骤:
55.(1)根据节点的数量n,构建n
×
(n 1)维的度量值矩阵,将行号与列号相等的元素的初始参数设为0,并将行号与列号不相等的元素的初始参数设为正无限。
56.(2)在节点s与节点d之间存在直连关系的情况下,将度量值矩阵元素m
s,d
的参数重置为节点s与节点d之间直连链路的路由协议度量值。
57.需要说明的是,当节点d(也即目标节点)为缺省路由时,可将元素m
s,d
的参数设为0。
58.可选的,路由扩散模拟装置对更新状态矩阵的确定过程包括以下步骤:
59.(1)根据节点的数量n,构建n
×
(n 1)维的更新状态矩阵。其中,初始更新状态矩阵中每个元素的初始参数设为0;
60.(2)在节点s与节点d之间存在直连关系的情况下,将更新状态矩阵中的元素u
s,n
的参数重置为1。
61.以上对路由扩散模拟装置确定初始状态的下一跳矩阵、度量值矩阵、以及更新状态矩阵的方法进行了说明。
62.可选的,若两个路由节点之间存在静态路由配置,则这两个节点之间的静态路由不参与后续步骤s103中的路由节点的模拟。并且,路由扩散模拟装置在步骤s103之前,直接根据静态路由的配置信息,对应修改下一跳矩阵、度量值矩阵、以及更新状态矩阵中的元素的参数。具体来说,若节点s和节点d之间配置有静态路由,则下一跳矩阵中的元素h
s,d
设为节点s与节点d之间静态路由的下一跳节点序号和出接口序号,度量值矩阵中元素m
s,d
设为0(也可以是-1等特殊数值,与度量值矩阵中的正常元素的参数区分开即可),更新状态矩阵中元素u
s,d
设为0。
63.s103、路由扩散模拟装置根据更新状态矩阵,对下一跳矩阵、度量值矩阵、以及更新状态矩阵进行迭代矩阵变换,以模拟路由节点之间的扩散。
64.针对域内路由(也即igp)问题,首先对域内路由问题进行最大限度的抽象,将路由器设备抽象为节点,以1~n的数值形式直接表示n台路由器设备,并在各种矩阵中通过此序号值直接指向特定位置。
65.示例性的,如图2所示,将网络中各设备的igp路由表在逻辑上进行统一整合和拆分,最终抽象为通过“metric矩阵”、“下一跳矩阵”进行路由表中路由条目的模拟,并通过“更新状态矩阵”标记待更新状态。
66.需要说明的是,在本技术实施例中选取igp路由表中的“metric”作为度量值矩阵的度量值,也即此时用“metric矩阵”来标识度量值矩阵。
67.构建n
×
(n 1)维的metric矩阵,用于记录任意当前节点至目标节点之间的最小metric值(或称cost),每个元素为一个整数值,使用∞或某个极大数值或-1代表不可达和缺省值。
68.构建n
×
(n 1)维的下一跳矩阵,用于记录任意源节点至目的节点之间的下一跳和出接口,每个元素为一个k
×
2维的数组,其中k为等价路由的条数,每条路由包括2个整数值{下一跳节点序号,本节点的出接口序号},使用空数组{}代表不可达和缺省值。
69.上述metric矩阵和下一跳矩阵,一起用于模拟设备的路由表,如图2所示。
70.同时,构建n
×
(n 1)维的更新状态矩阵,用于记录任意源节点至目的节点之间路由是否需要向外扩散,每个元素为一个整数值,使用0代表不扩散、1代表待扩散,2代表下一轮待扩散。
71.示例性的,如图3所示,在上述三个矩阵(metric矩阵、下一跳矩阵、更新状态矩阵)中,相同横纵坐标的元素是相互对应的,横纵坐标1~n分别对应节点号的1~n,纵坐标0用于模拟缺省路由。
72.通过对metric矩阵和下一跳矩阵的变换,进行对路由扩散过程的模拟。其中metric矩阵的变换方式类似于经典spf算法(如dijkstra算法),metric矩阵中记录的为源

目的的最小metric值,每次通过累加计算s

n n

d得到新的s

d,并与当前的s

d进行比较和优选;下一跳矩阵的变换方式模拟路由运算过程,每次通过metric矩阵发现更短路s
→n→
d时,将复制s

n的下一跳作为s

d的下一跳。
73.如图4所示,metric矩阵和下一跳矩阵的变换方式为:节点n将其n

d的路由扩散给节点s,节点s根据扩散的此路由对s

d进行路由优选。在由metric矩阵控制的路由扩散和优选中,包括以下三种具体情况:
74.情况一、若metric矩阵中的m
s,n
m
n,d
《原m
s,d
,则说明发现了更短路径。此时将m
s,d
修改为m
s,n
m
n,d
以记录此最小metric,并用下一跳矩阵中的h
s,n
复制到h
s,d
的位置以记录路由的下一跳信息,并将更新状态矩阵中的u
s,d
置为1以表示学习到了新路由需要扩散;
75.情况二、若metric矩阵中的m
s,n
m
n,d
》原m
s,d
,则说明原有路径更短,新路径s
→n→
d为更长路径。此时不对metric矩阵、下一跳矩阵、更新状态矩阵做修改;
76.情况三、若metric矩阵中的m
s,n
m
n,d
=原m
s,d
,则说明发现了等价路径。此时m
s,d
保持不变仍为此最小metric,并将下一跳矩阵中的h
s,n
追加到h
s,d
的位置以记录等价的下一跳信息,并将更新状态矩阵中的u
s,d
置为1以表示学习到了新路由需要扩散。
77.如图5所示,当节点n向节点s扩散路由时,首选根据更新状态矩阵确定哪些位置有新路由需要进行扩散,仅扩散被更新状态矩阵标记出的位置,而并不是所有位置都扩散;然后在metric矩阵中逐个计算待扩散位置,使用m
s,n
进行metric的叠加并进行最小metric的优选;然后根据metric矩阵中的优选结果,将下一跳矩阵中的h
s,n
复制或追加到对应位置。
78.对于路由扩散关系,可以有多种实现方式:
79.方式一:模拟实际路由协议,建立邻居关系表,每个节点仅向其igp邻居扩散路由。其中,邻居关系表可以从外部导入,或者基于预设规则根据直连链路进行识别。
80.方式二:不单独建立邻居关系表,在将所有直连链路导入metric矩阵后,保存此初始metric矩阵,后续路由扩散时,每个节点n仅向初始metric不为∞的对端扩散路由(即仅向直连可达对端扩散路由)。
81.方式三:不使用其它矩阵和表格控制扩散关系,每个节点可以向当前metric矩阵中不为∞的对端扩散路由。
82.其中,方式一和方式二,都是仅允许向直连对端进行路由扩散,因此在模拟路由扩
散结果的同时,也能够模拟路由扩散的迭代次数;而方式三,当前metric矩阵中不为∞仅代表可达而并不一定是直连可达,因此扩散时并非限定在直连可达的对端,会产生跳跃式扩散,从而打乱路由扩散的迭代次数,但路由最终结果是与方式一和方式二一致的。
83.s104、路由扩散模拟装置在确定迭代矩阵变换结束后,输出当前下一跳矩阵,作为模拟结果。
84.可选的,若在一次矩阵变换之后,更新状态矩阵中所有元素的参数皆为0,则路由扩散模拟装置确定矩阵变换结束。可以理解,当更新状态矩阵中所有元素的参数为0,则表示待模拟网络中已经不存在能够继续扩散的新路由。此时,路由扩散模拟装置将当前的下一跳矩阵输出,作为路由扩散模拟结果。
85.基于上述技术方案,本技术实施例中路由扩散模拟装置根据对更新状态矩阵、度量值矩阵和下一跳矩阵进行迭代矩阵变换,以模拟待模拟网络中路由节点的扩散。由于本技术的度量值矩阵中的度量值直接选取igp路由表中节点之间路由途径的最低参数,且更新状态矩阵通过对元素数值的变换保证了迭代次数的精简,使得本技术的技术方案相较于现阶段的模拟方法,能够在模拟过程中脱离igp路由表的同时,具备运算量较低、运算效率高的优点。同时,由于更新状态矩阵、度量值矩阵和下一跳矩阵中能够针对缺省路由和静态路由设置相应的特殊数值,使得本技术实施例能够应对待模拟网络中存在缺省路由和静态路由的特殊情况,应用范围较广,实用性较高。
86.实施例二:
87.示例性的,结合上述实施例,图6示出了本技术实施例所涉及的一种网络拓扑的示意图,该网络拓扑中包括3个节点,两条链路(即意图,该网络拓扑中包括3个节点,两条链路(即)。其中,链路启用isis(也即igp协议)。出接口为接口1,下一跳节点为节点2。
88.示例性的,在本实施例中,度量值矩阵的表现形式为metric矩阵,也即度量值选取为metric值。需要指出,度量值矩阵的表现形式不局限于metric矩阵一种,本技术下述实施例仅以metric矩阵的形式来进行示例性的说明,不代表度量值矩阵只有metric矩阵这一种表现形式。具体对于度量值矩阵的表现形式,本技术实施例不做限定。
89.表1实施二的metric矩阵
[0090] 序号0序号1序号2序号3序号100∞∞序号20∞0100序号30∞1000
[0091]
表2实施二的下一跳矩阵
[0092] 序号0序号1序号2序号3序号1{{2,1}}{{1,0}}{}{}序号2{}{}{{2,0}}{{3,2}}序号3{}{}{{2,1}}{{3,0}}
[0093]
表3实施二的更新状态矩阵
[0094] 序号0序号1序号2序号3
序号10000序号20001序号30010
[0095]
根据如图6所示的网络拓扑,所形成的metric矩阵如表1所示、下一跳矩阵如表2所示、更新状态矩阵如表3所示。下面结合表1表2表3对本实施例进行说明:
[0096]
(1)对于本设备到本设备(x

x):metric矩阵中元素m
x,x
为0;下一跳矩阵中元素h
x,x
为{{x,0}}表示下一跳还是本节点,接口0统一为设备的回环口(类似于127.0.0.1的功能);更新状态矩阵中元素u
x,x
为0表示不发布此路由。
[0097]
(2)对于igp链路:链路启用isis(igp协议)且metric=100。对应到矩阵中,metric矩阵中元素节点2

节点3和节点3

节点2对应的元素m
2,3
和m
3,2
为100。
[0098]
下一跳矩阵中节点2

节点3对应的元素h
2,3
为{{3,2}},即表示下一跳为节点3、出接口为本地的接口2。节点3

节点2对应的元素h
3,2
为{{2,1}},即表示下一跳为节点2、出接口为本地的接口1。
[0099]
更新状态矩阵中节点2

节点3和节点3

节点2对应的元素u
2,3
和u
3,2
为1,表示此路由需要向其igp邻居进行发布和扩散。
[0100]
(3)对于非igp链路:由于链路不启用isis(igp协议),因此对应到矩阵中,metric矩阵中节点1

节点2和节点2

节点1对应的元素m
1,2
和m
2,1
仍为缺省值∞,下一跳矩阵中元素h
1,2
和h
2,1
仍为缺省值{},更新状态矩阵中元素u
1,2
和u
2,1
也仍为缺省值0。
[0101]
(4)对于缺省路由:节点1上配置有缺省路由出接口为接口1、下一跳为节点2,对应到矩阵中,metric矩阵中节点1

0(也即缺省路由)对应的元素m
1,0
为0,下一跳矩阵中对应的元素h
1,0
为{{2,1}},更新状态矩阵中元素u
1,0
为0。可以理解为,此时本地配置的缺省路由仅本地有效,因此不扩散。
[0102]
以上对本技术实施例所涉及的一种网络拓扑及其对应的矩阵确定方法就行了说明。
[0103]
实施例三:
[0104]
示例性的,结合前述方法实施例,图7示出了本技术实施例所涉及的另一种网络拓扑的示意图,在此拓扑关系中,存在节点1、节点2、节点3、节点4共四个路由节点,不存在缺省路由和静态路由。
[0105]
此拓扑关系中,4个节点1、2、3、4之间存在5条直连链路:节点1的接口1直连节点2的接口1、节点1的接口2直连节点3的接口1、节点2的接口2直连节点4的接口1、节点2的接口3直连节点4的接口2、节点3的接口2直连节点4的接口3。易知,其中有两条并行直连链路。
[0106]
igp路由方面,所有直连链路均启用isis(igp协议),且链路metric值均为100。
[0107]
下面结合图7,对本技术中路由扩散的模拟进行具体说明,过程如下:
[0108]
示例性的,在本实施例中,度量值矩阵的表现形式为metric矩阵,也即度量值选取为metric值。需要指出,度量值矩阵的表现形式不局限于metric矩阵一种,本技术下述实施例仅以metric矩阵的形式来进行示例性的说明,不代表度量值矩阵只有metric矩阵这一种
表现形式。具体对于度量值矩阵的表现形式,本技术实施例不做限定。
[0109]
s201、路由扩散模拟装置将直连链路导入到矩阵中,并根据链路启用igp情况构建路由扩散关系表。
[0110]
s2011、路由扩散模拟装置将直连链路导入到矩阵中。
[0111]
示例性的,得到的三个矩阵如图8所示。
[0112]
(1)图8示出的metric矩阵、下一跳矩阵、更新状态矩阵中,列序号0表示缺省路由,列序号1至4分别按顺序表示节点1至节点4,行序号1至4也分别按顺序标识节点1至节点4。
[0113]
(2)图8示出的在metric矩阵中,将存在直连路由的两个节点序号对应的元素的参数设为这两个节点之间的直连路由的metric;将表示节点自身与自身的元素的参数设为0;其余元素保持为初始的参数∞。
[0114]
(3)图8示出的在下一跳矩阵中,将存在直连路由的两个节点序号对应的元素的参数设为{目标节点序号,出接口序号};将表示节点自身与自身进行路由的元素的参数设为{目标节点序号,0};其余元素保持为初始的参数空。
[0115]
(4)图8示出的在更新状态矩阵中,将存在直连路由的两个节点序号对应的元素的参数设为1;其余元素保持为初始的参数0。
[0116]
s2012、路由扩散模拟装置根据直连链路和链路启用igp情况构建路由扩散关系表。
[0117]
示例性的,得到路由扩散关系表:示例性的,得到路由扩散关系表:s202、路由扩散模拟装置根据更新状态矩阵,对metric矩阵和下一跳矩阵进行迭代矩阵变换,以模拟路由节点之间的扩散。
[0118]
示例性的,本实施例中根据更新状态矩阵,对metric矩阵和下一跳矩阵的矩阵变换是逐行进行的。下面分步骤s2021-s2024对路由扩散进行说明:
[0119]
s2021、节点1中针对目标节点2、节点3有待扩散路由(更新状态为1),因而根据路由扩散关系表中的和节点1向节点2和节点3扩散路由。
[0120]
示例性的,扩散结果如图9所示,图9中灰色部分为本次修改过的位置。
[0121]
可以理解的是,节点1向节点2扩散时,发现metric为200的更短路2
→1→
3,因此将metric矩阵中的元素m
2,3
填为200,并将下一跳矩阵中元素h
2,1
的{{1,1}}复制到元素h
2,3
,同时将更新状态矩阵中的元素u
2,3
置为2(0表示不扩散,1表示本次迭代中扩散,2表示下次迭代中扩散)。
[0122]
同理,节点1向节点3扩散时,发现metric为200的更短路3
→1→
2,因此将metric矩阵中的元素m
3,2
填为200,并将下一跳矩阵中元素h
3,1
的{{1,1}}复制到元素h
3,2
,同时将更新状态矩阵中的元素u
3,2
置为2。
[0123]
本次迭代节点1路由扩散完后,将更新状态矩阵中的对应元素u
1,2
和u
1,3
置为0表示已扩散完。
[0124]
s2022、节点2中针对目标1、4有待扩散路由(更新状态为1,更新状态为2的是下次迭代中再发布),因而根据路由扩散关系表中的迭代中再发布),因而根据路由扩散关系表中的和节点2向节点1和节点4扩散路由。
[0125]
示例性的,扩散结果如图10所示,图10中灰色部分为本次修改过的位置。
[0126]
可以理解的是,节点2向节点1扩散时,发现metric为200的更短路1
→2→
4,因此将metric矩阵中的元素m
1,4
填为200,并将下一跳矩阵中元素h
1,2
的{{2,1}}复制到元素h
1,4
,同时将更新状态矩阵中的元素u
1,4
置为2。
[0127]
同理,节点2向节点4扩散时,发现metric为200的更短路4
→2→
1,因此将metric矩阵中的元素m
4,1
填为200,并将下一跳矩阵中元素h
4,2
的{{2,1},{2,2}}复制到元素h
4,1
,同时将更新状态矩阵中的元素u
4,1
置为2。
[0128]
本次迭代节点2路由扩散完后,将更新状态矩阵中的对应元素u
2,1
和u
2,4
置为0表示已扩散完。
[0129]
s2023、节点3中针对目标1、4有待扩散路由(更新状态为1,更新状态为2的是下次迭代中再发布),因而根据路由扩散关系表中的迭代中再发布),因而根据路由扩散关系表中的和节点3向节点1和节点4扩散路由。
[0130]
示例性的,扩散结果如图11所示,图11中灰色部分为本次修改过的位置。
[0131]
可以理解的是,节点3向节点1扩散时,发现metric同为200的等价路径1
→3→
4,因此metric矩阵中的元素m
1,4
仍保持200不变,并将下一跳矩阵中元素h
1,3
的{{3,2}}追加到当前元素h
1,4
的{{2,1}},形成新的元素h
1,4
为{{2,1},{2,3}},同时将更新状态矩阵中的元素u
1,4
置为2。
[0132]
同理,节点3向节点4扩散时,发现metric同为200的等价路径4
→3→
1,因此metric矩阵中的元素m
41
仍保持200不变,并将下一跳矩阵中元素h
4,3
的{{3,3}}追加到当前元素h
4,1
的{{2,1},{2,2}},形成新的元素h
4,1
为{{2,1},{2,2},{3,3}},同时将更新状态矩阵中的元素u
4,1
置为2。
[0133]
本次迭代节点3路由扩散完后,将更新状态矩阵中的对应元素u
3,1
和u
3,4
置为0表示已扩散完。
[0134]
s2024、节点4中针对目标2、3有待扩散路由(更新状态为1,更新状态为2的是下次迭代中再发布),因而根据路由扩散关系表中的迭代中再发布),因而根据路由扩散关系表中的和节点4向节点2和节点3扩散路由。
[0135]
示例性的,扩散结果如图12所示,图12中灰色部分为本次修改过的位置。
[0136]
可以理解的是,节点4向节点2扩散时,发现metric同为200的等价路径2
→4→
3,因此metric矩阵中的元素m
2,3
仍保持200不变,并将下一跳矩阵中元素h
2,4
的{{4,2},{4,3}}追加到当前元素h
2,3
的{{1,1}},形成新的元素h
2,3
为{{1,1},{4,2},{4,3}},同时将更新状态矩阵中的元素u
2,3
置为2。
[0137]
同理,节点4向节点3扩散时,发现metric同为200的等价路径3
→4→
2,因此metric矩阵中的元素m
3,2
仍保持200不变,并将下一跳矩阵中元素h
3,4
的{{4,2}}追加到当前元素h
3,2
的{{1,1}},形成新的元素h
3,2
为{{1,1},{4,2}},同时将更新状态矩阵中的元素u
3,2
置为2。
[0138]
本次迭代节点4路由扩散完后,将更新状态矩阵中的对应元素u
4,2
和u
4,3
置为0表示已扩散完。
[0139]
以上对根据更新状态矩阵,对metric矩阵和下一跳矩阵进行一次矩阵变换进行了说明。
[0140]
s203、本次迭代完成,对于更新状态矩阵中的所有参数为2的元素,路由扩散模拟装置将这些元素的参数值修改为1。
[0141]
如图13所示,图13中灰色部分为本次修改过的位置。
[0142]
s204、路由扩散模拟装置进入下一次迭代,根据更新状态矩阵,进行路由扩散。
[0143]
可以理解的是,本步骤中的扩散方法同步骤s202。扩散结果如图14所示,图14中灰色部分为本次修改过的位置。
[0144]
易得,在本次迭代后,更新状态矩阵已经全部为0,表明已经没有待继续扩散的新路由,路由扩散终止。并将此时的下一跳矩阵输出,作为最终的路由扩散模拟结果。
[0145]
以上结合图7所示的一种网络拓扑,对本技术实施例中针对三种矩阵的迭代矩阵变换,来模拟路由扩散的步骤进行了说明。
[0146]
实施例四:
[0147]
示例性的,结合图7示出的网络拓扑,在节点1增加静态路由配置:{目标节点4、下一跳节点2、出接口1},用于将1

4的路径指定为1
→2→
4,而不通过3进行中转。
[0148]
s301、路由扩散模拟装置确定metric矩阵、下一跳矩阵、更新状态矩阵,并模拟路由扩散。
[0149]
可以理解的是,路由扩散过程与实施例三相同,路由扩散结果的metric矩阵、下一跳矩阵、更新状态矩阵也与实施例三相同,在此不再赘述。
[0150]
s302、将节点1至节点4的静态路由配置转化到metric矩阵和下一跳矩阵中。
[0151]
需要说明的是,由于本地静态路由配置的路由优先级高于igp路由,且静态路由不参与扩散,因此设置静态路由的步骤在igp扩散之后进行,对应metric记为0(也可使用-1等特殊值),对应更新状态为0。
[0152]
将metric矩阵中的元素m
1,4
填为0,并将下一跳矩阵中元素h
1,4
填为配置的静态路由{{2,1}},更新状态矩阵中的元素u
1,4
保持为0。结果如图14所示,图中灰色部分为本次修改过的位置。
[0153]
将此时的下一跳矩阵输出,作为最终的路由扩散模拟结果。
[0154]
实施例五:
[0155]
示例性的,结合实施例三,本技术还提供一种路由扩散模拟结果中下一跳矩阵的路由查询方法,具体包括以下步骤:
[0156]
以在实施例三中最终输出的下一跳矩阵中,查询节点1至节点4的路由为例。
[0157]
s401、查询元素h
1,4
的参数,确定节点1至节点4之间最优路由中,下一跳路由的节点序号和出接口序号。
[0158]
查询下一跳矩阵可知,元素h
1,4
的参数为{2,1}和{3,2}。由此可知,节点1至节点4有两条最优路由,即{2,1}指示出的通过节点1的出接口1前往节点2,以及{3,2}指示出的通过节点1的出接口2前往至节点3。
[0159]
由此,将此时的路径表示为:【1,1】

【2,-】或者【1,2】

【3,-】。
[0160]
s402、根据步骤s401中确定的路径,继续确定下一跳路由的节点序号和出接口序号,查询元素h
2,4
和元素h
3,4
的参数。
[0161]
针对路径【1,1】

【2,-】,以节点2为当前节点,继续查询下一跳矩阵可知,元素h
2,4
的参数为{4,2}和{4,3}。由此可知,节点2至节点4有两条最优路由,即{4,2}指示出的通过
节点2的出接口2前往节点4,以及{4,3}指示出的通过节点2的出接口3前往至节点4。由此,路径【1,1】

【2,-】进一步分裂为:【1,1】

【2,2】

【4,-】、【1,1】

【2,3】

【4,-】。
[0162]
针对路径【1,2】

【3,-】,以节点3为当前节点,继续查询下一跳矩阵可知,元素h
3,4
的参数为{4,2}。由此可知,节点3至节点4有一条最优路由,即{4,2}指示出的通过节点3的出接口2前往节点4。由此,路径【1,2】

【3,-】进一步变化为:【1,2】

【3,2】

【4,-】。由此,将此时的路径表示为:【1,1】

【2,2】

【4,-】、【1,1】

【2,3】

【4,-】或者【12】

【3,2】

【4,-】。
[0163]
s403、确定路由抵达目标路由节点4,输出最终路由途径。
[0164]
可以理解的是,由于在s402查询过后,已经抵达目标路由节点4,因此将路径最后一跳的出接口确定为0,表示本节点回环,也即路由已结束。
[0165]
由此,最终根据路由扩散模拟结果图14,查询节点1至节点4的路径为:【1,1】

【2,2】

【4,0】、【1,1】

【2,3】

【4,0】或者【1,2】

【3,2】

【4,0】,共计三条路径。
[0166]
以上针对如何在本技术实施例的路由扩散模拟结果中,对某两节点之间的路径进行查询进行了说明。
[0167]
本技术实施例可以根据上述方法示例对路由扩散模拟装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本技术实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0168]
示例性的,如图15所示,为本技术实施例所涉及的一种基于多矩阵的路由扩散模拟装置的一种可能的结构示意图。该路由扩散模拟装置500包括:处理单元501。
[0169]
其中,处理单元501,用于根据下一跳矩阵与度量值矩阵模拟域内路由。
[0170]
处理单元501,还用于根据下一跳矩阵、度量值矩阵及更新状态矩阵的迭代矩阵变换,模拟域内路由的扩散。
[0171]
处理单元501,还用于根据所述更新状态矩阵,确定所述下一跳矩阵和所述度量值矩阵中的待扩散元素。
[0172]
可选的,处理单元501,还用于根据路由扩散关系信息,确定所述下一跳矩阵和所述度量值矩阵中所述待扩散元素的扩散目标元素。
[0173]
可选的,处理单元501,还用于将所述下一跳矩阵和所述度量值矩阵中的所述待扩散元素,向每个所述扩散目标元素进行扩散。
[0174]
可选的,处理单元501,还用于根据所述下一跳矩阵和/或所述度量值矩阵,确定所述路由扩散关系信息。
[0175]
可选的,处理单元501,还用于根据路由扩散关系表,确定所述路由扩散关系信息。
[0176]
可选的,处理单元501,还用于在所述更新状态矩阵中的所述元素u
s,d
的参数为0时,确定所述度量值矩阵中的元素m
s,d
和所述下一跳矩阵中的元素h
s,d
为非待扩散元素。
[0177]
可选的,处理单元501,还用于在所述更新状态矩阵中的所述元素u
s,d
的参数为1时,确定所述度量值矩阵中的元素m
s,d
和所述下一跳矩阵中的元素h
s,d
为所述待扩散元素。
[0178]
可选的,处理单元501,还用于在所述更新状态矩阵中的所述元素u
s,d
的参数为2时,确定所述度量值矩阵中的元素m
s,d
和所述下一跳矩阵中的元素h
s,d
为下一轮待扩散元
素。
[0179]
可选的,处理单元501,还用于对于所述度量值矩阵中的待扩散元素m
n,d
和所述下一跳矩阵中的待扩散元素h
n,d
,以及所述扩散目标元素m
s,d
和h
s,d
,通过对比扩散叠加的度量值与所述度量值矩阵中元素m
s,d
的参数值之间的大小关系,判断是否接受本次扩散。
[0180]
可选的,处理单元501,还用于在所述对比扩散叠加的度量值小于所述元素m
s,d
的参数值时,确定接受本次扩散,并且将所述元素m
s,d
的参数修改为所述扩散叠加的度量值,以及将所述元素h
s,d
的参数修改为所述元素h
s,n
的参数。
[0181]
可选的,处理单元501,还用于在所述对比扩散叠加的度量值等于所述元素m
s,d
的参数值时,确定接受本次扩散,不修改所述元素m
d,n
的参数,以及在所述元素h
s,d
的参数中新增入所述元素h
s,n
的参数。
[0182]
可选的,处理单元501,还用于在所述对比扩散叠加的度量值大于所述元素m
s,d
的参数值时,确定不接受本次扩散。
[0183]
可选地,路由扩散模拟装置500还可以包括存储单元(图15中以虚线框示出),该存储单元存储有程序或指令。当处理单元501执行该程序或指令时,使得路由扩散模拟装置可以执行上述方法实施例所述的路由扩散模拟方法。
[0184]
此外,图15所述的路由扩散模拟装置的技术效果可以参考上述实施例所述的路由扩散模拟方法的技术效果,此处不再赘述。
[0185]
示例性地,图16为上述实施例中所涉及的基于多矩阵的路由扩散模拟装置的又一种可能的结构示意图。如图16所示,路由扩散模拟装置600包括:处理器602。
[0186]
其中,处理器602,用于对该路由扩散模拟装置的动作进行控制管理,例如,执行上述处理单元501执行的步骤,和/或用于执行本文所描述的技术方案的其它过程。
[0187]
上述处理器602可以是实现或执行结合本技术内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0188]
可选地,路由扩散模拟装置600还可以包括通信接口603、存储器601和总线604。其中,通信接口603用于支持路由扩散模拟装置600与其他网络实体的通信。存储器601用于存储该路由扩散模拟装置的程序代码和数据。
[0189]
其中,存储器601可以是路由扩散模拟装置中的存储器,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
[0190]
总线604可以是扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0191]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成
以上描述的全部或者部分功能。上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0192]
本技术实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在本技术的电子设备上运行时,使得所述计算机执行上述方法实施例所述的路由扩散模拟方法。
[0193]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该本技术的电子设备执行上述方法实施例所示的方法流程中路由扩散模拟装置执行的各个步骤。
[0194]
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,asic)中。在本技术实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0195]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献