一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实现网络设备高可用和负载分担的方法与流程

2022-04-02 08:54:01 来源:中国专利 TAG:


1.本发明涉及流量切换技术领域,具体地说,是一种实现网络设备高可用和负载分担的方法,用于设备在多机高可用组网模式下,流量的负载分担和主备切换,和传统基于vrrp协议的高可用实现方案相比,采用本方案后设备状态的收敛速度更快,系统整体的资源的利用率和稳定性也更高。


背景技术:

2.现有技术中为了提高网络设备的可靠性,最常采用的便是vrrp(virtual router redundancy protocol,虚拟路由器冗余协议)技术。路由器和防火墙等网络设备在部署时为了提高系统的可靠性通常会采用双机热备的部署方式,通过配置vrrp虚拟路由组完成主备设备之间的状态协商和流量切换,保证在任意一台设备发生故障的情况下业务流量都能的正常转发,极大的提高了的系统的稳定性。但同时也存在以下几个问题:1.vrrp在运行时只有master,backup两种状态,和这两种状态对应的设备要么处理所有的业务流量,要么就一直处于空闲状态。即使两台设备都没有故障正常运转,仍然只有其中一台在处理业务流量,这样就降低了备设备的资源的利用率;2.vrrp在状态协商过程中只有主设备一直在发送心跳报文,备设备处于被动接收的状态,备设备能感知到主设备状态,但主设备却无法感知到备设备的状态,这样可能导致双方在做状态协商时收敛速度较慢;3.vrrp的协商都是基于虚拟路由组的,如果多个虚拟路由组之间的流量有关联需要协同切换,现有协议并不支持。
3.为了解决vrrp的缺陷,现在也常用vrrpe技术,vrrpe(vrrp extended,vrrp扩展)技术其实还是vrrp技术的扩展,它在虚拟网关冗余备份功能基础上增加了负载分担功能。vrrpe实现的原理为:将一个虚ip地址与多个虚拟mac(media access control,媒体访问控制)地址对应,vrrp备份组中每台路由器都对应一个虚拟mac地址;master路由器使用不同的虚拟mac地址应答主机的arp(address resolution protocol,地址解析协议)/nd(neighbor discovery,邻居发现)请求,从而使得不同主机的流量发送到不同的路由器,备份组中的每台路由器都能转发流量,vrrp将多台物理设备划分到一个虚拟路由组中,对外这些设备就是一台虚拟的设备,拥有自己的ip(虚ip)和mac(虚mac),网络中其他设备就只需要知道虚拟路由组的虚ip即可。在vrrp备份组配置好以后,流量都通过master设备转发,当master发生故障时,master会切换为backup状态并通过协商在备份组的backup设备中重新选举出一台设备切换到master状态承担转发任务,避免了单一设备故障导致的网络故障问题,整个切换过程对外面的其他主机来说都是透明的,但是在vrrp备份组中,只有master路由器可以转发报文,backup路由器处于监听状态,不参与报文的转发,导致了资源浪费。还有的解决方式是通过引入第三方设备完成流量的切换和负载均担,比如引入二层交换机等解决方式。
4.上述解决方式的缺点为在vrrp协议上改进,但受限于原始协议master设备无法判
断backup设备状态,这样如果backup设备在运行过程中有故障产生,就无法进行自动的切换回原来的主备模式,造成流量中断。总之,只能是在负载均衡和主备模式之间二选一,在不改动原有协议的基础无法同时满足两个需求。必须改动原有的网络的拓扑结构,引入新的专有的设备,这样无疑就增加了部署的难度,以及硬件成本和时间成本。
5.因此,亟需一种技术方案,能够在不改变现有网络拓扑结构和不引入新设备的前提下,同时实现流量的负载均衡以及设备在故障时的自动切换。


技术实现要素:

6.本发明的目的在于提供一种实现网络设备高可用和负载分担的方法,实现设备状态的协商、流量的高可用和流量的负载分担功能,采用本方法后能达到设备状态的收敛速度更快,系统整体的资源的利用率和稳定性更高的效果。
7.本发明通过下述技术方案实现:一种实现网络设备高可用和负载分担的方法,包括以下步骤:步骤s1.配置设备,并将设备的状态划为初始状态、主状态、备状态和负载均衡状态;步骤s2.对初始状态的设备进行虚拟路由组配置后,开启设备之间的协商过程;步骤s3.根据协商过程获取基于优先级的设备的四类状态协商切换方案;步骤s4.根据协商过程、vrrpe技术和分布式hash的一致性算法,进行流量的负载均衡和设备的主备状态切换。
8.本发明通过创新性的设备状态协商和流量切换方案,实现了在设备在多机高可用组网模式下,流量的负载分担和主备切换,和传统基于vrrp协议的高可用实现方案相比,采用本技术方案后设备状态的收敛速度更快,系统整体的资源的利用率和稳定性也更高。
9.为了更好的实现本发明,进一步地,步骤s1中配置设备包括:设备之间通过心跳线直连;根据设备转发对应的网络之间的流量。
10.在本技术方案中设备之间通过心跳线直连,互相通过心跳报文通告对方自己当前运行的状态。
11.为了更好地实现本发明,进一步地,步骤s1中设备的状态包括:设备初始态时未对负载系统进行集群配置,此时按照单机的方式运行设备;设备主状态和备状态时,当前负载系统中有一台设备产生故障不再参与流量的转发,流量都通过另外一台设备转发;设备负载均衡状态时,设备正常运行且承载网络中的部分流量。
12.本技术方案能够支持多个虚拟路由组之间的流量的协同切换。
13.为了更好地实现本发明,进一步地,步骤s2包括:步骤s2.1.将两个设备配置为一个虚拟路由组,非初始化状态的设备通过组播的方式向心跳口周期性的发送心跳信息;心跳信息包括设备本身当前的状态和设备的优先级;步骤s2.2.将所有设备的初始优先级都配置相同,判断设备在运行过程中是否有故障产生,如果是,则在发送通告报文时将优先级降低,收到报文后设备对比对方设备的优
先级和本设备的优先级,判断是否相同,并进入步骤s2.3;步骤s2.3.如果是,判断当前设备都在正常运行;如果否,判断哪一方的优先级低,如果是对方优先级低,认为对方设备产生故障,当前设备正常运行,如果本设备优先级低,判断当前设备产生故障,对方设备正常运行。
14.在本技术方案中,心跳信息中包含设备本身当前的状态和设备的优先级,所有设备的初始优先级都相同,如果在运行过程中有故障产生,则在发送通告报文时将优先级降低,故障越多优先级越低。
15.为了更好地实现本发明,进一步地,步骤s2还包括:设备处于初始状态时,完成虚拟路由组配置后将设备切换到备状态,取消虚拟路由组配置后设备又将从其他状态恢复到初始状态。
16.在本技术方案中,通过配置vrrp虚拟路由组完成主备设备之间的状态协商和流量切换。
17.为了更好地实现本发明,进一步地,步骤s3包括:切换到备状态后的设备通过组播的方式,向其他设备通告自己当前的状态和优先级;如果在指定时间间隔内备设备都未收到其他设备的通告报文,则将自己切换到主状态;如果收到了其他设备的通告报文,当对端报文优先级和自己相同时则切换到负载均衡状态,对端优先级较低则切换到主状态,对端优先级较高则保持当前状态;当设备运行在主状态,会定期向其他设备发送状态报文,收到其他设备的状态报文后,如果对端的优先级较高,则切换到备状态,如果优先级相同则切换到负载均衡状态;其他情况下就继续保持主状态运行;当设备运行在负载均衡状态,仍会定期发送状态报文;在收到其他设备发送的报文后如果发现对端优先级较高则切换到备状态,如果本端优先级较高则切换到主状态,超时未收到任何报文切换到主状态。
18.在本技术方案中,通过组播、主动协商、实现了一种基于优先级的四类状态协商和切换方案,能够更加实时、准确的表现当前系统的运行状态。
19.为了更好地实现本发明,进一步地,步骤s4包括:当每台设备都获取到当前网络中其他设备的运行状态时,将其中主状态或者负载均衡状态的设备按照心跳口ip进行排序,经过学习后获取到当前负载系统中的设备列表;根据vrrpe的技术将一个设备的虚ip和多个虚拟mac地址对应,并将虚拟路由组中不同的设备对应不同的虚拟mac;当收到arp请求后,虚拟路由组的设备根据请求的源地址做hash运算;根据hash运算在当前正常运行的设备列表中选出一台设备,用该设备的虚拟mac响应;客户端根据虚拟mac响应解析到不同的mac地址,并通过不同的设备转发对应的网络之间的流量。
20.本技术方案通过分布式的hash一致性算法,实现了流量的主备切换和负载均衡。
21.本发明与现有技术相比,具有以下优点及有益效果:(1)本发明通过组播、主动协商、实现了一种基于优先级的四类状态协商和切换方案,能够更加实时、准确的表现当前系统的运行状态;
(2)本发明通过分布式的hash一致性算法,实现了流量的主备切换和负载均衡;(3)本发明提供了一种自动化的设备状态协商和流量切换方案,可以保证在设备高可用配置的前提下更加合理的分配和使用系统的资源;(4)本发明可以在不改动网络拓扑和引入其他设备的情况下,平滑的实现虚拟路由组设备的高可用和负载均担。
附图说明
22.本发明结合下面附图和实施例做进一步说明,本发明所有构思创新应视为所公开内容和本发明保护范围。
23.图1为本发明所提供的一种实现网络设备高可用和负载分担的方法的流程图。
24.图2为本发明所提供的一种实现网络设备高可用和负载分担的方法的虚拟路由组展示图。
25.图3为本发明所提供的一种实现网络设备高可用和负载分担的方法中各个设备状态的切换流程图。
具体实施方式
26.实施例1:本实施例的种实现网络设备高可用和负载分担的方法,如图1和图2所示,在本实施例中,vrrp协议是指虚拟路由冗余协议(virtual router redundancy protocol),它是为了避免路由器出现单点故障的一种容错协议;虚拟路由器由一组vrrp路由器组成,抽象成一个虚拟的路由器,它拥有一个虚拟路由器标识符(vrid)和一个vip。
27.如图2所示,本实施例配置设备1和设备2,并将设备1和设备2划分为一个虚拟路由组,负责转发网络1和网络2之间的流量,两台设备如果发现双方设备都处于正常运行的状态,流量在经过时采用本方案设计的负载分流方案,部分流量从设备1通过部分流量从设备2通过,如果其中一台设备发生故障,则流量只从正常运行的设备通过,不从故障的设备通过实施例2:本实施例在实施例1的基础上做进一步优化,在本实施例中,两台设备之间通过心跳线直连,互相通过心跳报文通告对方自己当前运行的状态。
28.本实施例的其他部分与实施例1相同,故不再赘述。
29.实施例3:本实施例在实施例1的基础上做进一步优化,在本实施例中系统中设备状态划分为四类:初始态,主状态,备状态,负载均衡状态;其中初始态表示未对系统进行集群配置,设备按照单机的方式运行;主、备状态为一组表示当前系统中有一台设备设备产生故障不再参与流量的转发(备设备),流量都通过另外一台设备转发(主设备);负载均衡状态表示两台设备目前都正常运行,都承载网络中的部分流量。在设备上完成路由组的配置后,就开始了设备状态的协商过程。非初始化状态的设备都会通过组播的方式向心跳口周期性的发送状态信息,心跳信息中包含设备本身当前的状态和设备的优先级。所有设备的初始优先级都相同,如果在运行过程中有故障产生,则在发送通告报文时将优先级降低,故障越多优
先级越低,收到报文后设备需要对比对方设备的优先级和本设备的优先级,如果相同认为当前设备都在正常运行;如果对方优先级较低,认为对方设备产生故障,当前设备正常运行;如果当前设备优先级较低,则认为当前设备产生故障,对方设备正常运行。
30.本实施例的其他部分与实施例1相同,故不再赘述。
31.实施例4:本实施例在实施例1的基础上做进一步优化,如图3所示,各个设备状态的切换流程如下图3所示,最开始的时候设备都处于初始状态,完成路由组配置后设备切换到备状态,取消路由组配置后设备又将从其他状态恢复到初始状态;切换到备状态后设备通过组播的方式,向其他设备通告自己当前的状态和优先级;如果在指定时间间隔内备设备都未收到其他设备的通告报文,则将自己切换到主状态;如果收到了其他的通告报文,当对端报文优先级和自己相同时则切换到负载均衡状态,对端优先级较低则切换到主状态,对端优先级较高则保持当前状态;当设备运行在主状态,会定期向其他设备发送状态报文,收到其他设备的状态报文后,如果对端的优先级较高,则切换到备状态,如果优先级相同则切换到负载均衡状态;其他情况下就继续保持主状态运行;当设备运行在负载均衡状态,仍然会定期发送状态报文;在收到其他设备发送的报文后如果发现对端优先级较高则切换到备状态,如果本端优先级较高则切换到主状态,超时未收到任何报文也会切换到主状态。
32.本实施例的其他部分与实施例1相同,故不再赘述。
33.实施例5:本实施例在实施例1的基础上做进一步优化,本实施例提供了一种自动化的设备状态协商和流量切换方案,可以保证在设备高可用配置的前提下更加合理的分配和使用系统的资源。在完成集群中各设备的配置后,当集群中其中一台设备出现了故障,可以保障所有网络流量都通过正常运行的设备处理,不会出现业务中断;如果设备都正常运行,则通过hash一致性算法将不同五元组的流量均分到不同的设备上处理,保证在系统中所有设备都处于健康状态的情况下不会出现资源闲置的情况,提升了整体资源的利用效率。
34.本实施例的其他部分与实施例1相同,故不再赘述。
35.实施例6:本实施例在实施例1的基础上做进一步优化,本技术方案通过组播、主动协商、实现了一种基于优先级的四类状态协商和切换方案,能够更加实时、准确的表现当前系统的运行状态。本实施例在协商过程中所有设备都会向其他设备通告自己当前的状态信息,一旦其中一台设备发生了故障,集群中的所有设备都会在第一时间感知到,并且集群中的每台设备都能通过一致的算法计算出当前集群中所有设备的状态,和只能主设备通告,其他设备被动接收信息相比故障的感知速度更快,故障处理的收敛速度也更快。
36.本实施例的其他部分与实施例1相同,故不再赘述。
37.实施例7:本实施例在实施例1的基础上做进一步优化,在本实施例中,虚ip(virtual ip)是指一个不与特定计算机或网络接口卡(nic)相连的ip地址,虚拟mac地址是虚拟路由器回应arp请求时,使用虚拟mac地址,而不是接口的真实mac地址。由于在状态协商的过程中所有的设备都会向其他设备通告自己当前的状态和优先级,所以经过一段时间的学习后,每台设备都能获取到当前网络中其他设备的运行状态和健康情况,将其中主状态或者负载均衡
状态的设备按照心跳口ip进行排序,就得到了一个目前系统中还在正常运行的设备列表,经过学习后系统中所有设备得到的列表最终都是一致的。在此基础上结合vrrpe的技术,将一个虚ip和多个虚拟mac地址对应,路由组中不同的设备对应不同的虚拟mac,当收到arp请求后,虚拟路由组的设备根据请求的源地址做hash计算,再根据hash在当前正常运行的设备列表中选出一台设备,用该设备的虚mac响应,这样不同的客户端就会解析到不同的mac地址,通过不同的设备转发。因此结合上一章节中的状态协商过程,通过分布式的hash一致性算法,就实现了流量的负载均衡和主备切换。
38.本实施例的其他部分与实施例1相同,故不再赘述。
39.以上,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化,均落入本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献