一种实现服务器负载均衡的方法和一种三层交换机转让专利

申请号 : CN200810226830.0

文献号 : CN101404619B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李蔚

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种实现服务器负载均衡的方法,包括:将三层交换机上的连接具有相同IP地址和不同MAC地址的多个服务器的端口组成聚合端口组;三层交换机接收到目的IP地址为服务器IP地址的服务请求报文时,根据服务器IP地址从ARP表中查找到主端口的MAC地址,确定所述服务请求报文的出端口为聚合端口组,则从聚合端口组中选择一个端口作为出端口,将服务请求报文通过该出端口发送出去。本发明还公开了一种三层交换机。本发明的技术方案,使得能够在成本低廉的三层接入交换机上实现服务器负载均衡。

权利要求 :

1.一种实现服务器负载均衡的方法,其特征在于,该方法应用于三层交换机作为服务器集群的网关连接组成所述服务器集群的两个以上的服务器的组网,该方法包括:将三层交换机上的连接所述两个以上服务器的端口聚合在一起,组成聚合端口组,且指定聚合端口组中的一个端口为主端口;

为组成所述服务器集群的两个以上的服务器分配相同的网际协议IP地址和互不相同的媒质访问控制MAC地址;

组成所述服务器集群的每个服务器接收到来自三层交换机的服务请求报文后,根据自身的ARP表向三层交换机发送源MAC地址为该服务器本身的MAC地址、目的MAC地址为聚合端口组对应的MAC地址的服务响应报文;

所述三层交换机接收到服务响应报文后,将其源MAC地址替换为三层交换机对外接口的MAC地址、将其目的MAC地址替换为下一跳设备的MAC地址后转发出去。

2.如权利要求1所述的方法,其特征在于,所述将服务请求报文通过所述选择的出端口发送到该出端口所连接的服务器包括:三层交换机根据所述选择的端口从聚合端口组MAC表中查找到对应的MAC地址,用该查找的MAC地址替换所述服务请求报文中的目的MAC地址后,将服务请求报文通过所述选择的出端口发送到该出端口所连接的服务器。

3.如权利要求1所述的方法,其特征在于,该方法进一步包括:

在组成所述服务器集群的两个以上的服务器上分别配置保存有所述三层交换机的IP地址和所述聚合端口组对应的MAC地址的ARP表;

组成所述服务器集群的每个服务器接收到来自三层交换机的服务请求报文后,根据自身的ARP表向三层交换机发送源MAC地址为该服务器本身的MAC地址、目的MAC地址为聚合端口组对应的MAC地址的服务响应报文;

所述三层交换机接收到服务响应报文后,将其源MAC地址替换为三层交换机对外接口的MAC地址、将其目的MAC地址替换为下一跳设备的MAC地址后转发出去。

4.如权利要求1所述的方法,其特征在于,该方法进一步包括:

所述三层交换机检测聚合端口组中的各端口上报的失效消息和恢复消息;

如果三层交换机检测到聚合端口组中的一端口上报的失效消息,则将该端口从聚合端口组中删除,如果上报失效信息的是主端口,则还进一步重新为聚合端口组指定主端口,并相应更新ARP表和聚合端口组MAC表;

如果三层交换机检测到被删除的端口上报恢复消息,则将该上报恢复消息的端口重新加入到聚合端口组中,相应更新聚合端口组MAC表。

5.如权利要求1所述的方法,其特征在于,所述三层交换机将服务器IP地址和主端口所连接服务器的MAC地址对应保存到地址解析协议ARP表中,将聚合端口组中的每个端口以及每个端口所连接的服务器的MAC地址对应保存到聚合端口组MAC表中包括:每个服务器都向三层交换机发送ARP请求报文;

三层交换机从聚合端口组中的各端口收到ARP请求报文后,根据主端口收到的ARP请求报文将服务器的IP地址和主端口所连接服务器的MAC地址对应保存到ARP表中,根据聚合端口组中的每个端口收到的ARP请求报文将每个端口以及每个端口所连接的服务器的MAC地址对应保存到聚合端口组MAC表中。

6.一种三层交换机,其特征在于,该三层交换机作为服务器集群的网 关连接组成所述服务器集群的两个以上的服务器,且所述两个以上的服务器具有相同的IP地址和互不相同的MAC地址,该三层交换机包括:聚合端口组,该聚合端口组中的各端口一一对应地连接组成所述服务器集群的两个以上的服务器,且该聚合端口组中的一个指定端口为主端口;

