CN112039703B - 路径确定方法、装置、设备及可读存储介质 - Google Patents
路径确定方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112039703B CN112039703B CN202010892761.8A CN202010892761A CN112039703B CN 112039703 B CN112039703 B CN 112039703B CN 202010892761 A CN202010892761 A CN 202010892761A CN 112039703 B CN112039703 B CN 112039703B
- Authority
- CN
- China
- Prior art keywords
- node
- source node
- internal connection
- topological graph
- taking
- 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
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- 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/32—Flooding
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-1为本申请实施例提供的一种3槽分布式机架网络设备的内部连接关系示意图;
图3-2为本申请实施例提供的一种交换芯片连接结构示意图;
图4为本申请实施例提供的一种路径确定装置的结构示意图;
图5为本申请实施例提供的一种分布式机架网络设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
本申请实施例提供了一种应用于分布式机架网络设备上的路径确定方法,参见图1所示,包括:
S101:获取分布式机架网络设备的内部连接拓扑图。
在本申请实施例中,所谓分布式机架网络设备是指构成分布式机架的网络设备。而所谓分布式机架,是一种高处理能力、高转发能力和高接入能力的通信设备,其对外为一个完整一致的系统,对内多个网络设备协同配合。
而为了保证分布式机架的高处理能力、高转发能力和高接入能力,各分布式机架网络设备在数据平面上,需要相互兼容。而为了提高分布式机架中各网络设备数据平面的兼容性,本申请实施例中,将分布式机架网络设备内的各交换芯片抽象为一个个节点,并基于各交换芯片之间的连接关系,构建出分布式机架网络设备的内部连接拓扑图,从而便于进行数据平面中已知单播流量的路径(下文称已知单播路径)的确定,以及未知单播流量的断环配置。
在本申请实施例中,分布式机架网络设备的内部连接拓扑图可以是由工程师根据在网络设备中设置的板卡,以及在板卡中安装的交换芯片,各交换芯片的属性(比如交换芯片是否具有面板口,是否具有转发能力等),从而手动配置得到。
除此之外,内部连接拓扑图也可以是通过分布式机架网络设备自动检测来实现对于内部连接拓扑图的配置。
示例性的,分布式机架网络设备可以自动检测自身内部的各交换芯片的属性。
比如,可以检测自身内部当前设置的各交换芯片是否具有面板口以及是否具有转发能力。
此外,分布式机架网络设备可以检测自身的各交换芯片之间的连接情况。进而,分布式机架网络设备即可构建与各交换芯片对应的节点(即将各交换芯片抽象为节点),然后根据各交换芯片之间的连接情况,连接各节点,并配置各节点的属性为各节点对应的交换芯片的属性,从而得到内部连接拓扑图。
在本申请实施例中,分布式机架网络设备可以通过在内部洪泛探测报文,从而实现对于内部各交换芯片的属性以及连接关系的检测。
S102:以内部连接拓扑图中的每个具有面板口的交换芯片作为源节点,以内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历内部连接拓扑图,得到从源节点至该源节点对应的目的节点的所有已知单播路径。
S103:以内部连接拓扑图中的每个交换芯片作为源节点,遍历内部连接拓扑图,若在针对任一源节点的路径遍历过程中,重新遍历到了该源节点,则在该遍历到的环路中进行断环设置。
需要注意的是,本申请实施例中步骤S102和S103之间没有时序限定,两步骤可以同时执行,也可以先后执行。
应理解,分布式机架网络设备内部数据平面的实现主要是对设备内部流量转发路径的计算和设置。而设备内部流量主要包括两大类:已知单播流量和非已知单播流量。因此,在本申请实施例中,需要实现对于已知单播流量的路径和非已知单播流量的路径的设置。
已知单播流量,即起点和终点都已知的流量。在分布式机架网络设备中,只有具有面板口的交换芯片才能从外部设备接收数据,也即只有具有面板口的交换芯片才能作为已知单播流量的起点。相应的,在分布式机架网络设备中,也只有具有面板口的交换芯片才能向外部设备发送数据,因此同样的,只有具有面板口的交换芯片才能作为已知单播流量的终点。
因此,为了确定出所有已知单播路径,在本申请实施例中,可以基于获取到的内部连接拓扑图,通过步骤S102的方式实现对于所有已知单播路径的获取。
可选的,分布式机架网络设备可以查询内部连接拓扑图中各节点的属性,确定出所有具有面板口的目标节点。进而取任一目标节点作为源节点,该源节点外的其余目标节点作为目的节点,以该源节点为起始点遍历内部连接拓扑图,得到从该源节点分别至各目的节点的所有路径(此时得到的从该源节点至目的节点的路径即为已知单播路径)。
此后,重新取一目标节点作为源节点,重新确定的源节点外的其余目标节点作为目的节点,以重新确定的源节点为起始点遍历内部连接拓扑图,得到从该重新确定的源节点分别至各目的节点的所有路径,直至所有目标节点均被取作源节点为止。
值得注意的是,在本申请实施例中,节点是否具有转发能力决定了该节点上的数据能否转发给其余节点。因此,在本申请实施例中,在进行遍历时,需要考虑该节点的转发能力,若该节点不具有转发能力,这该节点即为终点节点。若终点节点为目标节点,那么就确定出了一条已知单播路径,若终点节点不为目标节点,则表明探测得到了一条无效路径。
需要说明的是,本申请实施例中所述的转发能力指的是内部转发能力,即交换芯片能否将数据转发至其余交换芯片的能力。但需要注意的是,对于具有面板口但不具有转发能力的交换芯片,在其从面板口接收到数据后,仍旧需要将数据转发至相连接的其余交换芯片,以满足数据处理需求。对此,可以通过配置相应的交换芯片的配置参数从而实现相应的功能配置。而在本申请实施例中,可以配置,在根据内部连接拓扑图进行路径遍历时,从源节点开始遍历,在遍历下一个节点时才判断节点是否有转发能力。即源节点默认会进行内部转发。
示例性的,参见图2所示,在图2所示的内部连接拓扑图中,节点A、B、C具有面板口,且节点A、B具有转发能力,节点D不具有面板口,但具有转发能力。节点D分别连接节点A、B、C,且节点A、B相互连接。
此时,可以首先以节点A作为源节点,节点B和节点C作为目标节点,从而可以探测得到已知单播路径A-B,A-B-C,A-C,A-B-D-C,A-D-B-C,A-D-B,A-D-C,A-D-B-C,以及A-B-D-C。
然后,可以以节点B作为源节点,节点A和节点C作为目标节点,从而可以探测得到已知单播路径B-A,B-A-C,B-C,B-D-A,B-A-D-C,B-D-A-C,以及B-D-C。
最后,以节点C作为源节点,节点A和节点B作为目标节点,从而可以探测得到已知单播路径C-A、C-B、C-D-A、C-D-B、C-D-A-B、C-D-B-A、C-A-B、C-B-A。
在本申请实施例中,在确定出所有已知单播路径后,可以配置转发表以记录并存储所有已知单播路径,以便后续使用。
需要说明的是,非已知单播流量,包括广播流量、未知单播流量、组播流量等。对于非已知单播流量,其在从入口交换芯片进入到设备后,会将数据在设备内部洪泛。此时,如果内部连接拓扑图中存在环,那么流量在设备内部洪泛时就会出现环路,即需要进行断环设置。因此,对于非已知单播流量的路径的计算,本质是设备内部环路的计算,以及断环的设置。
为此,在本申请实施例的一种可行实施方式中,可以以内部连接拓扑图中的每个交换芯片作为源节点,以内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历内部连接拓扑图。若在针对任一源节点至该源节点对应的目的节点的路径遍历过程中,重新遍历到了该源节点,则在该遍历到的环路中进行断环设置。
示例性的,可以查询内部连接拓扑图中各节点的属性,确定出所有具有面板口的目标节点,然后取内部连接拓扑图中的任一节点为源节点,非该源节点的目标节点为目的节,以源节点为起始点,目的节点为终点,遍历内部连接拓扑图。
以图2所示的内部连接拓扑图的结构为例,在图2所示的内部连接拓扑图中,节点A、B、C具有面板口,且节点A、B具有转发能力,节点D不具有面板口,但具有转发能力节点D分别连接节点A、B、C,且节点A、B相互连接。
则可以首先以节点A作为源节点,节点B和节点C作为目标节点,由于节点C不具转发能力,从而可以探测得到环路A-B-D-A和A-D-B-A,此时可以对环路A-B-D-A或A-D-B-A中的任一边(边是指内部连接拓扑图中连接两节点间的线条)进行断环设置,使得环路中位于在该断环处两侧的节点不能向进行非已知单播流量的转发。比如对B和D之间的边进行断环设置,那么则节点B和D之间不进行非已知单播流量的转发。
此后,可以以节点B作为源节点,节点A和节点C作为目标节点,由于对B和D之间的边已进行断环设置,此时检测不存在环路。
然后,以节点C作为源节点,节点A和节点B作为目标节点,从而可以探测得到环路C-A-B-C和C-B-A-C,此时可以对环路C-A-B-C或C-B-A-C中的任一边进行断环设置,使得环路中位于在该断环处两侧的节点不能向进行非已知单播流量的转发。比如对C和A之间的边进行了进行断环设置,那么则节点C和A之间不进行非已知单播流量的转发。
然后,以节点D作为源节点,节点A、B、C作为目标节点,由于B和D之间的边以及C和A之间的边已进行断环设置,此时检测不存在环路。
在本申请实施例中,可以在构建内部连接拓扑图时,记录各相连接的交换芯片之间的链路带宽,并将该链路带宽作为内部连接拓扑图中连接对应的量节点间的边的带宽。从而,在进行断环设置时,可以取环路中带宽最小的边进行断环设置,从而可以保留更大带宽的路径,从而提高分布式机架网络设备内的带宽资源利用率。
在本申请实施例中,断环设置的方式包括但不限于设置端口block状态,设置端口相关流量的掩码表等,只要能够有效实现分布式机架网络设备内的环路断开即可。
需要注意的是,在本申请实施例中,进行内部连接拓扑图的遍历的方式可以是:
以源节点为初始的当前节点,按照内部连接拓扑图中的连接关系,遍历和当前节点有连接的所有节点。
当遍历到有转发能力的节点后,以该节点为当前节点,继续遍历和当前节点有连接的所有节点。
当遍历到没有转发能力节点后,返回到上一个遍历到的节点,重新遍历和该节点所有相连的其他节点。
重复上述过程,直至得到从源节点至该源节点对应的目的节点的所有路径。
这样,通过逐个节点依次遍历的方式,即可确保遍历过程中不会出现路径遗落的情况,从而可以确保方案的可靠性。
本申请实施例中提供的路径确定方法,通过将分布式机架网络设备内部的交换芯片的连接关系抽象为以交换芯片作为节点的拓扑图,进而基于拓扑图实现对于分布式机架网络设备的已知单播路径以及非已知单播流量的路径中的断环设置。本申请实施例所提供的方式具有通用性,不同内部连接关系的分布式机架设备均可使用本申请的方式实现数据平面的设置,从而可以有效提高不同分布式机架设备之间数据平面的兼容性。同时,由于本申请实施例提供的方式具有通用性,因此设置时不再需要考虑不同分布式机架设备之间数据平面的兼容性问题,因此也可以降低开发周期,缩减开发成本。
此外,本申请实施例中,在依据内部连接拓扑图计算内部流量转发路径时,通过取具有面板口的交换芯片作为源节点和目的节点,通过遍历方式即可实现对于分布式机架设备内部的所有单播路径的获取。同时,通过以任一节点作为源节点,以遍历方式确定出非已知单播流量进行洪泛时,分布式机架设备内部可能存在的环路,从快速进行断环设置。整个内部流量转发路径的计算过程简单、可靠,能够有效确定出分布式机架设备内部的所有已知单播路径,并能有效针对所有可能出现的环路实现断环设置,从而保证配置出的数据平面的可靠性。
实施例二:
本实施例在实施例一的基础上,以一种具体的内部连接拓扑图的情况为例,对本申请的方案进行示例说明。
参见图3-1和图3-2所示,图3-1示出了一种3槽分布式机架网络设备的内部连接关系,其中每个槽位都只有一个交换芯片,每个槽位上都具有面板口,并且每个槽位都可以进行跨槽位的数据转发能力,也即Fabric转发能力。而图3-2是对应的交换芯片节点的连接关系。
假设F=1表示交换芯片有Fabric能力,P=1表示交换芯片上具有面板口,交换芯片节点使用N表示,节点之前的边用E表示;那么图3-2具有以下拓扑信息:
节点N包括:N0(F=1,P=1),N1(F=1,P=1),N2(F=1,P=1);
节点之前的边E包括:
E0:N0<---------->N1;
E1:N0<---------->N2;
E2:N1<---------->N2。
按照不同的流量类型来进行不同的路径计算方式,对于已知单播流量,以每个节点为起始点,遍历拓扑中的所有的边,可以计算出以下已知单播的路径信息:
N0转发到N1需要通过边E0;
N1转发到N0需要通过边E0;
N0转发到N2需要通过边E1;
N2转发到N0需要通过边E1;
N1转发到N2需要通过边E2;
N2转发到N1需要通过边E2。
对于非已知单播流量,包括广播流量、未知单播流量、组播流量、未知组播流量等,这些流量都需要泛洪到分布式机架网络设备中所有的交换芯片上。如果分布式机架网络设备内部不存在环路,那么将该流量泛洪到所有节点即可,如果分布式机架网络设备内部存在环路,那么如果泛洪则会出现广播风暴,需要进行断环处理,环路计算方法如下:
以每个节点为起始节点,按照节点连接的边的信息进行遍历,如果遍历到某个节点等于起始节点,则证明拓扑中存在环路,则需要进行断环处理。图3-2中计算得到的环路信息为:
N0---->N1---->N2---->N0。
此时,可以根据环路中每条边的带宽大小进行断环的处理,选择环路中边带宽最小的一条边进行断环操作。
应理解,上述路径计算方法同样适用于其他分布式机架网络设备,方法一样,这里不在进行列举。
本申请实施例的方案,可以应用于不同形态,不同内部连接关系的分布式机架网络设备中,从而可以将不同形态,不同内部连接关系的分布式机架网络设备的数据平面的实现进行统一,提升不同分布式机架网络设备的数据平面的兼容性,并可以在开发新形态的分布式机架的情况下减少开发周期和开发成本。
实施例三:
基于同一发明构思,本申请实施例中还提供了一种应用于分布式机架网络设备上的路径确定装置。请参阅图4所示,图4示出了与实施例一所示的方法对应的路径确定装置100。应理解,路径确定装置100具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。路径确定装置100包括至少一个能以软件或固件的形式存储于存储器中或固化在路径确定装置100的操作系统中的软件功能模块。具体地:
参见图4所示,路径确定装置100包括:获取模块101、处理模块102。其中:
所述获取模块101,用于获取所述分布式机架网络设备的内部连接拓扑图;所述内部连接拓扑图为以所述分布式机架网络设备内部的交换芯片作为节点所构成的表征各所述交换芯片的连接关系的拓扑图;
所述处理模块102,用于以所述内部连接拓扑图中的每个具有面板口的交换芯片作为源节点,以所述内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历所述内部连接拓扑图,得到从所述源节点至该源节点对应的目的节点的所有已知单播路径;
所述处理模块102,还用于以所述内部连接拓扑图中的每个交换芯片作为源节点,遍历所述内部连接拓扑图,若在针对任一源节点的路径遍历过程中,重新遍历到了该源节点,则在该遍历到的环路中进行断环设置。
在本申请实施例中,所述获取模块101具体用于,检测所述分布式机架网络设备内部的各交换芯片的属性;所述属性包括所述交换芯片是否具有面板口以及是否具有转发能力;检测所述分布式机架网络设备中,各交换芯片之间的连接情况;构建与各所述交换芯片对应的节点,根据所述各交换芯片之间的连接情况,连接各节点;配置各节点的属性为各节点对应的所述交换芯片的属性,得到所述内部连接拓扑图。
在本申请实施例的一种可行实施方式中,所述内部连接拓扑图中记录有各节点的属性;所述属性包括节点是否具有面板口;所述处理模块102具体用于,查询所述内部连接拓扑图中各节点的属性,确定出所有具有面板口的目标节点;取任一目标节点作为源节点,该源节点外的其余目标节点作为目的节点;以所述源节点为起始点遍历所述内部连接拓扑图,得到从该源节点分别至各所述目的节点的所有路径;得到的所述路径为已知单播路径;重新取一目标节点作为源节点,重新确定的源节点外的其余目标节点作为目的节点,以重新确定的源节点为起始点遍历所述内部连接拓扑图,得到从该重新确定的源节点分别至各目的节点的所有路径,直至所有目标节点均被取作源节点为止。
在本申请实施例的一种可行实施方式中,所述处理模块102具体用于,以所述内部连接拓扑图中的每个交换芯片作为源节点,以所述内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历所述内部连接拓扑图;若在针对任一源节点至该源节点对应的目的节点的路径遍历过程中,重新遍历到了该源节点,则在该遍历到的环路中进行断环设置。
在上述可行实施方式中,所述内部连接拓扑图中记录有各节点的属性;所述属性包括节点是否具有面板口;所述处理模块102具体用于,查询所述内部连接拓扑图中各节点的属性,确定出所有具有面板口的目标节点;取所述内部连接拓扑图中的任一节点为源节点,非该源节点的所述目标节点为目的节点;以所述源节点为起始点,所述目的节点为终点,遍历所述内部连接拓扑图。
在本申请实施例中,所述内部连接拓扑图中记录有连接两节点的边的带宽;所述边的带宽为所述边两端的两个节点对应的两交换芯片之间的链路带宽;所述处理模块102具体用于,获取所述环路中各边的带宽;对所述环路中带宽最小的边进行断环设置。
在本申请实施例中,所述遍历所述内部连接拓扑图,包括:以所述源节点为初始的当前节点,按照所述内部连接拓扑图中的连接关系,遍历和当前节点有连接的所有节点;当遍历到有转发能力的节点后,以该节点为当前节点,继续遍历和当前节点有连接的所有节点;当遍历到没有转发能力节点后,返回到上一个遍历到的节点,重新遍历和该节点所有相连的其他节点;重复上述过程,直至得到从所述源节点至该源节点对应的目的节点的所有路径。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种分布式机架网络设备,可以参见图5所示,其包括控制器501、存储器502、交换芯片503及通信总线504。其中:
通信总线504用于实现控制器501、存储器502和交换芯片503之间的连接通信。
控制器501用于执行存储器502中存储的一个或多个程序,以实现上述实施例一/二中的路径确定方法。
可以理解,图5所示的结构仅为示意,分布式机架网络设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置,例如还具有端口、槽位、板卡等部件。
本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个控制器执行,以实现上述实施例一/二中的路径确定方法。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种路径确定方法,其特征在于,应用于分布式机架网络设备,包括:
获取所述分布式机架网络设备的内部连接拓扑图;所述内部连接拓扑图为以所述分布式机架网络设备内部的交换芯片作为节点所构成的表征各所述交换芯片的连接关系的拓扑图;所述内部连接拓扑图内的各节点配置有属性,且各节点的属性为各节点对应的所述交换芯片的属性,所述交换芯片的属性包括所述交换芯片是否具有面板口以及是否具有转发能力;
以所述内部连接拓扑图中的每个具有面板口的交换芯片作为源节点,以所述内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历所述内部连接拓扑图,得到从所述源节点至该源节点对应的目的节点的所有已知单播路径;
以所述内部连接拓扑图中的每个交换芯片作为源节点,遍历所述内部连接拓扑图,若在针对任一源节点的路径遍历过程中,重新遍历到了该源节点,则在该遍历到的环路中进行断环设置。
2.如权利要求1所述的路径确定方法,其特征在于,获取所述分布式机架网络设备的内部连接拓扑图,包括:
检测所述分布式机架网络设备内部的各交换芯片的属性;
检测所述分布式机架网络设备中,各交换芯片之间的连接情况;
构建与各所述交换芯片对应的节点,根据所述各交换芯片之间的连接情况,连接各节点;
配置各节点的属性为各节点对应的所述交换芯片的属性,得到所述内部连接拓扑图。
3.如权利要求1所述的路径确定方法,其特征在于,所述内部连接拓扑图中记录有各节点的属性;所述属性包括节点是否具有面板口;
以所述内部连接拓扑图中的每个具有面板口的交换芯片作为源节点,以所述内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历所述内部连接拓扑图,得到从所述源节点至该源节点对应的目的节点的所有已知单播路径,包括:
查询所述内部连接拓扑图中各节点的属性,确定出所有具有面板口的目标节点;
取任一目标节点作为源节点,该源节点外的其余目标节点作为目的节点;
以所述源节点为起始点遍历所述内部连接拓扑图,得到从该源节点分别至各所述目的节点的所有路径;得到的所述路径为已知单播路径;
重新取一目标节点作为源节点,重新确定的源节点外的其余目标节点作为目的节点,以重新确定的源节点为起始点遍历所述内部连接拓扑图,得到从该重新确定的源节点分别至各目的节点的所有路径,直至所有目标节点均被取作源节点为止。
4.如权利要求1所述的路径确定方法,其特征在于,以所述内部连接拓扑图中的每个交换芯片作为源节点,遍历所述内部连接拓扑图,若在针对任一源节点的路径遍历过程中,重新遍历到了该源节点,则在该遍历到的环路中进行断环设置,包括:
以所述内部连接拓扑图中的每个交换芯片作为源节点,以所述内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历所述内部连接拓扑图;
若在针对任一源节点至该源节点对应的目的节点的路径遍历过程中,重新遍历到了该源节点,则在该遍历到的环路中进行断环设置。
5.如权利要求4所述的路径确定方法,其特征在于,所述内部连接拓扑图中记录有各节点的属性;所述属性包括节点是否具有面板口;
以所述内部连接拓扑图中的每个交换芯片作为源节点,以所述内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历所述内部连接拓扑图,包括:
查询所述内部连接拓扑图中各节点的属性,确定出所有具有面板口的目标节点;
取所述内部连接拓扑图中的任一节点为源节点,非该源节点的所述目标节点为目的节点;
以所述源节点为起始点,所述目的节点为终点,遍历所述内部连接拓扑图。
6.如权利要求1-5任一项所述的路径确定方法,其特征在于,所述内部连接拓扑图中记录有连接两节点的边的带宽;所述边的带宽为所述边两端的两个节点对应的两交换芯片之间的链路带宽;
所述在该遍历到的环路中进行断环设置,包括:
获取所述环路中各边的带宽;
对所述环路中带宽最小的边进行断环设置。
7.如权利要求1-5任一项所述的路径确定方法,其特征在于,所述遍历所述内部连接拓扑图,包括:
以所述源节点为初始的当前节点,按照所述内部连接拓扑图中的连接关系,遍历和当前节点有连接的所有节点;
当遍历到有转发能力的节点后,以该节点为当前节点,继续遍历和当前节点有连接的所有节点;
当遍历到没有转发能力节点后,返回到上一个遍历到的节点,重新遍历和该节点所有相连的其他节点;
重复上述过程,直至得到从所述源节点至该源节点对应的目的节点的所有路径。
8.一种路径确定装置,其特征在于,应用于分布式机架网络设备,包括:获取模块和处理模块;
所述获取模块,用于获取所述分布式机架网络设备的内部连接拓扑图;所述内部连接拓扑图为以所述分布式机架网络设备内部的交换芯片作为节点所构成的表征各所述交换芯片的连接关系的拓扑图;所述内部连接拓扑图内的各节点配置有属性,且各节点的属性为各节点对应的所述交换芯片的属性,所述交换芯片的属性包括所述交换芯片是否具有面板口以及是否具有转发能力;
所述处理模块,用于以所述内部连接拓扑图中的每个具有面板口的交换芯片作为源节点,以所述内部连接拓扑图中除任一源节点外的其余具有面板口的交换芯片作为该源节点对应的目的节点,遍历所述内部连接拓扑图,得到从所述源节点至该源节点对应的目的节点的所有已知单播路径;
所述处理模块,还用于以所述内部连接拓扑图中的每个交换芯片作为源节点,遍历所述内部连接拓扑图,若在针对任一源节点的路径遍历过程中,重新遍历到了该源节点,则在该遍历到的环路中进行断环设置。
9.一种分布式机架网络设备,其特征在于,包括:控制器、存储器、交换芯片及通信总线;
所述通信总线用于实现所述控制器、存储器和交换芯片之间的连接通信;
所述控制器用于执行存储器中存储的一个或者多个程序,以实现如权利要求1至7任一项所述的路径确定方法。
10.一种可读存储介质,其特征在于,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个控制器执行,以实现如权利要求1至7任一项所述的路径确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010892761.8A CN112039703B (zh) | 2020-08-28 | 2020-08-28 | 路径确定方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010892761.8A CN112039703B (zh) | 2020-08-28 | 2020-08-28 | 路径确定方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112039703A CN112039703A (zh) | 2020-12-04 |
CN112039703B true CN112039703B (zh) | 2022-04-22 |
Family
ID=73586256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010892761.8A Active CN112039703B (zh) | 2020-08-28 | 2020-08-28 | 路径确定方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112039703B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737981B (zh) * | 2020-12-23 | 2022-04-08 | 迈普通信技术股份有限公司 | 广播路径确定方法、装置、分布式设备及可读存储介质 |
CN114615066A (zh) * | 2022-03-17 | 2022-06-10 | 浙江网商银行股份有限公司 | 目标路径确定方法以及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015184868A1 (zh) * | 2014-10-30 | 2015-12-10 | 中兴通讯股份有限公司 | 一种服务层信号失效检测装置及方法 |
CN105743716A (zh) * | 2016-04-21 | 2016-07-06 | 大连理工大学 | 一种列车以太网络路径的动态规划方法 |
CN108337196A (zh) * | 2017-12-29 | 2018-07-27 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN108965141A (zh) * | 2018-09-18 | 2018-12-07 | 深圳市风云实业有限公司 | 一种多路径路由树的计算方法及装置 |
CN109768883A (zh) * | 2018-12-21 | 2019-05-17 | 华为技术服务有限公司 | 一种网络拓扑路径的确定方法、装置和终端设备 |
CN109783706A (zh) * | 2018-12-26 | 2019-05-21 | 北京禹数技术有限公司 | 管网拓扑关系的数据处理方法、装置和电子设备 |
CN110380962A (zh) * | 2019-07-18 | 2019-10-25 | 北京国科环宇科技股份有限公司 | 一种在srio的交换系统中配置路由的方法及装置 |
CN111079354A (zh) * | 2019-11-22 | 2020-04-28 | 西安芯海微电子科技有限公司 | 一种芯片集成方法与装置、芯片集成设备及可读存储介质 |
CN111447091A (zh) * | 2020-03-25 | 2020-07-24 | 深信服科技股份有限公司 | 一种网络环路检测方法、装置、设备及存储介质 |
CN111490948A (zh) * | 2020-04-14 | 2020-08-04 | 北京大地信合信息技术有限公司 | 用于siro交换系统的路由配置方法、装置以及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986664B (zh) * | 2014-05-15 | 2017-06-27 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
CN106682268B (zh) * | 2016-11-28 | 2020-06-30 | 深圳市紫光同创电子有限公司 | 可编程逻辑器件配置方法及设备 |
CN109450819B (zh) * | 2018-10-25 | 2021-08-17 | 锐捷网络股份有限公司 | 一种广播报文的转发方法及系统 |
-
2020
- 2020-08-28 CN CN202010892761.8A patent/CN112039703B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015184868A1 (zh) * | 2014-10-30 | 2015-12-10 | 中兴通讯股份有限公司 | 一种服务层信号失效检测装置及方法 |
CN105743716A (zh) * | 2016-04-21 | 2016-07-06 | 大连理工大学 | 一种列车以太网络路径的动态规划方法 |
CN108337196A (zh) * | 2017-12-29 | 2018-07-27 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN108965141A (zh) * | 2018-09-18 | 2018-12-07 | 深圳市风云实业有限公司 | 一种多路径路由树的计算方法及装置 |
CN109768883A (zh) * | 2018-12-21 | 2019-05-17 | 华为技术服务有限公司 | 一种网络拓扑路径的确定方法、装置和终端设备 |
CN109783706A (zh) * | 2018-12-26 | 2019-05-21 | 北京禹数技术有限公司 | 管网拓扑关系的数据处理方法、装置和电子设备 |
CN110380962A (zh) * | 2019-07-18 | 2019-10-25 | 北京国科环宇科技股份有限公司 | 一种在srio的交换系统中配置路由的方法及装置 |
CN111079354A (zh) * | 2019-11-22 | 2020-04-28 | 西安芯海微电子科技有限公司 | 一种芯片集成方法与装置、芯片集成设备及可读存储介质 |
CN111447091A (zh) * | 2020-03-25 | 2020-07-24 | 深信服科技股份有限公司 | 一种网络环路检测方法、装置、设备及存储介质 |
CN111490948A (zh) * | 2020-04-14 | 2020-08-04 | 北京大地信合信息技术有限公司 | 用于siro交换系统的路由配置方法、装置以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112039703A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495322B (zh) | 网络故障定位方法、相关设备及计算机存储介质 | |
CN112039703B (zh) | 路径确定方法、装置、设备及可读存储介质 | |
US11652735B2 (en) | Multicast data packet processing method, and apparatus | |
CN110995583A (zh) | 路径探测方法、装置及计算机存储介质 | |
US11711243B2 (en) | Packet processing method and gateway device | |
US20210211351A1 (en) | Stacking-port configuration using zero-touch provisioning | |
KR100674086B1 (ko) | 이더넷 망에서의 토폴로지 발견 방법 | |
CN113098770A (zh) | 报文发送方法、路由表项的生成方法、装置及存储介质 | |
US20100094994A1 (en) | Network structure information acquiring method and device | |
CN107852344B (zh) | 存储网元发现方法及装置 | |
CN110932906A (zh) | 基于snmp技术的数据中心网络拓朴结构发现方法及其拓朴结构发现系统 | |
CN107547374B (zh) | 一种聚合路由处理方法和装置 | |
CN114615179A (zh) | 报文传输方法、设备及系统 | |
CN117714372A (zh) | 一种数据报文转发方法、装置以及网络设备 | |
US8929251B2 (en) | Selecting a master processor from an ambiguous peer group | |
CN111901181B (zh) | 一种误码率检测的处理方法及相关设备 | |
US20100118710A1 (en) | Network failure detecting method and device | |
CN112737981B (zh) | 广播路径确定方法、装置、分布式设备及可读存储介质 | |
CN110830598A (zh) | Bgp会话建立、发送接口地址和别名的方法及网络设备 | |
WO2021249173A1 (zh) | 一种分布式存储系统及其异常处理方法和相关装置 | |
CN108418709B (zh) | 端口聚合方法及装置 | |
CN114640615A (zh) | 一种路由通告方法、路由生成方法及设备 | |
CN114124753A (zh) | 一种报文发送方法及设备 | |
CN108111419B (zh) | 一种路径选择的方法及装置 | |
CN112469064A (zh) | 一种故障透传方法、装置及电子设备 |
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 |