设备配置方法、系统和相关设备与流程

文档序号:20946143发布日期:2020-06-02 19:53阅读:191来源:国知局
设备配置方法、系统和相关设备与流程

本发明涉及网络技术领域,特别涉及一种设备配置方法、系统和相关设备。



背景技术:

数据中心是云计算的核心基础设施。随着云计算技术的迅速发展,数据中心之间的网络流量呈现指数性的增长,数据中心内部运行方式发生了很大的变化。变化最显著的方面之一是虚拟化技术,包括服务器虚拟化、网络虚拟化和存储虚拟化等。

服务器虚拟化的虚拟机迁移技术要求网络在二层是互通的。在跨数据中心的网络上,传统使用的技术是虚拟专用局域网业务(virtualprivatelanservice,简称:vpls),但是vpls仅仅是提供数据中心之间的二层连接,并没有改变二层域的一些特点。如为了保证网络无环阻塞掉一部分链路,链路利用率低、广播风暴在数据中心之间扩散、收敛速度慢等。应运而生的数据中心大二层技术就是为了解决数据中心之间和数据中心内部的网络问题,其中的一项技术为vxlan网络协议。目前数据中心之间多使用vxlan网络互连。然而,目前数据中心的核心设备在部分情况下会产生转发瓶颈。



技术实现要素:

发明人认识到,由于vxlan协议并没有明确的负载分担方案,在部署vxlan网络时,数据中心双活核心设备容易出现负载不均衡的情况,导致转发瓶颈。如设备启动时、租户的频繁上线和下线等情况,容易导致两台双活核心设备负载不均衡的现象。从而使得目前的vxlan转发性能较差。

本发明实施例所要解决的一个技术问题是:如何提高vxlan网络的转发性能。

根据本发明一些实施例的第一个方面,提供一种设备配置方法,包括:第一设备获取第一设备配置的vxlan网络标识vni;第一设备获取第二设备配置的vni;第一设备根据获取的vni,重新为第一设备和第二设备分配vni,使得为第一设备和第二设备分配的vni的数量差异小于预设值;第一设备将为第二设备分配的vni发送给第二设备。

在一些实施例中,设备配置方法还包括:第一设备与第二设备建立中间系统到中间系统isis邻居。

在一些实施例中,第一设备获取第二设备通过isis协议的链路状态协议数据单元lsp报文发送的、第二设备配置的vni。

在一些实施例中,第一设备通过isis协议的lsp报文,将为第二设备分配的vni发送给第二设备。

在一些实施例中,将仅在第一设备中配置的vni分配给第一设备,将仅在第二设备中配置的vni分配给第二设备。

在一些实施例中,第一设备根据获取的vni,重新为第一设备和第二设备分配vni包括:第一设备将仅在第一设备中配置的vni分配给第一设备,将仅在第二设备中配置的vni分配给第二设备;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量大于另一个设备分配的vni数量与未分配的vni数量之和的情况下,第一设备将未分配的vni分配给第一设备、第二设备中配置的vni数量少的设备,并将配置的vni数量多的设备被分配的vni中的一部分转为分配给配置的vni数量少的设备,使得为第一设备和第二设备分配的vni的数量差异小于预设值;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量等于另一个设备分配的vni数量与未分配的vni数量之和的情况下,将未分配的vni分配给第一设备、第二设备中配置的vni数量少的设备;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量小于另一个设备分配的vni数量与未分配的vni数量之和的情况下,第一设备将未分配的vni分配给第一设备、第二设备,使得为第一设备和第二设备分配的vni的数量差异小于预设值。

在一些实施例中,设备配置方法还包括:第二设备向第一设备发送第二设备配置的vni;第二设备获取第一设备为第二设备分配的vni。

根据本发明一些实施例的第二个方面,提供一种vxlan设备,vxlan设备为第一设备,包括:第一vni获取模块,被配置为获取第一设备配置的vni;第二vni获取模块,被配置为获取第二设备配置的vni;vni分配模块,被配置为根据获取的vni,重新为第一设备和第二设备分配vni,使得为第一设备和第二设备分配的vni的数量差异小于预设值;vni发送模块,被配置为将为第二设备分配的vni发送给第二设备。

在一些实施例中,vxlan设备还包括:isis邻居建立模块,被配置为与第二设备建立中间系统到中间系统isis邻居。

在一些实施例中,第二vni获取模块进一步被配置为获取第二设备通过isis协议的链路状态协议数据单元lsp报文发送的、第二设备配置的vni。

在一些实施例中,vni发送模块进一步被配置为通过isis协议的lsp报文,将为第二设备分配的vni发送给第二设备。

在一些实施例中,vni分配模块进一步被配置为将仅在第一设备中配置的vni分配给第一设备,将仅在第二设备中配置的vni分配给第二设备。

在一些实施例中,vni分配模块进一步被配置为将仅在第一设备中配置的vni分配给第一设备,将仅在第二设备中配置的vni分配给第二设备;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量大于另一个设备分配的vni数量与未分配的vni数量之和的情况下,将未分配的vni分配给第一设备、第二设备中配置的vni数量少的设备,并将配置的vni数量多的设备被分配的vni中的一部分转为分配给配置的vni数量少的设备,使得为第一设备和第二设备分配的vni的数量差异小于预设值;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量等于另一个设备分配的vni数量与未分配的vni数量之和的情况下,将未分配的vni分配给第一设备、第二设备中配置的vni数量少的设备;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量小于另一个设备分配的vni数量与未分配的vni数量之和的情况下,将未分配的vni分配给第一设备、第二设备,使得为第一设备和第二设备分配的vni的数量差异小于预设值。

根据本发明一些实施例的第三个方面,提供一种vxlan设备系统,包括:前述任意一种vxlan设备,以及第二设备,第二设备被配置为向第一设备发送第二设备配置的vni;第二设备获取第一设备为第二设备分配的vni。

根据本发明一些实施例的第四个方面,提供一种设备配置装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种设备配置方法。

根据本发明一些实施例的第五个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意一种设备配置方法。

上述发明中的一些实施例具有如下优点或有益效果:通过本发明实施例的方法,vxlan网络中的设备可以汇总自身和其他设备配置的vni,并将这些vni重新分配给每个设备,从而可以通过动态协商vni和vxlan隧道的动态绑定,将vxlan网络租户的流量尽量平均地分配给多个设备,实现了vxlan网络设备的负载均衡,提高了vxlan网络的转发性能。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明一些实施例的设备配置方法的流程示意图。

图2为根据本发明一些实施例的设备配置方法的流程示意图。

图3为tlv字段为本发明的一些实施例定义的vnitlv格式示意图。

图4为根据本发明一些实施例的vni分配方法的流程示意图。

图5为根据本发明一些实施例的设备配置方法的流程示意图。

图6为根据本发明一些实施例的vxlan设备的结构示意图。

图7为根据本发明一些实施例的vxlan设备系统的结构示意图。

图8为根据本发明一些实施例的设备配置装置的结构示意图。

图9为根据本发明另一些实施例的设备配置装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为根据本发明一些实施例的设备配置方法的流程示意图。如图1所示,该实施例的设备配置方法包括步骤s102~s108。

在步骤s102中,第一设备获取第一设备配置的vxlan网络标识(vxlannetworkidentifier,简称:vni)。

在步骤s104中,第一设备获取第二设备配置的vni。

第一设备和第二设备可以是数据中心网络中的核心设备,用户同时为用户提供vxlan网络服务,例如可以为双活数据中心中的vxlan网关等核心设备。

第一设备和第二设备可以根据用户通过vxlan视图发送的vni配置指令来完成vni的配置。例如,用户使能vxlan1的指令如下。

vxlan

vxlanenable1

又例如,用户使能vxlan1~100的指令如下。

vxlan

vxlanenable1-100

在使能了vni之后,第一设备和第二设备上的vxlan模块为每个vni分配内存、转发表等转发资源。

除了由第二设备将自身配置的vni发送给第一设备以外,还可以由第二设备将自身配置的vni发送给第一设备。