存储模块,用于存储ARP表和聚合端口组MAC表,所述ARP表中对应保存有服务器IP地址和主端口所连接服务器的MAC地址,所述聚合端口组MAC表中对应保存有聚合端口组中的每个端口以及每个端口所连接的服务器的MAC地址;

报文转发模块,用于在收到服务请求报文时,根据服务请求报文的目的IP地址查找ARP表,当从ARP表中查找到对应的MAC地址是主端口的MAC地址,确定所述服务请求报文的出端口是聚合端口组,则向聚合模块发送查询请求,将聚合模块返回的聚合端口组中的一个端口作为出端口,将所述服务请求报文通过所述出端口发送到该出端口所连接的服务器;

聚合模块,用于在收到报文转发模块发送的查询请求后,根据为聚合端口组预定的负载分担算法从聚合端口组中选择一个端口返回给报文转发模块。

7.如权利要求6所述的三层交换机,其特征在于,

所述报文转发模块,在将聚合模块返回的聚合端口组中的一个端口作为出端口后,根据所述出端口从聚合端口组MAC表中查找到对应的MAC地址,用该查找的MAC地址替换所述服务请求报文中的目的MAC地址,然后再将所述服务请求报文通过所述出端口发送到该出端口所连接的服务器。

8.如权利要求6所述的三层交换机,其特征在于,

所述报文转发模块,进一步用于从聚合端口组中的端口接收到来自服务器的服务响应报文时,将其源MAC地址替换为三层交换机对外接口的MAC地址、将目的MAC地址替换为下一跳设备的MAC地址后转发出去。

9.如权利要求6所述的三层交换机,其特征在于,该三层交换机进一步包括:健康检测模块,用于检测聚合端口组中的各端口上报的失效消息和 恢复消息;如果检测到聚合端口组中的一端口上报的失效消息,则将该端口从聚合端口组中删除,如果上报失效信息的是主端口,则还进一步重新为聚合端口组指定主端口,并相应更新ARP表和聚合端口组MAC表;如果三层交换机检测到被删除的端口上报恢复消息,则将该上报恢复消息的端口重新加入到聚合端口组中,相应更新聚合端口组MAC表。

10.如权利要求6所述的三层交换机,其特征在于,该三层交换机还包括:ARP模块,所述聚合模块,进一步用于从聚合端口组中的端口接收来自每个服务器的ARP请求报文,根据每个端口收到的ARP请求报文将每个端口以及每个端口所连接的服务器的MAC地址对应保存到聚合端口组MAC表中,并将来自主端口的ARP请求报文发送给ARP模块;

所述ARP模块,用于根据来自主端口的ARP请求报文将服务器的IP地址和主端口所连接服务器的MAC地址对应保存到ARP表中。

说明书 :

一种实现服务器负载均衡的方法和一种三层交换机

技术领域

[0001] 本发明涉及网络通信技术领域,尤指一种实现服务器负载均衡的方法和一种三层交换机。

背景技术

[0002] 拥有大量的访问和用户是信息服务提供者的目标。但是大量的访问量会给服务器带来沉重的负担,且随着用户人数不断增加,服务器变得不胜负荷,如果无法及时处理大量用户服务请求,将出现服务中断的情况。以往在解决这些问题时,只能采用更强计算能力的服务器来替换原来的服务器,即使这样,单台服务器的负载能力也是有限的,不可能无限扩展,同时,服务器的价格也随着服务器性能呈现指数型上升。因此,采用多台廉价服务器组成负载分担系统的方案日渐成为主流。
[0003] 用多台廉价服务器组成负载分担系统是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有平等的地位,都可以单独对外提供服务而无需其他服务器的辅助。而负载分担设备将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。
[0004] 图1是现有技术中的NAT方式的服务器负载均衡系统的示意图。参见图1,服务器负载均衡包括以下几个基本元素:
[0005] 负载均衡设备:负责分发各种服务请求到各个服务器;
[0006] 服务器:负责响应和处理各种服务请求;
[0007] VSIP:服务器集群对外提供的虚拟IP地址,供用户请求服务时使用; [0008] 服务器IP地址,对应于图1中的IP A、IP B和IP C,供负载均衡设备 分发服务请求时使用。
[0009] 图2是图1所示的NAT方式的服务器负载均衡系统处理服务请求的流程图。如图2所示,包括以下步骤:
[0010] 步骤201,客户端主机将目的地址为VSIP的服务请求发送给服务器集群前端的负载均衡设备。
[0011] 步骤202,负载均衡设备通过调度算法选择一个的服务器。
[0012] 步骤203,负载均衡设备通过网络地址转换,用所选择的服务器的地址重写服务请求报文的目的地址后,将服务请求报文发送给所选择的服务器。
[0013] 步骤204,服务器将服务响应报文发送到负载均衡设备,其中,该服务响应报文的源IP地址为该服务器本身的IP。
[0014] 步骤205,负载均衡设备将服务响应报文的源IP地址还原为虚服务的VSIP,再返回给客户端主机,完成整个负载调度过程。
[0015] NAT方式的负载均衡技术虽然具有高性能、高可能性、透明性以及可扩展性强等优点,但是也如下缺点:负载均衡设备是独立的设备,且价格昂贵。目前,市场上的负载均衡设备都是专业厂商的独立设备,价格非常昂贵,对于大多数中小型数据中心服务器而言,如此昂贵的设备是可望而不可及的。

发明内容

[0016] 本发明提供了一种实现服务器负载均衡的方法,该方法使得能够在成本低廉的三层接入交换机上实现服务器负载均衡,而无需价格昂贵的专用负载均衡设备。 [0017] 本发明还提供了一种三层交换机,该三层交换机能够实现服务器负载均衡。 [0018] 为达到上述目的,本发明的技术方案具体是这样实现的:
[0019] 本发明公开了一种实现服务器负载均衡的方法,该方法应用于三层交换机作为服务器集群的网关连接组成所述服务器集群的两个以上的服务器的 组网,该方法包括: [0020] 将三层交换机上的连接所述两个以上服务器的端口聚合在一起,组成聚合端口组,且指定聚合端口组中的一个端口为主端口;
[0021] 为组成所述服务器集群的两个以上的服务器分配相同的网际协议IP地址和互不相同的媒质访问控制MAC地址;
[0022] 所述三层交换机将服务器IP地址和主端口所连接服务器的MAC地址对应保存到地址解析协议ARP表中,将聚合端口组中的每个端口以及每个端口所连接的服务器的MAC地址对应保存到聚合端口组MAC表中;
[0023] 所述三层交换机接收到服务请求报文时,根据服务请求报文的目的IP地址查找ARP表,当从ARP表中查找到的对应MAC地址是主端口的MAC地址时,则确定所述服务请求报文的出端口是聚合端口组;
[0024] 所述三层交换机根据为聚合端口组预定的负载分担算法从聚合端口组中选择一个端口作为出端口,并将所述服务请求报文通过所述选择的出端口发送到该出端口所连接的服务器。
[0025] 本发明还公开了一种三层交换机,该三层交换机作为服务器集群的网关连接组成所述服务器集群的两个以上的服务器,且所述两个以上的服务器具有相同的IP地址和互不相同的MAC地址,该三层交换机包括:
[0026] 聚合端口组,该聚合端口组中的各端口一一对应地连接组成所述服务器集群的两个以上的服务器,且该聚合端口组中的一个指定端口为主端口;
[0027] 存储模块,用于存储ARP表和聚合端口组MAC表,所述ARP表中对应保存有服务器IP地址和主端口所连接服务器的MAC地址,所述聚合端口组MAC表中对应保存有聚合端口组中的每个端口以及每个端口所连接的服务器的MAC地址;
[0028] 报文转发模块,用于在收到服务请求报文时,根据服务请求报文的目的IP地址查找ARP表,当从ARP表中查找到对应的MAC地址是主端口的MAC地址,确定所述服务请求报文的出端口是聚合端口组,则向聚合模块发送查询请求,将聚合模块返回的聚合端口组中的一个端口作为出端口,将 所述服务请求报文通过所述出端口发送到该出端口所连接的服务器;
[0029] 聚合模块,用于在收到报文转发模块发送的查询请求后,根据为聚合端口组预定的负载分担算法从聚合端口组中选择一个端口返回给报文转发模块。
[0030] 由上述技术方案可见,本发明这种将三层交换机上的连接具有相同IP地址和不同MAC地址的多个服务器的端口组成聚合端口组;将服务器IP地址和主端口所连接服务器的MAC地址对应保存到ARP表中,以及将聚合端口组中的每个端口以及每个端口所连接的服务器的MAC地址对应保存到聚合端口组MAC表中;三层交换机接收到目的IP地址为服务器IP地址的服务请求报文时,根据服务器IP地址从ARP表中查找到主端口的MAC地址,确定出端口是聚合端口组,则从聚合端口组中选择一个端口作为出端口,根据所述出端口从聚合端口组MAC表中查找到对应的MAC地址,用该MAC地址替换服务请求报文中的目的MAC地址后,将服务请求报文通过出端口发送出去的技术方案,使得能够在成本低廉的三层接入交换机上实现服务器负载均衡,而无需价格昂贵的专用负载均衡设备。 附图说明
[0031] 图1是现有技术中的NAT方式的服务器负载均衡系统的示意图; [0032] 图2是图1所示的NAT方式的服务器负载均衡系统处理服务请求的流程图; [0033] 图3是本发明实施例一种实现服务器负载均衡的方法的流程图; [0034] 图4是应用图3所示的方法的一个实际组网示意图;
[0035] 图5是本发明实施例一种三层交换机的组成结构示意图。

具体实施方式

[0036] 本发明主要是针对现有的服务器负载均衡方案中专业的服务器负载均衡设备成本极其昂贵的问题,提出了一种基于三层接入交换机链路聚合实现服 务器负载均衡的方案,从而可以在成本低廉的接入交换机上实现服务器负载均衡功能,而无需昂贵的专业服务器负载均衡设备,为用户提供了一种高性价比的负载均衡方案。
[0037] 图3是本发明实施例一种实现服务器负载均衡的方法的流程图,该方法应用于三层交换机作为服务器集群的网关连接组成所述服务器集群的两个以上的服务器的组网,如图3所示,该方法包括:
[0038] 步骤301,将三层交换机上的连接两个以上服务器的端口聚合在一起,组成聚合端口组,且指定聚合端口组中的一个端口为主端口。
[0039] 步骤302,为组成所述服务器集群的两个以上的服务器分配相同的网际协议IP地址和互不相同的媒质访问控制MAC地址。
[0040] 步骤303,所述三层交换机将服务器IP地址和主端口所连接服务器的MAC地址对应保存到地址解析协议ARP表中,将聚合端口组中的每个端口以及每个端口所连接的服务器的MAC地址对应保存到聚合端口组MAC表中。
[0041] 步骤304,所述三层交换机接收到目的IP地址为服务器IP地址的服务请求报文时,根据服务器IP地址从ARP表中查找到对应的MAC地址是主端口的MAC地址,确定出端口是聚合端口组,根据预定的负载分担算法从聚合端口组中选择一个端口作为出端口;三层交换机根据所述选择的端口从聚合端口组MAC表中查找到对应的MAC地址,用该查找的MAC地址替换所述服务请求报文中的目的MAC地址后,将所述服务请求报文通过所述选择的端口发送到该端口所连接的服务器。
[0042] 为使本发明的目的、技术方案及优点更加清楚明白,以下列举一个具体的例子,对本发明进一步详细说明。
[0043] 图4是应用图3所示的方法的一个实际组网示意图。如图4所示,该组网方案包括以下特征:
[0044] a1、n台对外提供相同业务的服务器(服务器1~n)通过三层交换机上 的端口1~n接入到三层交换机上,n为大于1的自然数。
[0045] a2、三层交换机上通过静态配置将端口1~n聚合在一起,形成聚合端口组,其中端口1是主端口,作为整个聚合端口组的标志。
[0046] a3、服务器的IP地址手工指定,n台服务器的IP地址相同,这里以IP1表示,且在同一个虚拟局域网VLAN内(这是因为聚合端口组的各端口都属于同一个VLAN)。需要说明的是:各服务器的IP地址相同,各服务器之间的相互隔离依靠三层交换机的聚合端口之间的隔离机制,保证各服务器之间不能互通。
[0047] a4、n台服务器的媒质访问控制MAC地址各不相同,分别为MAC1、MAC2、...、MACn。 [0048] a5、三层交换机是各服务器的网关,在各服务器上分别配置三层交换机(网关)的ARP信息。这里在服务器上配置三层交换机的ARP信息具体为:在每个服务器上分别配置保存有三层交换机的IP地址和所述聚合端口组对应的MAC地址的ARP表。聚合端口组对应的MAC地址具体为该聚合端口组所属VLAN的VLAN Interface所对应的MAC地址。 [0049] 在图4中,三层交换机的ARP/MAC学习流程为:
[0050] b1、各服务器向三层交换机发送ARP请求报文;
[0051] b2、三层交换机通过聚合端口组中的各聚合端口收到来自各服务器的ARP请求报文,根据链路聚合的处理机制,只有主端口(即端口1)收到的ARP请求会上送ARP模块处理,从而三层交换机学习到的ARP表项是(IP1,MAC1);
[0052] b3、交换机在收到各服务器的ARP请求时会学习到各服务器的MAC地址,但根据链路集合机制,只有主端口上学习的MAC地址才会写入CAM表,即(MAC1,端口1);CAM表中的端口1实际上是代表整个聚合端口组内的n个端口的。另外,聚合端口组中的各端口上学习到的MAC地址信息虽然不会写入CAM表,但也不会被丢弃,而是根据聚合端口组中的每个端口收到的ARP请求报文将每个端口以及每个端口所连接的服务器的MAC 地址对应保存到聚合端口组MAC表中,聚合端口组MAC表如表1所示:
[0053]MAC地址 端口
MAC1 端口1
MAC2 端口2
...... ......
MACn 端口n
[0054] 表1
[0055] 可以看出,三层交换机作为集群服务器的网关,将集群中的具有相同IP地址的多台服务器的ARP广播域控制在最小范围内。
[0056] 在图4中,业务访问服务器的流程如下:
[0057] c1、客户端访问服务器的服务请求报文先到达三层交换机;该服务请求报文的源IP地址是客户端的IP地址,目的地址是服务器的IP地址(即IP1),源MAC地址是三层交换机的上一跳的MAC地址,以MACx表示,目的MAC地址是三层交换机对外所提供的MAC地址,以MACy表示;
[0058] c2、三层交换机通过路由查询得到一条直连的路由,则根据服务请求报文的目的IP地址(即IP1)查自身的ARP表,得到对应的MAC地址是MAC1;
[0059] c3、由于MAC1对应的端口1代表聚合端口组,因此三层交换机可知出端口是一个聚合端口组,其主端口是端口1;根据预定的聚合链路负载分担算法,例如,用服务请求报文的源IP地址和源端口号做哈希(Hash)算法,从端口1~n中选择一个端口作为出端口等,这里假设选择了端口2作为出端口。
[0060] c4、三层交换机根据出端口2查找自身维护的聚合端口组MAC表,得到相应的MAC地址为MAC2;
[0061] c5、三层交换机将服务请求报文的目的MAC地址替换为MAC2,将服务请求报文的源MAC地址替换为聚合端口组对应的MAC地址,然后从端口2发送到服务器2。 [0062] c6、服务器2处理服务请求报文,并生成服务响应报文。该服务响应报文的源IP地址是服务器2的IP地址(即IP1),目的IP地址是客户端的IP地址;
[0063] c7、根据服务器2上的缺省路由,下一跳网关是三层交换机;根据服务器2自身的ARP表(ARP表中与三层交换机的IP地址对应的是聚合端口组的MAC地址)配置,服务响应报文的目的MAC地址是聚合端口组的MAC地址,源MAC地址是服务器2的MAC地址MAC2。 [0064] c8、三层交换机接收到该服务响应报文后,将该报文的源MAC地址更新为三层交换机对外接口的MAC地址MACy,将目的MAC地址更新为下一跳的MAC地址MACx后转发出去。
[0065] 在图4中,三层交换机的健康检测流程为:
[0066] d1、集群中的服务器出现异常,包括:服务器宕机、网卡故障、电路故障等等;这里假设服务器2出现异常;
[0067] d2、三层交换机检测到端口2上报失效消息(DOWN),将端口2从活跃(Active)状态转为待命(Standby)状态,同时将端口2从聚合端口组的子端口池中删除,并相应更新ARP表和聚合端口组MAC表。这里ARP表中内容与端口2无关,因此无需更新,而聚合端口组MAC表中的与端口2对应的项需要删除;
[0068] d3、三层交换机为原本送到服务器2进行处理的业务流重新选择服务器,例如,按照递增原则,选择服务器3为目的服务器;
[0069] d4、如果服务器2恢复到正常状态,三层交换机检测到端口2上报的恢复消息(UP),将端口2从待命(Standby)状态转为活跃(Active)状态,同时将端口2加入到聚合端口组的子端口池中,并相应更新ARP表和聚合端口组MAC表。这里ARP表中内容与端口2无关,因此无需更新,而聚合端口组MAC表中的与端口2对应的项需要通过重新学习并增加;
[0070] d5、如果与主端口连接的服务器出现异常,即服务器1出现异常,端口1报DOWN,则三层交换机重新为聚合端口组选择主端口,如选择端口2为主端口,并相应更新ARP表和聚合端口组MAC表。这里ARP表更新为(IP1, MAC2),从聚合端口组MAC表中删除端口1所对应的项。
[0071] 通过上述方案,可以实现利用低成本的三层接入交换机的链路集合特性为服务器集群提供负载均衡支持,同时保证基本的服务器健康检测机制,提高了服务器集群的可靠性和利用率。
[0072] 图5是本发明实施例一种三层交换机的组成结构示意图,该三层交换机作为服务器集群的网关连接组成所述服务器集群的两个以上的服务器,且所述两个以上的服务器具有相同的IP地址和互不相同的MAC地址,如图5所示,该三层交换机包括:聚合端口组501、存储模块502、报文转发模块503和聚合模块504,其中,
[0073] 聚合端口组501中的各端口一一对应地连接组成所述服务器集群的两个以上的服务器,且该聚合端口组中的一个指定端口为主端口;
[0074] 存储模块502,用于存储ARP表和聚合端口组MAC表,所述ARP表中对应保存有服务器IP地址和主端口所连接服务器的MAC地址,所述聚合端口组MAC表中对应保存有聚合端口组中的每个端口以及每个端口所连接的服务器的MAC地址;
[0075] 报文转发模块503,用于在收到目的IP地址为服务器IP地址的服务请求报文时,根据服务器IP地址从ARP表中查找到对应的MAC地址是主端口的MAC地址,确定出端口是聚合端口组,则向聚合模块发送查询请求,将聚合模块返回的聚合端口组中的一个端口作为出端口;根据所述出端口从聚合端口组MAC表中查找到对应的MAC地址,用该查找的MAC地址替换所述服务请求报文中的目的MAC地址后,将所述服务请求报文通过所述出端口发送到该出端口所连接的服务器;
[0076] 聚合模块504,用于在收到报文转发模块发送的查询请求后,根据预定的负载分担算法从聚合端口组中选择一个端口返回给报文转发模块503。
[0077] 在图5中,报文转发模块503,进一步用于从聚合端口组中的端口接收到来自服务器的服务响应报文时,将其源MAC地址替换为三层交换机对外接口的MAC地址、将目的MAC地址替换为下一跳设备的MAC地址后转发出去。
[0078] 如图5所示,该三层交换机进一步包括:健康检测模块505,用于检测聚合端口组中的各端口上报的失效消息和恢复消息;如果检测到聚合端口组中的一端口上报的失效消息,则将该端口从聚合端口组中删除,如果上报失效信息的是主端口,则还进一步重新为聚合端口组指定主端口,并相应更新ARP表和聚合端口组MAC表;如果三层交换机检测到被删除的端口上报恢复消息,则将该上报恢复消息的端口重新加入到聚合端口组中,相应更新ARP表和聚合端口组MAC表。
[0079] 如图5所示,该三层交换机还包括:ARP模块506;所述聚合模块504,进一步用于从聚合端口组中的端口接收来自每个服务器的ARP请求报文,根据每个端口收到的ARP请求报文将每个端口以及每个端口所连接的服务器的MAC地址对应保存到聚合端口组MAC表中,并将来自主端口的ARP请求报文发送给ARP模块506;ARP模块506,用于根据来自主端口的ARP请求报文将服务器的IP地址和主端口所连接服务器的MAC地址对应保存到ARP表中。
[0080] 综上所述,本发明这种将三层交换机上的连接具有相同IP地址和不同MAC地址的多个服务器的端口组成聚合端口组;将服务器IP地址和主端口所连接服务器的MAC地址对应保存到ARP表中,以及将聚合端口组中的每个端口以及每个端口所连接的服务器的MAC地址对应保存到聚合端口组MAC表中;三层交换机接收到目的IP地址为服务器IP地址的服务请求报文时,根据服务器IP地址从ARP表中查找到主端口的MAC地址,确定出端口是聚合端口组,则从聚合端口组中选择一个端口作为出端口,根据所述出端口从聚合端口组MAC表中查找到对应的MAC地址,用该MAC地址替换服务请求报文中的目的MAC地址后,将服务请求报文通过出端口发送出去的技术方案,使得能够在成本低廉的三层接入交换机上实现服务器负载均衡,而无需价格昂贵的专用负载均衡设备。
[0081] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。