CN106453120A - 一种动态集群方法和系统 - Google Patents
一种动态集群方法和系统 Download PDFInfo
- Publication number
- CN106453120A CN106453120A CN201510475645.5A CN201510475645A CN106453120A CN 106453120 A CN106453120 A CN 106453120A CN 201510475645 A CN201510475645 A CN 201510475645A CN 106453120 A CN106453120 A CN 106453120A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- nodal information
- main equipment
- nid
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Abstract
本发明公开了一种动态集群控制方法和系统,包括:将全部主设备节点和从设备节点的节点信息进行同步;其中,节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;主设备节点和从设备节点是预先根据设备集群中每个设备节点的优先级,从全部设备节点中选取的。根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表。根据映射表和数据报文转发表,进行数据报文的转发。通过本发明的方案,能够实现局域网中只配置单个静态网关的情况下,高可用性设备集群中所有的设备根据权重动态地负载分担局域网中的流量。
Description
技术领域
本发明涉及路由交换领域,尤其涉及一种动态集群方法和系统。
背景技术
当前,位于边缘网络中的防火墙或安全网关设备常采用HA(HighAvailability:高可用性)技术来保证业务连续性。利用VRRP(Virtual RouterRedundancy Protocol:虚拟路由冗余协议)来实现高可用性集群系统,是很多网络设备厂商的选择。该系统中,高可用性设备集群承担局域网中网关的功能,VRRP协议保证了集群中某个节点设备失效时,不会影响整个集群的网关功能,业务流量不会中断。并且集群中可以配置多个VRRP备份组映射多个网关,实现多个静态网关之间的流量负载均衡功能。
当前利用VRRP协议实现的高可用性设备集群,通过多台节点设备组成备份组,为局域网中网关提供冗余备份功能,但却存在如下不足:
在备份组中,只有一台设备(主设备)在承担流量转发任务,其他设备(从设备)只有在主设备发生故障时,才有可能转发流量,造成了网络设备资源的浪费。
当需要备份组中网络设备做流量负载均衡时,可以创建多个备份组,每个备份组对应一个静态网关,即多个备份组映射多个静态网关,在局域网中的主机端配置不同的静态网关,由于不同主机的静态网关不同,从而实现流量的负载均衡。但是当局域网中主机个数很多时,配置的复杂性便会增加。
发明内容
为了解决上述问题,本发明提出了一种动态集群方法和系统,能够实现局域网中只配置单个静态网关的情况下,高可用性设备集群中所有的设备根据权重动态地负载分担局域网中的流量。
为了达到上述目的,本发明提出了一种动态集群控制方法,该方法包括:
将全部主设备节点和从设备节点的节点信息进行同步;其中,节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;主设备节点和从设备节点是预先根据设备集群中每个设备节点的优先级,从全部设备节点中选取的。
根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表。
根据映射表和数据报文转发表,进行数据报文的转发。
优选地,从全部设备节点中选取主设备节点和从设备节点包括:
分别在每个设备节点的接口上开启主节点失效定时器。
根据每个设备节点的优先级依据以下等式设置每个设备节点的主节点失效定时器。
Master_Down_Interval=(3*Advertisement_Interval)+Skew_time;
Skew_Time=((256-Priority)/256);
其中,Master_Down_Interval为主节点失效定时器的定时时间;Advertisement_Interval为1秒;Skew_time为延时差异时间;Priority为设备节点的优先级。
将定时时间小于预设的时间阈值的设备节点选择为主设备节点,并将定时时间大于或等于预设的时间阈值的设备节点转换为从设备节点。
该方法还包括:
主设备节点向设备集群中的全部其他设备节点发送宣告报文,从设备节点接收到宣告报文后重置主节点失效定时器。
优选地,从全部设备节点中选取主设备节点和从设备节点还包括:
当设备集群中存在优先级置为预设的第一优先级的设备节点时,将该设备节点直接选取为主设备节点。
优选地,
宣告报文中包括被选为主设备节点的设备节点已经成为主设备节点的消息和设备集群中的全部设备节点的所述节点信息。
将全部主设备节点和从设备节点的节点信息进行同步包括:
从设备节点接收到宣告报文后,解析宣告报文中的节点信息包含的NID字段并与本地存储的全部节点信息中的NID字段进行比较;并检测主设备节点发送的全部节点信息中是否包含自己的节点信息。
当从设备节点检测出宣告报文中的NID字段与本地存储的NID字段不同步,并且主设备节点发送的全部节点信息中不包含自己的节点信息时;从设备节点通过单播形式向主设备节点返回包含自己节点信息的注册报文;并根据宣告报文中的信息更新本地存储的信息,添加主设备节点的节点信息。
主设备节点接收到注册报文后,提取注册报文中的节点信息,并与本地存储的全部节点信息进行比较,当确定本地存储中不包含注册报文中包含的节点信息时,根据注册报文创建注册报文中包含的节点信息,并开启从节点保持定时器,与建立的节点信息相关联,并开启节点信息同步定时器,保证主设备节点中的全部节点信息与其他设备节点的节点信息同时完成同步,并且根据更新后的本地存储的全部节点信息重新向设备集群中的全部其他设备节点发送宣告报文。
从设备节点再次接收到宣告报文后,检测到宣告报文中的节点信息与本地存储的节点信息仍然不同步时,根据宣告报文中的节点信息更新本地存储的节点信息,并再次通过单播形式向主设备节点返回包含自己节点信息的注册报文;并开启节点信息同步定时器。
主设备节点再次接收到注册报文后,当确定本地存储中已包含注册报文中包含的节点信息时,重置与该节点信息相关联的从节点保持定时器;并第三次发送宣告报文。
从设备节点第三次接收到宣告报文后,检测到宣告报文中的节点信息与本地存储的节点信息已经同步时,第三次通过单播形式向主设备节点返回注册报文;并重置主节点失效定时器。
优选地,根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表包括:
在全部设备节点的节点信息同步定时器被开启后,全部设备节点根据本地存储的节点信息,以及预设的负载均衡策略,分别生成全部NID、静态网关IP地址与MAC地址的映射表以及数据报文转发表。
其中,数据报文转发表中包括索引号、NID和转发节点号的对应关系。
优选地,根据映射表和数据报文转发表,进行数据报文的转发包括:
主设备节点当发送地址解析协议ARP请求时,根据ARP请求中包含的主设备节点的第一MAC地址,以及映射表中包含的第一MAC地址与应答ARP请求的从设备节点NID的对应关系获取从设备节点的NID,并向获得的NID相对应的从设备节点发送ARP请求;NID相对应的从设备节点接收ARP请求后,向发送ARP请求的主设备节点发出应答报文。
主设备节点在收到从设备节点发送的应答报文后,将主设备节点的静态网关IP地址与从设备节点的第二MAC地址相关联;并以第二MAC地址为目的地址发送数据报文。
从设备节点接收到数据报文后,根据数据报文转发表中NID和转发节点号的对应关系获得与从设备节点的NID相对应的转发节点号,通过转发节点号相对应的从设备节点将数据报文转发出去。
为了达到上述目的,本发明还提出了一种动态集群控制系统,该系统包括:同步模块、生成模块和转发模块。
同步模块,用于将全部主设备节点和从设备节点的节点信息进行同步;其中,节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;主设备节点和从设备节点是预先根据设备集群中每个设备节点的优先级,从全部设备节点中选取的。
生成模块,用于根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表。
转发模块,用于根据映射表和数据报文转发表,进行数据报文的转发。
优选地,该系统还包括选取模块,用于从设备集群中的多个设备节点中选取主设备节点和从设备节点。
选取模块从设备集群中的多个设备节点中选取主设备节点和从设备节点是指:
分别在每个节点设备的接口上开启主节点失效定时器。
根据每个设备节点的优先级依据以下等式设置每个设备节点的主节点失效定时器:
Master_Down_Interval=(3*Advertisement_Interval)+Skew_time;
Skew_Time=((256-Priority)/256);
其中,Master_Down_Interval为主节点失效定时器的定时时间;Advertisement_Interval为1秒;Skew_time为延时差异时间;Priority为设备节点的优先级。
将定时时间小于预设的时间阈值的设备节点选择为主设备节点,并将定时时间大于或等于预设的时间阈值的设备节点转换为从设备节点。
该系统还包括:发送模块和重置模块;发送模块,用于从主设备节点向设备集群中的全部其他设备节点发送宣告报文。
重置模块,用于在从设备节点接收到宣告报文后,重置主节点失效定时器。
优选地,选取模块从全部设备节点中选取主设备节点和从设备节点还指:
当设备集群中存在优先级置为预设的第一优先级的设备节点时,将该设备节点直接选取为主设备节点。
优选地,
宣告报文中包括被选为主设备节点的设备节点已经成为主设备节点的消息和设备集群中的全部设备节点的节点信息。
同步模块包括:第一同步模块和第二同步模块。
同步模块将全部主设备节点和从设备节点的节点信息进行同步是指:
第二同步模块接收到宣告报文后,解析宣告报文中的节点信息包含的NID字段并与本地存储的全部节点信息中的NID字段进行比较;并检测主设备节点发送的全部节点信息中是否包含自己的节点信息。
当第二同步模块检测出宣告报文中的NID字段与本地存储的NID字段不同步,并所述主设备节点发送的全所述节点信息中不包含自己的节点信息时;第二同步模块通过单播形式向主设备节点返回包含自己节点信息的注册报文;并根据宣告报文中的信息更新本地存储的信息,添加主设备节点的节点信息。
第一同步模块接收到注册报文后,提取注册报文中的节点信息,并与本地存储的全部节点信息进行比较,当确定本地存储中不包含注册报文中包含的节点信息时,根据注册报文创建注册报文中包含的节点信息,并开启从节点保持定时器,与建立的节点信息相关联,并开启节点信息同步定时器,保证主设备节点中的全部节点信息与其他设备节点的节点信息同时完成同步,并且根据更新后的本地存储的全部节点信息重新向设备集群中的全部其他设备节点发送宣告报文。
第二同步模块再次接收到宣告报文后,检测到宣告报文中的节点信息与本地存储的节点信息仍然不同步时,根据宣告报文中的节点信息更新本地存储的节点信息,并再次通过单播形式向主设备节点返回包含自己节点信息的注册报文;并开启节点信息同步定时器。
第一同步模块再次接收到注册报文后,当确定本地存储中已包含注册报文中包含的节点信息时,重置与该节点信息相关联的从节点保持定时器;并第三次发送宣告报文。
第二同步模块第三次接收到宣告报文后,检测到宣告报文中的节点信息与本地存储的节点信息已经同步时,第三次通过单播形式向主设备节点返回注册报文;并重置主节点失效定时器。
优选地,生成模块根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表是指:
在全部设备节点的节点信息同步定时器被开启后,全部设备节点根据本地存储所述节点信息,以及预设的负载均衡策略,分别生成全部NID、静态网关IP地址与MAC地址的映射表以及数据报文转发表。
其中,数据报文转发表中包括索引号、NID和转发节点号的对应关系。
优选地,
转发模块包括:第一转发模块和第二转发模块。
转发模块根据映射表和数据报文转发表,进行数据报文的转发是指:
当主设备节点发送ARP请求时,第一转发模块根据ARP请求中包含的主设备节点的第一MAC地址,以及所映射表中包含的第一MAC地址与应答ARP请求的从设备节点NID的对应关系获取从设备节点的NID,并向获得的NID相对应的从设备节点发送ARP请求;第二转发模块接收ARP请求后,向发送ARP请求的所述主设备节点发出应答报文。
第一转发模块在收到第二转发模块发送的应答报文后,将主设备节点的静态网关IP地址与从设备节点的第二MAC地址相关联;并以第二MAC地址为目的地址发送数据报文。
第二转发模块接收到数据报文后,根据数据报文转发表中获得与从设备节点的NID相对应的转发节点号,通过转发节点号相对应的从设备节点将数据报文转发出去。
与现有技术相比,本发明包括:将全部主设备节点和从设备节点的节点信息进行同步;其中,节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;主设备节点和从设备节点是预先根据设备集群中每个设备节点的优先级,从全部设备节点中选取的。根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表。根据映射表和数据报文转发表,进行数据报文的转发。通过本发明的方案,能够实现局域网中只配置单个静态网关的情况下,高可用性设备集群中所有的设备根据权重动态地负载分担局域网中的流量。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为本发明的动态集群控制方法流程图;
图2为本发明实施例的高可用性设备集群网络拓扑图;
图3为本发明实施例的VRRP扩展协议报文格式示意图;
图4为本发明的动态集群控制系统组成框图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
本发明的目的在于针对现有利用VRRP协议实现的高可用性设备集群的不足,提出一种动态集群方法及系统,该系统对VRRP协议进行修改、扩展,能够实现局域网中只配置单个静态网关的情况下,高可用性设备集群中所有的设备根据权重动态地负载分担局域网中的流量。
为了达到上述目的,本发明提出了一种动态集群控制方法,如图1所示,该方法包括:
S101、将全部主设备节点和从设备节点的节点信息进行同步;其中,节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;主设备节点和从设备节点是预先根据设备集群中每个设备节点的优先级,从全部设备节点中选取的。
在本发明实施例中,在高可用性设备集群的每个设备节点上,会预先配置节点ID、优先级(负载均衡算法权重)、虚拟IP地址(即静态网关IP地址)。并且在高可用性设备集群中,预先通过选举得到一台主设备,多台从设备。
优选地,从全部设备节点中选取主设备节点和从设备节点包括:
S201、分别在每个设备节点的接口上开启主节点失效定时器。
S202、根据每个设备节点的优先级依据以下等式设置每个设备节点的主节点失效定时器。
Master_Down_Interval=(3*Advertisement_Interval)+Skew_time;
Skew_Time=((256-Priority)/256);
其中,Master_Down_Interval为主节点失效定时器的定时时间;Advertisement_Interval为1秒;Skew_time为延时差异时间;Priority为设备节点的优先级。
S203、将定时时间小于预设的时间阈值的设备节点选择为主设备节点,并将定时时间大于或等于预设的时间阈值的设备节点转换为从设备节点。
该方法还包括:
主设备节点向设备集群中的全部其他设备节点发送宣告报文,从设备节点接收到宣告报文后重置主节点失效定时器。
优选地,从全部设备节点中选取主设备节点和从设备节点还包括:
当设备集群中存在优先级置为预设的第一优先级的设备节点时,将该设备节点直接选取为主设备节点。
下面通过具体实施例介绍本发明中主设备节点和从设备节点的选取流程,具体如图2所示。
在图2中,预先分别对设备节点RT1和RT2进行配置,配置参数分别如下:
NID(节点号)分别为1和2;
Priority(优先级)分别为100和50;
Preempt_Mode(抢占模式)为否;
Advertisement_Interval(宣告报文间隔)为1s;
接口eth0主IP地址分别为192.168.1.100和192.168.1.200;
Virtual_IP_Addresses(虚拟IP地址)均为192.168.1.1;
Virtual_MAC_Addresses(虚拟MAC地址)为00:00:5E:00:01:01和00:00:5E:00:01:02。
其中,Virtual_MAC_Addresses(虚拟MAC地址)为自动生成,生成公式为:Virtual_MAC_Addresses=00:00:5E:00:01:{NID}(十六进制网络字节序);NID(节点号)为集群中设备节点的唯一标识,取值范围1-255。
下面将基于上述节点设置,对RT1和RT2如何选举主节点设备和从节点设备进行详细介绍。
RT1和RT2分别在接口eth0上开启VRRP扩展协议,此时状态均为Initialize(初始化状态),由于Priority(优先级)不为255(配置此优先级的话,节点不用参加竞选,自动转化为Master),两节点分别开启Master_Down_Timer(主节点失效定时器),定时时间为Master_Down_Interval,计算公式为:
Master_Down_Interval=(3*Advertisement_Interval)+Skew_time
其中Advertisement_Interval为1s,Skew_time(延时差异时间)计算公式为:
Skew_Time=((256-Priority)/256)
当定时器Master_Down_Timer(主节点失效定时器)超时后,假设RT1发送ADVERTISEMENT(宣告报文),状态转换到Master(主节点),创建自己节点信息。
其中,ADVERTISEMENT报文的格式如图3所示:版本version为2,类型Type为3,NID为1,Priority为100,Count IP Addrs为1,Sync Time为0,Adver Int为1。
节点Node 1的NID为1,Node 1的Priority为100,Node 1的Holdtime为3,Node 1的IP Address为192.168.1.100。
其中Holdtime计算公式为:
Hold_Time=3*Advertisement_Interval。
RT2收到RT1发送的ADVERTISEMENT(宣告报文)后,重置Master_Down_Timer=Master_Down_Interval。至此,集群中主节点选举完成。
在本发明实施例中,当主设备节点选出以后,主设备节点发送组播地址为224.0.0.18的宣告报文,宣告集群中的所有节点信息,并且告知集群中所有节点,自己为集群中的主设备节点;从设备节点收到主设备节点的宣告报文后,存储报文中的所有节点信息,向主设备单播包含自己节点信息的报文,告知主设备节点,自己没有发生故障。
在主设备节点发送宣告报文,从设备节点对宣告报文进行应答的过程中,使得集群中的全部设备节点(包括主设备节点和从设备节点)的节点信息达到同步,具体步骤通过下述内容详细介绍。
优选地,
宣告报文中包括被选为主设备节点的设备节点已经成为主设备节点的消息和设备集群中的全部设备节点的所述节点信息。
将全部主设备节点和从设备节点的节点信息进行同步包括:
S301、从设备节点接收到宣告报文后,解析宣告报文中的节点信息包含的NID字段并与本地存储的全部节点信息中的NID字段进行比较;并检测主设备节点发送的全部节点信息中是否包含自己的节点信息。
S302、当从设备节点检测出宣告报文中的NID字段与本地存储的NID字段不同步,并且主设备节点发送的全部节点信息中不包含自己的节点信息时;从设备节点通过单播形式向主设备节点返回包含自己节点信息的注册报文;并根据宣告报文中的信息更新本地存储的信息,添加主设备节点的节点信息。
S303、主设备节点接收到注册报文后,提取注册报文中的节点信息,并与本地存储的全部节点信息进行比较,当确定本地存储中不包含注册报文中包含的节点信息时,根据注册报文创建注册报文中包含的节点信息,并开启从节点保持定时器,与建立的节点信息相关联,并开启节点信息同步定时器,保证主设备节点中的全部节点信息与其他设备节点的节点信息同时完成同步,并且根据更新后的本地存储的全部节点信息重新向设备集群中的全部其他设备节点发送宣告报文。
S304、从设备节点再次接收到宣告报文后,检测到宣告报文中的节点信息与本地存储的节点信息仍然不同步时,根据宣告报文中的节点信息更新本地存储的节点信息,并再次通过单播形式向主设备节点返回包含自己节点信息的注册报文;并开启节点信息同步定时器。
S305、主设备节点再次接收到注册报文后,当确定本地存储中已包含注册报文中包含的节点信息时,重置与该节点信息相关联的从节点保持定时器;并第三次发送宣告报文。
S306、从设备节点第三次接收到宣告报文后,检测到宣告报文中的节点信息与本地存储的节点信息已经同步时,第三次通过单播形式向主设备节点返回注册报文;并重置主节点失效定时器。
下面仍以设备节点RT1和设备节点RT2为例进一步说明:
从设备节点RT2收到主设备节点RT1的ADVERTISEMENT(宣告报文)后,会单播REGISTER(注册报文)给主节点并且重置主节点失效定时器Master_Down_Timer=Master_Down_Interval。
其中,REGISTER(注册报文)的格式如图3所示:version为2,Type为4,NID为2,Priority为100,Count IP Addrs为1,Sync Time为0,AdverInt为1。
从设备节点解析主设备节点的ADVERTISEMENT(宣告报文)中Node1NID等字段,与本地存储的节点信息比较,发现节点信息不同步,ADVERTISEMENT(宣告报文)中没有自己的节点信息,此时单播Robustness(健壮性变量,默认值为2)个REGISTER(注册报文)给主节点,并根据ADVERTISEMENT(宣告报文)中Node 1NID等其他信息,更新本地存储的设备节点信息,并添加主设备节点的节点信息。
主设备节点接收到从设备节点的REGISTER(注册报文)后,提取报文中的节点信息,与本地存储的节点信息比较,发现本地存储的设备节点信息中没有该设备节点的信息,根据REGISTER(注册报文)创建该设备节点的节点信息,并且开启定时器Hold_Timer(从节点保持定时器)=Hold_Time,与该节点信息关联。开启Sync_Timer(节点信息同步定时器)=Sync_Interval,其中Sync_Interval取值为:Sync_Interval=4*Advertisement_Interval。
主设备节点利用本地存储的最新节点信息发送ADVERTISEMENT(宣告报文),其中Sync Time为Sync_Timer剩余时间,Node 1NID等字段不变,增加Node 2NID为2,Node 2Priority为100,Node 2Holdtime为3,Node 2IPAddress为192.168.1.200。
从设备节点收到主设备节点的ADVERTISEMENT(宣告报文)后,按照上述的流程进行比较,如果仍然发现节点信息不同步(例如,宣告报文中有自己节点信息,本地存储中没有自己的节点信息),根据报文内容创建自己的节点信息,开启Sync_Timer(节点信息同步定时器)=Sync_Expire,其中Sync_Expire取值于ADVERTISEMENT(宣告报文)中的Sync Time字段。
主设备节点再次收到从设备节点的REGISTER(注册报文),发现报文中节点信息在本地存储中存在,重置与该节点信息相关联的Hold_Timer(从节点保持定时器)=Hold_Time。
从设备节点再次收到主设备节点的ADVERTISEMENT(宣告报文)后,仍然按照上述流程比较,如果发现宣告报文中的节点信息与本地存储的节点信息已经同步,单播REGISTER(注册报文)给主节点并且重置Master_Down_Timer=Master_Down_Interval。至此集群中所有节点信息已经同步。
S102、根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表。
优选地,根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表包括:
在全部设备节点的节点信息同步定时器被开启后,全部设备节点根据本地存储的节点信息,以及预设的负载均衡策略,分别生成全部NID、静态网关IP地址与MAC地址的映射表以及数据报文转发表。
其中,数据报文转发表中包括索引号、NID和转发节点号的对应关系。
下面通过具体实施例进一步介绍本发明方案中如何生成映射表和数据报文转发表。
在本发明实施例中,Sync_Timer(节点信息同步定时器)能最大程度地保证集群中所有设备节点同时完成节点信息的同步,并且计算数据报文转发表。当Sync_Timer(节点信息同步定时器)触发时,集群中所有设备节点根据本地存储的节点信息,利用负载均衡算法,生成该数据报文转发表。
本地存储的节点信息如表1所示,其中,NID为节点标号,Priority/Weight为节点优先级,该值也作为负载均衡算法的权重;其中表2中ID代表转发表的索引号,Forward_NID表示转发者的节点标号,Virtual_MAC_Addresses表示Forward_NID所对应的虚拟MAC地址,Temporary_Virtual_MAC_Addresses表示Forward_NID所对应的临时虚拟MAC地址。
当表2的索引号ID和表1节点号NID相等时,Forward_NID填充NID(节点号),Virtual_MAC_Addresses填充00:00:5E:00:01:{ID},Temporary_Virtual_MAC_Addresses填充空,根据表1中的Priority/Weight,将NID(节点号)填充到剩余的Forward_NID中,Virtual_MAC_Addresses填充空,Temporary_Virtual_MAC_Addresses填充00:00:5E:00:01:{ID}。
当数据报文转发表生成完成后,每个设备节点发送源MAC地址为
Virtual_MAC_Addresses和Temporary_Virtual_MAC_Addresses的REFRESH
(更新报文),用于更新交换机的MAC地址映射表。其中REFRESH(更新
报文)格式如图3所示:version为2,Type为2,NID为本设备节点的节点
号,Priority为100,Count IP Addrs为1,Sync Time为0,Adver Int为1。
NID | Priority/Weight |
1 | 100 |
2 | 100 |
表1
ID | Forward_NID | Virtual_MAC_Addresses | Temporary_Virtual_MAC_Addresses |
1 | 1 | 00:00:5E:00:01:01 | - |
2 | 2 | 00:00:5E:00:01:02 | - |
3 | 1 | - | 00:00:5E:00:01:03 |
4 | 2 | - | 00:00:5E:00:01:04 |
表2
S103、根据映射表和数据报文转发表,进行数据报文的转发。
在本发明实施例中,当主机ARP请求静态网关的MAC地址时,集群中所有节点根据虚拟IP、MAC映射算法,决定某个节点发送ARP应答报文,从而不同的主机获得不同的网关MAC地址。
主机接收到ARP应答报文后,发送目的MAC地址为虚MAC地址的数据报文,集群中所有节点的根据数据报文转发表决定某个节点转发该主机的数据报文,由于不同的主机的数据报文由不同的节点转发,从而达到流量负载均衡的效果。具体方案如下:
优选地,根据映射表和数据报文转发表,进行数据报文的转发包括:
S401、主设备节点当发送地址解析协议ARP请求时,根据ARP请求中包含的主设备节点的第一MAC地址,以及映射表中包含的第一MAC地址与应答ARP请求的从设备节点NID的对应关系获取从设备节点的NID,并向获得的NID相对应的从设备节点发送ARP请求;NID相对应的从设备节点接收ARP请求后,向发送ARP请求的主设备节点发出应答报文。
S402、主设备节点在收到从设备节点发送的应答报文后,将主设备节点的静态网关IP地址与从设备节点的第二MAC地址相关联;并以第二MAC地址为目的地址发送数据报文。
S403、从设备节点接收到数据报文后,根据数据报文转发表中NID和转发节点号的对应关系获得与从设备节点的NID相对应的转发节点号,通过转发节点号相对应的从设备节点将数据报文转发出去。
下面,本发明将通过具体实施例进一步介绍该方案的实施方式。
Host1发送ARP请求,源MAC地址为00:e0:4c:18:48:01,集群中所有设备节点收到该报文后,从该源MAC地址00:e0:4c:18:48:01的最后两位获得ID值为01,该值对应数据报文转发表(表2)中的ID字段,对应Forward_NID为1。则表示转发者为从设备节点1,由从设备节点1向Host1发送该ARP请求的应答报文,应答报文的源MAC地址为Virtual_MAC_Addresses或者Temporary_Virtual_MAC_Addresses,取值为00:00:5E:00:01:01。
Host1收到从设备节点1发送的ARP应答白问后,将静态网关IP地址192.168.1.1与MAC地址00:00:5E:00:01:01相关联,Host1发送目的MAC地址为00:00:5E:00:01:01的数据报文。
当从设备节点1接收到目的地址为00:00:5E:00:01:01的数据报文后,根据该目的MAC地址,与MAC地址格式00:00:5E:00:01:{ID}相对照,获取ID值为1。根据该ID值,查找转发表(表2)中的Forward_NID为1,则发现该Forward_NID和自己的NID相同,则由本身转发该报文。同理,假设设备节点2也能够收到目的地址为00:00:5E:00:01:01的数据报文,但是数据报文转发表(表2)中的Forward_NID与自己的NID不同,则设备节点2不转发该报文。
在本发明实施例中,通过上述内容详细介绍了本发明的设备集群中的各个设备节点选择主设备节点和从设备节点的过程,详细介绍了设备集群中的各个设备节点的节点信息同步的过程,并且详细介绍了设备集群中的各个设备节点根据映射表和数据报文转发表应答主机的ARP请求和转发主机的数据报文的过程。另外,在高可用设备集群中,必然会出现新设备节点(以下简称新节点)加入的情况出现,当新节点加入后,主设备节点和从设备节点的选择过程、设备集群中的各个设备节点的节点信息同步的过程与上述方案相同,在此不再赘述,需要说明的是,新节点加入后需要重新同步设备集群中的各个设备节点根据映射表和数据报文转发表,具体方案如下:
S501、当加入新节点优先级较集群中当前主设备节点低时,由于Master_Down_Timer(主节点失效定时器)未超时便会接收到主设备节点发送的ADVERTISEMENT(宣告报文),所以新节点按照前述的各个设备节点的节点信息如何同步的方案步骤,更新本地存储信息,单播REGISTER(注册报文)给主设备节点。
S502、主设备节点收到新节点的REGISTER(注册报文)后,与本地存储节点信息对比,发现有新节点加入,则按照前述的同步步骤,创建新节点信息,开启Sync_Timer(节点信息同步定时器),再次发送ADVERTISEMENT(宣告报文)。
S503、新节点再次收到ADVERTISEMENT(宣告报文)后,创建自己的节点信息,开启Sync_Timer(节点信息同步定时器)。集群中的其他设备节点也会创建新节点的节点信息,开启Sync_Timer(节点信息同步定时器)。
当集群中所有设备节点的Sync_Timer(节点信息同步定时器)超时后,便会根据最新的节点信息,重新计算映射表。
S504、当加入的新节点优先级较集群中当前主设备节点的优先级高时,加入的新节点开启抢占模式,新节点收到主设备节点的ADVERTISEMENT(宣告报文)后,不做任何动作,等待Master_Down_Timer(主节点失效定时器)超时。当Master_Down_Timer(主节点失效定时器)超时后,会发送携带自己节点信息的ADVERTISEMENT(宣告报文)。
S505、主设备节点收到比自己优先级高的新节点发送的ADVERTISEMENT(宣告报文)后,取消所有定时器,设置Master_Down_Timer(主节点失效定时器)=Master_Down_Interval,转换为从设备节点。
S506、集群中的从设备节点收到新节点发送的ADVERTISEMENT(宣告报文)后,删除本地存储的旧的节点信息,利用接收到的宣告报文中的节点信息更新本地存储的节点信息,并单播REGISTER(注册报文)给新的主设备节点。
S507、新节点收到集群中从设备节点的REGISTER(注册报文)后,根据注册报文创建各从设备节点的节点信息,开启Sync_Timer(节点信息同步定时器),发送ADVERTISEMENT(宣告报文)。
S508、集群中的从设备节点再次收到ADVERTISEMENT(宣告报文)后,根据宣告报文中的节点信息,存储本地节点和其他节点信息,开启Sync_Timer(节点信息同步定时器)。
S509、当集群中的所有设备节点的Sync_Timer(节点信息同步定时器)超时后,便会根据最新的节点信息,重新计算映射表和数据报文转发表。
在本发明实施例中,集群中所有从设备节点的Master_Down_Timer(主节点失效定时器)会超时,最先超时的从设备节点会转换为主设备节点,在主设备节点和从设备节点发生转换时,设备集群中的所有设备节点之间映射表和数据转发表的同步需要通过以下方案来完成:
S601、集群中所有从设备节点的Master_Down_Timer(主节点失效定时器)会超时,最先超时的从设备节点会转换为主设备节点,并开启Sync_Timer(节点信息同步定时器)=Sync_Interval,利用本地存储的节点信息(不包含原来的主设备节点信息),发送Robustness个ADVERTISEMENT(宣告报文)。
S602、集群中其他从设备节点收到ADVERTISEMENT(宣告报文)后,重置Master_Down_Timer(主节点失效定时器)=Master_Down_Interval,根据宣告报文中的节点信息,删除原来的主节点信息,开启Sync_Timer(节点信息同步定时器)=Sync_Interval。
S603、当集群中所有设备节点的Sync_Timer(节点信息同步定时器)超时后,便会根据最新的节点信息,重新计算映射表和数据报文转发表。
另外,在本发明实施例中,当高可用设备集群中的从设备节点失效时,设备集群中的所有设备节点之间映射表和数据转发表的同步通过以下方案来完成:
S701、当从设备节点失效后,该从设备节点便不会根据ADVERTISEMENT(宣告报文)向主设备节点单播REGISTER(注册报文)。主设备节点存储该从设备节点的Hold_Timer(从节点保持定时器)超时,该从设备节点的节点信息被删除,发送的ADVERTISEMENT(宣告报文)中便不包含该从设备节点的节点信息。主设备节点开启Sync_Timer(节点信息同步定时器)=Sync_Interval。
S702、集群中的其他设备节点收到ADVERTISEMENT(宣告报文)后,根据讯高报文中的节点信息,删除失效的从设备节点的节点信息,开启Sync_Timer(节点信息同步定时器)=Sync_Interval。
S703、当集群中所有设备节点的Sync_Timer(节点信息同步定时器)超时后,便会根据最新的节点信息,重新计算映射表和数据报文转发表。
为了达到上述目的,本发明还提出了一种动态集群控制系统01,如图4所示,该系统包括:同步模块02、生成模块03和转发模块04。
同步模块02,用于将全部主设备节点和从设备节点的节点信息进行同步;其中,节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;主设备节点和从设备节点是预先根据设备集群中每个设备节点的优先级,从全部设备节点中选取的。
生成模块03,用于根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表。
转发模块04,用于根据映射表和数据报文转发表,进行数据报文的转发。
优选地,该系统还包括选取模块05,用于从设备集群中的多个设备节点中选取主设备节点和从设备节点。
选取模块05从设备集群中的多个设备节点中选取主设备节点和从设备节点是指:
分别在每个节点设备的接口上开启主节点失效定时器。
根据每个设备节点的优先级依据以下等式设置每个设备节点的主节点失效定时器:
Master_Down_Interval=(3*Advertisement_Interval)+Skew_time;
Skew_Time=((256-Priority)/256);
其中,Master_Down_Interval为主节点失效定时器的定时时间;Advertisement_Interval为1秒;Skew_time为延时差异时间;Priority为设备节点的优先级。
将定时时间小于预设的时间阈值的设备节点选择为主设备节点,并将定时时间大于或等于预设的时间阈值的设备节点转换为从设备节点。
该系统还包括:发送模块06和重置模块07;
发送模块06,用于从主设备节点向设备集群中的全部其他设备节点发送宣告报文。
重置模块07,用于在从设备节点接收到宣告报文后,重置主节点失效定时器。
优选地,选取模块05从全部设备节点中选取主设备节点和从设备节点还指:
当设备集群中存在优先级置为预设的第一优先级的设备节点时,将该设备节点直接选取为主设备节点。
优选地,
宣告报文中包括被选为主设备节点的设备节点已经成为主设备节点的消息和设备集群中的全部设备节点的节点信息。
同步模块02包括:第一同步模块021和第二同步模块022;
同步模块02将全部主设备节点和从设备节点的节点信息进行同步是指:
第二同步模块022接收到宣告报文后,解析宣告报文中的节点信息包含的NID字段并与本地存储的全部节点信息中的NID字段进行比较;并检测主设备节点发送的全部节点信息中是否包含自己的节点信息。
当第二同步模块022检测出宣告报文中的NID字段与本地存储的NID字段不同步,并所述主设备节点发送的全所述节点信息中不包含自己的节点信息时;第二同步模块022通过单播形式向主设备节点返回包含自己节点信息的注册报文;并根据宣告报文中的信息更新本地存储的信息,添加主设备节点的节点信息。
第一同步模块021接收到注册报文后,提取注册报文中的节点信息,并与本地存储的全部节点信息进行比较,当确定本地存储中不包含注册报文中包含的节点信息时,根据注册报文创建注册报文中包含的节点信息,并开启从节点保持定时器,与建立的节点信息相关联,并开启节点信息同步定时器,保证主设备节点中的全部节点信息与其他设备节点的节点信息同时完成同步,并且根据更新后的本地存储的全部节点信息重新向设备集群中的全部其他设备节点发送宣告报文。
第二同步模块022再次接收到宣告报文后,检测到宣告报文中的节点信息与本地存储的节点信息仍然不同步时,根据宣告报文中的节点信息更新本地存储的节点信息,并再次通过单播形式向主设备节点返回包含自己节点信息的注册报文;并开启节点信息同步定时器。
第一同步模块021再次接收到注册报文后,当确定本地存储中已包含注册报文中包含的节点信息时,重置与该节点信息相关联的从节点保持定时器;并第三次发送宣告报文。
第二同步模块022第三次接收到宣告报文后,检测到宣告报文中的节点信息与本地存储的节点信息已经同步时,第三次通过单播形式向主设备节点返回注册报文;并重置主节点失效定时器。
优选地,生成模块03根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表是指:
在全部设备节点的节点信息同步定时器被开启后,全部设备节点根据本地存储所述节点信息,以及预设的负载均衡策略,分别生成全部NID、静态网关IP地址与MAC地址的映射表以及数据报文转发表。
其中,数据报文转发表中包括索引号、NID和转发节点号的对应关系。
优选地,
转发模块04包括:第一转发模块041和第二转发模块042。
转发模块04根据映射表和数据报文转发表,进行数据报文的转发是指:
当主设备节点发送ARP请求时,第一转发模块041根据ARP请求中包含的主设备节点的第一MAC地址,以及所映射表中包含的第一MAC地址与应答ARP请求的从设备节点NID的对应关系获取从设备节点的NID,并向获得的NID相对应的从设备节点发送ARP请求;第二转发模块042接收ARP请求后,向发送ARP请求的所述主设备节点发出应答报文。
第一转发模块041在收到第二转发模块042发送的应答报文后,将主设备节点的静态网关IP地址与从设备节点的第二MAC地址相关联;并以第二MAC地址为目的地址发送数据报文。
第二转发模块042接收到数据报文后,根据数据报文转发表中获得与从设备节点的NID相对应的转发节点号,通过转发节点号相对应的从设备节点将数据报文转发出去。
与现有技术相比,本发明包括:将全部主设备节点和从设备节点的节点信息进行同步;其中,节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;主设备节点和从设备节点是预先根据设备集群中每个设备节点的优先级,从全部设备节点中选取的。根据同步后的全部节点信息生成NID、静态网关IP地址与虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表。根据映射表和数据报文转发表,进行数据报文的转发。通过本发明的方案,能够实现局域网中只配置单个静态网关的情况下,高可用性设备集群中所有的设备根据权重动态地负载分担局域网中的流量。
通过上述内容,我们从各个角度详细介绍了本发明的动态集群控制方法和系统的具体实施方案,解决了现有利用VRRP协议实现的高可用性设备集群的不足,主要体现在以下几点:
(1)该高可用性设备集群中,主设备节点和从设备节点均能转发流量,并且可以根据优先级(权重)来决定流量的动态分配,解决了利用VRRP协议实现的高可用性设备集群中只有主设备节点转发流量的缺陷,既保证了局域网中静态网关的可靠性,又提高了局域网的最大带宽。
(2)该高可用性设备集群中,根据集群中所有设备节点的节点信息,采用统一算法,生成映射表和数据报文转发表。这样最大限度地缩短了信息同步时间,减少了报文信息容量。并且采用Sync_Timer(节点信息同步定时器),最大限度地使集群中所有设备节点的映射表和数据报文转发表同时更新。
(3)负载均衡网络拓扑中,利用VRRP协议实现的高可用性设备集群采用虚拟MAC地址与静态网关一对一的映射方法,这样会增加管理员的配置工作量,增加了维护成本。而本发明采用虚拟MAC地址与静态网关的多对一的映射方法,大大简化了管理员的配置工作,缩减了维护成本。
并且,本发明的方案还具有以下优势:
1、本发明采用统一的负载均衡算法,根据集群中所有节点信息,生成转发表象。
2、本发明采用统一的虚拟MAC地址和静态网关IP地址映射算法,保证不同的主机对应不同的静态网关MAC地址。
3、本发明利用Sync_Timer(节点信息同步定时器),最大限度保证集群中所有节点同时生成转发表象。
4、本发明利用Hold_Timer(从节点保持定时器),保证了从节点失效时,能够使集群中节点信息和转发表象快速更新。
5、本发明利用VRRP协议的主从设备选举机制,修改了ADVERTISEMENT(宣告报文)报文内容,扩展了报文类型:包括REFRESH(更新报文),REGISTER(注册报文)。其中REFRESH(更新报文)保证了快速更新交换机MAC地址表象;REGISTER(注册报文)保证了主节点能够学习并更新集群中所有节点信息。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
Claims (12)
1.一种动态集群控制方法,其特征在于,所述方法包括:
将全部所述主设备节点和所述从设备节点的节点信息进行同步;其中,所述节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;所述主设备节点和所述从设备节点是预先根据设备集群中每个设备节点的所述优先级,从全部所述设备节点中选取的;
根据同步后的全部所述节点信息生成所述NID、所述静态网关IP地址与所述虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表;
根据所述映射表和所述数据报文转发表,进行数据报文的转发。
2.如权利要求1所述的动态集群控制方法,其特征在于,所述从全部设备节点中选取所述主设备节点和所述从设备节点包括:
分别在每个设备节点的接口上开启主节点失效定时器;
根据所述每个设备节点的所述优先级依据以下等式设置每个所述设备节点的所述主节点失效定时器;
Master_Down_Interval=(3*Advertisement_Interval)+Skew_time;
Skew_Time=((256-Priority)/256);
其中,Master_Down_Interval为所述主节点失效定时器的定时时间;Advertisement_Interval为1秒;Skew_time为延时差异时间;Priority为所述设备节点的优先级;
将所述定时时间小于预设的时间阈值的所述设备节点选择为所述主设备节点,并将所述定时时间大于或等于所述预设的时间阈值的所述设备节点转换为所述从设备节点;
所述方法还包括:
所述主设备节点向所述设备集群中的全部其他设备节点发送宣告报文,所述从设备节点接收到所述宣告报文后重置所述主节点失效定时器。
3.如权利要求2所述的动态集群控制方法,其特征在于,所述从全部设备节点中选取所述主设备节点和所述从设备节点还包括:
当所述设备集群中存在优先级置为预设的第一优先级的设备节点时,将该设备节点直接选取为所述主设备节点。
4.如权利要求2所述的动态集群控制方法,其特征在于,
所述宣告报文中包括被选为主设备节点的所述设备节点已经成为主设备节点的消息和所述设备集群中的全部设备节点的所述节点信息;
所述将全部所述主设备节点和所述从设备节点的节点信息进行同步包括:
所述从设备节点接收到所述宣告报文后,解析所述宣告报文中的所述节点信息包含的NID字段并与本地存储的全部所述节点信息中的所述NID字段进行比较;并检测所述主设备节点发送的全部所述节点信息中是否包含自己的节点信息;
当所述从设备节点检测出所述宣告报文中的所述NID字段与本地存储的所述NID字段不同步,并且所述主设备节点发送的全部所述节点信息中不包含自己的节点信息时;所述从设备节点通过单播形式向所述主设备节点返回包含自己节点信息的注册报文;并根据所述宣告报文中的信息更新本地存储的信息,添加所述主设备节点的节点信息;
所述主设备节点接收到所述注册报文后,提取所述注册报文中的节点信息,并与本地存储的全部所述节点信息进行比较,当确定本地存储中不包含所述注册报文中包含的节点信息时,根据所述注册报文创建所述注册报文中包含的节点信息,并开启从节点保持定时器,与建立的所述节点信息相关联,并开启节点信息同步定时器,保证所述主设备节点中的全部所述节点信息与其他所述设备节点的节点信息同时完成同步,并且根据更新后的本地存储的全部所述节点信息重新向所述设备集群中的全部其他设备节点发送所述宣告报文;
所述从设备节点再次接收到所述宣告报文后,检测到所述宣告报文中的节点信息与本地存储的节点信息仍然不同步时,根据所述宣告报文中的节点信息更新本地存储的节点信息,并再次通过单播形式向所述主设备节点返回包含自己节点信息的注册报文;并开启所述节点信息同步定时器;
所述主设备节点再次接收到所述注册报文后,当确定本地存储中已包含所述注册报文中包含的节点信息时,重置与该节点信息相关联的所述从节点保持定时器;并第三次发送所述宣告报文;
所述从设备节点第三次接收到所述宣告报文后,检测到所述宣告报文中的节点信息与本地存储的节点信息已经同步时,第三次通过单播形式向所述主设备节点返回所述注册报文;并重置所述主节点失效定时器。
5.如权利要求4所述的动态集群控制方法,其特征在于,所述根据同步后的全部所述节点信息生成所述NID、所述静态网关IP地址与所述虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表包括:
在全部所述设备节点的所述节点信息同步定时器被开启后,全部所述设备节点根据本地存储的所述节点信息,以及预设的负载均衡策略,分别生成全部所述NID、所述静态网关IP地址与MAC地址的映射表以及所述数据报文转发表;
其中,所述数据报文转发表中包括索引号、所述NID和转发节点号的对应关系。
6.如权利要求5所述的动态集群控制方法,其特征在于,所述根据所述映射表和所述数据报文转发表,进行数据报文的转发包括:
所述主设备节点当发送地址解析协议ARP请求时,根据所述ARP请求中包含的所述主设备节点的第一MAC地址,以及所述映射表中包含的所述第一MAC地址与应答所述ARP请求的从设备节点NID的对应关系获取所述从设备节点的NID,并向获得的所述NID相对应的所述从设备节点发送所述ARP请求;所述NID相对应的所述从设备节点接收所述ARP请求后,向发送所述ARP请求的所述主设备节点发出应答报文;
所述主设备节点在收到所述从设备节点发送的所述应答报文后,将所述主设备节点的所述静态网关IP地址与所述从设备节点的第二MAC地址相关联;并以所述第二MAC地址为目的地址发送数据报文;
所述从设备节点接收到所述数据报文后,根据所述数据报文转发表中所述NID和所述转发节点号的对应关系获得与所述从设备节点的NID相对应的所述转发节点号,通过所述转发节点号相对应的从设备节点将所述数据报文转发出去。
7.一种动态集群控制系统,其特征在于,所述系统包括:同步模块、生成模块和转发模块;
所述同步模块,用于将全部所述主设备节点和所述从设备节点的节点信息进行同步;其中,所述节点信息包括预先为每个设备节点设置的节点号NID、优先级、静态网关IP地址和虚拟MAC地址;所述主设备节点和所述从设备节点是预先根据设备集群中每个设备节点的所述优先级,从全部所述设备节点中选取的;
所述生成模块,用于根据同步后的全部所述节点信息生成所述NID、所述静态网关IP地址与所述虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表;
所述转发模块,用于根据所述映射表和所述数据报文转发表,进行数据报文的转发。
8.如权利要求7所述的动态集群控制系统,其特征在于,所述系统还包括选取模块,用于从设备集群中的多个设备节点中选取所述主设备节点和所述从设备节点;
选取模块从设备集群中的多个设备节点中选取所述主设备节点和所述从设备节点是指:
分别在每个节点设备的接口上开启主节点失效定时器;
根据所述每个设备节点的所述优先级依据以下等式设置所述每个设备节点的所述主节点失效定时器;
Master_Down_Interval=(3*Advertisement_Interval)+Skew_time;
Skew_Time=((256-Priority)/256);
其中,Master_Down_Interval为所述主节点失效定时器的定时时间;Advertisement_Interval为1秒;Skew_time为延时差异时间;Priority为所述设备节点的优先级;
将所述定时时间小于预设的时间阈值的所述设备节点选择为所述主设备节点,并将所述定时时间大于或等于所述预设的时间阈值的所述设备节点转换为所述从设备节点;
所述系统还包括:发送模块和重置模块;所述发送模块,用于从所述主设备节点向所述设备集群中的全部其他设备节点发送宣告报文;
所述重置模块,用于在所述从设备节点接收到所述宣告报文后,重置所述主节点失效定时器。
9.如权利要求8所述的动态集群控制系统,其特征在于,所述选取模块从全部设备节点中选取所述主设备节点和所述从设备节点还指:
当所述设备集群中存在优先级置为预设的第一优先级的设备节点时,将该设备节点直接选取为所述主设备节点。
10.如权利要求8所述的动态集群控制系统,其特征在于,
所述宣告报文中包括被选为主设备节点的所述设备节点已经成为主设备节点的消息和所述设备集群中的全部设备节点的所述节点信息;
所述同步模块包括:第一同步模块和第二同步模块;
所述同步模块将全部所述主设备节点和所述从设备节点的节点信息进行同步是指:
所述第二同步模块接收到所述宣告报文后,解析所述宣告报文中的所述节点信息包含的NID字段并与本地存储的全部所述节点信息中的所述NID字段进行比较;并检测所述主设备节点发送的全部所述节点信息中是否包含自己的节点信息;
当所述第二同步模块检测出所述宣告报文中的所述NID字段与本地存储的所述NID字段不同步,并且所述主设备节点发送的全部所述节点信息中不包含自己的节点信息时;所述第二同步模块通过单播形式向所述主设备节点返回包含自己节点信息的注册报文;并根据所述宣告报文中的信息更新本地存储的信息,添加所述主设备节点的节点信息;
所述第一同步模块接收到所述注册报文后,提取所述注册报文中的节点信息,并与本地存储的全部所述节点信息进行比较,当确定本地存储中不包含所述注册报文中包含的节点信息时,根据所述注册报文创建所述注册报文中包含的节点信息,并开启从节点保持定时器,与建立的所述节点信息相关联,并开启节点信息同步定时器,保证所述主设备节点中的全部所述节点信息与其他所述设备节点的节点信息同时完成同步,并且根据更新后的本地存储的全部所述节点信息重新向所述设备集群中的全部其他设备节点发送所述宣告报文;
所述第二同步模块再次接收到所述宣告报文后,检测到所述宣告报文中的节点信息与本地存储的节点信息仍然不同步时,根据所述宣告报文中的节点信息更新本地存储的节点信息,并再次通过单播形式向所述主设备节点返回包含自己节点信息的注册报文;并开启所述节点信息同步定时器;
所述第一同步模块再次接收到所述注册报文后,当确定本地存储中已包含所述注册报文中包含的节点信息时,重置与该节点信息相关联的所述从节点保持定时器;并第三次发送所述宣告报文;
所述第二同步模块第三次接收到所述宣告报文后,检测到所述宣告报文中的节点信息与本地存储的节点信息已经同步时,第三次通过单播形式向所述主设备节点返回所述注册报文;并重置所述主节点失效定时器。
11.如权利要求10所述的动态集群控制系统,其特征在于,所述生成模块根据同步后的全部所述节点信息生成所述NID、所述静态网关IP地址与所述虚拟地址MAC地址的映射表,根据预定的负载均衡策略生成数据报文转发表是指:
在全部所述设备节点的所述节点信息同步定时器被开启后,全部所述设备节点根据本地存储的所述节点信息,以及预设的负载均衡策略,分别生成全部所述NID、所述静态网关IP地址与MAC地址的映射表以及所述数据报文转发表;
其中,所述数据报文转发表中包括索引号、所述NID和转发节点号的对应关系。
12.如权利要求11所述的动态集群控制系统,其特征在于,
所述转发模块包括:第一转发模块和第二转发模块;
所述转发模块根据所述映射表和所述数据报文转发表,进行数据报文的转发是指:
当所述主设备节点发送ARP请求时,所述第一转发模块根据所述ARP请求中包含的所述主设备节点的第一MAC地址,以及所述映射表中包含的所述第一MAC地址与应答所述ARP请求的从设备节点NID的对应关系获取所述从设备节点的NID,并向获得的所述NID相对应的所述从设备节点发送所述ARP请求;所述第二转发模块接收所述ARP请求后,向发送所述ARP请求的所述主设备节点发出应答报文;
所述第一转发模块在收到第二转发模块发送的所述应答报文后,将所述主设备节点的所述静态网关IP地址与所述从设备节点的第二MAC地址相关联;并以所述第二MAC地址为目的地址发送数据报文;
所述第二转发模块接收到所述数据报文后,根据所述数据报文转发表中获得与所述从设备节点的NID相对应的所述转发节点号,通过所述转发节点号相对应的从设备节点将所述数据报文转发出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510475645.5A CN106453120B (zh) | 2015-08-05 | 2015-08-05 | 一种动态集群方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510475645.5A CN106453120B (zh) | 2015-08-05 | 2015-08-05 | 一种动态集群方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106453120A true CN106453120A (zh) | 2017-02-22 |
CN106453120B CN106453120B (zh) | 2019-06-07 |
Family
ID=58092962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510475645.5A Active CN106453120B (zh) | 2015-08-05 | 2015-08-05 | 一种动态集群方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106453120B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454155A (zh) * | 2017-07-25 | 2017-12-08 | 北京三快在线科技有限公司 | 一种基于负载均衡集群的故障处理方法、装置以及系统 |
CN108763312A (zh) * | 2018-04-26 | 2018-11-06 | 大连理工大学 | 一种基于负载的从数据节点筛选方法 |
WO2019184923A1 (zh) * | 2018-03-29 | 2019-10-03 | 华为技术有限公司 | 一种信息备份方法及相关设备 |
CN110545224A (zh) * | 2019-09-06 | 2019-12-06 | 杭州涂鸦信息技术有限公司 | 设备群组同步控制方法及可读存储介质、计算机设备 |
CN110673799A (zh) * | 2019-09-26 | 2020-01-10 | 苏州浪潮智能科技有限公司 | 一种集群伙伴关系建立方法、系统、设备及计算机介质 |
CN111338647A (zh) * | 2018-12-18 | 2020-06-26 | 杭州海康威视数字技术股份有限公司 | 一种大数据集群管理方法和装置 |
CN111818192A (zh) * | 2020-06-19 | 2020-10-23 | 深圳市中网信安技术有限公司 | 网关集群的通讯方法、网络设备、网关集群系统 |
CN112003943A (zh) * | 2020-08-25 | 2020-11-27 | 苏州思必驰信息科技有限公司 | 语音数据同步方法和装置 |
CN112152864A (zh) * | 2020-11-06 | 2020-12-29 | 北京中电兴发科技有限公司 | 一种基于自定义规则的集群组网方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725702A (zh) * | 2004-07-20 | 2006-01-25 | 联想网御科技(北京)有限公司 | 一种网络安全设备及其组成的实现高可用性的系统及方法 |
CN101815007A (zh) * | 2010-03-17 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种基于vrrp负载均衡的快速切换方法和设备 |
CN102694868A (zh) * | 2012-06-07 | 2012-09-26 | 浪潮电子信息产业股份有限公司 | 一种集群系统实现及任务动态分配方法 |
CN103095600A (zh) * | 2013-02-07 | 2013-05-08 | 杭州华三通信技术有限公司 | 一种基于Trill网络的负载均衡的方法及路由设备 |
US20140204761A1 (en) * | 2013-01-22 | 2014-07-24 | Brocade Communications Systems, Inc. | Optimizing traffic flows via dynamic routing protocol modifications when using server virtualization with dynamic routing |
CN104283948A (zh) * | 2014-09-26 | 2015-01-14 | 东软集团股份有限公司 | 服务器集群系统及其负载均衡实现方法 |
-
2015
- 2015-08-05 CN CN201510475645.5A patent/CN106453120B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725702A (zh) * | 2004-07-20 | 2006-01-25 | 联想网御科技(北京)有限公司 | 一种网络安全设备及其组成的实现高可用性的系统及方法 |
CN101815007A (zh) * | 2010-03-17 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种基于vrrp负载均衡的快速切换方法和设备 |
CN102694868A (zh) * | 2012-06-07 | 2012-09-26 | 浪潮电子信息产业股份有限公司 | 一种集群系统实现及任务动态分配方法 |
US20140204761A1 (en) * | 2013-01-22 | 2014-07-24 | Brocade Communications Systems, Inc. | Optimizing traffic flows via dynamic routing protocol modifications when using server virtualization with dynamic routing |
CN103095600A (zh) * | 2013-02-07 | 2013-05-08 | 杭州华三通信技术有限公司 | 一种基于Trill网络的负载均衡的方法及路由设备 |
CN104283948A (zh) * | 2014-09-26 | 2015-01-14 | 东软集团股份有限公司 | 服务器集群系统及其负载均衡实现方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454155A (zh) * | 2017-07-25 | 2017-12-08 | 北京三快在线科技有限公司 | 一种基于负载均衡集群的故障处理方法、装置以及系统 |
WO2019184923A1 (zh) * | 2018-03-29 | 2019-10-03 | 华为技术有限公司 | 一种信息备份方法及相关设备 |
CN108763312B (zh) * | 2018-04-26 | 2021-07-06 | 大连理工大学 | 一种基于负载的从数据节点筛选方法 |
CN108763312A (zh) * | 2018-04-26 | 2018-11-06 | 大连理工大学 | 一种基于负载的从数据节点筛选方法 |
CN111338647B (zh) * | 2018-12-18 | 2023-09-12 | 杭州海康威视数字技术股份有限公司 | 一种大数据集群管理方法和装置 |
CN111338647A (zh) * | 2018-12-18 | 2020-06-26 | 杭州海康威视数字技术股份有限公司 | 一种大数据集群管理方法和装置 |
CN110545224A (zh) * | 2019-09-06 | 2019-12-06 | 杭州涂鸦信息技术有限公司 | 设备群组同步控制方法及可读存储介质、计算机设备 |
CN110673799B (zh) * | 2019-09-26 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种集群伙伴关系建立方法、系统、设备及计算机介质 |
CN110673799A (zh) * | 2019-09-26 | 2020-01-10 | 苏州浪潮智能科技有限公司 | 一种集群伙伴关系建立方法、系统、设备及计算机介质 |
CN111818192A (zh) * | 2020-06-19 | 2020-10-23 | 深圳市中网信安技术有限公司 | 网关集群的通讯方法、网络设备、网关集群系统 |
CN111818192B (zh) * | 2020-06-19 | 2022-11-01 | 深圳市中网信安技术有限公司 | 网关集群的通讯方法、网络设备、网关集群系统 |
CN112003943A (zh) * | 2020-08-25 | 2020-11-27 | 苏州思必驰信息科技有限公司 | 语音数据同步方法和装置 |
CN112152864A (zh) * | 2020-11-06 | 2020-12-29 | 北京中电兴发科技有限公司 | 一种基于自定义规则的集群组网方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106453120B (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453120A (zh) | 一种动态集群方法和系统 | |
CN107733793B (zh) | 一种转发表项维护方法及装置 | |
CN104243630B (zh) | Vxlan网络中的mac地址学习方法及装置 | |
CN100579072C (zh) | 一种在ip设备之间进行通信的方法和系统 | |
CN105706400B (zh) | 在网络上转发分组的方法和装置 | |
CN102263704B (zh) | 一种支持数据中心二层互联的拓扑构建方法和装置 | |
US7706371B1 (en) | Domain based routing for managing devices operating behind a network address translator | |
CN105357024A (zh) | 用于sdn网络的区域控制设备、域控制设备和控制系统 | |
CN106161272B (zh) | 实现vrrp负载均衡的方法和路由设备 | |
JP2015122640A (ja) | 中継システムおよびスイッチ装置 | |
EP2458782A1 (en) | Method for multiplexing hot backup ports and network system thereof | |
CN104283980A (zh) | 一种地址解析协议代答方法和装置 | |
CN104378297A (zh) | 一种报文转发方法及设备 | |
CN105306354A (zh) | 一种不使用显式寻址的网络数据通信方法及系统 | |
CN104767676A (zh) | Sdn网络中的数据报文转发方法和系统 | |
CN107888492B (zh) | 一种vrrp负载均衡的方法和装置 | |
CN102215158A (zh) | 实现vrrp流量传输的方法和路由设备 | |
CN101072158A (zh) | 一种发布及处理虚线路信息的方法和供应商边缘设备 | |
US11088869B2 (en) | Virtual private network interworking | |
US20130094514A1 (en) | Method and switch for sending packet | |
Kim et al. | SEATTLE: A scalable ethernet architecture for large enterprises | |
CN105227466A (zh) | 通信处理方法和装置 | |
CN107276846B (zh) | 一种网关容灾方法、装置和存储介质 | |
CN106375211B (zh) | Vrrp负载均衡场景中的交换机数据处理方法和交换机 | |
CN104426759B (zh) | 主机路由获取方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |