CN113285874B - 一种基于vrrp单实例的网关备份方法与装置 - Google Patents
一种基于vrrp单实例的网关备份方法与装置 Download PDFInfo
- Publication number
- CN113285874B CN113285874B CN202110554042.XA CN202110554042A CN113285874B CN 113285874 B CN113285874 B CN 113285874B CN 202110554042 A CN202110554042 A CN 202110554042A CN 113285874 B CN113285874 B CN 113285874B
- Authority
- CN
- China
- Prior art keywords
- gateway
- vrrp
- virtual mac
- gateway device
- mac address
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- 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/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于VRRP单实例的网关备份方法与装置,方法包括:VRRP备份组中各网关设备分别根据各自接口IP地址计算各自的虚拟MAC地址,并基于VRRP通告报文选举主备网关设备;各网关设备分别基于各自的虚拟MAC地址和VRRP通告报文生成本地虚拟MAC表;当主机发出ARP请求时,主网关设备基于本地虚拟MAC表以不同虚拟MAC地址应答来自不同主机的ARP请求,备网关设备基于本地虚拟MAC表记录应答结果;主机分别根据各自应答得到的虚拟MAC地址完成上行流量转发。本申请可解决VRRP备份组中的Backup处于空闲状态造成的网络资源浪费问题,实现VRRP单实例负载均衡功能,提高网关利用率。
Description
【技术领域】
本发明属于数据通信可靠性技术领域,更具体地,涉及一种基于VRRP单实例的网关备份方法与装置。
【背景技术】
内部主机或服务器访问外部网络数据时,必须要经过网关设备的转发。内部主机或服务器配置网关IP地址,通过ARP(Address Resolution Protocol,即地址解析协议)学习网关的MAC地址,并将上行流量数据的目的MAC指定为学习到的网关MAC地址;流量发送到对应的网关设备之后由网关设备往外部网络转发,达到访问外部网络的目的。一旦网关设备出现故障,内部主机或服务器将失去与外部网络的联系,因此网关设备的稳定性显得尤为重要。
现有技术往往通过在多台网关设备之间部署VRRP(Virtual Router RedundancyProtocol,即虚拟路由冗余协议)来解决网关设备的稳定性问题。VRRP可以将多台网关设备模拟成一个虚拟网关设备,在多台网关设备之间形成冗余备份,提高数据传输的可靠性。
具体地,多台网关设备可形成一个VRRP备份组,在VRRP备份组内选举出一台主路由器Master和多台备路由器Backup,对主机或服务器而言,相当于一台虚拟路由器。虚拟路由器对外提供统一的IP地址(即虚拟IP)以及统一的转发MAC地址(即虚拟MAC)。主机或服务器设置网关IP为虚拟IP地址,通过发送ARP请求来学习虚拟MAC地址,VRRP备份组的Master以虚拟MAC地址应答对虚拟IP地址的ARP请求,并且完成后续的流量转发。一旦Master发生故障,VRRP备份组中的Backup会根据VRRP选举规则自动切换为Master,接管原来Master的工作,主机或服务器的上行数据流量能自动切换到新的Master设备。
VRRP这种冗余备份方法提高了数据传输的可靠性,但是VRRP备份组中只有Master转发上行流量,Backup处于空闲状态,浪费了网络资源。针对Backup空闲这种资源浪费问题,现有技术也提出了一些解决方案:
1)通过增加VRRP协议报文类型,由Master统一分配VRRP备份组中各成员的虚拟MAC地址。当不同的主机发送对虚拟IP地址的ARP请求时,Master以不同的虚拟MAC地址应答,并且通知VRRP备份组中的成员创建虚拟转发器,由对应的虚拟转发器完成对数据的转发。但这种解决方案属于私有协议,需要额外增加多种VRRP报文类型,兼容性较差。
2)在VRRP备份组中手动配置各成员的虚拟MAC地址,相同的虚拟MAC地址之间选举主备,由选举出来的Master进行流量转发,Backup作为冗余备份。每一个不同的虚拟MAC地址都会选举出一个Master,因此不同的虚拟MAC地址形成负载分担,相同的虚拟MAC地址形成冗余备份。但这种解决方案实现的是半负载分担,相同的虚拟MAC地址选举出来的Backup仍然处于空闲状态,仍存在一定的资源浪费问题。
3)VRRP备份组中的Master收集所有的主机MAC地址信息,并将主机信息分发给VRRP备份组中的各成员,由各成员进行对分配给自己的主机进行流量转发。但这种解决方案需要Master往VRRP备份组中广播分发消息,需要额外扩充报文。
鉴于此,克服上述现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于VRRP单实例的网关备份方法与装置,其目的在于在不增加额外报文的前提下实现VRRP单实例负载均衡功能,提高VRRP备份组网关的利用率,由此解决VRRP在提供网关备份时,VRRP备份组中的Backup处于空闲状态造成网络资源的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于VRRP单实例的网关备份方法,其特征在于,包括:
VRRP备份组中的各网关设备分别根据各自的接口IP地址计算各自的虚拟MAC地址,并基于VRRP通告报文选举出主网关设备和备网关设备;
VRRP备份组中的各网关设备分别基于各自的虚拟MAC地址和VRRP通告报文生成一份相同的本地虚拟MAC表;其中,所述本地虚拟MAC表中记录有每个网关设备的虚拟MAC地址;
当一个或多个主机向VRRP备份组发出ARP请求时,所述主网关设备基于对应的本地虚拟MAC表以不同虚拟MAC地址应答来自不同主机的ARP请求,所述备网关设备基于对应的本地虚拟MAC表记录应答结果;
所述一个或多个主机分别根据各自应答得到的虚拟MAC地址,利用对应网关设备完成上行流量转发,以实现所述VRRP备份组的负载均衡。
优选地,所述VRRP备份组中的各网关设备分别根据各自的接口IP地址计算各自的虚拟MAC地址,并基于VRRP通告报文选举出主网关设备和备网关设备,具体为:
至少两个网关设备在与二层交换机的接口上配置VRRP单实例,并基于各网关设备的接口IP地址配置统一的虚拟IP地址,形成VRRP备份组;
VRRP备份组中的各网关设备分别根据各自的接口IP地址,采用预设生成规则计算出各自的虚拟MAC地址;
VRRP备份组中的各网关设备分别以各自的接口IP地址为源IP,周期性向二层网络中发送VRRP通告报文;其中,所述VRRP通告报文中携带有对应网关设备的接口IP地址、优先级和虚拟MAC地址;
VRRP备份组中的各网关设备通过二层网络接收到其余网关设备发送来的VRRP通告报文后,通过比较优先级和接口IP地址选举出一个主网关设备,并将除所述主网关设备以外的其余网关设备作为备网关设备。
优选地,所述VRRP备份组中的各网关设备分别基于各自的虚拟MAC地址和VRRP通告报文生成一份本地虚拟MAC表,具体为:
对于VRRP备份组中的每个网关设备,该网关设备根据接收到的VRRP通告报文获取其余各网关设备的接口IP地址,并采用预设生成规则计算出其余各网关设备的虚拟MAC地址;
该网关设备将自身的虚拟MAC地址与其余各网关设备的虚拟MAC地址按照预设顺序进行排列存储,得到所述本地虚拟MAC表。
优选地,在ipv4网络中,所述虚拟MAC地址对应的预设生成规则具体为:04:vrid:ip[0]:ip[1]:ip[2]:ip[3];
在ipv6网络中,所述虚拟MAC地址对应的预设生成规则具体为:06:vrid:ip[12]:ip[13]:ip[14]:ip[15]。
优选地,当一个或多个主机向VRRP备份组发出ARP请求时,所述主网关设备基于对应的本地虚拟MAC表以不同虚拟MAC地址应答来自不同主机的ARP请求,所述备网关设备基于对应的本地虚拟MAC表记录应答结果,具体为:
所述一个或多个主机向二层网络广播ARP请求,请求获取所述虚拟IP地址对应的虚拟MAC地址;
当所述主网关设备接收到主机发送来的ARP请求后,通过轮询对应本地虚拟MAC表找到应答最少的虚拟MAC地址来应答该主机的ARP请求,并在对应本地虚拟MAC表中记录该虚拟MAC地址的应答结果;
当所述备网关设备接收到主机发送来的ARP请求后,通过轮询对应本地虚拟MAC表找到应答最少的虚拟MAC地址,并在对应本地虚拟MAC表中记录该虚拟MAC地址的应答结果。
优选地,在所述VRRP备份组中的各网关设备分别以各自的接口IP地址为源IP,周期性向二层网络中发送VRRP通告报文之后,所述方法还包括:
二层交换机接收到各网关设备发送来的VRRP通告报文后,基于VRRP通告报文在本地建立或更新二层MAC转发表;其中,所述二层MAC转发表中记录有每个网关设备的虚拟MAC地址和所述二层交换机上接口的对应关系。
优选地,所述一个或多个主机分别根据各自应答得到的虚拟MAC地址,利用对应网关设备完成上行流量转发,具体为:
主机根据应答结果获取对应的虚拟MAC地址,将该虚拟MAC地址保存在本地ARP缓存,并以该虚拟MAC地址为目的MAC地址发送数据;
所述二层交换机收到主机发送来的对应目的MAC地址的报文后,通过查询所述二层MAC转发表获取对应的接口,并将数据从对应接口发送;
网关设备接收到所述二层交换机通过对应接口发送来的数据后,通过查询路由将数据上送三层网络,实现该主机的上行流量转发。
优选地,当选举出主网关设备之后,所述方法还包括:通过比较优先级和接口IP地址,在除所述主网关设备以外的其余网关设备中选举出一个主网关继承设备;其中,当所述主网关设备发生故障时,所述主网关继承设备切换为主网关设备并接管发往原主网关设备的数据流量。
优选地,所述当所述主网关设备发生故障时,所述主网关继承设备切换为主网关设备并接管发往原主网关设备的数据流量,具体为:
所述主网关继承设备通过超时机制实时检测所述主网关设备是否故障;
当检测到故障时将所述主网关继承设备切换为主网关设备,查询原主网关设备负责转发的主机信息,并向该主机发送一条单播免费ARP报文;
该主机接收到免费ARP报文后更新本地ARP缓存,将所述虚拟IP地址对应的虚拟MAC地址更新为所述主网关继承设备的虚拟MAC地址;
该主机以所述主网关继承设备的虚拟MAC地址为目的MAC地址发送数据,以便由所述主网关继承设备通过查询路由将数据上送三层网络。
按照本发明的另一方面,提供了一种基于VRRP单实例的网关备份装置,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成第一方面所述的基于VRRP单实例的网关备份方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明提供的网关备份方法中,VRRP备份组中的所有网关设备使用一个虚拟IP地址,各网关设备根据各自的接口IP地址计算出各自的虚拟MAC地址,不需要由VRRP备份组的主网关设备Master进行广播分发,也不需要扩展VRRP协议报文或者增加新的IP报文,由此解决了VRRP在提供网关备份时,VRRP备份组中的Backup处于空闲状态造成的网络资源浪费问题,在不需要额外增加协议报文的前提下实现VRRP单实例负载均衡功能,提高VRRP备份组网关的利用率。另外,在主网关设备Master以外还选举出主网关继承设备,当主网关设备故障时可接管原来Master的工作,避免Master故障期间主机的ARP请求得不到应答。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于VRRP单实例的网关备份方法流程图;
图2是本发明实施例提供的一种计算虚拟MAC地址和选举主备网关设备的流程图;
图3是本发明实施例提供的一种主网关设备应答主机ARP请求的流程图;
图4是本发明实施例提供的一种主机根据虚拟MAC地址进行上行流量转发的流程图;
图5是本发明实施例提供的一种主网关设备发生故障时的处理流程图;
图6为本发明实施例提供的一种VRRP收发通告报文的网络结构体;
图7为本发明实施例提供的一种本地虚拟MAC表的结构示意图;
图8为本发明实施例提供的一种二层交换机建立或更新二层MAC转发表的示意图;
图9为本发明实施例提供的一种VRRP备份组中Master进行ARP应答的示意图;
图10为本发明实施例提供的一种VRRP备份组进行负载均衡转发流量的示意图;
图11为本发明实施例提供的一种VRRP备份组中Master故障时利用Master继承人进行流量切换的示意图;
图12是本发明实施例提供的一种基于VRRP单实例的网关备份装置架构图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1
为解决VRRP在提供网关备份时,VRRP备份组中的Backup处于空闲状态造成网络资源的问题,本发明实施例提供了一种基于VRRP单实例的网关备份方法,如图1所示,主要包括以下步骤:
步骤S1,VRRP备份组中的各网关设备分别根据各自的接口IP地址计算各自的虚拟MAC地址,并基于VRRP通告报文选举出主网关设备和备网关设备。参考图2,具体实现过程如下:
步骤S11,至少两个网关设备在与二层交换机的接口上配置VRRP单实例,并基于各网关设备的接口IP地址配置统一的虚拟IP地址,形成VRRP备份组。也就是说,所述VRRP备份组中的所有网关设备使用同一个虚拟IP地址,且该虚拟IP地址需与各接口IP地址使用相同网段。VRRP单实例也就是指一个VRRP备份组,对应配置一个虚拟IP地址。
步骤S12,VRRP备份组中的各网关设备分别根据各自的接口IP地址,采用预设生成规则计算出各自的虚拟MAC地址。也就是说,各网关设备可采用相同的算法计算出自身的虚拟MAC地址,不需要额外增加报文。其中,在ipv4网络中,所述虚拟MAC地址对应的预设生成规则具体为:04:vrid:ip[0]:ip[1]:ip[2]:ip[3];在ipv6网络中,所述虚拟MAC地址对应的预设生成规则具体为:06:vrid:ip[12]:ip[13]:ip[14]:ip[15]。各网关设备接口IP地址的唯一性,保证了计算出的虚拟MAC地址的唯一性。
步骤S13,VRRP备份组中的各网关设备分别以各自的接口IP地址为源IP,周期性向二层网络中发送VRRP通告报文;其中,所述VRRP通告报文中携带有对应网关设备的接口IP地址、优先级和虚拟MAC地址。
步骤S14,VRRP备份组中的各网关设备通过二层网络接收到其余网关设备发送来的VRRP通告报文后,通过比较优先级和接口IP地址选举出一个主网关设备,并将除所述主网关设备以外的其余网关设备作为备网关设备。其中,选举规则如下:先比较各网关设备的优先级,将优先级最高的网关设备作为主网关设备Master;当优先级相同时则比较网关设备的接口IP地址,将接口IP地址较大的作为主网关设备Master。选出主网关设备Master之后,其余网关设备即为备网关设备Backup。
步骤S2,VRRP备份组中的各网关设备分别基于各自的虚拟MAC地址和VRRP通告报文生成一份相同的本地虚拟MAC表;其中,所述本地虚拟MAC表中记录有每个网关设备的虚拟MAC地址。
具体实现过程如下:对于VRRP备份组中的每个网关设备,该网关设备根据接收到的VRRP通告报文获取其余各网关设备的接口IP地址,并采用所述预设生成规则计算出其余各网关设备的虚拟MAC地址;然后该网关设备将自身的虚拟MAC地址与其余各网关设备的虚拟MAC地址按照预设顺序进行排列存储,得到所述本地虚拟MAC表。其中,所述预设顺序优选为从大到小,每个网关设备都按照预设顺序排列得到本地虚拟MAC表,可确保每个网关设备处的本地虚拟MAC表都是相同的。
步骤S3,当一个或多个主机向VRRP备份组发出ARP请求时,所述主网关设备基于对应的本地虚拟MAC表以不同虚拟MAC地址应答来自不同主机的ARP请求,所述备网关设备基于对应的本地虚拟MAC表记录应答结果。参考图3,具体实现过程如下:
步骤S31,所述一个或多个主机向二层网络广播ARP请求,请求获取所述虚拟IP地址对应的虚拟MAC地址。
步骤S32,当所述主网关设备接收到主机发送来的ARP请求后,通过轮询对应本地虚拟MAC表找到应答最少的虚拟MAC地址来应答该主机的ARP请求,并在对应本地虚拟MAC表中记录该虚拟MAC地址的应答结果。通过这种方式,所述主网关设备可以不同虚拟MAC地址应答来自不同主机的ARP请求,从而形成所述VRRP备份组中各网关设备之间的负载均衡。
步骤S33,当所述备网关设备接收到主机发送来的ARP请求后,通过轮询对应本地虚拟MAC表找到应答最少的虚拟MAC地址,并在对应本地虚拟MAC表中记录该虚拟MAC地址的应答结果。也就是说,所述备网关设备并不会应答该主机的ARP请求,只是通过本地虚拟MAC表确定应答该主机的虚拟MAC地址,并记录该虚拟MAC地址已经应答了该主机。其中,步骤S32和S33并不存在执行顺序上的限制,二者顺序可互换。
步骤S4,所述一个或多个主机分别根据各自应答得到的虚拟MAC地址,利用对应网关设备完成上行流量转发,以实现所述VRRP备份组的负载均衡。
其中,在步骤S13中所述VRRP备份组中的各网关设备分别以各自的接口IP地址为源IP,周期性向二层网络中发送VRRP通告报文之后,所述方法还包括:所述二层交换机接收到各网关设备发送来的VRRP通告报文后,基于VRRP通告报文中的虚拟MAC地址以及收到该VRRP通告报文的接口,在本地建立或更新二层MAC转发表;其中,所述二层MAC转发表中记录有每个网关设备的虚拟MAC地址和所述二层交换机上接口的对应关系。因此,步骤S4可参考图4,对于任一主机,具体实现过程如下:
步骤S41,主机根据应答结果获取对应的虚拟MAC地址,将该虚拟MAC地址保存在本地ARP缓存,并以该虚拟MAC地址为目的MAC地址发送数据。
步骤S42,所述二层交换机收到主机发送来的对应目的MAC地址的报文后,通过查询所述二层MAC转发表获取对应的接口,并将数据从对应接口发送。
步骤S43,网关设备接收到所述二层交换机通过对应接口发送来的数据后,通过查询路由将数据上送三层网络,从而实现该主机的上行流量转发。
进一步地,结合本发明实施例还存在一种优选的实现方案,当选举出主网关设备之后,所述方法还包括:通过比较优先级和接口IP地址,在除所述主网关设备以外的其余网关设备中选举出一个主网关继承设备,也可称为Master继承人。如此一来,当所述主网关设备发生故障时,所述主网关继承设备就可切换为主网关设备,并接管发往原主网关设备的数据流量。参考图5,具体实现过程如下:
步骤S51,所述主网关继承设备通过超时机制实时检测所述主网关设备是否故障。具体地,在正常状态下,所述主网关设备会周期性向二层网络中发送VRRP通告报文,所述主网关继承设备可通过二层网络周期性接收到该VRRP通告报文;因此可根据实际经验设置一预设时间,如果所述主网关继承设备在所述预设时间内未接收到所述主网关设备发送来的VRRP通告报文,即可认为所述主网关设备发生故障。
步骤S52,当检测到故障时将所述主网关继承设备切换为主网关设备,查询原主网关设备负责转发的主机信息,并向该主机发送一条单播免费ARP报文。其中,该免费ARP报文中携带有所述主网关继承设备的虚拟MAC地址。
步骤S53,该主机接收到免费ARP报文后更新本地ARP缓存,将所述虚拟IP地址对应的虚拟MAC地址更新为所述主网关继承设备的虚拟MAC地址。
步骤S54,该主机以所述主网关继承设备的虚拟MAC地址为目的MAC地址发送数据,以便由所述主网关继承设备通过查询路由将数据上送三层网络。具体地,该主机先以所述主网关继承设备的虚拟MAC地址为目的MAC地址发送数据,所述二层交换机收到主机发送来的对应目的MAC地址的报文后,通过查询所述二层MAC转发表获取对应的接口,并将数据从对应接口发送;所述主网关继承设备接收到所述二层交换机通过对应接口发送来的数据后,通过查询路由将数据上送三层网络。
本发明实施例提供的上述网关备份方法中,VRRP备份组中的所有网关设备使用一个虚拟IP地址,各网关设备根据各自的接口IP地址计算出各自的虚拟MAC地址,不需要由VRRP备份组的主网关设备Master进行广播分发,也不需要扩展VRRP协议报文或者增加新的IP报文,由此解决了VRRP在提供网关备份时,VRRP备份组中的Backup处于空闲状态造成的网络资源浪费问题,在不需要额外增加协议报文的前提下实现VRRP单实例负载均衡功能,提高VRRP备份组网关的利用率。另外,在主网关设备Master以外还选举出主网关继承设备,当主网关设备故障时可接管原来Master的工作,避免Master故障期间主机的ARP请求得不到应答。
实施例2
为进一步理解方案,本发明实施例以网络结构体中包含R1和R2两个网关设备、Host1和Host2两个主机为例,如图6所示,对上述实施例1中的网关备份方法作进一步的详细说明。具体包括以下步骤:
步骤S10,VRRP备份组中的各网关设备分别计算出各自的虚拟MAC地址,并在VRRP备份组中选举出Master以及Master继承人。具体如下:
步骤S101,网关设备R1、R2在与二层交换机L2的接口上配置VRRP单实例,R1、R2的接口IP地址分别为10.1.1.2、10.1.1.1,则配置统一的虚拟IP地址(即VIP)为10.1.1.100,形成包含R1、R2两个网关设备的VRRP备份组,如图6中虚线圈内所示。
步骤S102,网关设备R1、R2分别根据各自的接口IP地址,采用相同的预设生成规则计算出各自的虚拟MAC地址。此处以ipv4网络为例,所示预设生成规则具体为:04:vrid:ip[0]:ip[1]:ip[2]:ip[3],则R1的虚拟MAC地址为04:01:0A:01:01:02,R2的虚拟MAC地址为04:01:0A:01:01:01。
步骤S103,网关设备R1、R2分别以各自的接口IP地址为源IP,周期性向二层网络发送VRRP通告报文,再通过二层网络转发至其余网关设备。由图6可知,所述VRRP通告报文中携带了对应网关设备的接口IP地址(即源IP地址sip)和优先级(即priority)。
步骤S104,网关设备R1、R2在收到对方发送来的VRRP通告报文后,通过比较两个网关设备的优先级和接口IP地址,选举出Master。由于R1和R2的优先级相同(均为100),而R1的接口IP地址大于R2,因此将网关设备R1作为Master,R2也就是备网关设备Backup。
步骤S105,Master选举之后,以相同规则在剩余的网关设备中选举出Master继承人,此处备网关设备R2即为Master继承人。
步骤S20,网关设备R1、R2在收到对方发送来的VRRP通告报文后,分别生成一份本地虚拟MAC表并保存。
当R1接收到R2发送来的VRRP通告报文后,从报文中获取R2的接口IP地址,根据R2的接口IP地址采用所述预设生成规则计算出R2的虚拟MAC地址,并将R2的状态标记为Active;然后将自身的虚拟MAC地址与R2的虚拟MAC地址按从大到小的顺序进行排列存储,得到如图7所示的本地虚拟MAC表。其中,除各网关设备的虚拟MAC地址以及激活状态以外,所述本地虚拟MAC表中还记录了对应的接口IP地址、VRRP状态、是否为Master继承人以及虚拟MAC地址应答ARP记录。
同样地,当R2接收到R1发送来的VRRP通告报文后,从报文中获取R1的接口IP地址,根据R1的接口IP地址采用所述预设生成规则计算出R1的虚拟MAC地址,并将R1的状态标记为Active;然后将自身的虚拟MAC地址与R1的虚拟MAC地址按从大到小的顺序进行排列存储,得到如图7所示的本地虚拟MAC表。因此,网关设备R1、R2处的本地虚拟MAC表是相同的。
步骤S30,二层交换机L2根据各网关设备发送来的VRRP通告报文,建立或更新二层MAC转发表。
如图8所示,网关设备R1、R2在周期性向二层网络发送VRRP通告报文时,会将自身的虚拟MAC地址封装为发包的源MAC地址(即smac);则二层交换机L2接收到R1、R2发送来的VRRP通告报文后,会根据VRRP通告报文中的虚拟MAC地址以及收到该VRRP通告报文的接口,在本地建立或更新二层MAC转发表。参考图8,假设此处L2通过port1接收到R1发送来的VRRP通告报文,通过port2接收到R2发送来的VRRP通告报文,则所述二层MAC转发表中的对应关系为:04:01:0A:01:01:02----port1,04:01:0A:01:01:01----port2。
步骤S40,当主机Host1、Host2向VRRP备份组发出ARP请求时,Master基于对应的本地虚拟MAC表以不同虚拟MAC地址应答来自不同主机的ARP请求。结合图9,具体过程如下:
步骤S401,主机Host1、Host2向二层网络广播ARP请求,请求获取网关地址10.1.1.100的虚拟MAC地址。其中,所述ARP请求中携带有发送者IP地址、发送者MAC地址、目标IP地址以及目标MAC地址。
步骤S402,R1收到Host1的ARP请求后,轮询对应的本地虚拟MAC表,以应答ARP最少的虚拟MAC地址来应答该ARP请求,并在对应本地虚拟MAC表中记录。此处以虚拟MAC地址04:01:0A:01:01:02应答Host1的ARP请求为例,记录04:01:0A:01:01:02已经应答了主机Host1(MAC地址为00:00:00:00:00:01);而且R1为Master,因此以Host1的MAC地址00:00:00:00:00:01为目的MAC地址,向Host1发送ARP应答报文。
步骤S403,R2也收到Host1的ARP请求,轮询对应的本地虚拟MAC表,找到应答ARP最少的虚拟MAC地址,并在对应本地虚拟MAC表中记录。此处找到虚拟MAC地址04:01:0A:01:01:02,因此在本地虚拟MAC表中记录04:01:0A:01:01:02已经应答了主机Host1,但是R2作为Backup因此不发送ARP应答报文。
步骤S404,R1收到Host2的ARP请求后,轮询对应的本地虚拟MAC表,继续以此时应答ARP最少的虚拟MAC地址来应答该ARP请求,并在对应本地虚拟MAC表中记录。此处以虚拟MAC地址04:01:0A:01:01:01应答Host2的ARP请求为例,记录04:01:0A:01:01:01已经应答了主机Host2(MAC地址为00:00:00:00:00:02);而且R1为Master,因此以Host2的MAC地址00:00:00:00:00:02为目的MAC地址,向Host2发送ARP应答报文。
步骤S405,R2也收到Host2的ARP请求,轮询对应的本地虚拟MAC表,找到应答ARP最少的虚拟MAC地址,并在对应本地虚拟MAC表中记录。此处找到虚拟MAC地址04:01:0A:01:01:01,因此在本地虚拟MAC表中记录04:01:0A:01:01:01已经应答了主机Host2,但是R2作为Backup因此不发送ARP应答报文。
通过这种方式,Master(即R1)以虚拟MAC地址04:01:0A:01:01:02应答Host1的ARP请求,以虚拟MAC地址04:01:0A:01:01:01应答Host2的ARP请求,从而形成VRRP备份组中网关设备R1、R2间的负载均衡。
步骤S50,主机Host1、Host2分别根据各自应答得到的虚拟MAC地址,利用对应网关设备完成上行流量转发。结合图10,具体过程如下:
步骤S501,主机Host1通过步骤S402中的ARP应答报文获取虚拟MAC地址04:01:0A:01:01:02,并保存在本地ARP缓存,然后以该虚拟MAC地址04:01:0A:01:01:02为目的MAC地址发送数据;主机Host2通过步骤S404中的ARP应答报文获取虚拟MAC地址04:01:0A:01:01:01,并保存在本地ARP缓存,然后以该虚拟MAC地址04:01:0A:01:01:01为目的MAC地址发送数据。
步骤S502,二层交换机L2接收到Host1发送的目的MAC地址为04:01:0A:01:01:02的报文后,通过查询二层转发表找到对应接口port1,然后将数据从port1发送;二层交换机L2接收到Host2发送的目的MAC为04:01:0A:01:01:01的报文后,通过查询二层转发表找到对应接口port2,然后将数据从port2发送。
步骤S503,R1接收到二层交换机L2的port1发送的数据后,经查询目的MAC地址04:01:0A:01:01:02即为本机虚拟MAC地址,因此查询路由后将数据上送三层网络Internet;R2接收到二层交换机L2的port2发送的数据后,经查询目的MAC地址04:01:0A:01:01:01即为本机虚拟MAC地址,因此查询路由后将数据上送三层网络Internet。
步骤S60,当VRRP备份组中的Master(即R1)发生故障时,将Backup中的Master继承人(即R2)切换为Master并接管发往原Master(即R1)的数据流量。结合图11,具体过程如下:
步骤S601,R2通过超时机制检测到R1发生故障,即预设时间内未接收到R1发送来的VRRP通告报文。
步骤S602,将R2状态切换为Master,查询原Master(即R1)负责转发的主机Host1的信息,因此向Host1发送一条单播免费ARP报文,该报文中携带有R2的虚拟MAC地址。
步骤S603,Host1接收到免费ARP报文后更新本地ARP缓存,将虚拟IP地址10.1.1.100对应的虚拟MAC地址更新为R2的虚拟MAC地址04:01:0A:01:01:01。
步骤S604,Host1以04:01:0A:01:01:01为目的MAC地址发送数据,二层交换机L2接收到报文并查询二层MAC转发表后,将数据发往虚拟MAC地址04:01:0A:01:01:01对应的接口port2;R2接收到L2的port2发送的数据,查询目的MAC地址04:01:0A:01:01:01为本机虚拟MAC地址,因此查询路由后将数据上送三层网络Internet。
本发明实施例是以网络结构体中包含R1和R2两个网关设备、Host1和Host2两个主机为例进行说明,但并不用以限制本发明;在此基础上,还可设置其他数量的网关设备和主机,具体实现过程均可参考上述实施例中的描述,在此不做赘述。
实施例3
在上述实施例1和实施例2提供的基于VRRP单实例的网关备份方法的基础上,本发明还提供了一种可用于实现上述方法的基于VRRP单实例的网关备份装置,如图12所示,是本发明实施例的装置架构示意图。本实施例的基于VRRP单实例的网关备份装置包括一个或多个处理器21以及存储器22。其中,图12中以一个处理器21为例。
所述处理器21和所述存储器22可以通过总线或者其他方式连接,图12中以通过总线连接为例。
所述存储器22作为一种基于VRRP单实例的网关备份方法非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1中的基于VRRP单实例的网关备份方法。所述处理器21通过运行存储在所述存储器22中的非易失性软件程序、指令以及模块,从而执行基于VRRP单实例的网关备份装置的各种功能应用以及数据处理,即实现实施例1和实施例2的基于VRRP单实例的网关备份方法。
所述存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,所述存储器22可选包括相对于所述处理器21远程设置的存储器,这些远程存储器可以通过网络连接至所述处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的基于VRRP单实例的网关备份方法,例如,执行以上描述的图1-图5所示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于VRRP单实例的网关备份方法,其特征在于,包括:
VRRP备份组中的各网关设备分别根据各自的接口IP地址计算各自的虚拟MAC地址,并基于VRRP通告报文选举出主网关设备和备网关设备;
VRRP备份组中的各网关设备分别基于各自的虚拟MAC地址和VRRP通告报文生成一份相同的本地虚拟MAC表;其中,所述本地虚拟MAC表中记录有每个网关设备的虚拟MAC地址;
当一个或多个主机向VRRP备份组发出ARP请求时,所述主网关设备基于对应的本地虚拟MAC表以不同虚拟MAC地址应答来自不同主机的ARP请求,所述备网关设备基于对应的本地虚拟MAC表记录应答结果;
所述一个或多个主机分别根据各自应答得到的虚拟MAC地址,利用对应网关设备完成上行流量转发,以实现所述VRRP备份组的负载均衡。
2.如权利要求1所述的基于VRRP单实例的网关备份方法,其特征在于,所述VRRP备份组中的各网关设备分别根据各自的接口IP地址计算各自的虚拟MAC地址,并基于VRRP通告报文选举出主网关设备和备网关设备,具体为:
至少两个网关设备在与二层交换机的接口上配置VRRP单实例,并基于各网关设备的接口IP地址配置统一的虚拟IP地址,形成VRRP备份组;
VRRP备份组中的各网关设备分别根据各自的接口IP地址,采用预设生成规则计算出各自的虚拟MAC地址;
VRRP备份组中的各网关设备分别以各自的接口IP地址为源IP,周期性向二层网络中发送VRRP通告报文;其中,所述VRRP通告报文中携带有对应网关设备的接口IP地址、优先级和虚拟MAC地址;
VRRP备份组中的各网关设备通过二层网络接收到其余网关设备发送来的VRRP通告报文后,通过比较优先级和接口IP地址选举出一个主网关设备,并将除所述主网关设备以外的其余网关设备作为备网关设备。
3.如权利要求2所述的基于VRRP单实例的网关备份方法,其特征在于,所述VRRP备份组中的各网关设备分别基于各自的虚拟MAC地址和VRRP通告报文生成一份本地虚拟MAC表,具体为:
对于VRRP备份组中的每个网关设备,该网关设备根据接收到的VRRP通告报文获取其余各网关设备的接口IP地址,并采用预设生成规则计算出其余各网关设备的虚拟MAC地址;
该网关设备将自身的虚拟MAC地址与其余各网关设备的虚拟MAC地址按照预设顺序进行排列存储,得到所述本地虚拟MAC表。
4.如权利要求2或3所述的基于VRRP单实例的网关备份方法,其特征在于,在ipv4网络中,所述虚拟MAC地址对应的预设生成规则具体为:04:vrid:ip[0]:ip[1]:ip[2]:ip[3];
在ipv6网络中,所述虚拟MAC地址对应的预设生成规则具体为:06:vrid:ip[12]:ip[13]:ip[14]:ip[15]。
5.如权利要求2所述的基于VRRP单实例的网关备份方法,其特征在于,当一个或多个主机向VRRP备份组发出ARP请求时,所述主网关设备基于对应的本地虚拟MAC表以不同虚拟MAC地址应答来自不同主机的ARP请求,所述备网关设备基于对应的本地虚拟MAC表记录应答结果,具体为:
所述一个或多个主机向二层网络广播ARP请求,请求获取所述虚拟IP地址对应的虚拟MAC地址;
当所述主网关设备接收到主机发送来的ARP请求后,通过轮询对应本地虚拟MAC表找到应答最少的虚拟MAC地址来应答该主机的ARP请求,并在对应本地虚拟MAC表中记录该虚拟MAC地址的应答结果;
当所述备网关设备接收到主机发送来的ARP请求后,通过轮询对应本地虚拟MAC表找到应答最少的虚拟MAC地址,并在对应本地虚拟MAC表中记录该虚拟MAC地址的应答结果。
6.如权利要求2所述的基于VRRP单实例的网关备份方法,其特征在于,在所述VRRP备份组中的各网关设备分别以各自的接口IP地址为源IP,周期性向二层网络中发送VRRP通告报文之后,所述方法还包括:
二层交换机接收到各网关设备发送来的VRRP通告报文后,基于VRRP通告报文在本地建立或更新二层MAC转发表;其中,所述二层MAC转发表中记录有每个网关设备的虚拟MAC地址和所述二层交换机上接口的对应关系。
7.如权利要求6所述的基于VRRP单实例的网关备份方法,其特征在于,所述一个或多个主机分别根据各自应答得到的虚拟MAC地址,利用对应网关设备完成上行流量转发,具体为:
主机根据应答结果获取对应的虚拟MAC地址,将该虚拟MAC地址保存在本地ARP缓存,并以该虚拟MAC地址为目的MAC地址发送数据;
所述二层交换机收到主机发送来的对应目的MAC地址的报文后,通过查询所述二层MAC转发表获取对应的接口,并将数据从对应接口发送;
网关设备接收到所述二层交换机通过对应接口发送来的数据后,通过查询路由将数据上送三层网络,实现该主机的上行流量转发。
8.如权利要求2所述的基于VRRP单实例的网关备份方法,其特征在于,当选举出主网关设备之后,所述方法还包括:通过比较优先级和接口IP地址,在除所述主网关设备以外的其余网关设备中选举出一个主网关继承设备;其中,当所述主网关设备发生故障时,所述主网关继承设备切换为主网关设备并接管发往原主网关设备的数据流量。
9.如权利要求8所述的基于VRRP单实例的网关备份方法,其特征在于,所述当所述主网关设备发生故障时,所述主网关继承设备切换为主网关设备并接管发往原主网关设备的数据流量,具体为:
所述主网关继承设备通过超时机制实时检测所述主网关设备是否故障;
当检测到故障时将所述主网关继承设备切换为主网关设备,查询原主网关设备负责转发的主机信息,并向该主机发送一条单播免费ARP报文;
该主机接收到免费ARP报文后更新本地ARP缓存,将所述虚拟IP地址对应的虚拟MAC地址更新为所述主网关继承设备的虚拟MAC地址;
该主机以所述主网关继承设备的虚拟MAC地址为目的MAC地址发送数据,以便由所述主网关继承设备通过查询路由将数据上送三层网络。
10.一种基于VRRP单实例的网关备份装置,其特征在于,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成权利要求1-9任一所述的基于VRRP单实例的网关备份方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554042.XA CN113285874B (zh) | 2021-05-20 | 2021-05-20 | 一种基于vrrp单实例的网关备份方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554042.XA CN113285874B (zh) | 2021-05-20 | 2021-05-20 | 一种基于vrrp单实例的网关备份方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113285874A CN113285874A (zh) | 2021-08-20 |
CN113285874B true CN113285874B (zh) | 2022-03-25 |
Family
ID=77280409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110554042.XA Active CN113285874B (zh) | 2021-05-20 | 2021-05-20 | 一种基于vrrp单实例的网关备份方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113285874B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992557B (zh) * | 2021-09-10 | 2023-03-31 | 新华三信息安全技术有限公司 | 报文处理方法及装置 |
US20230077521A1 (en) * | 2021-09-14 | 2023-03-16 | Dell Products L.P. | Managing failover between information handling systems |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100407671C (zh) * | 2003-03-11 | 2008-07-30 | 华为技术有限公司 | 实现网络负载分担功能的网络通信方法 |
US8144698B2 (en) * | 2006-06-09 | 2012-03-27 | Ericsson Ab | Scalable data forwarding techniques in a switched network |
CN102231712B (zh) * | 2011-07-22 | 2014-04-23 | 浙江宇视科技有限公司 | 在编码器上进行负载分担的方法及编码器 |
CN102739544A (zh) * | 2012-06-28 | 2012-10-17 | 杭州华三通信技术有限公司 | 用于vrrp标准模式向负载均衡模式切换的方法和装置 |
CN110708393B (zh) * | 2019-10-21 | 2023-11-21 | 北京百度网讯科技有限公司 | 用于传输数据的方法、装置和系统 |
-
2021
- 2021-05-20 CN CN202110554042.XA patent/CN113285874B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113285874A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2883170C (en) | High availability for cloud-based services | |
US10257265B2 (en) | Redundancy network protocol system | |
US8812664B2 (en) | Controlling an apparatus | |
US10630543B1 (en) | Wireless mesh network implementation for IOT devices | |
US9858163B2 (en) | Dual adjacency between edge devices at a network site | |
US8582469B2 (en) | Peer-to-peer network including routing protocol enhancement | |
JP4700055B2 (ja) | 動的ホスト構成プロトコルフレームワークの構成管理のためのシステム、ネットワークエンティティ、及びコンピュータプログラム | |
US8549120B2 (en) | System and method for location based address assignment in the distribution of traffic in a virtual gateway | |
CN102263704B (zh) | 一种支持数据中心二层互联的拓扑构建方法和装置 | |
CN113285874B (zh) | 一种基于vrrp单实例的网关备份方法与装置 | |
US20130232492A1 (en) | Method and system for realizing virtual machine mobility | |
WO2021031648A1 (zh) | Evpn和vpls共存双活的方法、设备及系统 | |
WO2022083464A1 (zh) | 数据处理方法、装置及系统,计算机设备和计算机可读存储介质 | |
US10382329B1 (en) | Source MAC access controls in a virtual redundant router protocol environment | |
WO2012075731A1 (zh) | 基于arp交互的链路故障检测与恢复的方法和设备 | |
Alasadi et al. | SSED: Servers under software-defined network architectures to eliminate discovery messages | |
WO2013159667A1 (en) | Virtual router redundancy protocol load balancing mode (vrrpe) | |
US11646991B2 (en) | System and method for optimizing ARP broadcast | |
US9548887B2 (en) | Proactive creation of multicast state in an overlay transport network to achieve fast convergence on failover | |
US20170033977A1 (en) | Method, device and system for processing failure of network service node | |
CN111835858B (zh) | 设备接入方法、设备及系统 | |
Cisco | Using HSRP for Fault-Tolerant IP Routing | |
Cisco | Using HSRP for Fault-Tolerant IP Routing | |
JP2018061148A (ja) | 通信装置、中継装置、通信システム、及び通信方法 | |
US11743067B2 (en) | Systems and methods for preventing solicited-node multicast address collisions |
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 |