CN112491605B - 路由仿真方法和装置 - Google Patents
路由仿真方法和装置 Download PDFInfo
- Publication number
- CN112491605B CN112491605B CN202011296925.7A CN202011296925A CN112491605B CN 112491605 B CN112491605 B CN 112491605B CN 202011296925 A CN202011296925 A CN 202011296925A CN 112491605 B CN112491605 B CN 112491605B
- Authority
- CN
- China
- Prior art keywords
- communication
- routing
- node
- determining
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 445
- 230000005540 biological transmission Effects 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 11
- 230000004927 fusion Effects 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003370 grooming effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种路由仿真方法和装置,涉及通信领域,用于抽象化网络仿真模型,减少仿真过程中的运算量,提高仿真效率。该方法包括:确定网络拓扑;网络拓扑包括多个网络设备;将多个网络设备抽象化处理,确定网络拓扑内的通信链路;通信链路包括第一通信链路和第二通信链路,第一通信链路用于指示网络设备内部的链路,第二通信链路用于指示多个网络设备之间的链路;根据第一通信链路和第二通信链路确定各个网络设备之间的最短通信路径。本发明用于网络拓扑的路由仿真。
Description
技术领域
本发明涉及通信领域,尤其涉及一种路由仿真方法和装置。
背景技术
网络仿真是大型网络拓扑设计中的一项重要辅助手段,通过网络仿真可以对不同的网络拓扑方案进行对比,从而确定承载效率更高、负载分配更均衡和容灾能力更好的网络拓扑。
网络仿真的目的一般是确定网络拓扑中不同节点之间的流量疏导路径,即对网络拓扑中不同节点之间的路由进行仿真,因此,目前针对大型网络拓扑的仿真通常采用抽象建模的方式模拟网络拓扑,以确定不同节点间的路由路径。但目前常用的网络仿真工具通常采用高度还原网络拓扑的方式,还原大量网络运行的细节,在涉及大型网络仿真时,网络仿真工具的运算量巨大,导致仿真效率低下,不利用网络设计者对大量网络拓扑设计方案进行对比,确定最优的网络拓扑设计方案。
发明内容
本发明的实施例提供一种路由仿真方法和装置,用于抽象化网络仿真模型,减少仿真过程中的运算量,提高仿真效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种路由仿真方法,包括:确定网络拓扑;网络拓扑包括多个网络设备;将多个网络设备抽象化处理,确定网络拓扑内的通信链路;通信链路包括第一通信链路和第二通信链路,第一通信链路用于指示网络设备内部的链路,第二通信链路用于指示多个网络设备之间的链路;根据第一通信链路和第二通信链路确定各个网络设备之间的最短通信路径。
第二方面,提供一种路由仿真装置,包括:处理模块,用于确定网络拓扑;网络拓扑包括多个网络设备;链路确定模块,用于将处理模块确定的多个网络设备抽象化处理,确定网络拓扑内的通信链路;通信链路包括第一通信链路和第二通信链路,第一通信链路用于指示网络设备内部的链路,第二通信链路用于指示多个网络设备之间的链路;路由确定模块,用于根据链路确定模块确定的第一通信链路和第二通信链路确定各个网络设备之间的最短通信路径。
第三方面,提供一种路由仿真装置,包括:存储器、处理器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当路由仿真装置运行时,处理器执行存储器存储的计算机执行指令,以使路由仿真装置执行如第一方面提供的路由仿真方法。
第四方面,提供一种计算机可读存储介质,包括:计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面提供的路由仿真方法。
本发明实施例提供的路由仿真方法,包括:确定网络拓扑;网络拓扑包括多个网络设备;将多个网络设备抽象化处理,确定网络拓扑内的通信链路;通信链路包括第一通信链路和第二通信链路,第一通信链路用于指示网络设备内部的链路,第二通信链路用于指示多个网络设备之间的链路;根据第一通信链路和第二通信链路确定各个网络设备之间的最短通信路径。本发明实施例通过将网络拓扑内的网络设备抽象化,将网络设备的接口抽象为点,将网络设备之间的通信链路和网络设备内部的通信链路抽象为边,并将通信链路传输数据时的代价确定为边的权重,即可以通过图论的相关算法确定网络设备之间的最短通信路径,提高了网络拓扑中的路由仿真效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络拓扑的示意图;
图2为本发明实施例提供的一种路由仿真方法的流程示意图之一;
图3为本发明实施例提供的一种抽象化后的网络拓扑的点边示意图之一;
图4为本发明实施例提供的一种路由仿真方法的流程示意图之二;
图5为本发明实施例提供的一种路由仿真方法的流程示意图之三;
图6为本发明实施例提供的一种抽象化后的网络拓扑的点边示意图之二;
图7为本发明实施例提供的一种抽象化后的网络拓扑的点边示意图之三;
图8为本发明实施例提供的一种路由仿真方法的流程示意图之四;
图9为本发明实施例提供的一种抽象化后的网络拓扑的点边示意图之四;
图10为本发明实施例提供的一种路由仿真方法的流程示意图之五;
图11为本发明实施例提供的一种抽象化后的网络拓扑的点边示意图之五;
图12为本发明实施例提供的一种抽象化后的网络拓扑的点边示意图之六;
图13为本发明实施例提供的一种抽象化后的网络拓扑的点边示意图之七;
图14为本发明实施例提供的一种路由仿真装置的结构示意图;
图15为本发明实施例提供的又一种路由仿真装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
目前的仿真工具如NS2、NS3等的仿真,不仅用于对流量疏导路径的仿真,还包括仿真各个网络节点的互联网协议(internet protocol,IP)地址等,因此仿真过程中产生巨量的运算量,在对比多种网络拓扑设计方案时导致仿真效率低下。而实际中,本实施例中网络仿真的目的在于为流量疏导确定最优路径,即为流量的传输确定最短传输路径,如通过仿真确定第一地市至第二地市的流量,选择第三地市中转,还是第四地市中转,并不需要确定路由的IP地址等运行的细节。
针对上述网络仿真效率低下的问题,本领域的技术人员提出了一种抽象化的仿真方法,用于确定网络拓扑的路由信息,减少仿真的计算量。该抽象化的仿真方法包括:
S101、将网络拓扑内的网络设备抽象为点,将网络设备之间的网络链路抽象为边。
具体地,这里的网络设备是指网络拓扑内的IP设备,如交换机和路由器等,网络链路即IP设备之间的通信链路;这里的抽象化实际是对网络拓扑的一种简化,通过抽象化的方法将网络拓扑转换为点边图。
示例性的,如图1所示,网络拓扑可以包括第一网络设备、第二网络设备和第三网络设备,当然这里的第一网络设备、第二网络设备和第三网络设备仅为网络拓扑内的部分网络设备,该网络拓扑还可以包括其他网络设备,图1中未示出。将第一网络设备、第二网络设备和第三网络设备抽象为点,第一网络设备和第二网络设备可以通过第一链路和第二链路通信,第二网络设备和第三网络设备可以通过第三链路通信,这里的第一链路、第二链路和第三链路即可视为连接相应网络设备的边,第一链路和第二链路的带宽可以相同,也可以不同。
S102、确定各个网络链路对应的权重,并根据各个网络链路对应的权重确定网络设备之间的最短通信路径。
具体地,这里将各个通信链路对应的内部网关协议(interior gatewayprotocol,IGP)度量值metric确定为其对应的权重。由于metric可以由用于指示网络设备之间传输数据的代价,因此当通信链路对应的权重越小时,其传输数据的代价越小,则该通信链路的数据传输效果越优。若两个网络设备之间包括多条传输路径,则网络设备将选择其中metric最小的路径加入路由表,作为这两个网络设备之间的最短通信路径。
示例性的,如图1所示,若第一链路对应的metric为100,第二链路对应的metric为1000,则第一网络设备将第一链路加入其路由表,并将第一链路确定为第一网络设备与第二网络设备之间的最短通信路径。
需要说明的是,图1的示例中仅简单示出了第一网络设备与第二网络设备之间相连的情况,一种可能的实现方式中,第一网络设备和第二网络设备之间的数据传输可能需要其他网络设备的转发,如第四网络设备。因此,第一网络设备和第二网络设备之间的通信链路还可以包括其他通信链路,如第一网络设备-第四网络设备-第二网络设备等。在确定第一网络设备与第二网络设备之间的最短通信路径时,还需要考虑这些通信链路对应的metric,即根据图论中的算法确定第一网络设备与第二网络设备之间的最短通信路径。这里图论中的算法可以是迪克斯特拉Dijkstra算法或弗洛伊德Floyd算法,本领域的技术人员可以根据需要采取不同的算法。
虽然将网络拓扑转换为点边图后,可以根据图论中的算法确定各个网络设备之间的最短通信路径,但是由于在网络拓扑中通常将相邻网络设备之间直接相连的通信链路合并为一条通信链路处理,如图1所示的第一链路和第二链路可以合并为第四链路,且图论中的算法通常用于在多条传输路径中确定最短通信路径,因此图论中的算法并不适应这中合并通信链路间的最短通信路径计算。由于图1中第一网络设备与第二网络设备之间的这种通过并行通信链路通信的方式较多,因此在将网络拓扑抽象化处理后,图论中的算法并不能完成适应抽象化点边图的最短通信路径确定。
为提高网络仿真的效率,本发明实施例提供一种路由仿真方法,如图2所示,包括:
S201、确定网络拓扑。
其中,网络拓扑包括多个网络设备。
具体地,本发明实施例用于对不同网络拓扑设计方案的对比,因此在进行网络仿真时,需要确定各个网络拓扑设计方案的内容,即确定网络拓扑。
需要说明的是,这里的网络设备是指交换机或路由器等网络设备,用于对网络内的流量进行转发。
S202、将多个网络设备抽象化处理,确定网络拓扑内的通信链路。
其中,通信链路包括第一通信链路和第二通信链路,第一通信链路用于指示网络设备内部的链路,第二通信链路用于指示多个网络设备之间的链路。
具体地,本发明实施例同样采取抽象化的处理方式,将网络拓扑转换为点边图,以利用图论中的算法确定网络设备之间的最短通信路径。与上述抽象化的仿真方法中的S101步骤相同的是,本步骤同样将网络设备之间的通信链路抽象为边;但不同的是,本步骤是将网络设备的端口抽象为点,以使得相邻网络设备之间的通信链路增加,从而能够使用图论中的相关算法确定最短通信路径。
示例性的,抽象化后的网络拓扑可以如图3所示,其中,网络设备01的通信链路包括节点100-节点101、节点100-节点102、节点100-节点103、节点101-节点201和节点102-节点202,这里将节点100-节点101、节点100-节点102和节点100-节点103这些通信链路称为网络设备的第一通信链路,将节点101-节点201和节点102-节点202成为网络设备01的第二通信链路;当然,由于节点101-节点201和节点102-节点202均连接至网络设备02,因此节点101-节点201和节点102-节点202也可以称为网络设备02的第二通信链路。图3仅为网络拓扑中的部分结构,本领域的技术人员应该清楚网络拓扑中还包括其他网络设备,且上述示例仅指出了网络设备01和网络设备02之间的通信链路,图3中还包括其他通信链路(如节点201-节点202),在此不再一一赘述。
需要说明的是,这里的节点100-节点101是指节点100至节点101之间的通信链路,以此类推,其他的如节点100-节点102和节点100-节点103也是指相应的通信链路,在此不再一一赘述。
可选的,如图4所示,步骤S202包括:
S2021、确定各个网络设备的通信节点。
其中,通信节点包括第一通信节点和第二通信节点,第一通信节点为网络设备的内部通信节点,第二通信节点为网络设备的外部通信节点。
具体地,这里的第一通信节点是指网络设备的环回Loopback接口,第二通信节点是指网络设备向外提供连接的物理接口。本步骤中确定网络设备的通信节点时,可以是仅将网络设备的物理接口抽象为点,也可以是仅将网络设备的Loopback接口抽象为点,还可以是将网络设备的物理接口和Loopback接口均抽象为点。
示例性的,如图3所示,网络设备01的第一通信节点包括节点100,第二通信节点包括节点101、节点102和节点103,这里将网络设备01的物理接口和Loopback接口均抽象为点;网络设备02的第二通信节点包括节点201、节点202和节点203,而不包括第一通信节点,这里将网络设备02的物理接口抽象为点;网络设备02的第一通信节点包括节点300,而不包括第二通信节点,这里将网络设备03的Loopback接口抽象为点。
需要注意的是,本发明实施例中主要采用网络设备01的抽象方法确定网络设备的通信节点,但可以兼容采用网络设备02和网络设备03的抽象方法确定网络设备的通信节点。
需要说明的是,在确定网络设备的通信节点时,本发明实施例可以采取上述任一一种方法确定网络设备的通信节点,使得网络设备可以包括第一通信节点和第二通信节点,也可以仅包括第一通信节点或第二通信节点,对此本发明实施例不做限定。
S2022、将同一个网络设备内的第一通信节点和第二通信节点之间的链路确定为第一通信链路,或,将同一个网络设备内的第二通信节点之间的链路确定为第一通信链路。
具体地,网络设备之间的通信链路是指各个通信节点之间的链路,通信节点之间不同的连接方式可以确定不同的通信链路,本步骤中将网络设备内部的通信链路确定为第一通信链路。需要注意的是,当网络设备包括第一通信节点和第二通信节点时,可以将第一通信节点与第二通信节点之间的通信链路确定为第一通信链路,也可以将第二通信节点之间的通信链路确定为第一通信链路;当网络设备仅包括第二通信节点时,可以将第二通信节点之间的通信链路确定为第一通信链路;当网络设备仅包括第一通信节点时,该网络设备不包括第一通信链路。
示例性的,如图3所示,由于网络设备01包括第一通信节点和第二通信节点,因此网络设备01的第一通信链路包括节点100-节点101、节点100-节点102和节点100-节点103;由于网络设备02仅包括第二通信节点,因此网络设备02的第一通信链路包括节点201-节点202、节点202-节点203和节点201-节点203;而由于网络设备03仅包括第一通信节点,因此网络设备03不包括第一通信链路。
S2023、将不同网络设备的第一通信节点和第二通信节点之间的链路确定为第二通信链路,或,将不同网络设备的第二通信节点之间的链路确定为第二通信链路。
具体地,这里将不同网络设备之间的通信链路确定为第二通信链路。需要注意的是,由于网络设备包括的通信节点可能不同,因此不同网络设备之间的第二通信链路也可以存在不同。当相邻的网络设备中,第五网络设备包括第一通信节点和第二通信节点,而第六网络设备仅包括第二通信节点时,可以将第五网络设备的第二通信节点和第六网络设备的第二通信节点之间的链路确定为第二通信链路;当相邻的网络设备中,第五网络设备包括第一通信节点和第二通信节点或仅包括第二通信节点,而第六网络设备仅包括第一通信节点时,可以将第五网络设备的第二通信节点和第六网络设备的第一通信节点之间的链路确定为第二通信链路。
示例性的,如图3所示,网络设备01包括第一通信节点和第二通信节点,而网络设备02仅包括第二通信节点,因此网络设备01和网络设备02之间的第二通信链路包括节点101-节点201和节点102-节点202;而网络设备03仅包括第一通信节点,因此网络设备02和网络设备03之间的第二通信链路包括节点203-节点300。
需要说明的是,上述实施例仅举例了相邻网络设备之间的通信链路,如网络设备01和网络设备02或网络设备02和网络设备03之间的通信链路,但实际中,网络设备之间的数据传输可能需要进行转发,如网络设备01与网络设备03之间的通信链路还包括网络设备02,即网络设备01和网络设备03之间的数据需要网络设备02转发,此时由于网络设备01和网络设备03之间存在多条通信链路,如节点100-节点101-节点201-节点203-节点300、节点100-节点102-节点202-节点203-节点300和节点100-节点101-节点201-节点202-节点203-节点300等,因此还需要确定网络设备01与网络设备03之间的最短通信路径,以便对网络设备之间的数据进行路由。
S203、根据第一通信链路和第二通信链路确定各个网络设备之间的最短通信路径。
具体地,由于抽象化后的网络设备之间可能包括多条通信链路,而每条通信链路的网络参数(如时延参数)可能不同,因此其传输数据的代价也不相同,因此可以将每条通信链路传输数据的代价视为对应通信链路的权重,依据图论中的相关算法确定网络设备之间的最短通信路径。
需要说明的是,这里将通信节点抽象为点,将通信链路抽象为边,将通信链路传输数据的代价抽象为该边对应的权重,且相邻网络设备之前也存在多条通信链路,因此可以依据图论中的相关算法确定网络设备之间的最短通信路径。由于网络拓扑中通常将网络设备的内部通信链路传输数据的代价设置为0,如第一通信链路传输数据的代价为0,因此易导致第一通信接口和第二通信接口间的数据传输的环路问题,即数据在网络设备内部反复循环后再传输至下一跳的网络设备。为解决该问题,如图5所示,步骤S203可以具体包括:
S2031、确定第一路由代价和第二路由代价。
其中,第一路由代价为第一通信链路传输数据的消耗,第二路由代价为第二通信链路传输数据的消耗,第一路由代价和第二路由代价均不为零。
需要说明的是,本发明实施例中的路由代价是指各个通信链路对应的IGPmetric。
S2032、根据第一路由代价和第二路由代价确定网络设备之间所有路由路径的第三路由代价。
其中,第三路由代价为网络设备之间的第一路由代价和第二路由代价的和或第二路由代价。
具体地,由于网络设备之间的通信链路可能由第一通信链路和第二通信链路共同组成,因此在确定网络设备之间传输数据的代价时,需要分别确定第一通信链路对应的第一路由代价和第二通信链路对应的第二路由代价,并由第一路由代价和第二路由代价确定该网络设备之间传输数据的总代价,进而确定网络设备之间所有传输路径的第三路由代价。
需要注意的是,本步骤中第一路由代价和第二路由代价是通过网络设备之间原路由代价(网络设备仅包括第二通信链路时的路由代价)确定的,这里的原路由代价是指相邻网络设备之间传输数据,不存在环路现象时的代价。第三路由代价可以由第二路由代价和多个第一路由代价确定。
示例性的,网络设备01和网络设备02抽象化后的网络拓扑如图6所示,若网络设备01和网络设备02之间通信链路的路由代价为1000,这里可以将网络设备01对应的第一路由代价确定为1,将网络设备02对应的第一路由代价也确定为1,将网络设备01和网络设备02之间的第二路由代价确定为998。此时网络设备01和网络设备02之间的通信链路包括节点100-节点101-节点201-节点200、节点100-节点102-节点202-节点200和节点100-节点101-节点100-节点102-节点202-节点200等等,其对应的第三路由代价分别为1000、1000和1002等等。由于网络设备01和网络设备02对应的第一路由代价均不为0,因此当网络设备01和网络设备02之间的通信链路产生环路的情况时,其对应的路由代价递增,因此能够避免网络设备01和网络设备02之间传输数据时产生环路问题。
又如,网络设备01和网络设备02抽象化后的网络拓扑如图7所示,若网络设备01和网络设备02之间通信链路的路由代价为1000,这里可以将网络设备01对应的第一路由代价确定为1,将网络设备01和网络设备02之间的第二路由代价确定为999。此时网络设备01和网络设备02之间的通信链路包括节点101-节点103-节点200、节点102-节点103-节点200和节点101-节点102-节点103-节点200等等,其对应的第三路由代价分别为1000、1000和1001等等。同样的,这种情况下也能够避免网络设备01和网络设备02之间传输数据时产生环路问题。
需要说明的是,上述示例仅举例了部分网络拓扑的抽象化结果,网络拓扑的抽象化还可以包括其他方式,其对应的第一路由代价、第二路由代价和第三路由代价可以采用相同的方式确定,在此不再一一赘述。
S2033、将网络设备之间的第四路由代价对应的路由路径确定为最短通信路径。
其中,第四路由代价为第三路由代价中的最小值。
具体地,通过步骤S2031-S2032可以确定网络设备之间所有通信链路对应的第三路由代价,这里可以将其中第三路由代价最小的通信链路确定为网络设备之间的最短通信路径。
示例性的,如图6所示,网络设备01和网络设备02之间的通信链路包括节点100-节点101-节点201-节点200、节点100-节点102-节点202-节点200和节点100-节点101-节点100-节点102-节点202-节点200等等,其对应的第三路由代价分别为1000、1000和1002等等,则可以确定通信链路节点100-节点101-节点201-节点200和节点100-节点102-节点202-节点200为网络设备01和网络设备02之间的最短通信路径,网络设备01可以通过这两条通信链路中的任一条链路向网络设备02传输数据,网络设备02也可以通过这两条通信链路中的任一条链路向网络设备01传输数据。
可选的,本实施例中还可以为网络设备抽象化后的各个节点配置IP地址,进而确定网络设备的路由表。例如,如图6所示,若节点100的IP地址为10.100.0.1,节点200的IP地址为10.100.0.2,节点101的IP地址为10.10.1.1,节点201的IP地址为10.10.1.2,则可以通过上述实施例确定网络设备01的路由表,该路由表可以指示网络设备01和网络设备02之间的最短通信路径,以及最短通信路径中各节点对应的IP地址,如路由的IP路径为10.100.0.1-10.10.1.1-10.10.1.2-10.100.0.2。当然,本领域的技术人员也可以将各个节点的名称设置为其对应的IP地址,当通过上述实施例确定最短通信路径时,还可以根据最短通信路径中各节点的名称确定其路由的IP地址信息。
可选的,一种可能的实现方式中,如图8所示,步骤S203还可以具体包括:
S2041、确定第一路由代价和第二路由代价。
其中,第一路由代价为第一通信链路传输数据的消耗,第二路由代价为第二通信链路传输数据的消耗。
具体地,本步骤可以与步骤S2031相同,当然也可以与步骤S2031不同,此时可以仅考虑网络设备之间的第二路由代价,而将第一路由代价视为0。
S2042、根据第一通信链路和第二通信链路之间的路由策略确定网络设备之间路由路径的第三路由代价。
其中,第三路由代价为网络设备之间的第一路由代价和第二路由代价的和或第二路由代价。
S2043、将网络设备之间的第四路由代价对应的路由路径确定为最短通信路径。
其中,第四路由代价为第三路由代价中的最小值。
具体地,这里的路由策略可以是限定下一跳的节点,也可以是禁止数据返回原节点,如网络设备之间存在一条通信链路:第一节点-第二节点-第三节点,则数据通过第一节点,传输至第二节点后,可以通过路由策略禁止该数据返回第一节点,此时数据仅可以向第三节点传输;也可以是数据通过第一节点,传输至第二节点后,可以通过路由策略限定其下一跳的节点为第三节点。上述的两种路由策略均可以避免网络设备之间的环路问题。
需要注意的是,由于网络设备之间的数据传输是相互的,因此在路由策略为禁止数据返回原节点时,需要进一步限定为禁止数据立刻返回原节点,即数据由第一节点传输至第二节点后,禁止其再向第一节点传输;但是当数据由第一节点传输至第二节点,再传输至第三节点后,可以由第三节点再向第一节点传输。本领域的技术人员可以选择上述路由策略中的任一种作为网络设备之间的路由策略。
在确定相邻的网络设备之间的第三路由代价时,由于路由策略的限定,其对应的通信链路是固定的,如图6所示,网络设备01和网络设备02仅包括两条通信链路:节点100-节点101-节点201-节点200和节点100-节点102-节点202-节点200,此时由于这两条通信链路对应的第三路由代价相同,因此网络设备01和网络设备02可以通过负载均摊的方式从这两条通信链路进行数据传输,也可以从这两条通信链路中优选一条进行数据传输。
当然,由于网络设备之间的数据传输可能存在其他多个网络设备的转发情况,因此网络设备之间的通信链路可以存在多条通信链路,如图9所示,网络设备01可以直接向网络设备02传输数据,也可以通过网络设备03向网络设备02转发数据,此时网络设备01和网络设备02之间的通信链路包括节点100-节点101-节点201-节点200和节点100-节点102-节点202-节点200,还包括节点100-节点103-节点301-节点300-节点302-节点203-节点200等,此时可以通过步骤S2041-S2042确定这些通信链路对应的第三路由代价,并将其中第三路由代价最小的通信链路确定为网络设备之间的最短通信路径。
可选的,本实施例也可以为网络设备抽象化后的各个节点配置IP地址,例如,如图6所示,在网络设备01向网络设备02传输数据时,可以在路由策略为限定下一跳的节点,如节点101的IP地址为10.10.1.1,可以通过路由策略限定其下一跳的IP地址为10.10.1.2,即将数据由节点101传输至节点201。同样的,本实施例也可以通过IP地址的配置确定数据在网络设备之间路由时经过的IP地址。
可选的,一种可能的实现方式中,如图10所示,步骤S203还可以具体包括:
S2051、将相邻的网络设备之间的第二通信节点合并为融合节点。
具体地,这里的融合节点是指将相邻网络设备之间的连接的第二通信节点合并,此时即可以将相邻网络设备之间的第二路由代价视为0。
示例性的,当网络设备01的节点101与网络设备02的节点201连接,网络设备01的节点102与网络设备02的节点202连接,如图11所示,可以将节点101和节点201合并为节点101/201,将节点102和节点202合并为节点102/节点202。
S2052、确定相邻的网络设备之间所有路由路径的第三路由代价。
S2053、将网络设备之间的第四路由代价对应的路由路径确定为最短通信路径。
其中,第四路由代价为第三路由代价中的最小值。
具体地,由于步骤S2051确定了相邻网络设备的融合节点,因此该相邻网络设备之间对应的第二路由代价即确定为0,而将该相邻网络设备中任一网络设备对应的第一路由代价确定为网络设备之间的原路由代价。因此,这里的第三路由代价为相邻的网络设备之间的第一路由代价之和,第一路由代价为第一通信链路传输数据的消耗,第一通信链路为第一通信节点和融合节点之间的链路。
步骤S2052与步骤S2042相同的,当网络设备之间的数据传输存在其他多个网络设备的转发情况时,可以确定这些通信链路对应的第三路由代价,并将其中第三路由代价最小的通信链路确定为网络设备之间的最短通信路径。该过程与步骤S2042-S2043相同,在此不再赘述。
需要说明的是,上述步骤S2031-S2033、S2041-S2043和S2051-2053均为本发明实施例实现路由仿真的一种可选方式,本领域的技术人员可以任选一种实现方式实现对网络拓扑的路由仿真。本实施例同样可以为各节点配置相应的IP地址,进而确定网络设备之间数据的路由过程,在此不再赘述。
当网络设备之间传输数据时存在多个中转设备时,可以通过上述实施例确定相邻网络设备之间的最短通信路径,再将各个中转设备之间的最短通信路径拼接,即可确定该网络设备之间的最短通信路径。例如,若网络设备01与网络设备02进行数据传输,且网络设备01和网络设备02之间的路由策略指示该数据由网络设备03进行中转,此时可以根据上述的路由仿真方法确定网络设备01和网络设备03之间的最短通信路径,以及网络设备03与网络设备02之间的最短通信路径。可选的,根据上述的路由仿真方法确定网络设备01和网络设备03之间的最短通信路径时,该最短通信路径可以为网络设备01-网络设备03,也可以是网络设备01-网络设备04-网络设备03,这里的网络设备04为上述路由仿真方法确定的网络设备01和网络设备03之间的最短通信路径通过的网络设备;同样的,网络设备03和网络设备02的最短通信路径也可以根据上述的路由仿真方法确定,如该最短通信路径可以为网络设备03-网络设备02,也可以为网络设备03-网络设备05-网络设备02,这里的网络设备05为上述路由仿真方法确定的网络设备03和网络设备02之间的最短通信路径通过的网络设备。因此,网络设备01与网络设备02之间的最短通信路径可以为网络设备01-网络设备03-网络设备02,也可以为网络设备01-网络设备04-网络设备03-网络设备02,还可以为网络设备01-网络设备04-网络设备03-网络设备05-网络设备02等等。
一种可选的实现方式中,当网络设备执行业务时,还可以通过network为业务配置相应的IP地址,并将其IP地址抽象为点,并通过上述三种实施例确定网络设备执行业务时的最短通信路径。
示例性的,如图12所示,网络设备01可以包括节点100、节点101和节点102,当网络设备01执行第一业务和第二业务时,可以为第一业务和第二业务分配相应的业务路由,如第一业务的业务路由为10.101.0.1,第二业务的业务路由为10.102.0.1,此时可以将第一业务的业务路由抽象为节点151,将第二业务的业务路由抽象为节点152。网络设备01执行第一业务和第二业务时,可以通过上述实施例提供的路由仿真方法分别确定第一业务的最短通信路径和第二业务的最短通信路径。
需要注意的是,该网络设备执行不同的业务时,还可以根据路由策略为不同的业务指示数据传输的通信节点,以使不同的业务通过不同的通信链路进行传输,从而避免所有所有业务均通过路由代价最小的通信链路传输数据时可能导致的拥塞。例如,如图9所示,网络设备01和网络设备02之间的第一通信链路包括节点100-节点101-节点201-节点200,第二通信链路包括节点100-节点103-节点301-节点300-节点302-节点203-节点200,若目标业务的路由策略指示该目标业务通过网络设备03或节点301传输,则即使第一通信链路的路由代价小于第二通信链路的路由代价,该目标业务仍由第二通信链路传输。由于第二通信链路的路由代价较大,因此其他业务在未设置相应的路由策略时优选通过第一通信链路传输,使得第二通信链路传输的数据量较少,从而能够为目标业务提供较好的服务质量。
一种可选的实现方式中,当两个网络设备在边界网关协议(border gatewayprotocol,BGP)网络传输数据时,若需要其他网络设备对数据进行转发,且该两个网络设备通过这些转发数据的网络设备的通信链路的路由代价相等时,该两个网络设备可能会根据Router ID或更新时间等属性确定其中一条通信链路为优选通信路径。此时,该两个网络设备之间的数据传输将均通过该优选通信路径进行传输。此时,若在这些转发数据的网络设备之间存在虚拟IP地址,还可以将虚拟IP地址抽象为点,并通过上述实施例提供的路由仿真方法确定该两个网络设备之间的优选通信路径。这里的优选通信路径可以为该两个网络设备之间最短通信路径中的任一条。
示例性的,如图13所示,网络设备01和网络设备02为BGP网络中的网络设备,网络设备01和网络设备02之间的通信链路包括网络设备03和网络设备04。在网络设备03和网络设备04配置有虚拟IP地址时,可以将该虚拟IP地址抽象为点,即图13所示的节点001,此时节点001可以和节点300、节点400连接。当网络设备01和网络设备02传输数据时,可以根据上述实施例提供的路由仿真方法确定网络设备01和网络设备02之间的最短通信路径。
由于本发明实施例中将节点300或节点400向节点001传输数据的路由代价确定为0,而将节点001向节点300或节点400传输数据的路由代价确定为无穷,效果为数据在传输至节点001后将终止向其它节点的传输。因此,确定网络设备01和网络设备02之间的数据传输可以分为两次选路过程,即节点100至节点001的选路,以及节点300(或节点400)至节点200的选路。由于节点001仅可以为数据传输的终点,因此可以根据上述实施例提供的路由仿真方法确定网络设备01和网络设备02之间的最短通信路径为节点100-节点101-节点301-节点300-节点302-节点201-节点200或节点100-节点102-节点401-节点400-节点402-节点202-节点200。此时,网络设备01和网络设备02通过负载均摊的方式从这两条通信链路进行数据传输,也可以从这两条通信链路中优选一条进行数据传输,避免单条通信链路传输数据时可能造成的流量拥塞。该两条通信链路的路由代价相同。
在确定最短通信路径为节点100-节点101-节点301-节点300-节点-302-节点201-节点200时,该最短通信路径实际还包括节点100-节点101-节点301-节点300-节点-节点001,节点001将执行复制上一跳的虚拟操作,在逻辑上将数据返回至上一跳的节点,如节点001-节点300,此时该最短通信路径实际为节点100-节点101-节点301-节点300-节点001-节点300-节点-302-节点201-节点200。同样的,最短通信路径节点100-节点102-节点401-节点400-节点402-节点202-节点200实际为节点100-节点102-节点401-节点400-节点001-节点400-节点402-节点202-节点200。
本发明实施例提供的路由仿真方法,包括:确定网络拓扑;网络拓扑包括多个网络设备;将多个网络设备抽象化处理,确定网络拓扑内的通信链路;通信链路包括第一通信链路和第二通信链路,第一通信链路用于指示网络设备内部的链路,第二通信链路用于指示多个网络设备之间的链路;根据第一通信链路和第二通信链路确定各个网络设备之间的最短通信路径。本发明实施例通过将网络拓扑内的网络设备抽象化,将网络设备的接口抽象为点,将网络设备之间的通信链路和网络设备内部的通信链路抽象为边,并将通信链路传输数据时的代价确定为边的权重,即可以通过图论的相关算法确定网络设备之间的最短通信路径,提高了网络拓扑中的路由仿真效率。
如图14所示,本发明实施例提供一种路由仿真装置30,包括:
处理模块301,用于确定网络拓扑;网络拓扑包括多个网络设备。
链路确定模块302,用于将处理模块301确定的多个网络设备抽象化处理,确定网络拓扑内的通信链路;通信链路包括第一通信链路和第二通信链路,第一通信链路用于指示网络设备内部的链路,第二通信链路用于指示多个网络设备之间的链路。
路由确定模块303,用于根据链路确定模块302确定的第一通信链路和第二通信链路确定各个网络设备之间的最短通信路径。
可选的,链路确定模块302具体用于:确定各个网络设备的通信节点;通信节点包括第一通信节点和第二通信节点,第一通信节点为网络设备的内部通信节点,第二通信节点为网络设备的外部通信节点;将同一个网络设备内的第一通信节点和第二通信节点之间的链路确定为第一通信链路,或,将同一个网络设备内的第二通信节点之间的链路确定为第一通信链路;将不同网络设备的第一通信节点和第二通信节点之间的链路确定为第二通信链路,或,将不同网络设备的第二通信节点之间的链路确定为第二通信链路。
可选的,路由确定模块303具体用于:确定第一路由代价和第二路由代价;第一路由代价为第一通信链路传输数据的消耗,第二路由代价为第二通信链路传输数据的消耗,第一路由代价和第二路由代价均不为零;根据第一路由代价和第二路由代价确定网络设备之间所有路由路径的第三路由代价;第三路由代价为网络设备之间的第一路由代价和第二路由代价的和或第二路由代价;将网络设备之间的第四路由代价对应的路由路径确定为最短通信路径;第四路由代价为第三路由代价中的最小值。
可选的,路由确定模块303还可以具体用于:确定第一路由代价和第二路由代价;第一路由代价为第一通信链路传输数据的消耗,第二路由代价为第二通信链路传输数据的消耗;根据第一通信链路和第二通信链路之间的路由策略确定网络设备之间路由路径的第三路由代价;第三路由代价为网络设备之间的第一路由代价和第二路由代价的和或第二路由代价;将网络设备之间的第四路由代价对应的路由路径确定为最短通信路径;第四路由代价为第三路由代价中的最小值。
可选的,路由确定模块303还可以具体用于:将相邻的网络设备之间的第二通信节点合并为融合节点;确定相邻的网络设备之间所有路由路径的第三路由代价;第三路由代价为相邻的网络设备之间的第一路由代价之和,第一路由代价为第一通信链路传输数据的消耗,第一通信链路为第一通信节点和融合节点之间的链路;将网络设备之间的第四路由代价对应的路由路径确定为最短通信路径;第四路由代价为第三路由代价中的最小值。
本发明实施例提供的路由仿真装置,包括:处理模块,用于确定网络拓扑;网络拓扑包括多个网络设备;链路确定模块,用于将处理模块确定的多个网络设备抽象化处理,确定网络拓扑内的通信链路;通信链路包括第一通信链路和第二通信链路,第一通信链路用于指示网络设备内部的链路,第二通信链路用于指示多个网络设备之间的链路;路由确定模块,用于根据链路确定模块确定的第一通信链路和第二通信链路确定各个网络设备之间的最短通信路径。本发明实施例通过将网络拓扑内的网络设备抽象化,将网络设备的接口抽象为点,将网络设备之间的通信链路和网络设备内部的通信链路抽象为边,并将通信链路传输数据时的代价确定为边的权重,即可以通过图论的相关算法确定网络设备之间的最短通信路径,提高了网络拓扑中的路由仿真效率。
如图15所示,本发明实施例还提供另一种路由仿真装置,包括存储器41、处理器42、总线43和通信接口44;存储器41用于存储计算机执行指令,处理器42与存储器41通过总线43连接;当路由仿真装置运行时,处理器42执行存储器41存储的计算机执行指令,以使路由仿真装置执行如上述实施例提供的路由仿真方法。
在具体的实现中,作为一种实施例,处理器42(42-1和42-2)可以包括一个或多个CPU,例如图15中所示的CPU0和CPU1。且作为一种实施例,路由仿真装置可以包括多个处理器42,例如图15中所示的处理器42-1和处理器42-2。这些处理器42中的每一个CPU可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器42可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器41可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器41可以是独立存在,通过总线43与处理器42相连接。存储器41也可以和处理器42集成在一起。
在具体的实现中,存储器41,用于存储本申请中的数据和执行本申请的软件程序对应的计算机执行指令。处理器42可以通过运行或执行存储在存储器41内的软件程序,以及调用存储在存储器41内的数据,路由仿真装置的各种功能。
通信接口44,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。
总线43,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的路由仿真方法。
本发明实施例还提供一种计算机程序,该计算机程序可直接加载到存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述实施例提供的路由仿真方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种路由仿真方法,其特征在于,包括:
确定网络拓扑;所述网络拓扑包括多个网络设备;
将所述多个网络设备抽象化处理,确定所述网络拓扑内的通信链路;所述通信链路包括第一通信链路和第二通信链路,所述第一通信链路用于指示所述网络设备内部的链路,所述第二通信链路用于指示所述多个网络设备之间的链路;
根据所述第一通信链路和所述第二通信链路确定各个所述网络设备之间的最短通信路径。
2.根据权利要求1所述的路由仿真方法,其特征在于,所述将所述多个网络设备抽象化处理,确定所述网络拓扑内的通信链路包括:
确定各个所述网络设备的通信节点;所述通信节点包括第一通信节点和第二通信节点,所述第一通信节点为所述网络设备的内部通信节点,所述第二通信节点为所述网络设备的外部通信节点;
将同一个所述网络设备内的所述第一通信节点和所述第二通信节点之间的链路确定为所述第一通信链路,或,将同一个所述网络设备内的所述第二通信节点之间的链路确定为所述第一通信链路;
将不同所述网络设备的第一通信节点和第二通信节点之间的链路确定为所述第二通信链路,或,将不同所述网络设备的第二通信节点之间的链路确定为所述第二通信链路。
3.根据权利要求2所述的路由仿真方法,其特征在于,所述根据所述第一通信链路和所述第二通信链路确定各个所述网络设备之间的最短通信路径包括:
确定第一路由代价和第二路由代价;所述第一路由代价为所述第一通信链路传输数据的消耗,所述第二路由代价为所述第二通信链路传输数据的消耗,所述第一路由代价和所述第二路由代价均不为零;
根据所述第一路由代价和所述第二路由代价确定所述网络设备之间所有路由路径的第三路由代价;所述第三路由代价为所述网络设备之间的第一路由代价和第二路由代价的和或第二路由代价;
将所述网络设备之间的第四路由代价对应的路由路径确定为所述最短通信路径;所述第四路由代价为所述第三路由代价中的最小值。
4.根据权利要求2所述的路由仿真方法,其特征在于,所述根据所述第一通信链路和所述第二通信链路确定各个所述网络设备之间的最短通信路径包括:
确定第一路由代价和第二路由代价;所述第一路由代价为所述第一通信链路传输数据的消耗,所述第二路由代价为所述第二通信链路传输数据的消耗;
根据所述第一通信链路和所述第二通信链路之间的路由策略确定所述网络设备之间所有路由路径的第三路由代价;所述第三路由代价为所述网络设备之间的第一路由代价和第二路由代价的和或第二路由代价;
将所述网络设备之间的第四路由代价对应的路由路径确定为所述最短通信路径;所述第四路由代价为所述第三路由代价中的最小值。
5.根据权利要求2所述的路由仿真方法,其特征在于,所述根据所述第一通信链路和所述第二通信链路确定各个所述网络设备之间的最短通信路径包括:
将相邻的所述网络设备之间的所述第二通信节点合并为融合节点;
确定相邻的所述网络设备之间所有路由路径的第三路由代价;所述第三路由代价为相邻的所述网络设备之间的第一路由代价之和,所述第一路由代价为所述第一通信链路传输数据的消耗,所述第一通信链路为所述第一通信节点和所述融合节点之间的链路;
将所述网络设备之间的第四路由代价对应的路由路径确定为所述最短通信路径;所述第四路由代价为所述第三路由代价中的最小值。
6.一种路由仿真装置,其特征在于,包括:
处理模块,用于确定网络拓扑;所述网络拓扑包括多个网络设备;
链路确定模块,用于将所述处理模块确定的所述多个网络设备抽象化处理,确定所述网络拓扑内的通信链路;所述通信链路包括第一通信链路和第二通信链路,所述第一通信链路用于指示所述网络设备内部的链路,所述第二通信链路用于指示所述多个网络设备之间的链路;
路由确定模块,用于根据所述链路确定模块确定的所述第一通信链路和所述第二通信链路确定各个所述网络设备之间的最短通信路径。
7.根据权利要求6所述的路由仿真装置,其特征在于,链路确定模块具体用于:
确定各个所述网络设备的通信节点;所述通信节点包括第一通信节点和第二通信节点,所述第一通信节点为所述网络设备的内部通信节点,所述第二通信节点为所述网络设备的外部通信节点;
将同一个所述网络设备内的所述第一通信节点和所述第二通信节点之间的链路确定为所述第一通信链路,或,将同一个所述网络设备内的所述第二通信节点之间的链路确定为所述第一通信链路;
将不同所述网络设备的第一通信节点和第二通信节点之间的链路确定为所述第二通信链路,或,将不同所述网络设备的第二通信节点之间的链路确定为所述第二通信链路。
8.根据权利要求7所述的路由仿真装置,其特征在于,所述路由确定模块具体用于:
确定第一路由代价和第二路由代价;所述第一路由代价为所述第一通信链路传输数据的消耗,所述第二路由代价为所述第二通信链路传输数据的消耗,所述第一路由代价和所述第二路由代价均不为零;
根据所述第一路由代价和所述第二路由代价确定所述网络设备之间所有路由路径的第三路由代价;所述第三路由代价为所述网络设备之间的第一路由代价和第二路由代价的和或第二路由代价;
将所述网络设备之间的第四路由代价对应的路由路径确定为所述最短通信路径;所述第四路由代价为所述第三路由代价中的最小值。
9.根据权利要求7所述的路由仿真装置,其特征在于,所述路由确定模块具体用于:
确定第一路由代价和第二路由代价;所述第一路由代价为所述第一通信链路传输数据的消耗,所述第二路由代价为所述第二通信链路传输数据的消耗;
根据所述第一通信链路和所述第二通信链路之间的路由策略确定所述网络设备之间所有路由路径的第三路由代价;所述第三路由代价为所述网络设备之间的第一路由代价和第二路由代价的和或第二路由代价;
将所述网络设备之间的第四路由代价对应的路由路径确定为所述最短通信路径;所述第四路由代价为所述第三路由代价中的最小值。
10.根据权利要求7所述的路由仿真装置,其特征在于,所述路由确定模块具体用于:
将相邻的所述网络设备之间的所述第二通信节点合并为融合节点;
确定相邻的所述网络设备之间所有路由路径的第三路由代价;所述第三路由代价为相邻的所述网络设备之间的第一路由代价之和,所述第一路由代价为所述第一通信链路传输数据的消耗,所述第一通信链路为所述第一通信节点和所述融合节点之间的链路;
将所述网络设备之间的第四路由代价对应的路由路径确定为所述最短通信路径;所述第四路由代价为所述第三路由代价中的最小值。
11.一种路由仿真装置,其特征在于,包括存储器、处理器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接;当所述路由仿真装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述路由仿真装置执行如权利要求1-5任一项所述的路由仿真方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-4任一项所述的路由仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011296925.7A CN112491605B (zh) | 2020-11-18 | 2020-11-18 | 路由仿真方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011296925.7A CN112491605B (zh) | 2020-11-18 | 2020-11-18 | 路由仿真方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112491605A CN112491605A (zh) | 2021-03-12 |
CN112491605B true CN112491605B (zh) | 2023-02-17 |
Family
ID=74931608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011296925.7A Active CN112491605B (zh) | 2020-11-18 | 2020-11-18 | 路由仿真方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112491605B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113408139B (zh) * | 2021-06-30 | 2023-01-20 | 中国南方电网有限责任公司 | 电力通信网络路径控制仿真验证方法、装置、设备和介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699803B (zh) * | 2009-11-02 | 2011-08-10 | 北京科技大学 | 一种基于分布式多层多域光网络的域间路由方法 |
CN102215080B (zh) * | 2011-06-13 | 2013-12-04 | 南京邮电大学 | 一种多域光网络动态保护方法 |
CN103023774B (zh) * | 2012-11-30 | 2015-07-22 | 中兴通讯股份有限公司 | 多域路由计算方法及装置、路径计算单元及路由网络 |
CN109429117B (zh) * | 2017-08-30 | 2021-12-07 | 中国移动通信集团设计院有限公司 | 路由选择方法和设备 |
US10778533B2 (en) * | 2018-01-31 | 2020-09-15 | Facebook, Inc. | Systems and methods for simulating data center network topologies |
CN108966053A (zh) * | 2018-06-22 | 2018-12-07 | 烽火通信科技股份有限公司 | 一种多域网络动态域序列跨域路由计算方法及装置 |
CN110086713B (zh) * | 2019-04-17 | 2020-11-24 | 北京邮电大学 | 一种用于广域量子密钥分配网络的分域路由方法 |
-
2020
- 2020-11-18 CN CN202011296925.7A patent/CN112491605B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112491605A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11082262B2 (en) | Flow entry generating method and apparatus | |
US8675493B2 (en) | Routing bandwidth guaranteed paths with local restoration in label switched networks | |
CN103210617B (zh) | 用于减少网络中的消息和计算开销的方法和系统 | |
JP5276220B2 (ja) | バス制御装置およびバス制御装置に指示を出力する制御装置 | |
Qu et al. | Reliability-aware service function chaining with function decomposition and multipath routing | |
US7716409B2 (en) | Globally unique transaction identifiers | |
CN105721307A (zh) | 一种多路径转发报文方法及装置 | |
CN114374634A (zh) | 报文转发方法以及网络设备 | |
CN112491605B (zh) | 路由仿真方法和装置 | |
Xiang | Deadlock-free adaptive routing in meshes with fault-tolerance ability based on channel overlapping | |
CN112367279A (zh) | 一种基于二维mesh结构多核芯片组的路由方法及系统 | |
CN108347377B (zh) | 数据转发方法及装置 | |
CN115514696A (zh) | 一种传递算力资源信息的方法、装置及设备 | |
CN104158736B (zh) | 一种确定下一跳、发布路由信息的方法和装置 | |
CN106470165B (zh) | 一种负载分担方法、系统及相关设备 | |
Mortazavi et al. | A fault-tolerant and congestion-aware architecture for wireless networks-on-chip | |
CN107040466B (zh) | 基于物联网分层架构的多域协同数据传输的路径选择方法 | |
US6631421B1 (en) | Recursive partitioning of networks | |
US11343153B2 (en) | BGP logical topology generation method, and device | |
CN112714146B (zh) | 一种资源调度方法、装置、设备及计算机可读存储介质 | |
US20230269164A1 (en) | Method and apparatus for sending route calculation information, device, and storage medium | |
KR101800320B1 (ko) | 버스 프로토콜 기반의 네트워크 온 칩 시스템, 그 설계 방법 및 그 설계 방법에 관한 프로그램이 기록된 컴퓨터 판독가능 기록매체 | |
Xiang et al. | Fault-tolerant routing in meshes/tori using planarly constructed fault blocks | |
US10924382B1 (en) | Rapid and verifiable network configuration repair | |
JP5552938B2 (ja) | 禁止ターン決定プログラムおよび禁止ターン決定装置 |
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 |