CN106375211B - Vrrp负载均衡场景中的交换机数据处理方法和交换机 - Google Patents
Vrrp负载均衡场景中的交换机数据处理方法和交换机 Download PDFInfo
- Publication number
- CN106375211B CN106375211B CN201610797285.5A CN201610797285A CN106375211B CN 106375211 B CN106375211 B CN 106375211B CN 201610797285 A CN201610797285 A CN 201610797285A CN 106375211 B CN106375211 B CN 106375211B
- Authority
- CN
- China
- Prior art keywords
- mac address
- routing device
- message
- client
- forwarding
- 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
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/22—Alternate routing
-
- 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/74—Address processing for routing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
Abstract
本发明的实施例公开了一种虚拟路由冗余协议VRRP负载均衡场景中的交换机数据处理方法和交换机,用以解决用以解决现有技术中在VRRP负载均衡场景中二层交换机转发报文时,可能会导致出接口映射错误的问题。应用于包含虚拟路由器的VRRP组网,虚拟路由器包含一个主用路由设备和至少一个备用路由设备,该方法包括:二层交换机接收客户端发送的地址解析请求报文;并将接收到的客户端的地址解析请求报文发送给虚拟路由器;二层交换机接收与客户端关联的路由设备向客户端发送的自身的转发MAC地址;并将接收到的转发MAC地址发送给客户端,以便客户端根据接收到的转发MAC地址发送上行数据。
Description
技术领域
本发明涉及网络通信技术,尤其涉及一种虚拟路由冗余协议VRRP负载均衡场景中的交换机数据处理方法和交换机。
背景技术
在实现客户端与外部网络通信时,通常为同一网段内的所有客户端设置同一缺省网关,即配置以同一网关为下一跳的缺省路由,客户端发往其他网段的报文将通过该缺省路由发往下一跳的网关,再由网关进行转发,然而当网关出现故障时,本网段内所有以该网关为缺省路由的客户端将无法与外部网络进行通信。缺省路由虽然为用户的配置操作提供了方便,但是对网关提出了很高的稳定性要求,增加出口网关是提高系统可靠性的常见方法,此时,如何在多个出口之间进行选路就成为需要解决的问题。
逐渐发展起来的VRRP是用于解决多个出口之间如何进行选路的容错协议,其在提高可靠性的同时,简化了客户端的配置。标准的VRRP是将多个具有网关功能的路由设备组成一台虚拟路由器,该虚拟路由器中的多个路由设备按照VRRP的选举机制选举出一个作为主用(master)路由设备负责流量转发,其他作为备用(backup)路由设备负责对master路由设备进行监听,在监听到master路由设备出现故障时,重新选举master路由设备。虽然这种方式提高了系统可靠性,但是,虚拟路由器中的多个路由设备只有主路由设备负责流量转发,显然在路由设备资源和网络带宽上都存在浪费。
为了解决上述资源和带宽浪费的问题,现有技术提供了一种实现VRRP负载均衡的方法。该方法包括:虚拟路由器包含多个路由设备,同一网段各客户端的缺省网关IP地址配置为该虚拟路由器的虚IP地址;虚拟路由器中选举出的主用路由设备为自身分配虚MAC地址,并在接收到其他路由设备发送的虚MAC分配请求报文后,为所述其他路由设备分配不同的虚MAC地址,并通过地址应答报文发送给所述其他路由设备;所述主用路由设备接收到来自客户端的地址解析请求后,按照负载均衡策略,将分配给所述虚拟路由器中各路由设备的虚MAC地址携带在地址解析应答中回复给所述客户端,以供所述客户端利用接收到的虚MAC地址进行报文的发送。
上述实现VRRP负载均衡的方法至少存在以下的缺点:二层交换机接收到由master路由设备直接回应非本设备关联的客户端地址解析请求后建立了MAC地址表,当二层交换机转发报文时,查询该MAC地址表就可能会导致出接口映射错误的问题。
发明内容
本发明的实施例提供一种虚拟路由冗余协议VRRP负载均衡场景中的交换机数据处理方法和交换机,用以解决现有技术中在VRRP负载均衡场景中二层交换机转发报文时,可能会导致出接口映射错误的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种虚拟路由冗余协议VRRP负载均衡场景中的交换机数据处理方法,应用于包含虚拟路由器的VRRP组网,所述虚拟路由器包含一个主用路由设备和至少一个备用路由设备,所述虚拟路由器具有一个虚IP地址,同一网段各客户端的缺省网关IP地址配置为所述虚IP地址,该方法包括:
在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,二层交换机接收客户端发送的地址解析请求报文;
并将接收到的所述客户端的地址解析请求报文发送给所述虚拟路由器;
在主用路由设备接收到所述客户端的地址解析请求报文,按照负载均衡策略为所述客户端关联具有转发MAC地址的路由设备,并将所述关联的结果通过通告报文进行广播之后,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址;
并将接收到的所述转发MAC地址发送给所述客户端,以便所述客户端根据接收到的所述转发MAC地址发送上行数据。
可选的,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址包括:
所述与所述客户端关联的路由设备在收到包含所述关联的结果的通告报文后,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的单播地址通告报文,所述单播地址通告报文中携带该路由设备自身的转发MAC地址;或,
若所述与所述客户端关联的路由设备收到所述客户端再次发送的地址解析请求报文,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的地址解析回应报文,所述地址解析回应报文中携带该路由设备自身的转发MAC地址;
所述方法还包括:所述二层交换机根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
可选的,所述在将所述分配的结果通过通告报文进行广播之后,还包括:
所述二层交换机分别接收拥有不同转发MAC地址的各个路由设备周期性发送的维持报文,或当第一路由设备故障时,所述二层交换机接收第二路由设备发送的携带该路由设备转发MAC地址的维持报文;所述维持报文中携带该路由设备自身的转发MAC地址,所述第一路由设备为所述周期性发送携带该路由设备转发MAC地址的维持报文的路由设备中的任一个,所述第二路由设备与所述第一路由设备拥有相同的转发MAC地址,所述第二路由设备作为所述第一路由设备转发MAC地址的备份;
所述二层交换机根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
可选的,所述建立MAC表项,包括:所述二层交换机从本地存储的MAC地址表中查询所述报文中携带的MAC地址;若未查询到所述报文中携带的MAC地址,则建立所述MAC地址的表项;或者,若查询到所述报文中携带的MAC地址,但在所述MAC地址表中查询到的端口不是所述报文的接收端口时,将从MAC地址表中查询到的端口更新为所述报文的接收端口。
可选的,所述建立MAC表项之后,该方法还包括:为所述MAC表项设置超时时间;在所述超时时间内,若所述二层交换机接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则对所述MAC表项的超时时间进行重置;若所述超时时间已到,所述二层交换机未接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则从所述MAC地址表中删掉所述MAC表项或将所述MAC表项置为无效。
可选的,该方法还包括:当所述二层交换机接收到目的MAC地址与所述MAC地址表中记录的MAC地址匹配的报文时,所述二层交换机将所述目的MAC地址对应的端口确定为所述报文的出端口,并将所述报文从所述出端口转发给对应的路由设备。
第二方面,本发明实施例提供了一种交换机,应用于包含虚拟路由器的VRRP组网,所述虚拟路由器包含一个主用路由设备和至少一个备用路由设备,所述虚拟路由器具有一个虚IP地址,同一网段各客户端的缺省网关IP地址配置为所述虚IP地址,该交换机包括:
接收单元,用于在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,接收客户端发送的地址解析请求报文;
发送单元,用于将所述接收单元接收到的所述客户端的地址解析请求报文发送给所述虚拟路由器;
所述接收单元,还用于在主用路由设备接收到所述客户端的地址解析请求报文,按照负载均衡策略为所述客户端关联具有转发MAC地址的路由设备,并将所述关联的结果通过通告报文进行广播之后,接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址;
所述发送单元,还用于将接收到的所述转发MAC地址发送给所述客户端,以便所述客户端根据接收到的所述转发MAC地址发送上行数据。
可选的,所述接收单元,具体用于在所述与所述客户端关联的路由设备在收到包含所述关联的结果的通告报文后,接收与所述客户端关联的路由设备向所述客户端发送的单播地址通告报文,所述单播地址通告报文中携带该路由设备自身的转发MAC地址;
若所述与所述客户端关联的路由设备收到所述客户端再次发送的地址解析请求报文,接收与所述客户端关联的路由设备向所述客户端发送的地址解析回应报文,所述地址解析回应报文中携带该路由设备自身的转发MAC地址;
所述交换机还包括,建立单元,用于根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
可选的,在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,所述接收单元,还用于分别接收拥有不同转发MAC地址的各个路由设备周期性发送的维持报文,所述维持报文中携带该路由设备自身的转发MAC地址;或当第一路由设备故障时,接收第二路由设备发送的携带该路由设备转发MAC地址的维持报文;所述维持报文中携带该路由设备自身的转发MAC地址,所述第一路由设备为所述周期性发送携带该路由设备转发MAC地址的维持报文的路由设备中的任一个,所述第二路由设备为与所述第一路由设备拥有相同的转发MAC地址的路由设备,所述第二路由设备作为所述第一路由设备转发MAC地址的备份。
所述建立单元,还用于根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
可选的,所述建立单元具体用于从本地存储的MAC地址表中查询所述报文中携带的MAC地址;若未查询到所述报文中携带的MAC地址,则建立所述MAC地址的表项;或者,若查询到所述报文中携带的MAC地址,但在所述MAC地址表中查询到的端口不是所述报文的接收端口时,将从MAC地址表中查询到的端口更新为所述报文的接收端口。
可选的,所述建立MAC表项之后,该交换机还包括:设置单元,用于为所述MAC表项设置超时时间;若在所述超时时间内,接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则对所述MAC表项的超时时间进行重置;若所述超时时间已到,未接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则从所述MAC地址表中删掉所述MAC表项或将所述MAC表项置为无效。
可选的,所述发送单元,还用于当接收到目的MAC地址与所述MAC地址表中记录的MAC地址匹配的报文时,将所述目的MAC地址对应的端口确定为所述报文的出端口,并将所述报文从所述出端口转发给对应的路由设备。
本发明实施例提供了一种虚拟路由冗余协议VRRP负载均衡场景中的交换机数据处理方法和交换机,应用于包含虚拟路由器的VRRP组网,所述虚拟路由器包含一个主用路由设备和至少一个备用路由设备,该方法包括:在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,二层交换机接收客户端发送的地址解析请求报文;并将接收到的所述客户端的地址解析请求报文发送给所述虚拟路由器;在主用路由设备接收到所述客户端的地址解析请求报文,按照负载均衡策略为所述客户端关联具有转发MAC地址的路由设备,并将所述关联的结果通过通告报文进行广播之后,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址;并将接收到的所述转发MAC地址发送给所述客户端,以便所述客户端根据接收到的所述转发MAC地址发送上行数据。也就是说,二层交换机接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址。现有技术中二层交换机接收master路由设备将各路由设备的虚MAC地址携带在地址解析回应报文中回复给所属客户段,容易导致二层交换机的出接口映射错误的问题。与现有技术相比,本发明实施例中是与客户端关联的路由设备独立向客户端发送自身的转发MAC地址,从而可以解决现有技术中在VRRP负载均衡场景中二层交换机转发报文时,可能会导致出接口映射错误的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的网络架构图;
图2为本发明实施例提供的VRRP负载均衡场景中的交换机数据处理方法的流程图;
图3为本发明实施例提供的邻居与角色竞选的示意图;
图4为为本发明实施例提供的协商转发MAC地址的示意图;
图5为本发明实施例提供的交换机接收维持报文建立MAC表项示意图;
图6为本发明实施例提供的交换机接收R3发送的维持报文建立备份MAC表项示意图;
图7为本发明实施例提供的R2重新关联PC3交换机接收单播免费ARP报文建立MAC表项示意图;
图8(1)为本发明实施例提供的交换机接收R1发给PC1的ARP回应报文不改变MAC表项示意图;
图8(2)为本发明实施例提供的交换机接收R2发给PC2的ARP回应报文不改变MAC表项示意图;
图8(3)为本发明实施例提供的交换机接收R3发给PC3的ARP回应报文不改变MAC表项示意图;
图9为本发明实施例提供的交换机的MAC地址表建立指示客户端报文的转发示意图;
图10为本发明实施例提供的交换机的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明实施例中字符“/”,一般表示前后关联对象是一种“或”的关系。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
首先对本发明实施例提到的几个名词进行说明:
1、虚IP地址:虚拟路由器具有一个虚IP地址,同一网段各客户端的缺省网关IP地址配置为所述虚IP地址,虚IP地址需与接口的主辅地址使用相同网段,当路由设备处于有效转发状态后(Master为其分配了转发MAC地址)后,虚IP地址都应被加入辅地址中。
2、地址解析请求报文、地址解析回应报文和地址通告报文:其中,在IPv4中地址解析请求报文可以是ARP请求报文,地址解析回应报文可以是ARP回应报文,地址通告报文可以是以单播方式发送的免费ARP报文,客户端利用接收到的转发MAC地址构建ARP表项后,利用该ARP表项进行报文的发送;在IPv6中,地址解析请求报文可以是邻居请求(NS,NeighborSolicaitations)报文,地址解析回应报文可以是邻居通告(NA,NeighborAdvertisements)报文,地址通告报文可以是以单播方式发送的邻居通告(NA,NeighborAdvertisements)报文;客户端利用接收到的转发MAC地址构建ND表项后,利用该ND表项进行报文的发送。在以下描述中以IPv4为例。
3、hello报文、通告报文和维持报文是任意两种格式不同、可以互相区分的报文,且是本发明实施例根据实际需要重新定义的新的协议报文。
实施例一
下面结合具体实施例对上述方法进行详细描述。以图1所示网络架构为例,客户端PC1、客户端PC2和客户端PC3为同一网段的三个客户端,路由设备R1、路由设备R2和路由设备R3是作为网络出口的三个路由器,路由设备和客户端之间采用二层的交换机进行连通。在本发明实施例中,将路由设备R1、路由设备R2和路由设备R3仅构成一个虚拟路由器,为该虚拟路由器配置一个虚IP地址,并且,同一网段的所有客户端可以采用相同的配置即将该虚拟IP地址配置为所有客户端的缺省网关IP地址,也就是说,客户端PC1、客户端PC2和客户端PC3都向同一个虚拟路由器发送ARP请求。需要说明的是,在实际网络中客户端可以有多个,虚拟路由器中包含的路由设备也可以有多个,在本发明实施例中,仅以包含两个客户端、一个交换机以及由三个路由设备构成的一个虚拟路由器组成的网络为例。
本发明实施例提供了一种虚拟路由冗余协议VRRP负载均衡场景中的交换机数据处理方法,应用于包含虚拟路由器的VRRP组网,所述虚拟路由器包含一个主用路由设备和至少一个备用路由设备,所述虚拟路由器具有一个虚IP地址,同一网段各客户端的缺省网关IP地址配置为所述虚IP地址,参考图2所示,该方法的具体步骤包括:
S101(可选的)、主用路由设备为自身以及虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将分配的结果通过通告报文进行广播。
此过程包括:
1邻居建立与维护。
在本发明实施例中Hello报文用于建立与维护该虚拟路由器中的各路由设备相互之间的邻居关系,如果一路由设备接收到邻接路由设备发送的Hello报文后会建立或更新邻居。具体为:建立邻居可以是当虚拟路由器刚构建时,其中的路由设备会互相发送Hello报文,建立相互之间的邻居关系,也可以是一路由设备第一次接收到某一邻接设备的Hello报文,则会建立与该邻接设备的邻居关系。当邻居关系建立之后,路由设备会启动活跃(Active)定时器对其邻居周期性发送的hello报文进行监听,当间隔设定时长(大于该邻居发送hello报文的周期)没有接收到该邻居发送的hello报文,则确定该邻居失效,删除该邻居。不同的路由设备启动的Active定时器的设定时长可以相同,也可以不同。
2路由设备角色选举。
在该虚拟路由器中需要选举一个master路由设备,则其他路由设备为backup路由设备。
具体的,路由设备发送的Hello报文中携带其优先级属性和对master声明,这些可以用于角色竞选。其中路由设备的优先级属性是VRRP协议中已定义的该路由设备的VRRP优先级。master声明是当某一路由设备认为其可以是master路由设备时,会发送master声明。
选举的优选原则为优先级属性大的作为master路由设备,若优先级属性相同则源地址(接口主地址)大的设备作为master路由设备,选举采用非抢占式的方式进行,即是如果某台路由设备已经声明自己为master路由设备,那么只要master路由设备没有出现故障,该虚拟路由器中的路由设备始终保持主用或备用状态,该虚拟路由器中的backup路由设备即使随后被配置了更高的优先级也不会成为master路由设备。也就是说,该选举发生的状况只有两种,一种是虚拟路由器刚构建时,另一种是master路由设备发生故障时,其他作为backup路由设备需要重新选举出一个运行正常的路由设备作为master路由设备,接管原有master路由设备的工作。被选举为master路由设备的设备会发送通告报文,通知该虚拟路由器内的其他路由设备自己工作正常。
选举的具体步骤为:优先从声明自己为master路由设备的邻居中(包括选举执行者)竞选出最优者当选master路由设备。若未能竞选出master路由设备,再从未声明自己为master路由设备且优先级不为0的邻居中(包括选举执行者)竞选出最优者当选master路由设备。
示例的,如图3所示,运行本协议的设备之间相互建立邻居关系之后,选举出master/backup路由设备。其中R1优先级为40,R2为20,R3为10,根据优先级的原则,R1成为master路由设备,R2、R3成为backup路由设备。
3分配转发MAC地址。
主用路由设备为自身以及虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将分配的结果通过通告报文进行广播。
具体的,各路由设备为了要实现对客户端报文的转发,其上需要配置转发MAC地址。转发MAC地址是虚拟网关的MAC地址,其与虚IP地址相对应。
转发MAC地址可以使用虚MAC地址也可以使用实MAC地址。实MAC地址是路由设备的真实MAC地址,只能分给拥有该实MAC地址的路由设备;虚MAC地址是动态分配的,可以分配给任一个可用该虚MAC地址的路由设备。在本发明实施例中虚MAC地址定义为00:01:7a:00:组ID:MID,其中组ID取值范围是1~255(0x01~0xff),MID取值范围是1~255(0x01~0xff,0无效)。不论何种场景,需要保证虚MAC地址段内不会与现有设备的实MAC地址产生冲突。若当路由设备被分配到MID为0的虚MAC地址或全0的实MAC地址,表明该路由设备不需承担转发任务。
需要说明的是:在不考虑备份机制的前提下,每个虚拟路由器中的每台路由设备仅使用唯一的一个转发MAC地址。如果考虑备份机制(此时一般为虚MAC地址),那么每台路由设备可以配置多个转发MAC地址,包括一个主用MAC地址和若干个备份MAC地址。下面将介绍有关转发MAC地址的分配。
下面将介绍有关转发MAC地址的分配。
先介绍分配转发MAC地址的规则为:1)由master路由设备执行转发MAC地址的分配;2)只为未分配转发MAC的设备分配;3)优先满足高优先级设备的协商请求;4)从低地址到高地址顺序处理请求地址区间;5)无法分配转发MAC地址的设备,不承担转发任务;6)不改变已分配的转发MAC地址的拥有者。其中,无法分配转发MAC地址是指没有分配到转发MAC地址,或该设备故障不能分配。不改变已分配的转发MAC地址的拥有者指的是master路由设备进行转发MAC地址的分配后,会记录分配的转发MAC地址和backup路由设备的对应关系,当多次接收到该backup路由设备的携带协商请求的hello报文时,会将同一个虚MAC地址分配给该backup路由设备,但若master路由设备探测到该backup路由设备故障,则会按照负载均衡策略及时将该转发MAC地址分配给其他路由设备,以使正在使用该转发MAC地址的客户端能够尽快正常转发报文。
master路由设备负责分配该虚拟路由器中所有路由设备的转发MAC地址。路由设备一旦转换成为master路由设备,如果自身尚没有被分配转发MAC地址,则在预先设置的转发MAC地址范围内分配一个尚未使用的转发MAC地址给自身。另外,backup路由设备如果没有被分配转发MAC地址,backup路由设备向master路由设备发送协商请求,协商请求用于指示backup路由设备期望分配到的转发MAC地址,期望分配到的转发MAC地址包括:backup路由设备的实MAC地址、和/或至少一个虚MAC地址;master路由设备在接收到备用路由设备发送的协商请求后,根据协商请求从预先设置的虚MAC地址范围内分配一个尚未分配、且满足协商请求的虚MAC地址给备用路由设备,或者,根据协商请求将backup路由设备的实MAC地址作为该backup路由设备的转发MAC地址。master路由设备完成转发MAC地址的分配后,会将分配的结果通过通告报文进行广播。优选的master路由设备会建立一个转发MAC地址表,每次分配转发MAC地址结束后会更新该转发MAC地址表,并将其存储到通告报文中发送出去。其他backup路由器收到通告信息,进行转发MAC地址配置,承担起目的MAC地址为该转发MAC地址的报文的转发。
示例的,如图4所示,backup路由设备(R2)向master路由设备(R1)发送协商请求,期望将00:01:7a:00:01:01或00:01:7a:00:01:02作为其转发MAC地址,backup(R3)路由设备向master路由设备(R1)发送协商请求,期望将00:01:7a:00:01:02或00:01:7a:00:01:03作为其转发MAC地址,R1本身期待使用00:01:7a:00:01:01或00:01:7a:00:01:03作为其转发MAC地址。那么根据协商请求分配,并结合高优先级的设备先分配,低请求地址先处理的原则,最后协商后的转发MAC表如表1所示,R1将表一通过通告报文广播出去。
表1
需要说明的是,通告报文丢失或来不及处理该通告报文都可能使得某些backup路由设备获取不到master路由设备为其分配的转发MAC地址,为了保证backup路由设备能够获取到该转发MAC地址,在本发明实施例中,通过比较backup路由设备发送的hello报文携带的通告报文的描述信息和master路由设备发送的通告报文的描述信息来实现分配转发MAC地址结果的同步,从而可以保证各backup路由设备能够获取到master路由设备为其分配的转发MAC地址。具体同步过程可以参考下面的描述。
S102(可选的)、二层交换机路由设备周期性发送的维持报文。
二层交换机分别接收拥有不同转发MAC地址的各个路由设备周期性发送的维持报文,或当第一路由设备故障时,二层交换机接收第二路由设备发送的携带该路由设备转发MAC地址的维持报文。
维持报文中携带该路由设备自身的转发MAC地址。
具体的,1二层交换机分别接收拥有不同转发MAC地址的各个路由设备周期性发送的维持报文。
具体的,各路由设备接收到master路由设备分配的虚MAC地址的结果,得知各自使用的虚MAC之后,路由设备广播维持报文。并且维持报文是周期性发送的,所以二层交换机会周期性的接收到维持报文。当各路由设备接收到master路由设备分配的关联结果后,得知各自关联的客户端后,路由设备向关联客户端发送的单播ARP报文;或者路由设备接收到关联客户端发送的ARP请求报文后,路由设备向关联客户端发送ARP回应报文。
示例的,如图5所示,R1,R2,R3周期性使用各自的主用MAC地址发送维持报文,二层交换机周期性的接收该维持报文。
2当第一路由设备故障时,二层交换机接收第二路由设备发送的携带该路由设备转发MAC地址的维持报文。也就是说第一路由设备的虚MAC地址是第二路由设备的备用虚MAC地址。第一路由设备为周期性发送携带该路由设备转发MAC地址的维持报文的路由设备中的任一个,第二路由设备为与第一路由设备拥有相同的转发MAC地址的路由设备,所述第二路由设备作为所述第一路由设备转发MAC地址的备份。此时,转发MAC地址是虚MAC地址。第一路由设备的主用MAC地址为第二路由设备的备用虚MAC地址。当第一路由设备故障时,第二路由设备启用该备用虚MAC地址继续转发报文。
当第一路由设备发生故障时,客户端还不知道其关联的路由设备发生故障,此时,客户端还是应用原来的ARP表转发报文。所以需要第二路由设备启用该虚MAC地址,以便客户端能应用原来的ARP表转发报文。
S103(可选的)、二层交换机根据携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项。
MAC表项中记录有二层交换机接收到的报文中携带的转发MAC地址与报文的接收端口的对应关系。
当二层交换机根据携带该路由设备转发MAC地址的报文之后,从本地存储的MAC地址表中查询报文中携带的MAC地址;若未查询到报文中携带的MAC地址,则建立MAC地址的表项;或者,若查询到报文中携带的MAC地址,但在MAC地址表中查询到的端口不是报文的接收端口时,将从MAC地址表中查询到的端口更新为报文的接收端口。
并且为MAC表项设置超时时间,在超时时间内,若二层交换机接收到路由设备再次发送的携带该路由设备转发MAC地址的报文,则对MAC表项的超时时间进行重置;若超时时间已到,二层交换机未接收到路由设备再次发送的携带该路由设备转发MAC地址的报文,则从MAC地址表中删掉MAC表项或将MAC表项置为无效。
示例的,当路由设备应用了虚MAC地址后,会立即向二层交换机发送维持报文。如图5所示,交换机根据接收到的维持报文在MAC地址表中建立MAC表项,参考表2所示。
表2
MAC | 端口(Port) | Timer |
00:01:7a:00:01:01 | G1 | xx:xx:xx |
00:01:7a:00:01:02 | G2 | xx:xx:xx |
00:01:7a:00:01:03 | G3 | xx:xx:xx |
在此过程中,路由设备应用了虚MAC地址后,主动向二层交换机发送维持报文来建立此地址的虚MAC表项,并且是独立回应保证了出端口的正确性。
或者,若查询到报文中携带的虚MAC地址,但在MAC地址表中查询到的端口不是报文的接收端口时,将从MAC地址表中查询到的端口更新为报文的接收端口。
又如图6所示,由表1可知R3的主用虚MAC地址00:01:7a:00:01:03是R1的备用虚MAC地址,若R3发生故障以后,R1启用该备份虚MAC地址,R1将立刻发送维持报文,交换机将MAC地址表中虚MAC地址为00:01:7a:00:01:03的出端口更新为与R1连接的出端口G1,并将超时时间重置,如表3所示。PC3的流量将从G1端口发送至R1后转发。
表3
MAC | 端口(Port) | Timer |
00:01:7a:00:01:01 | G1 | xx:xx:xx |
00:01:7a:00:01:02 | G2 | xx:xx:xx |
00:01:7a:00:01:03 | G1 | xx:xx:xx(重置) |
在此过程中,虚MAC地址切换拥有者后,主动更新了交换机的虚MAC表项出端口。
当客户端的该虚MAC地址的ARP表项失效后,master路由设备会为其关联新的路由设备。
如图7所示,master路由设备将PC3重新关联了R2,R2立刻向PC3发送免费单播ARP报文,交换机的MAC表已经存在,将超时时间重置,MAC地址00:01:7a:00:01:03失效,将其删除,如表4所示。
表4
MAC | 端口(Port) | Timer |
00:01:7a:00:01:01 | G1 | xx:xx:xx |
00:01:7a:00:01:02 | G2 | xx:xx:xx(重置) |
S104、二层交换机接收客户端发送的地址解析请求报文。
当客户端需要有数据发送时,本地ARP表并未建立,将会发送广播的ARP请求,二层交换机接收到该ARP请求,并将其转发出去。
S105、二层交换机将接收到的客户端的地址解析请求报文发送给虚拟路由器。
二层交换机将接收到的客户端发送的ARP请求,并将其发送给虚拟路由器。
S106(可选的)、主用路由设备接收到客户端的地址解析请求报文后,按照负载均衡策略为客户端关联具有转发MAC地址的路由设备,并将关联的结果通过通告报文进行广播。
master路由设备接收到来自客户端的地址解析请求报文后,按照负载均衡策略,为客户端关联具有转发MAC地址的路由设备,并将关联的结果通过通告报文进行广播。
优选的,为了能够很好的记录客户端与路由设备的关联关系,master路由设备在关联表中建立客户端的关联表项,客户端的关联表项包括:客户端的标识、与客户端关联的路由设备的转发MAC地址,也可以包括其他信息,如状态信息等,此处不做限制。当master路由设备建好关联表项后,将关联表中的信息通过通告报文进行广播,已通知backup路由设备其关联客户端信息。
示例的,R1根据简单均衡策略进行客户端关联,关联表如表5所示:
表5
客户端(host) | 网关MAC地址(Gateway MAC) | 装置(Device) |
PC1 | 00:01:7a:00:01:01 | R1 |
PC2 | 00:01:7a:00:01:02 | R2 |
PC3 | 00:01:7a:00:01:03 | R3 |
R1将关联表中的关联信息通告在报文中发送给Backup设备,包括自己在内的所有设备应用该关联表中的关联表项。
其中,负载均衡策略包括:
可选的,可以是简单均衡负载策略,即master路由设备根据关联表,选取关联客户端数量最少的一个具有转发MAC地址的路由设备,以关联客户端。
可选的,可以是混合均衡负载策略,即是静态关联策略和简单均衡负载策略的方式混合。若客户端属于静态关联策略中的客户端,静态关联策略用于为至少一个客户端静态指定路由设备,则主用路由设备按照静态关联策略为客户端静态关联路由设备;否则,主用路由设备根据关联表,选取关联动态客户端数量最少的一个具有转发MAC地址的路由设备,动态客户端为不属于所述静态关联策略中的客户端。
可选的,可以是扩展的流量均衡负载策略。主用路由设备统计各个具有转发MAC地址的路由设备的负载流量,主用路由设备选取负载流量最少的一个具有转发MAC地址的路由设备,以关联客户端。
需要说明的是:主用路由设备接收到客户端的地址解析请求报文后,按照负载均衡策略为客户端关联具有转发MAC地址的路由设备的过程也可以是现有技术中的任一种方法。
示例的,如图8(1)、图8(2)、图8(3)所示,当PC1、PC2、PC3需要有数据发送时,本地ARP表并未建立,将会发送广播的ARP请求,Master依据负载均衡策略分配客户端关联关系,如表6所示。
表6
Host | Gateway | Device |
PC1 | 00:01:7a:00:01:01 | R1 |
PC2 | 00:01:7a:00:01:02 | R2 |
PC3 | 00:01:7a:00:01:03 | R3 |
与客户端关联的路由设备经由交换机向客户端发送自身的转发MAC地址,以便客户端根据接收到的转发MAC地址发送上行数据。
与所述客户端关联的路由设备在收到包含关联的结果的通告报文后,立即以单播方式经由交换机向客户端发送地址解析报文,地址解析报文中携带该路由设备自身的转发MAC地址。
若与客户端关联的路由设备收到客户端再次发送的地址解析请求报文,则该路由设备经由交换机向客户端发送地址解析回应报文,地址解析回应报文中携带该路由设备自身的转发MAC地址。
具体的,当master路由设备将存有关联表项的关联表通过通告报文广播之后,包括master路由设备在内的所有路由设备应用该关联关系。一旦关联关系确定,master路由设备就向其关联的客户端发送携带其转发MAC地址的单播的免费ARP报文;backup路由设备就向其关联的客户端发送携带其转发MAC地址的单播的免费ARP报文。以便客户端能及时收到其关联路由设备的转发MAC地址,建立ARP表,并使用该转发MAC地址传送报文。但是如果客户端未收到或不接受该单播的免费ARP报文,又或者客户端建立的ARP表老化(超过设定时间),那么客户端将会重新发送ARP请求报文,当其关联路由设备(master路由设备或backup路由设备)收到该ARP请求报文之后,则会向该客户端发送转发MAC地址的ARP回应报文,以便该客户端能收到该ARP回应报文后,建立ARP表,并使用该转发MAC地址传送报文。
在实际的网络通讯中,(master/backup)路由设备故障或客户端下线导致负载不均衡等情况下就需要改变客户端与路由设备的关联关系。当与客户端关联的路由设备发生改变时,则该改变后的路由设备立即以单播方式向客户端发送免费ARP报文,单播的免费ARP报文中携带该路由设备自身的转发MAC地址。这样可以及时将客户端切换到新的转发网关,保证了客户端的转发业务能正常进行。
S107、二层交换机接收与客户端关联的路由设备向客户端发送的自身的转发MAC地址。
具体的,与客户端关联的路由设备在收到包含关联的结果的通告报文后,二层交换机接收与客户端关联的路由设备向客户端发送的单播免费ARP报文,单播免费ARP报文中携带该路由设备自身的转发MAC地址;或,
若与客户端关联的路由设备收到客户端再次发送的ARP请求报文,二层交换机接收与客户端关联的路由设备向客户端发送的ARP回应报文,ARP回应报文中携带该路由设备自身的转发MAC地址;
由于单播的免费ARP报文和ARP回应报文与步骤S102中的维持报文一样都携带了该路由设备自身的转发MAC地址,所以二层交换机根据携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项的过程与步骤S103相同,在此不再赘述。
S108、并将接收到的转发MAC地址发送给客户端,以便客户端根据接收到的转发MAC地址发送上行数据。
S109(可选的)、当二层交换机接收到目的MAC地址与MAC地址表中记录的MAC地址匹配的报文时,二层交换机将目的MAC地址对应的端口确定为报文的出端口,并将报文从出端口转发给对应的路由设备。
示例的,参考图5以及表3所示,二层交换机中的MAC地址表已建立完成,则当PC1、PC2、PC3有报文需要上传的时候,报文经过二层交换机时,二层交换机就会根据报文的目的MAC地址查询本地MAC地址表,找到报文的正确出端口。如图9所示,PC1的报文经二层交换机由R1转发;PC2的报文经二层交换机由R2转发;PC3的报文经二层交换机由R3转发。
上述过程中无论是二层交换机接收到路由设备周期性发送的维持报文,还是路由设备向关联客户端发送的ARP回应报文,还是路由设备向关联客户端发送的单播免费ARP报文,都可以建立或更新或维持虚MAC地址表项,从而保证了负载均衡场景中MAC地址表的正确,保证了流量的正常转发。进一步的也保证了在虚MAC地址备份机制之下,路由设备启用备份虚MAC地址也主动维持了二层交换机上此地址的虚MAC表项。
需要说明的是:在本发明实施例中的步骤不限制顺序,步骤之间的顺序可以改变,如可以先进行步骤S104和S105,再执行步骤S101、S102和S103。
本发明实施例提供了一种VRRP负载均衡场景中的交换机数据处理方法,二层交换机接收客户端发送的地址解析请求报文;并将接收到的客户端的地址解析请求报文发送给虚拟路由器。二层交换机接收与客户端关联的路由设备向客户端发送的自身的转发MAC地址;并将接收到的转发MAC地址发送给客户端,以便客户端根据接收到的转发MAC地址发送上行数据。本发明实施例通过二层交换机接收与客户端关联的路由设备独立向客户端发送的自身转发MAC地址,从而可以解决现有技术中在VRRP负载均衡场景中二层交换机转发报文时,可能会导致出接口映射错误的问题。
实施例二
本发明实施例提供了一种交换机,应用于包含虚拟路由器的VRRP组网,所述虚拟路由器包含一个主用路由设备和至少一个备用路由设备,所述虚拟路由器具有一个虚IP地址,同一网段各客户端的缺省网关IP地址配置为所述虚IP地址,如图10所示,该交换机包括:
接收单元101,用于在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,接收客户端发送的地址解析请求报文;
发送单元102,用于将所述接收单元101接收到的所述客户端的地址解析请求报文发送给所述虚拟路由器;
所述接收单元101,还用于在主用路由设备接收到所述客户端的地址解析请求报文,按照负载均衡策略为所述客户端关联具有转发MAC地址的路由设备,并将所述关联的结果通过通告报文进行广播之后,接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址;
所述发送单元102,还用于将接收单元101接收到的所述转发MAC地址发送给所述客户端,以便所述客户端根据接收到的所述转发MAC地址发送上行数据。
可选的,所述接收单元101,具体用于在所述与所述客户端关联的路由设备在收到包含所述关联的结果的通告报文后,接收与所述客户端关联的路由设备向所述客户端发送的单播地址通告报文,所述单播地址通告报文中携带该路由设备自身的转发MAC地址;
若所述与所述客户端关联的路由设备收到所述客户端再次发送的地址解析请求报文,接收与所述客户端关联的路由设备向所述客户端发送的地址解析回应报文,所述地址解析回应报文中携带该路由设备自身的转发MAC地址;
所述交换机还包括,建立单元103,用于根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
可选的,所述接收单元101,还用于在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,分别接收拥有不同转发MAC地址的各个路由设备周期性发送的维持报文,所述维持报文中携带该路由设备自身的转发MAC地址;或当第一路由设备故障时,接收第二路由设备发送的携带该路由设备转发MAC地址的维持报文;所述维持报文中携带该路由设备自身的转发MAC地址,所述第一路由设备为所述周期性发送携带该路由设备转发MAC地址的维持报文的路由设备中的任一个,所述第二路由设备为与所述第一路由设备拥有相同的转发MAC地址的路由设备,所述第二路由设备作为所述第一路由设备转发MAC地址的备份。
所述建立单元103,还用于根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
可选的,所述建立单元103具体用于从本地存储的MAC地址表中查询所述报文中携带的MAC地址;若未查询到所述报文中携带的MAC地址,则建立所述MAC地址的表项;或者,若查询到所述报文中携带的MAC地址,但在所述MAC地址表中查询到的端口不是所述报文的接收端口时,将从MAC地址表中查询到的端口更新为所述报文的接收端口。
可选的,所述建立MAC表项之后,该交换机还包括:设置单元104,用于为所述MAC表项设置超时时间;若在所述超时时间内,接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则对所述MAC表项的超时时间进行重置;若所述超时时间已到,未接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则从所述MAC地址表中删掉所述MAC表项或将所述MAC表项置为无效。
可选的,所述发送单元102,还用于当接收到目的MAC地址与所述MAC地址表中记录的MAC地址匹配的报文时,将所述目的MAC地址对应的端口确定为所述报文的出端口,并将所述报文从所述出端口转发给对应的路由设备。
需要说明的是,本实施例中的接收单元101可以为交换机上具备接收功能或的接口电路,如接收机或信息接收接口;发送单元102可以为交换机上具备发送功能的接口电路,如发送机或信息发送接口;设置单元104可以是一个有定时功能的电路,如定时器。其他单元可以为单独设立的处理器,也可以集成在交换机的某一个处理器中实现,此外,也可以以程序代码的形式存储于交换机的存储器中,由交换机的某一个处理器调用并执行以上各个单元的功能。这里所述的处理器可以是一个中央处理器(英文全称:Central ProcessingUnit,英文简称:CPU),或者是特定集成电路(英文全称:Application SpecificIntegrated Circuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本发明实施例提供了一种交换机,交换机接收客户端发送的地址解析请求报文;并将接收到的客户端的地址解析请求报文发送给虚拟路由器。交换机接收与客户端关联的路由设备向客户端发送的自身的转发MAC地址;并将接收到的转发MAC地址发送给客户端,以便客户端根据接收到的转发MAC地址发送上行数据。本发明实施例通过交换机接收与客户端关联的路由设备独立向客户端发送的自身转发MAC地址,从而可以解决现有技术中在VRRP负载均衡场景中二层交换机转发报文时,可能会导致出接口映射错误的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种虚拟路由冗余协议VRRP负载均衡场景中的交换机数据处理方法,其特征在于,应用于包含虚拟路由器的VRRP组网,所述虚拟路由器包含一个主用路由设备和至少一个备用路由设备,所述虚拟路由器具有一个虚IP地址,同一网段各客户端的缺省网关IP地址配置为所述虚IP地址,该方法包括:
在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,二层交换机接收客户端发送的地址解析请求报文;
并将接收到的所述客户端的地址解析请求报文发送给所述虚拟路由器;
在主用路由设备接收到所述客户端的地址解析请求报文,按照负载均衡策略为所述客户端关联具有转发MAC地址的路由设备,并将所述关联的结果通过通告报文进行广播之后,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址;
并将接收到的所述转发MAC地址发送给所述客户端,以便所述客户端根据接收到的所述转发MAC地址发送上行数据。
2.根据权利要求1所述的方法,其特征在于,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址包括:
所述与所述客户端关联的路由设备在收到包含所述关联的结果的通告报文后,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的单播地址通告报文,所述单播地址通告报文中携带该路由设备自身的转发MAC地址;或,
若所述与所述客户端关联的路由设备收到所述客户端再次发送的地址解析请求报文,所述二层交换机接收与所述客户端关联的路由设备向所述客户端发送的地址解析回应报文,所述地址解析回应报文中携带该路由设备自身的转发MAC地址;
所述方法还包括:所述二层交换机根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述在将所述分配的结果通过通告报文进行广播之后,还包括:
所述二层交换机分别接收拥有不同转发MAC地址的各个路由设备周期性发送的维持报文,或当第一路由设备故障时,所述二层交换机接收第二路由设备发送的携带该路由设备转发MAC地址的维持报文;所述维持报文中携带该路由设备自身的转发MAC地址,所述第一路由设备为所述周期性发送携带该路由设备转发MAC地址的维持报文的路由设备中的任一个,所述第二路由设备与所述第一路由设备拥有相同的转发MAC地址,所述第二路由设备作为所述第一路由设备转发MAC地址的备份;
所述二层交换机根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
4.根据权利要求2或3所述的方法,其特征在于,所述建立MAC表项,包括:
所述二层交换机从本地存储的MAC地址表中查询所述报文中携带的MAC地址;若未查询到所述报文中携带的MAC地址,则建立所述MAC地址的表项;或者,若查询到所述报文中携带的MAC地址,但在所述MAC地址表中查询到的端口不是所述报文的接收端口时,将从MAC地址表中查询到的端口更新为所述报文的接收端口。
5.根据权利要求2或3所述的方法,其特征在于,所述建立MAC表项之后,该方法还包括:为所述MAC表项设置超时时间;
在所述超时时间内,若所述二层交换机接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则对所述MAC表项的超时时间进行重置;若所述超时时间已到,所述二层交换机未接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则从所述MAC地址表中删掉所述MAC表项或将所述MAC表项置为无效。
6.根据权利要求2或3所述的方法,其特征在于,该方法还包括:
当所述二层交换机接收到目的MAC地址与所述MAC地址表中记录的MAC地址匹配的报文时,所述二层交换机将所述目的MAC地址对应的端口确定为所述报文的出端口,并将所述报文从所述出端口转发给对应的路由设备。
7.一种交换机,其特征在于,应用于包含虚拟路由器的VRRP组网,所述虚拟路由器包含一个主用路由设备和至少一个备用路由设备,所述虚拟路由器具有一个虚IP地址,同一网段各客户端的缺省网关IP地址配置为所述虚IP地址,该交换机包括:
接收单元,用于在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,接收客户端发送的地址解析请求报文;
发送单元,用于将所述接收单元接收到的所述客户端的地址解析请求报文发送给所述虚拟路由器;
所述接收单元,还用于在主用路由设备接收到所述客户端的地址解析请求报文,按照负载均衡策略为所述客户端关联具有转发MAC地址的路由设备,并将所述关联的结果通过通告报文进行广播之后,接收与所述客户端关联的路由设备向所述客户端发送的自身的转发MAC地址;
所述发送单元,还用于将所述接收单元接收到的所述转发MAC地址发送给所述客户端,以便所述客户端根据接收到的所述转发MAC地址发送上行数据。
8.根据权利要求7所述的交换机,其特征在于,
所述接收单元,具体用于在所述与所述客户端关联的路由设备在收到包含所述关联的结果的通告报文后,接收与所述客户端关联的路由设备向所述客户端发送的单播地址通告报文,所述单播地址通告报文中携带该路由设备自身的转发MAC地址;
若所述与所述客户端关联的路由设备收到所述客户端再次发送的地址解析请求报文,接收与所述客户端关联的路由设备向所述客户端发送的地址解析回应报文,所述地址解析回应报文中携带该路由设备自身的转发MAC地址;
所述交换机还包括,建立单元,用于根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
9.根据权利要求7所述的交换机,其特征在于,
在所述主用路由设备为自身以及所述虚拟路由器中的至少一个备用路由设备分配不同的转发MAC地址,并将所述分配的结果通过通告报文进行广播之后,所述接收单元,还用于分别接收拥有不同转发MAC地址的各个路由设备周期性发送的维持报文,所述维持报文中携带该路由设备自身的转发MAC地址;或当第一路由设备故障时,接收第二路由设备发送的携带该路由设备转发MAC地址的维持报文;所述维持报文中携带该路由设备自身的转发MAC地址,所述第一路由设备为所述周期性发送携带该路由设备转发MAC地址的维持报文的路由设备中的任一个,所述第二路由设备为与所述第一路由设备拥有相同的转发MAC地址的路由设备,所述第二路由设备作为所述第一路由设备转发MAC地址的备份;
所述建立单元,还用于根据所述携带该路由设备转发MAC地址的报文,在MAC地址表中建立MAC表项;所述MAC表项中记录有所述二层交换机接收到的报文中携带的转发MAC地址与所述报文的接收端口的对应关系。
10.根据权利要求8或9所述的交换机,其特征在于,所述建立单元具体用于从本地存储的MAC地址表中查询所述报文中携带的MAC地址;若未查询到所述报文中携带的MAC地址,则建立所述MAC地址的表项;或者,若查询到所述报文中携带的MAC地址,但在所述MAC地址表中查询到的端口不是所述报文的接收端口时,将从MAC地址表中查询到的端口更新为所述报文的接收端口。
11.根据权利要求8或9所述的交换机,其特征在于,所述建立MAC表项之后,该交换机还包括:设置单元,用于为所述MAC表项设置超时时间;
若在所述超时时间内,接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则对所述MAC表项的超时时间进行重置;若所述超时时间已到,未接收到所述路由设备再次发送的携带该路由设备所述转发MAC地址的报文,则从所述MAC地址表中删掉所述MAC表项或将所述MAC表项置为无效。
12.根据权利要求8或9所述的交换机,其特征在于,所述发送单元,还用于当接收到目的MAC地址与所述MAC地址表中记录的MAC地址匹配的报文时,将所述目的MAC地址对应的端口确定为所述报文的出端口,并将所述报文从所述出端口转发给对应的路由设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610797285.5A CN106375211B (zh) | 2016-08-31 | 2016-08-31 | Vrrp负载均衡场景中的交换机数据处理方法和交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610797285.5A CN106375211B (zh) | 2016-08-31 | 2016-08-31 | Vrrp负载均衡场景中的交换机数据处理方法和交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106375211A CN106375211A (zh) | 2017-02-01 |
CN106375211B true CN106375211B (zh) | 2019-10-25 |
Family
ID=57900526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610797285.5A Active CN106375211B (zh) | 2016-08-31 | 2016-08-31 | Vrrp负载均衡场景中的交换机数据处理方法和交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106375211B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110225496A (zh) * | 2018-03-02 | 2019-09-10 | 上海博泰悦臻电子设备制造有限公司 | 一种基于车载终端的车联网近场广播方法及系统、车载终端 |
CN112615778B (zh) * | 2020-11-06 | 2023-06-13 | 北京东土军悦科技有限公司 | 报文转发方法、装置、路由器、存储介质及系统 |
CN112653620B (zh) * | 2020-12-21 | 2023-03-24 | 杭州迪普科技股份有限公司 | 路由处理方法、装置、设备及计算机可读存储介质 |
CN116760756B (zh) * | 2023-08-15 | 2023-12-01 | 湖南天冠电子信息技术有限公司 | 测试交换机测试终端设备的方法及测试交换机组网系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316236A (zh) * | 2008-07-23 | 2008-12-03 | 杭州华三通信技术有限公司 | Vrrp备份组负载分担方法及路由器 |
CN101404621A (zh) * | 2008-11-24 | 2009-04-08 | 杭州华三通信技术有限公司 | 实现vrrp负载均衡的方法和路由设备 |
CN105721328A (zh) * | 2014-12-02 | 2016-06-29 | 中兴通讯股份有限公司 | 一种vrrp负载均衡的方法、装置和路由器 |
CN105743781A (zh) * | 2016-01-11 | 2016-07-06 | 杭州华三通信技术有限公司 | 一种vrrp负载均衡方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7573812B2 (en) * | 2006-12-21 | 2009-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Passive virtual router redundancy prototcol |
-
2016
- 2016-08-31 CN CN201610797285.5A patent/CN106375211B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316236A (zh) * | 2008-07-23 | 2008-12-03 | 杭州华三通信技术有限公司 | Vrrp备份组负载分担方法及路由器 |
CN101404621A (zh) * | 2008-11-24 | 2009-04-08 | 杭州华三通信技术有限公司 | 实现vrrp负载均衡的方法和路由设备 |
CN105721328A (zh) * | 2014-12-02 | 2016-06-29 | 中兴通讯股份有限公司 | 一种vrrp负载均衡的方法、装置和路由器 |
CN105743781A (zh) * | 2016-01-11 | 2016-07-06 | 杭州华三通信技术有限公司 | 一种vrrp负载均衡方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106375211A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106161272B (zh) | 实现vrrp负载均衡的方法和路由设备 | |
US9858163B2 (en) | Dual adjacency between edge devices at a network site | |
CN102035729B (zh) | 一种组播数据转发方法 | |
CN106375211B (zh) | Vrrp负载均衡场景中的交换机数据处理方法和交换机 | |
CN103973828B (zh) | 一种dhcp客户端获取ip地址的方法及装置 | |
EP3035592B1 (en) | Enhanced protocol independent multicast source registration over a reliable transport | |
US9288067B2 (en) | Adjacency server for virtual private networks | |
CN100471162C (zh) | 一种发布及处理虚线路信息的方法和供应商边缘设备 | |
CN101005452A (zh) | 一种在ip设备之间进行通信的方法和系统 | |
CN100583801C (zh) | 一种动态建立组播虚拟局域网域的方法、系统及交换设备 | |
CN104378297A (zh) | 一种报文转发方法及设备 | |
CN101247253A (zh) | Ip网络中基于虚拟分发网的多播传送方法 | |
CN102638389A (zh) | 一种trill网络的冗余备份方法及系统 | |
CN101001264B (zh) | L1vpn地址分配的方法、装置、网络边沿设备和编址服务器 | |
CN103795623A (zh) | 一种在虚拟设备间实现流量互通的方法和装置 | |
JP2006019785A (ja) | 仮想ルータ対応マルチキャストパケット中継装置 | |
CN103117935A (zh) | 应用于多归属组网的组播数据转发方法和装置 | |
CN103067286A (zh) | 一种组播数据传输方法和设备 | |
CN105162704A (zh) | Overlay网络中组播复制的方法及装置 | |
WO2018068588A1 (zh) | 提供组播业务的方法和软件定义网络控制器 | |
CN102970231A (zh) | 组播流转发实现方法和路由网桥(rb) | |
CN100488201C (zh) | 一种基于路由的链路备份方法 | |
CN103414642B (zh) | 一种转发信息维护方法及设备 | |
CN106375210A (zh) | 实现vrrp下行负载均衡的方法和路由设备 | |
CN100359875C (zh) | 在地址解析协议代理上实现负载均摊的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |