本发明涉及网络技术领域,具体是涉及一种分布式交换机的资源id管理方法及系统。
背景技术:
交换机上各单盘的子交换机通常独立转发业务,每个子交换机的转发资源表的封装资源id分配互不相干,不需指定值。为了满足日益增长的交换容量需求,可以将多个物理子交换机在逻辑上连接形成一个大容量的分布式交换机。分布式交换机上任意两端口之间的报文通过单跳转发,该任意两端口可以属于不同的子交换机,例如,在入口子交换机通过出口子交换机将报文发送至指定的目的端口之前,出口子交换机需要首先创建对报文进行封装所需的封装参数,并将该封装参数对应的封装资源id通知入口子交换机,入口子交换机将报文连同指定的目的端口和封装资源id转发到出口子交换机。由于一些分布式交换机的各子交换机均有各自独立的cpu,出口子交换机通常先自动创建分配封装资源id,将封装资源id通过cpu之间的通信通知入口子交换机,入口子交换机再用该封装资源id指定创建业务的封装。当分布式交换机处理的业务量很大,尤其是涉及点对多点的业务时,造成各子交换机之间通信复杂,报文转发效率低,交换机的整体运行和维护难度增加。
技术实现要素:
针对现有技术中存在的缺陷,本发明的主要目的在于提供一种分布式交换机的资源id管理方法,本发明的另一目的在于提供一种分布式交换机封装资源id的管理系统,各子交换机之间无需相互通知本地资源id,减轻了各子交换机的通信负荷,从而提高了报文转发效率以及分布式交换机的运行效率。
本发明提供一种分布式交换机的资源id管理方法,分布式交换机包括网络管理设备和若干子交换机,网络管理设备与所有子交换机分别连接,所述资源id管理方法包括以下步骤:
网络管理设备为两个子交换机之间的报文转发业务创建配置信息,并将所述配置信息发送到报文转发相关的两个子交换机,其中,所述配置信息包括报文转发相关的两个子交换机的匹配参数、封装参数以及本地资源id,所述本地资源id由网络管理设备分配给报文转发相关的两个子交换机以标识所述匹配参数和封装参数;
每一个子交换机根据接收的所述配置信息设置报文转发业务的匹配参数和/或封装参数。
在上述技术方案的基础上,在网络管理设备为两个子交换机之间的报文转发业务创建配置信息之前,所述方法还包括:网络管理设备为每一个子交换机分配若干所述本地资源id,并创建一用于存储所述本地资源id的本地资源池。
在上述技术方案的基础上,所述本地资源id包括标识所述匹配参数的本地匹配id和标识所述封装参数的本地封装id。
在上述技术方案的基础上,当所述两个子交换机为入口子交换机和出口子交换机时,
网络管理设备从所述入口子交换机的本地资源池中获取一未被使用的本地匹配id,从所述出口子交换机的本地资源池中获取一未被使用的本地封装id,并在入口子交换机和出口子交换机的的本地资源池中将获取的所述本地匹配id和本地封装id分别设置为使用状态。
在上述技术方案的基础上,每一个子交换机均包括匹配硬件表和封装硬件表;
每一个子交换机根据接收的所述配置信息设置报文转发业务的匹配参数和/或封装参数包括:
每一个子交换机分析所述配置信息中的匹配参数;
当所述子交换机根据分析结果判定为所述入口子交换机时,将所述匹配参数和本地封装id写入所述匹配硬件表的指定条目中,所述匹配硬件表的指定条目的id与所述本地匹配id相同;
当所述子交换机根据分析结果判定为所述出口子交换机时,将所述配置信息中的封装参数写入所述封装硬件表的指定条目中,所述封装硬件表的指定条目与所述本地封装id相同。
在上述技术方案的基础上,网络管理设备删除两个子交换机之间的报文转发业务时,通知所述两个子交换机分别清空报文转发业务的匹配参数和/或封装参数。
在上述技术方案的基础上,所述方法还包括:
网络管理设备为若干子交换机之间的报文转发业务创建全局配置信息,并将所述全局配置信息发送到报文转发相关的所有子交换机,所述全局配置信息包括全局匹配参数、全局封装参数以及全局资源id,所述全局资源id由网络管理设备分配给报文转发相关的若干子交换机以标识所述全局匹配参数和全局封装参数;
报文转发相关的若干子交换机根据接收的所述全局配置信息设置报文转发业务的所述全局匹配参数和/或全局封装参数。
在上述技术方案的基础上,在网络管理设备为若干子交换机之间的报文转发业务创建全局配置信息之前,所述方法还包括:网络管理设备创建用于存储所述全局资源id的全局资源池。
本发明还提供一种分布式交换机的资源id管理系统,分布式交换机包括网络管理设备和若干子交换机,网络管理设备与所有子交换机分别连接;
所述网络管理设备包括分配模块,所述分配模块用于为两个子交换机之间的报文转发业务创建配置信息,并将所述配置信息发送到报文转发相关的两个子交换机,其中,所述配置信息包括报文转发相关的两个子交换机的匹配参数、封装参数以及本地资源id,所述本地资源id由网络管理设备分配给报文转发相关的两个子交换机以标识所述匹配参数和封装参数;
每一个子交换机均包括控制模块,所述控制模块用于根据接收的所述配置信息设置报文转发业务的匹配参数和/或封装参数。
在上述技术方案的基础上,所述分配模块还用于为若干子交换机之间的报文转发业务创建全局配置信息,并将所述全局配置信息发送到报文转发相关的所有子交换机,所述全局配置信息包括全局匹配参数、全局封装参数以及全局资源id,所述全局资源id由网络管理设备分配给报文转发相关的若干子交换机以标识所述全局匹配参数和全局封装参数;
报文转发相关的若干子交换机根据接收的所述全局配置信息设置报文转发业务的所述全局匹配参数和/或全局封装参数。
与现有技术相比,本发明的优点如下:
(1)网络管理设备将带有本地资源id的配置信息发送到报文转发相关的两个子交换机,因此,两个子交换机之间无需相互通知本地资源id,减轻了各子交换机的通信负荷,从而提高了报文转发效率以及分布式交换机的运行效率。
(2)由于分配给各子交换机的本地资源id可以相同,也可以不相同,可用于进行报文转发的本地资源id的总数大幅增加,并可以高效地利用各子交换机的硬件资源,进而能够提高分布式交换机的容量和性能。
(3)网络管理设备分配全局资源id,并且将带有全局封装id的全局配置信息发送到报文转发相关的若干子交换机,各子交换机之间无需相互通知全局封装id,降低各子交换机之间的通信难度,避免因各子交换机之间的通信故障造成业务无法实现,从而高效地实现点对多点业务,进一步提高分布式交换机的运行性能和效率。
附图说明
图1是本发明实施例分布式交换机的资源id管理方法流程图;
图2是本发明实施例分布式交换机的资源id管理系统示意图。
具体实施方式
本发明的原理在于:分布式交换机的资源id包括本地资源id和全局资源id。网络管理设备cpu对分布式交换机的所有子交换机的本地资源id按本地化分配模式统一管理,每一个子交换机都按网络管理设备分配的本地资源id值以with_id即指定id的模式定义资源表信息和创建业务,即半边业务模型,这样可以高效地利用各子交换机的硬件资源,而且分布式交换机的业务数量是各子交换机容量总和。对于某些特殊业务,例如用于点对多点业务保护倒换的指针因涉及到多个子交换机的同时id同步,从而必须全局化,此时对所有子交换机统一规划全局资源id,按全局化管理,全局资源id数量按实际应用场景设计。
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种分布式交换机的资源id管理方法,分布式交换机包括网络管理设备和若干子交换机,网络管理设备与所有子交换机分别连接,网络管理设备包括一cpu,每一个子交换机均包括一cpu,每一个子交换机均包括匹配硬件表和封装硬件表。
本资源id管理方法包括以下步骤:
s1.网络管理设备为每一个子交换机分配若干本地资源id,并创建一用于存储本地资源id的本地资源池。
s2.网络管理设备为两个子交换机之间的报文转发业务创建配置信息,并将配置信息发送到报文转发相关的两个子交换机,其中,配置信息包括报文转发相关的两个子交换机的匹配参数、封装参数以及本地资源id,本地资源id由网络管理设备分配给报文转发相关的两个子交换机以标识匹配参数和封装参数。
具体的,本地资源id可以为整数组成的序列号值,本地资源id包括标识匹配参数的本地匹配id和标识封装参数的本地封装id,本地匹配id和本地封装id均可以采用整数组成的序列号值,例如1,2,......,或者11,12,......。
网络管理设备为每一个子交换机分配若干本地资源id,并存入该子交换机对应的本地资源池,本地资源id分配完成时均为未被使用状态。当网络管理设备为两个子交换机之间的报文转发业务创建配置信息时,可以直接从子交换机的本地资源池中获取未被使用的本地资源id,便于网络管理设备监控每一个子交换机的所有本地资源id的使用情况和状态,为新的报文转发业务创建配置信息时效率更高。而且,分配给各子交换机的本地资源id可以完全相同,各子交换机上相同的业务类型可以采用相同的本地匹配id或者本地封装id,便于对分布式交换机的业务进行管理。
由于分配给各子交换机的本地资源id可以相同,也可以不相同,完全各自独立,分布式交换机可用于进行报文转发的业务数量是各子交换机本地资源id的总和,因此提高了分布式交换机的容量和性能。
具体的,当两个子交换机为入口子交换机和出口子交换机时,在入口子交换机通过出口子交换机将报文发送至指定的目的端口之前,出口子交换机需要首先创建对报文进行封装所需的封装参数,并将该封装参数对应的封装id通知入口子交换机,即id同步,入口子交换机将报文连同指定的目的端口和封装id转发到出口子交换机。因此,网络管理设备从入口子交换机的本地资源池中获取一未被使用的本地匹配id,从出口子交换机的本地资源池中获取一未被使用的本地封装id,并在两个子交换机的本地资源池中将获取的本地匹配id和本地封装id分别设置为使用状态。
s3.每一个子交换机根据接收的配置信息设置报文转发业务的匹配参数和/或封装参数。
当两个子交换机为入口子交换机和出口子交换机时,对于点对点双向业务,入口子交换机只需设置报文转发业务的匹配参数,出口子交换机只需设置报文转发业务的封装参数。对于点对点双向业务,入口子交换机和出口子交换机均需设置报文转发业务的匹配参数和封装参数。
步骤s3具体包括:
每一个子交换机分析配置信息中的匹配参数。
当子交换机根据分析结果判定为入口子交换机时,将匹配参数和本地封装id写入匹配硬件表的指定条目中,匹配硬件表的指定条目的id与本地匹配id相同。
当子交换机根据分析结果判定为出口子交换机时,将配置信息中的封装参数写入封装硬件表的指定条目中,封装硬件表的指定条目与本地封装id相同。
网络管理设备将带有本地资源id的配置信息发送到报文转发相关的两个子交换机,因此,两个子交换机之间无需相互通知本地资源id,减轻了各子交换机的通信负荷,从而提高了报文转发效率以及分布式交换机的运行效率。
在其他实施例中,步骤s1还可以包括:网络管理设备创建用于存储全局资源id的全局资源池。
步骤s2还可以包括:网络管理设备为若干子交换机之间的报文转发业务创建全局配置信息,并将全局配置信息发送到报文转发相关的所有子交换机,全局配置信息包括全局匹配参数、全局封装参数以及全局资源id,全局资源id由网络管理设备分配给报文转发相关的若干子交换机以标识全局匹配参数和全局封装参数。
全局资源id不同于所有的本地资源id,全局资源id可以为整数组成的序列号值,全局资源id包括标识全局匹配参数的全局匹配id和标识全局封装参数的全局封装id,全局匹配id和全局封装id均可以采用整数组成的序列号值,例如100,200,......。
步骤s3还可以包括:报文转发相关的若干子交换机根据接收的全局配置信息设置报文转发业务的全局匹配参数和/或全局封装参数。
例如点对多点业务中包括一个入口子交换机和多个出口子交换机时,网络管理设备从全局资源池中获取一未被使用的全局匹配id和一未被使用的全局封装id,并在全局资源池中将获取的全局匹配id和全局封装id分别设置为使用状态。
入口子交换机将全局匹配参数和全局封装id写入匹配硬件表的指定条目中,匹配硬件表的指定条目的id与全局匹配id相同。多个出口子交换机分别将配置信息中的封装参数写入各自的封装硬件表的指定条目中,封装硬件表的指定条目与全局封装id相同。
网络管理设备分配全局资源id,并且将带有全局封装id的全局配置信息发送到报文转发相关的若干子交换机,各子交换机之间无需相互通知全局封装id,降低各子交换机之间的通信难度,避免因各子交换机之间的通信故障造成业务无法实现,从而高效地实现点对多点业务,进一步提高分布式交换机的运行性能和效率。
在上述步骤s3之后,本资源id管理方法还可以包括:
s4.网络管理设备删除两个子交换机之间的报文转发业务时,通知两个子交换机分别清空报文转发业务的匹配参数和/或封装参数,并将本地资源id的状态从使用重置为未被使用。
具体的,当网络管理设备删除两个子交换机之间的报文转发业务时,通知两个子交换机分别清空设置报文转发业务的参数,即入口子交换机清空匹配硬件表的指定条目中的匹配参数和本地封装id,出口子交换机清空封装硬件表的指定条目中的封装参数,网络管理设备将两个子交换机的本地资源池中被删除的报文转发业务对应的本地资源id从使用状态重置为未被使用状态,实现对本地资源id的回收。
当网络管理设备删除若干子交换机之间的报文转发业务时,通知相关的所有子交换机分别清空设置报文转发业务的参数,即入口子交换机清空匹配硬件表的指定条目中的匹配参数和全局封装id,出口子交换机清空封装硬件表的指定条目中的封装参数,网络管理设备将相关的所有子交换机的本地资源池中被删除的报文转发业务对应的全局资源id从使用状态重置为未被使用状态,实现对全局资源id的回收。
下面以一个点对点双向业务为例,对上述实施例具体说明:对于3个子交换机a、b、c,网络管理设备的cpu对于子交换机a、b和c分别创建一个本地资源池,本地资源池用于存储与其相对应的子交换机的本地资源id,本地资源id包括匹配id和封装id,匹配id和封装id分别用于与其相对应的子交换机的两个硬件资源表(匹配硬件表和封装硬件表)的管理。
建一条点对点双向业务以实现:
a.1(子交换机所在单盘a的端口1)进包vlan=50到b.2出包vlan=60,其中,从a.1到b.2为匹配参数,匹配参数包括两个子交换机之间转发报文的端口参数,封装参数为出去的帧打上vlan=60。
反向即b.2进包vlan=61。到a.1出包vlan=51,其中,从b.2到a.1为匹配参数,封装参数为出去的帧打上vlan=51。
网络管理设备的cpu从子交换机a的本地资源池中取出匹配id=2,封装id=2,并置位这些匹配id和封装id均为使用状态,从子交换机b的本地资源池中取出匹配id=4,封装id=5,并置位这些匹配id和封装id均为使用状态。
上述子交换机a和b的匹配id和封装id连同业务配置其他通用参数(即匹配参数和封装参数)构成配置信息后一起下发到子交换机所在单盘a(子交换机a)和子交换机所在单盘b(子交换机b)。
子交换机a收到配置信息后,在匹配硬件表的条目2上定义:端口1的vlan=50的包目的地为b.2,远端封装为5;在封装硬件表的条目2上定义:出去的帧打上vlan=51。
子交换机b收到配置信息后,在匹配硬件表的条目4上定义:端口2的vlan=61的包目的地为a.1,远端封装为2;在封装硬件表的条目5上定义:出去的帧打上vlan=60。
这样业务就正常转发了,先在本子交换机按默认定义将入包vlan删除,并指定在出口子交换机所完成的封装id,然后在出口子交换机完成新vlan的最后封装。在上述整个过程中,网络管理设备的cpu无需对子交换机c的本地资源池进行操作,子交换机c也无需进行操作。
在删除业务时,则子交换机a和子交换机b会对匹配硬件表和封装硬件表上这些匹配id和封装id清空。网络管理设备在下完删除命令后会对这些匹配id和封装id置位为可用即回收匹配id和封装id资源。
参见图2所示,本发明还提供一种分布式交换机的资源id管理系统,分布式交换机包括网络管理设备和若干子交换机,网络管理设备与所有子交换机分别连接。网络管理设备包括一cpu,每一个子交换机均包括一cpu,每一个子交换机均包括匹配硬件表和封装硬件表。
网络管理设备包括分配模块,分配模块用于为两个子交换机之间的报文转发业务创建配置信息,并将配置信息发送到报文转发相关的两个子交换机,其中,配置信息包括报文转发相关的两个子交换机的匹配参数、封装参数以及本地资源id,本地资源id由网络管理设备分配给报文转发相关的两个子交换机以标识匹配参数和封装参数。
每一个子交换机均包括控制模块,控制模块用于根据接收的配置信息设置报文转发业务的匹配参数和/或封装参数。
在其他实施例中,分配模块还用于为若干子交换机之间的报文转发业务创建全局配置信息,并将全局配置信息发送到报文转发相关的所有子交换机,全局配置信息包括全局匹配参数、全局封装参数以及全局资源id,全局资源id由网络管理设备分配给报文转发相关的若干子交换机以标识全局匹配参数和全局封装参数。
报文转发相关的若干子交换机根据接收的全局配置信息设置报文转发业务的全局匹配参数和/或全局封装参数。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。