在步骤s106中,第一设备根据获取的vni,重新为第一设备和第二设备分配vni,使得为第一设备和第二设备分配的vni的数量差异小于预设值。在一些实施例中,该预设值为0或1,即在vni总数为偶数的情况下,将vni平均分配给第一设备和第二设备;在vni总数为奇数的情况下,分配给第一设备和第二设备的vni数量相差1个,从而尽量使得分配给第一设备和第二设备的vni数量接近。

在步骤s108中,第一设备将为第二设备分配的vni发送给第二设备。从而,第一设备和第二设备可以根据分配的vni进行相应的vxlan网络中的数据转发。

通过上述实施例的方法,vxlan网络中的设备可以汇总自身和其他设备配置的vni,并将这些vni重新分配给每个设备,从而可以通过动态协商vni和vxlan隧道的动态绑定,将vxlan网络租户的流量尽量平均地分配给多个设备,实现了vxlan网络设备的负载均衡,提高了vxlan网络的转发性能。

在一些实施例中,不同的vxlan网络设备之间可以通过中间系统到中间系统(intermediatesystemtointermediatesystem,简称:isis)协议来完成vni的学习过程。下面参考图2描述本发明设备配置方法的实施例。

图2为根据本发明一些实施例的设备配置方法的流程示意图。如图2所示,该实施例的设备配置方法包括步骤s202~s204。

在步骤s202中,第一设备与第二设备建立isis邻居。

下面示例性地介绍第一设备与第二设备建立isis邻居的过程。若第一设备和第二设备是三层路径可达的,则可以在第一设备和第二设备上配置使能isis,并在用于建立邻居的接口上使能isis。第一设备和第二设备中的isis模块通过该接口发送广播的hello报文,并携带自身的信息,例如dis(designatedintermediasystem,指定中间系统)优先级、用于表示设备的isis标识的isisnetwork-entity(网络实体)等。当一个设备的isis模块收到hello报文后,查看是否有本地的isisnetwork-entity,如果有则two-way(双向)通过,邻居关系建立;如果没有,则把对端的isisnetwork-entity加到本地接口的hello报文中广播出去。

在步骤s204中,响应于第一设备的优先级高于第二设备,第一设备作为主设备。主设备是指用于确定vni的分配的设备。

在一些实施例中,第一设备和第二设备可以通过比较接口的mac地址的大小来确定优先级,mac地址大的设备优先级高。此外,第一设备和第二设备还可以接收用户通过接口视图配置的优先级。

然后,第一设备和第二设备可以基于isis协议交换vni,交换的vni可以是每个设备原本配置的vni,也可以是主设备为从设备分配的vni。从而,第一设备和第二设备可以基于isis协议承载vni。isis协议具有易扩展的特点,因此本发明可以利用现有协议实现基于isis的vni学习过程。

在第一设备和第二设备基于isis协议建立连接后,还可以执行步骤s206~s210。

在步骤s206中,第一设备获取第一设备配置的vni。

在步骤s208中,第一设备获取第二设备通过isis协议的链路状态协议数据单元(linkstateprotocoldataunit,简称:lsp)报文发送的、第二设备配置的vni。

isis是一种链路状态协议,isis的协议报文为lsp报文,用于发布链路状态信息。

在步骤s210中,第一设备根据获取的vni,重新为第一设备和第二设备分配vni,使得为第一设备和第二设备分配的vni的数量差异小于预设值。

从而,第二设备可以基于isis协议的lsp报文发送自身配置的vni。

在第一设备完成vni分配后,还可以执行步骤s212。

在步骤s212中,第一设备通过isis协议的lsp报文,将为第二设备分配的vni发送给第二设备。

从而,第一设备可以基于isis协议的lsp报文发送为第二设备分配的vni。

在一些实施例中,可以通过在lsp报文中新增tlv(type-length-value,类型-长度-值)字段来携带vni信息。在一些实施例中,可以在isislsp报文的variablelengthfields字段中携带用于承载vni的tlv。图3为tlv字段为本发明的一些实施例定义的vnitlv格式示意图。如图3所示,该格式包括type、length、value字段,其中,type字段分为同步和分配两种,分别用于同步vni(例如步骤s208)和分配vni(例如步骤s212);value字段为vni的集合,每个vni的值占据4个字节,vni标识自身占据3个字节,1个字节为保留(reserve)字节,一个vnitlv最多可携带64个vni。

通过上述实施例的方法,本发明可以在vxlan网络中,通过isis协议在设备之间同步、计算和分配vni,实现了vni分配和vxlan隧道绑定的自动化配置,提高了配置效率和配置的准确性。

在一些实施例中,当分配vni时,可以将仅在第一设备中配置的vni分配给第一设备,将仅在第二设备中配置的vni分配给第二设备。从而可以降低重新分配vni后的配置工作量,提高了系统的运行效率。根据需要,还可以基于这一分配原则进行调整,以达到第一设备和第二设备的负载均衡。下面参考图4描述本发明vni分配方法的实施例。

图4为根据本发明一些实施例的vni分配方法的流程示意图。如图4所示,该实施例的vni分配方法包括步骤s402~s410。

在步骤s402中,将仅在第一设备中配置的vni分配给第一设备,将仅在第二设备中配置的vni分配给第二设备。

该分配过程可以视为一种预分配的过程。在后续的步骤中,如果第一设备和第二设备分配的vni数量不平衡,原本配置给其中一个设备的vni也可以被分配给另一个设备。

在步骤s404中,判断第一设备、第二设备中的分配的vni数量多的设备分配的vni数量与另一个设备分配的vni数量与未分配的vni数量之和的关系。如果大于,执行步骤s406;如果小于,执行步骤s408;如果一个设备分配的vni数量等于另一个设备分配的vni数量与未分配的vni数量之和,执行步骤s410。

在步骤s406中,将未分配的vni分配给第一设备、第二设备中配置的vni数量少的设备,并将配置的vni数量多的设备被分配的vni中的一部分转为分配给配置的vni数量少的设备,使得为第一设备和第二设备分配的vni的数量差异小于预设值。

由于部分仅在一个设备配置的vni被转而分配给了另一个设备,因此另一个设备可以向用户反馈已分配但未配置的vni,以便用户向另一个设备发送指令,以完成这部分vni的配置工作。

在步骤s408中,将未分配的vni分配给第一设备、第二设备,使得为第一设备和第二设备分配的vni的数量差异小于预设值。

例如,设仅在第一设备配置的vni数量为v1,仅在第二设备配置的vni数量为v2,第一设备和第二设备均配置的vni数量为v12,v1>v2。

在步骤s410中,将未分配的vni分配给第一设备、第二设备中配置的vni数量少的设备。

如果v1>v2+v12,即第一设备配置的vni数量多,并且第一设备分配的vni数量大于第二设备分配的vni数量与未分配的vni数量之和,则可以将未分配的v12个vni全部分配给第二设备,同时把第一设备已分配的部分vni分配给第二设备,使得第一设备和第二设备分配的vni尽量相等。

如果v1<v2+v12,则可以将未分配的v12个vni分别分配给第一设备和第二设备,使得第一设备和第二设备分配的vni尽量相等。

如果v1=v2+v12,则可以直接将未分配的v12个vni全部分配给第二设备。

通过上述实施例的方法,可以在尽量为设备分配其已配置的vni的前提下,尽可能地将vni平均分配给不同的设备,实现了vxlan网络设备的负载均衡。

下面参考图5描述本发明设备配置方法的一个应用场景。

图5为根据本发明一些实施例的设备配置方法的流程示意图。如图5所示,该实施例的设备配置方法包括

在步骤s502中,数据中心的两台核心设备vtep1和vtep2建立isis邻居。vtep1配置了vxlan1~vxlan5,vtep2配置了vxlan6~vxlan20。

在步骤s504中,根据优先级,选举vtep1作为主设备。

在步骤s506中,vtep1和vtep2在本地配置vni后,通过api接口将自身配置的vni上报给设备中的isis模块。

在步骤s508中,vtep1和vtep2通过各自的isis模块,使用lsp报文进行vni的同步。

在步骤s510中,作为主设备的vtep1采用isis模块计算为vtep1和vtep2的vni分配情况。经计算,将vxlan1~vxlan10分配给vtep1,将vxlan11~vxlan20分配给vtep2。

在步骤s512中,vtep1通过isis模块,使用lsp报文将为vtep2分配的vxlan11~vxlan20发送给vtep2的isis模块。

在步骤s514中,vtep1和vtep2的isis模块通过调用api接口,将各自分配到的vni下发给vxlan模块。

在步骤s516中,vtep1和vtep2的vxlan模块使能下发的vni,并将vni与vxlan隧道进行绑定。

在步骤s518中,vtep1和vtep2根据分配的vni转发vxlan网络中的租户流量。

下面参考图6描述本发明vxlan设备的实施例。

图6为根据本发明一些实施例的vxlan设备的结构示意图。如图6所示,该实施例的vxlan设备600包括:第一vni获取模块6100,被配置为获取第一设备配置的vni;第二vni获取模块6200,被配置为获取第二设备配置的vni;vni分配模块6300,被配置为根据获取的vni,重新为第一设备和第二设备分配vni,使得为第一设备和第二设备分配的vni的数量差异小于预设值;vni发送模块6400,被配置为将为第二设备分配的vni发送给第二设备。

在一些实施例中,vxlan设备600还包括:isis邻居建立模块6500,被配置为与第二设备建立中间系统到中间系统isis邻居。

在一些实施例中,第二vni获取模块6200进一步被配置为获取第二设备通过isis协议的链路状态协议数据单元lsp报文发送的、第二设备配置的vni。

在一些实施例中,vni发送模块6400进一步被配置为通过isis协议的lsp报文,将为第二设备分配的vni发送给第二设备。

在一些实施例中,vni分配模块6300进一步被配置为将仅在第一设备中配置的vni分配给第一设备,将仅在第二设备中配置的vni分配给第二设备。

在一些实施例中,vni分配模块6300进一步被配置为将仅在第一设备中配置的vni分配给第一设备,将仅在第二设备中配置的vni分配给第二设备;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量大于另一个设备分配的vni数量与未分配的vni数量之和的情况下,将未分配的vni分配给第一设备、第二设备中配置的vni数量少的设备,并将配置的vni数量多的设备被分配的vni中的一部分转为分配给配置的vni数量少的设备,使得为第一设备和第二设备分配的vni的数量差异小于预设值;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量等于另一个设备分配的vni数量与未分配的vni数量之和的情况下,将未分配的vni分配给第一设备、第二设备中配置的vni数量少的设备;在第一设备、第二设备中的分配的vni数量多的设备分配的vni数量小于另一个设备分配的vni数量与未分配的vni数量之和的情况下,将未分配的vni分配给第一设备、第二设备,使得为第一设备和第二设备分配的vni的数量差异小于预设值。

下面参考图7描述本发明vxlan设备系统的实施例。

图7为根据本发明一些实施例的vxlan设备系统的结构示意图。如图7所示,该实施例的vxlan设备系统70包括第一设备710和第二设备720。第一设备710的具体实施方式可以参考图6实施例中的vxlan设备600。

第二设备720被配置为向第一设备发送第二设备配置的vni;第二设备获取第一设备为第二设备分配的vni。第二设备720也是一种vxlan设备。

图8为根据本发明一些实施例的设备配置装置的结构示意图,该设备配置装置例如可以位于vxlan设备中。如图8所示,该实施例的设备配置装置80包括:存储器810以及耦接至该存储器810的处理器820,处理器820被配置为基于存储在存储器810中的指令,执行前述任意一个实施例中的设备配置方法。

其中,存储器810例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

图9为根据本发明另一些实施例的设备配置装置的结构示意图,该设备配置装置例如可以位于vxlan设备中。如图9所示,该实施例的设备配置装置90包括:存储器910以及处理器920,还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930,940,950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为sd卡、u盘等外置存储设备提供连接接口。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种设备配置方法。

本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1