CN106998300B - 一种算法拓扑生成方法和装置 - Google Patents
一种算法拓扑生成方法和装置 Download PDFInfo
- Publication number
- CN106998300B CN106998300B CN201710197794.9A CN201710197794A CN106998300B CN 106998300 B CN106998300 B CN 106998300B CN 201710197794 A CN201710197794 A CN 201710197794A CN 106998300 B CN106998300 B CN 106998300B
- Authority
- CN
- China
- Prior art keywords
- sub
- stacking
- link
- port
- creating
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- 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/58—Association of routers
- H04L45/583—Stackable routers
Abstract
本申请提供一种算法拓扑生成方法和装置,该方法包括:获取设备的MIB属性;若根据所述MIB属性确定所述设备为堆叠设备,则为所述设备创建子设备;为所述子设备创建堆叠口,并为所述堆叠口创建堆叠链路;生成包括所述子设备、所述堆叠口和所述堆叠链路的算法拓扑。通过本申请的技术方案,由于算法拓扑包含堆叠链路,因此可以尽量避免将堆叠链路选择为传输路径,从而避免占用堆叠链路的带宽资源,提高堆叠设备的转发性能。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种算法拓扑生成方法和装置。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,是网络虚拟化的一种实现方式,通过将设备的控制面与数据面分离,从而实现网络流量的灵活控制。如图1所示,为SDN纵向网络示意图,设备A为第一级路由器,设备B和设备C为第二级路由器,设备D、设备E、设备F、设备G为第三级路由器,设备B是一个堆叠设备,由子设备B1和子设备B2组成。
为了实现报文传输路径的控制,SDN控制器需要生成网络拓扑,并基于网络拓扑选择传输路径。如图2所示,为针对图1的网络拓扑示意图。在生成网络拓扑的过程中,针对由子设备B1和子设备B2组成的堆叠设备(即设备B),是以一个设备B的形式存在于网络拓扑中。
基于图2的网络拓扑,假设报文需要从设备A传输到设备E,则传输路径为:设备A-接口A11或者接口A12(以接口A11为例)-设备B-接口B14-设备E。基于这样的传输路径,设备A在接收到报文后,通过接口A11发送报文;设备B在接收到报文后,通过接口B14发送报文,继而将报文发送给设备E。
由于设备B由子设备B1和子设备B2组成,因此设备A通过接口A11发送报文时,是子设备B1通过接口B11接收到报文,且子设备B1还需要通过堆叠口将报文发送给子设备B2,由子设备B2通过接口B14发送报文。
显然,上述方式需要在子设备B1和子设备B2之间传输报文,从而占用堆叠口(子设备B1与子设备B2之间的接口)的带宽资源,影响设备的转发性能。
发明内容
本申请提供一种算法拓扑生成方法,应用于控制器,所述方法包括:
获取设备的管理信息库MIB属性;
若根据所述MIB属性确定所述设备为堆叠设备,为所述设备创建子设备;
为所述子设备创建堆叠口,并为所述堆叠口创建堆叠链路;
生成包括所述子设备、所述堆叠口和所述堆叠链路的算法拓扑。
本申请提供一种算法拓扑生成装置,应用于控制器,所述装置包括:
获取模块,用于获取设备的管理信息库MIB属性;
创建模块,用于当根据所述MIB属性确定所述设备为堆叠设备时,为所述设备创建子设备,并为所述子设备创建堆叠口,为所述堆叠口创建堆叠链路;
生成模块,用于生成包括所述子设备、堆叠口和堆叠链路的算法拓扑。
基于上述技术方案,本申请实施例中,控制器可以自动识别出堆叠设备,并为堆叠设备创建子设备,为子设备创建堆叠口,为堆叠口创建堆叠链路,并生成包括子设备、堆叠口和堆叠链路的算法拓扑。这样,在基于算法拓扑选择传输路径时,由于算法拓扑包含堆叠链路,因此可以尽量避免将堆叠链路选择为传输路径,从而避免占用堆叠链路的带宽资源,提高堆叠设备的转发性能。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是SDN的纵向网络的示意图;
图2是针对图1的网络拓扑示意图;
图3是本申请一种实施方式中的算法拓扑生成方法的流程图;
图4A和图4B是本申请一种实施方式中的MIB属性的示例;
图5A和图5B是本申请一种实施方式中的堆叠设备的组成示意图;
图6是本申请一种实施方式中的算法拓扑示意图;
图7是本申请一种实施方式中的算法拓扑生成装置的结构图;
图8是本申请一种实施方式中的控制器的硬件结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出了一种算法拓扑生成方法,该方法可以应用于控制器,如SDN控制器,其中,控制器可以基于该算法拓扑选择报文的传输路径。
在传统方式中,控制器只维护一个拓扑结构,将其称为网络拓扑,控制器基于网络拓扑选择报文的传输路径,并向用户显示网络拓扑,如图2所示。
本申请实施例中,控制器可以维护两个拓扑结构,一个拓扑结构为网络拓扑,另一个拓扑结构为算法拓扑。控制器可以向用户显示网络拓扑,且控制器可以基于算法拓扑选择报文的传输路径。其中,网络拓扑与算法拓扑的区别在于:针对由至少两个子设备组成的堆叠设备,在网络拓扑中,不会存在这至少两个子设备,而是以一个堆叠设备的形式存在,即网络拓扑中存在的就是一个堆叠设备;在算法拓扑中,会存在这至少两个子设备,而不是以一个堆叠设备的形式存在,即算法拓扑中存在的是子设备,而不是由子设备组成的堆叠设备。
针对网络拓扑的生成方式,与传统方式类似,如针对图1,其网络拓扑可以如图2所示,在此不再赘述,以下对算法拓扑的生成过程进行详细说明。
参见图3所示,为该算法拓扑生成方法的流程图,该方法可以包括:
步骤301,获取设备的MIB(Management Information Base,管理信息库)属性,该设备可以为路由器、交换机等网络设备,后续将其简称为设备。
在一个例子中,控制器可以向设备发送用于请求MIB属性的请求消息;设备在接收到该请求消息之后,可以从本地获取到本设备的MIB属性,并将携带该MIB属性的响应消息返回给控制器;控制器在接收到该响应消息之后,可以从该响应消息中解析出设备的MIB属性。其中,该请求消息可以为SNMP(Simple Network Management Protocol,简单网络管理协议)请求消息,该响应消息可以为SNMP响应消息;或者,该请求消息可以为NETCONF(Network Configuration Protocol,网络配置协议)请求消息,该响应消息可以为NETCONF响应消息。
其中,控制器向设备发送的请求消息中可以携带OID(Object Identifier,对象标识符),且OID为指定数值(如1.3.6.1.2.1.47.1.1.1.1.5),当OID为指定数值时,就表示当前的请求消息用于请求MIB属性。设备在接收到OID为指定数值的请求消息之后,就可以向控制器返回携带MIB属性的响应消息。
其中,MIB属性可以包括但不限于堆叠属性(Stack)、框属性(Chassis)和接口属性(Port),当然,MIB属性也可以包括其它属性,如插槽属性、电源属性、风扇属性等,对此MIB属性的内容不做限制,后续以包括堆叠属性、框属性和接口属性为例进行说明。例如,若设备是堆叠设备,则MIB属性的一个示例可以如图4A所示:Stack为堆叠属性,表示设备是堆叠设备;Chassis为框属性,表示堆叠设备由两个机框(Chassis0和Chassis1)组成,每个机框是组成堆叠设备的一个子设备;Port为接口属性,表示接口属于哪个子设备,例如,接口1和接口2属于子设备Chassis0,接口3和接口4属于子设备Chassis1。又例如,若设备不是堆叠设备,则MIB属性的一个示例可以如图4B所示:由于未携带Stack,因此表示设备不是堆叠设备;Chassis为框属性,表示设备只包括一个机框(Chassis0);Port为接口属性,表示接口1和接口2属于机框(Chassis0)。
步骤302,若根据MIB属性确定设备为堆叠设备,则为该设备创建子设备。
参见图4A和图4B所示,控制器可以根据MIB属性(如堆叠属性)确定出设备是否为堆叠设备。如果不是堆叠设备,则采用传统流程处理,对此不再赘述。如果是堆叠设备,则为该设备创建子设备;具体的,控制器可以根据MIB属性(如框属性)确定出组成该设备的子设备的数量,并为该设备创建相应数量的子设备。例如,当框属性为Chassis0和Chassis1时,就表示堆叠设备由两个子设备组成,即组成该设备的子设备数量为2,可以为该设备创建2个子设备。
步骤303,为子设备创建堆叠口,并为该堆叠口创建堆叠链路。
针对“为子设备创建堆叠口,并为该堆叠口创建堆叠链路”的过程,可以为每个子设备创建一个堆叠口,并在任意两个堆叠口之间创建堆叠链路。或者,可以为任意两个子设备创建具有关联关系的堆叠口,并在具有关联关系的堆叠口之间创建堆叠链路。
例如,假设设备A为堆叠设备,为该设备A创建有子设备A1、子设备A2和子设备A3,针对第一种实现方式,可以参见图5A所示,可以为子设备A1创建堆叠口A11,为子设备A2创建堆叠口A21,为子设备A3创建堆叠口A31,并在堆叠口A11和堆叠口A21之间创建堆叠链路1,在堆叠口A11和堆叠口A31之间创建堆叠链路2,在堆叠口A21和堆叠口A31之间创建堆叠链路3。
针对第二种实现方式,可以参见图5B所示,可以为子设备A1和子设备A2创建具有关联关系的堆叠口A11和堆叠口A21,堆叠口A11位于子设备A1,堆叠口A21位于子设备A2,然后在堆叠口A11和堆叠口A21之间创建堆叠链路1。此外,可以为子设备A1和子设备A3创建具有关联关系的堆叠口A12和堆叠口A31,堆叠口A12位于子设备A1,堆叠口A31位于子设备A3,然后在堆叠口A12和堆叠口A31之间创建堆叠链路2。此外,可以为子设备A2和子设备A3创建具有关联关系的堆叠口A22和堆叠口A32,堆叠口A22位于子设备A2,堆叠口A32位于子设备A3,然后在堆叠口A22和堆叠口A32之间创建堆叠链路3。
在一个例子中,在为堆叠口创建堆叠链路之后,控制器还可以为该堆叠链路设置链路属性,该链路属性可以包括但不限于:开销属性(Cost)和/或带宽属性。该开销属性可以为大于预设第一阈值(根据经验配置)的开销值,该带宽属性可以为小于预设第二阈值(根据经验配置)的带宽值。其中,通过为堆叠链路设置合理的链路属性,可以使该堆叠链路尽量不被选择为报文传输路径。
进一步的,在利用算法拓扑选择报文传输路径时,控制器通常会参考各路径的开销属性和带宽属性,即控制器优先选择开销值小、且带宽值大的路径作为报文传输路径。基于此,通过设置堆叠链路的开销属性为大于预设第一阈值(如其它所有链路的最大开销值)的开销值,使得该堆叠链路的开销值大于其它所有链路的开销值,这样,就可以使该堆叠链路尽量不被选择为报文传输路径。同理,通过设置堆叠链路的带宽属性为小于预设第二阈值(如其它所有链路的最小带宽值)的带宽值,使得该堆叠链路的带宽值小于其它所有链路的带宽值,这样,就可以使该堆叠链路尽量不被选择为报文传输路径。
步骤304,生成包括子设备、堆叠口和堆叠链路的算法拓扑。
在一个例子中,针对堆叠设备,在算法拓扑中可以包括子设备、堆叠口和堆叠链路等信息,基于这样的算法拓扑,由于堆叠链路的链路属性用于使该堆叠链路尽量不被选择为报文传输路径,因此,可以尽量避免将堆叠链路选择为传输路径,从而避免占用堆叠链路的带宽资源,提高堆叠设备的转发性能。
在一个例子中,控制器在生成包括子设备、堆叠口和堆叠链路的算法拓扑之后,当组成设备的子设备增加时,控制器还可以创建新的子设备,为该新的子设备创建堆叠口以及该堆叠口对应的堆叠链路,并在该算法拓扑中为该设备添加该新的子设备、该新的子设备的堆叠口以及堆叠链路;和/或,当组成设备的子设备减少时,控制器还可以确定已离开的子设备,并从该算法拓扑中删除所述已离开的子设备、以及所述已离开的子设备的堆叠口和堆叠链路。
基于上述技术方案,本申请实施例中,控制器可以自动识别出堆叠设备,并为堆叠设备创建子设备,为子设备创建堆叠口,为堆叠口创建堆叠链路,并生成包括子设备、堆叠口和堆叠链路的算法拓扑。这样,在基于算法拓扑选择传输路径时,由于算法拓扑包含堆叠链路,因此可以尽量避免将堆叠链路选择为传输路径,从而避免占用堆叠链路的带宽资源,提高堆叠设备的转发性能。
以下结合图1所示的应用场景,对上述算法拓扑生成方法进行说明。基于图1,可以得到图2所示的网络拓扑以及图6所示的算法拓扑,以下对图6所示的算法拓扑的生成过程进行详细说明,该算法拓扑的生成过程可以包括:
步骤1、控制器分别向各设备(如设备A、设备B、设备C、设备D、设备E、设备F、设备G)发送用于请求MIB属性的SNMP请求消息。
步骤2、各设备在接收到该SNMP请求消息后,从本地获取到本设备的MIB属性,并将携带该MIB属性的SNMP响应消息返回给控制器。
步骤3、控制器在收到各设备返回的SNMP响应消息后,从SNMP响应消息中解析出设备的MIB属性,并基于此MIB属性确定各设备是否为堆叠设备。
例如,基于设备A的MIB属性,确定设备A不是堆叠设备;基于设备B的MIB属性,确定设备B是堆叠设备;基于设备C的MIB属性,确定设备C不是堆叠设备;基于设备D的MIB属性,确定设备D不是堆叠设备;基于设备E的MIB属性,确定设备E不是堆叠设备;基于设备F的MIB属性,确定设备F不是堆叠设备;基于设备G的MIB属性,确定设备G不是堆叠设备。
针对非堆叠设备的算法拓扑的生成过程,与传统网络拓扑的生成过程类似,对此不再赘述,以下步骤说明堆叠设备(设备B)的算法拓扑的生成过程。
步骤4、控制器基于设备B的MIB属性,确定组成设备B的子设备数量为2,为设备B创建2个子设备,这2个子设备分别为子设备B1、子设备B2。
步骤5、控制器基于设备B的MIB属性,确定接口B11位于子设备B1、接口B13位于子设备B1,接口B12位于子设备B2、接口B14位于子设备B2。
在一个例子中,步骤3中使用的MIB属性是堆叠属性Stack,步骤4中使用的MIB属性是框属性Chassis,步骤5中使用的MIB属性是端口属性Port。
步骤6、基于网络拓扑的生成方式,控制器可以获知设备A的接口A11与设备B的接口B11连接,由于接口B11位于子设备B1,因此,在算法拓扑中,设备A的接口A11与子设备B1的接口B11连接。类似的,如图6所示,设备A的接口A12与子设备B2的接口B12连接;设备D的接口D11与子设备B1的接口B13连接;设备E的接口E11与子设备B2的接口B14连接。
步骤7、控制器为子设备B1创建堆叠口1(也称为堆叠互联口),并为子设备B2创建堆叠口2,并在堆叠口1和堆叠口2之间创建堆叠链路1。
步骤8、控制器为堆叠链路1设置链路属性,该链路属性包括开销属性和带宽属性,该开销属性为大于预设第一阈值的开销值,该带宽属性为小于预设第二阈值的带宽值。
步骤9、控制器可以生成包括上述子设备B1、子设备B2、堆叠口1、堆叠口2以及堆叠链路1的算法拓扑,最终的算法拓扑可以如图6所示。
如图6所示,对于非堆叠设备,算法拓扑包括的是非堆叠设备本身,对于堆叠设备,算法拓扑包括的是组成堆叠设备的子设备,而不是堆叠设备本身。
在上述算法拓扑的基础上,假设报文需要从设备A传输到设备E,则有两条传输路径,第一条传输路径为:设备A-接口A11-子设备B1-堆叠口1-子设备B2-接口B14-设备E,而第二条传输路径为:设备A-接口A12-子设备B2-接口B14-设备E。由于第一条传输路径包括路径“子设备B1-堆叠口1-子设备B2”,而路径“子设备B1-堆叠口1-子设备B2”的开销值很大,且带宽值很小,因此,控制器不会选择第一条传输路径,而是选择第二条传输路径。基于此,设备A在接收到报文之后,通过接口A12发送报文,子设备B2在接收到报文之后,通过接口B14发送报文,继而将报文发送给设备E。
在一个例子中,控制器在得到传输路径后,还可以向用户显示该传输路径,而在向用户显示该传输路径的过程中,针对堆叠设备,显示的可以为堆叠设备本身,而不是组成该堆叠设备的子设备。基于此,控制器还可以对传输路径中的子设备和堆叠口进行处理,具体处理过程为:将子设备替换为堆叠设备,并去除堆叠口;然后,若存在重复设备,则只保留一个设备,以完成对子设备和堆叠口的处理;若不存在重复设备,则完成对子设备和堆叠口的处理。
例如,假设控制器得到的传输路径为“设备A-接口A11-子设备B1-堆叠口1-子设备B2-接口B14-设备E”,则将子设备B1和子设备B2替换为堆叠设备(即设备B),并去除堆叠口1,这样传输路径为“设备A-接口A11-设备B-设备B-接口B14-设备E”,由于存在重复的设备B,因此只保留一个设备B,最终向用户显示的传输路径为“设备A-接口A11-设备B-接口B14-设备E”。
又例如,假设控制器得到的传输路径为“设备A-接口A12-子设备B2-接口B14-设备E”,则将子设备B2替换为堆叠设备(即设备B),这样传输路径为“设备A-接口A12-设备B-接口B14-设备E”,由于不存在重复的设备,因此最终向用户显示的传输路径为“设备A-接口A12-设备B-接口B14-设备E”。
在一个例子中,控制器可以周期性向设备(以设备B为例)发送用于请求MIB属性的SNMP请求消息,若基于设备B返回的SNMP响应消息,确定组成设备B的子设备增加,则控制器可以基于步骤4-步骤9的流程,重新生成算法拓扑,或者,在已有算法拓扑的基础上,控制器创建新的子设备,为该新的子设备创建堆叠口以及该堆叠口对应的堆叠链路,并在该算法拓扑中为该设备B添加该新的子设备、该新的子设备的堆叠口以及堆叠链路。
例如,在图6的算法拓扑基础上,控制器创建新的子设备B3,为子设备B3创建堆叠口3,在堆叠口3和堆叠口1之间创建堆叠链路2,并在堆叠口3和堆叠口2之间创建堆叠链路3,然后,在算法拓扑中为设备B添加子设备B3、堆叠口3、堆叠链路2和堆叠链路3。此外,基于设备B的MIB属性(如端口属性),还可以为子设备B3添加普通接口,并基于普通接口确定子设备B3与其它设备(如设备A、设备D、设备E等)的连接关系,在此不再赘述。
在一个例子中,若基于设备B返回的SNMP响应消息,确定组成设备B的子设备减少,则控制器可以基于步骤4-步骤9的流程,重新生成算法拓扑,或者,在已有算法拓扑的基础上,控制器确定已离开的子设备,并从算法拓扑中删除已离开的子设备、以及已离开的子设备的堆叠口和堆叠链路。
例如,在算法拓扑中包括子设备B1、子设备B2、子设备B3,子设备B1包括堆叠口1、子设备B2包括堆叠口2、子设备B3包括堆叠口3,堆叠口1和堆叠口2之间为堆叠链路1、堆叠口1和堆叠口3之间为堆叠链路2、堆叠口2和堆叠口3之间为堆叠链路3;在此基础上,若基于设备B的MIB属性,控制器确定已离开的子设备为子设备B1,则从算法拓扑中删除子设备B1、堆叠口1、堆叠链路1、堆叠链路2,这样,算法拓扑中包括子设备B2、子设备B3,子设备B2包括堆叠口2、子设备B3包括堆叠口3,堆叠口2和堆叠口3之间为堆叠链路3。此外,还可以从算法拓扑中删除子设备B1的普通接口,并删除普通接口与其它设备(如设备A、设备D、设备E等)的连接关系,在此不再赘述。
在一个例子中,当算法拓扑发生变化(如组成设备B的子设备增加、或者组成设备B的子设备减少)时,则控制器可以基于变化后的算法拓扑,重新选择报文的传输路径,对此选择过程与上述过程类似,在此不再重复赘述。
基于与上述方法同样的申请构思,本申请实施例中还提供一种算法拓扑生成装置,该算法拓扑生成装置可以应用在控制器。如图7所示,为本申请提出的算法拓扑生成装置的结构图,该装置可以包括:
获取模块11,用于获取设备的管理信息库MIB属性;
创建模块12,用于当根据所述MIB属性确定所述设备为堆叠设备时,为所述设备创建子设备,并为所述子设备创建堆叠口,为所述堆叠口创建堆叠链路;
生成模块13,用于生成包括所述子设备、堆叠口和堆叠链路的算法拓扑。
所述创建模块12,具体用于在为所述设备创建子设备的过程,根据所述MIB属性确定组成所述设备的子设备的数量,并为所述设备创建相应数量的子设备。
在一个例子中,所述创建模块12,具体用于在为所述子设备创建堆叠口,并为所述堆叠口创建堆叠链路的过程中,为每个子设备创建一个堆叠口,并在任意两个堆叠口之间创建堆叠链路;或者,为任意两个子设备创建具有关联关系的堆叠口,并在具有关联关系的堆叠口之间创建堆叠链路。
在一个例子中,所述算法拓扑生成装置还包括(在图中未体现):设置模块;所述设置模块,用于为所述堆叠链路设置链路属性,所述链路属性可以包括但不限于:开销属性和/或带宽属性;其中,所述开销属性为大于预设第一阈值的开销值;所述带宽属性为小于预设第二阈值的带宽值。
所述生成模块13,还用于在生成包括所述子设备、堆叠口和堆叠链路的算法拓扑之后,当组成所述设备的子设备增加时,创建新的子设备,为所述新的子设备创建堆叠口以及所述堆叠口对应的堆叠链路,并在所述算法拓扑中为所述设备添加所述新的子设备、所述新的子设备的堆叠口和堆叠链路;和/或,
当组成所述设备的子设备减少时,确定已离开的子设备,并从所述算法拓扑中删除所述已离开的子设备、所述已离开的子设备的堆叠口和堆叠链路。
本申请实施例提供的控制器,从硬件层面而言,硬件架构示意图具体可以参见图8。图8为本申请实施例提供的控制器的硬件结构示意图。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的算法拓扑生成操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种算法拓扑生成方法,应用于控制器,其特征在于,所述方法包括:
获取设备的管理信息库MIB属性;
若根据所述MIB属性确定所述设备为堆叠设备,为所述设备创建子设备;
为所述子设备创建堆叠口,并为所述堆叠口创建堆叠链路;为所述堆叠链路设置链路属性,所述链路属性包括:开销属性和/或带宽属性;所述开销属性为大于预设第一阈值的开销值;所述带宽属性为小于预设第二阈值的带宽值;
生成包括所述子设备、所述堆叠口和所述堆叠链路的算法拓扑。
2.根据权利要求1所述的方法,其特征在于,
所述为所述设备创建子设备的过程,包括:
根据所述MIB属性确定组成所述设备的子设备的数量;
为所述设备创建相应数量的子设备。
3.根据权利要求1或2所述的方法,其特征在于,所述为所述子设备创建堆叠口,并为所述堆叠口创建堆叠链路的过程,包括:
为每个子设备创建一个堆叠口,并在任意两个堆叠口之间创建堆叠链路;
或者,为任意两个子设备创建具有关联关系的堆叠口,并在具有关联关系的堆叠口之间创建堆叠链路。
4.根据权利要求1所述的方法,其特征在于,所述生成包括所述子设备、所述堆叠口和所述堆叠链路的算法拓扑之后,所述方法还包括:
当组成所述设备的子设备增加时,创建新的子设备,为所述新的子设备创建堆叠口以及所述堆叠口对应的堆叠链路,并在所述算法拓扑中为所述设备添加所述新的子设备、所述新的子设备的堆叠口和堆叠链路;和/或,
当组成所述设备的子设备减少时,确定已离开的子设备,并从所述算法拓扑中删除所述已离开的子设备、所述已离开的子设备的堆叠口和堆叠链路。
5.一种算法拓扑生成装置,应用于控制器,其特征在于,所述装置包括:
获取模块,用于获取设备的管理信息库MIB属性;
创建模块,用于当根据所述MIB属性确定所述设备为堆叠设备时,为所述设备创建子设备,并为所述子设备创建堆叠口,为所述堆叠口创建堆叠链路;
设置模块,用于为所述堆叠链路设置链路属性,所述链路属性包括:开销属性和/或带宽属性;所述开销属性为大于预设第一阈值的开销值;所述带宽属性为小于预设第二阈值的带宽值;
生成模块,用于生成包括所述子设备、堆叠口和堆叠链路的算法拓扑。
6.根据权利要求5所述的装置,其特征在于,所述创建模块,具体用于在为所述设备创建子设备的过程中,根据所述MIB属性确定组成所述设备的子设备的数量,并为所述设备创建相应数量的子设备。
7.根据权利要求5或6所述的装置,其特征在于,
所述创建模块,具体用于在为所述子设备创建堆叠口,并为所述堆叠口创建堆叠链路的过程中,为每个子设备创建一个堆叠口,并在任意两个堆叠口之间创建堆叠链路;或者,为任意两个子设备创建具有关联关系的堆叠口,并在具有关联关系的堆叠口之间创建堆叠链路。
8.根据权利要求5所述的装置,其特征在于,
所述生成模块,还用于在生成包括所述子设备、堆叠口和堆叠链路的算法拓扑之后,当组成所述设备的子设备增加时,创建新的子设备,为所述新的子设备创建堆叠口以及所述堆叠口对应的堆叠链路,并在所述算法拓扑中为所述设备添加所述新的子设备、所述新的子设备的堆叠口和堆叠链路;和/或,
当组成所述设备的子设备减少时,确定已离开的子设备,并从所述算法拓扑中删除所述已离开的子设备、所述已离开的子设备的堆叠口和堆叠链路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710197794.9A CN106998300B (zh) | 2017-03-29 | 2017-03-29 | 一种算法拓扑生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710197794.9A CN106998300B (zh) | 2017-03-29 | 2017-03-29 | 一种算法拓扑生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106998300A CN106998300A (zh) | 2017-08-01 |
CN106998300B true CN106998300B (zh) | 2020-05-12 |
Family
ID=59431926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710197794.9A Active CN106998300B (zh) | 2017-03-29 | 2017-03-29 | 一种算法拓扑生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106998300B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006184A (zh) * | 2010-11-09 | 2011-04-06 | 福建星网锐捷网络有限公司 | 堆叠链路管理方法、装置及网络设备 |
EP2641377A1 (en) * | 2010-11-18 | 2013-09-25 | Hangzhou H3C Technologies Co., Ltd. | Forwarding traffic flow in intelligent resilient framework system |
EP3086516A1 (en) * | 2013-12-19 | 2016-10-26 | Nec Corporation | Packet transfer system, controller, and method and program for controlling relay device |
-
2017
- 2017-03-29 CN CN201710197794.9A patent/CN106998300B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006184A (zh) * | 2010-11-09 | 2011-04-06 | 福建星网锐捷网络有限公司 | 堆叠链路管理方法、装置及网络设备 |
EP2641377A1 (en) * | 2010-11-18 | 2013-09-25 | Hangzhou H3C Technologies Co., Ltd. | Forwarding traffic flow in intelligent resilient framework system |
EP3086516A1 (en) * | 2013-12-19 | 2016-10-26 | Nec Corporation | Packet transfer system, controller, and method and program for controlling relay device |
Also Published As
Publication number | Publication date |
---|---|
CN106998300A (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11218423B2 (en) | Method for service implementation in network function virtualization (NFV) system and communications unit | |
CN105979007B (zh) | 加速资源处理方法、装置及网络功能虚拟化系统 | |
CN110635987B (zh) | 一种报文传输方法、装置、设备及机器可读存储介质 | |
US9742667B2 (en) | Packet processing method, device and system | |
CN107104824B (zh) | 一种网络拓扑确定方法和装置 | |
CN106878194B (zh) | 一种报文处理方法和装置 | |
CN111147370B (zh) | 确定转发路径的方法和控制设备 | |
US20150215228A1 (en) | Methods, systems, and computer readable media for a cloud-based virtualization orchestrator | |
EP3800919A1 (en) | Method, device and system for acquiring network slice | |
CN108234318B (zh) | 报文转发隧道的选取方法及装置 | |
US11240115B2 (en) | Network topology display method and network management device | |
CN105284135A (zh) | 支持软件定义网络环境中任意事件的可编程性 | |
CN107276916B (zh) | 基于协议无感知转发技术的交换机流表管理方法 | |
CN104580107A (zh) | 恶意攻击检测方法及控制器 | |
CN108566344B (zh) | 一种报文处理方法和装置 | |
CN111064750A (zh) | 一种数据中心的网络报文控制方法和装置 | |
CN107181689B (zh) | 路由器之间的消息交互方法和装置 | |
CN109861869B (zh) | 一种配置文件的生成方法及装置 | |
US20150372895A1 (en) | Proactive Change of Communication Models | |
CN106998300B (zh) | 一种算法拓扑生成方法和装置 | |
CN107547382B (zh) | 一种邻居关系发现方法和装置 | |
US20170141949A1 (en) | Method and apparatus for processing alarm information in cloud computing | |
CN108259340B (zh) | 一种拓扑信息传输方法和装置 | |
CN106161068B (zh) | 一种对网络资源的回收提示和分配方法,及控制器 | |
US9819571B2 (en) | Control apparatus and method for supplying switch with entry |
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 |