基于硬件的四层负载均衡交换机及其交换方法

文档序号:7686074阅读:214来源:国知局
专利名称:基于硬件的四层负载均衡交换机及其交换方法
技术领域
本发明涉及四层负载均衡交换机及其交换方法,特别涉及基于硬件实现国际标准化组织 (ISO)制定的网络七层协议理论参考模型(OSI)的第四层负载均衡的交换机及其交换方法。
背景技术
常规的国际标准化组织(ISO)制定的网络七层协议理论参考模型(OSI)的四层负载均衡 交换机,在传递客户机到服务器之间的IP分组时需要进行网络地址转换(NAT)或者是通过 IP隧道技术处理。这增加了系统的负担,并对系统的吞吐率有一定的影响,增加了数据包进 出系统的时延和时延抖动。

发明内容
本发明提供一种基于硬件的四层负载均衡交换机及其交换方法,中间不需要经过NAT转 换,以降低负载均衡交换机的负担,提高其吞吐率、降低时延和抖动。 本发明采用如下技术方案 一种基于硬件的四层负载均衡交换机,包括
通过总线连接的中央处理单元、上行链路接口卡、主存储器及多个接口,其中,所述上 行链路接口卡中存放有TCP连接映射表一TCP—CONN—Table和负载分配地址变量一 Lightest_IP,所述负载分配地址变量一Lightest一IP用于指示当前负载最轻的集群服务器的 专用IP地址,并用此值标示从客户端来的新建连接请求转发到哪个集群服务器,所述主存储 器中存放有由中央处理单元维护的负载状态表一LS—Table。
本发明还提供一种基于硬件的四层负载均衡交换方法,采用上述的基于硬件的四层负载 均衡交换机,具体包括以下步骤-
1) 负载状态收集步骤,收集集群服务器的负载状态,并将其加入负载状态表中,把当前 负载最轻的服务器的专用IP地址值赋给负载分配地址变量一Lightest—IP;
2) 连接建立步骤,对于到达的新建连接请求的TCP报文,所述四层交换机将其源IP地 址、端口号、目的端口号及LightestJP变量的值作为一条记录插入到TCPj:ONN—Table中。
进一步地,所述步骤2)中具体包括以下步骤当有数据包从上行链路进入四层交换机时, 四层交换机先查看其目的地址是否是集群服务器对外的公开地址,如果不是,则丢弃;如果是,则査看其目的端口号;只有是集群服务器所提供的服务和对外开放的TCP端口号,并且 是TCP的一个同步报文,所述四层交换机把其源IP地址、端口号、目的端口号及Lightest—IP 变量的值作为一条记录插入到TCP—C0NN_Table中。
进一步地,在所述步骤2)中,如果到达一个释放TCP连接的请求报文,所述四层交换机 利用其源IP地址、端口号、目的端口号到TCPJX)剛—Table中找到相应的记录,并将其从 TCP—CONN—Table中删除。
进一步地,在所述步骤2)中,如果不是新建连接的TCP报文,也不是释放连接的TCP报 文,所述四层交换机在TCP—CONN—Table表中查找属于本连接的集群服务器,并把报文发送到 相应的四层交换机端口。
进一步地,所述步骤l)中,如果某个集群服务器通过SNMP的陷阱信息来报告负载与 状态,所述四层交换机先到LSJTable中査找是否己经有过此服务器的专用IP地址的记录,如 果没有,则添加此服务器的记录,如已经存在,则更新其负载参数,然后重新计算出负载指 数最轻的服务器记录;如果负载最轻的服务器有了变化,则修改上行链路接口卡中的 Lightest—IP变量的值,把当前负载最轻的服务器的专用IP地址值赋给它。
进一步地,在所述步骤l)中,如果现在收到的负载报告指示服务器的负载没有变化,则 不更新LS_Table。
进一步地,在所述步骤l)中,如果四层负载均衡交换机在设定的时间内没有收到某个集 群服务器的性能报告,则将其记录从LS—Table中删除。
本发明基于硬件的四层交换技术实现的负载均衡,利用TCP端口号来区别服务,把源IP 地址、端口号与目的IP地址、端口号作为一个连接的标识,在多个连接间进行负载分担,以 实现集群服务器的负荷相当与整个系统的大吞吐量、稳定性。它相对于Windows负载集群和 Linux群集都有更高的吞吐量和更高的性能。实际应用中,只需要集群服务器都支持SNMP协 议就可以了。它不用经过NAT转换,实现高速、高容量、低时延的负载均衡。


图1为本发明基于硬件的四层负载均衡交换机实施和结构示意图2为本发明基于硬件的四层负载均衡交换机实施和在集群服务器网络中的位置示意图。
具体实施方式
如图1所示, 一种基于硬件的四层负载均衡交换机,其特征在于包括 通过总线连接的中央处理单元(CPU)、上行链路接口卡、主存储器及多个接口,其中,
所述上行链路接口卡中存放有TCP连接映射表一TCP—CONN—Table和负载分配地址变量一 Lightest_IP,所述负载分配地址变量一Lightest—IP用于指示当前负载最轻的集群服务器的 专用IP地址,并用此值标示从客户端来的新建连接请求转发到哪个集群服务器,所述主存储 器中存放有由中央处理单元维护的负载状态表一LSJTable。所述负载状态表一LS—Table的结 构可包括集群服务器的专用IP地址、负载指数、服务质量等等字段信息。
本发明提供的基于硬件的四层负载均衡交换机(以下简称"四层交换机")其在集群服 务器网络中的位置如图2所示,其通过所述上行链路接口卡与所述内联网(Intranet)相连 接,通过所述多个端口一一对应与多个集群服务器相连接。内联网通过防火墙连接于互联网。 四层交换机和集群服务器都运行简单网络管理协议(S丽P),四层交换机被指定为管理端,集 群服务器则被指定为被管理端。被管理端在服务器负载变化量超过设定值时给管理端发送一 个状态报告;或者当超过一定时间后,服务器负载的变化量即使没有达到设定值,也向四层 交换机发送一个状态报告信号。四层交换机根据负载分配算法,对访问集群系统的传输控制 协议(TCP)连接进行负载均衡,同时对网络协议(IP)包作一跳以内的投递和路由选择。图 1中每个集群服务器除了指定一个公开的集群IP地址以外,还分别指定一个不同的专用IP地 址。
一种基于硬件的四层负载均衡交换方法,包括以下步骤
1) 负载状态收集步骤,收集集群服务器的负载状态,并将其加入负载状态表中,把当前 负载最轻的服务器的专用IP地址值赋给负载分配地址变量一Lightest—IP;
2) 连接建立步骤,对于到达的新建连接请求的TCP报文,所述四层交换机将其源IP地 址、端口号、目的端口号及Lightest—IP变量的值作为一条记录插入到TCP—CONN—Table中。
其中,所述步骤2)中具体包括以下步骤当有数据包从上行链路进入四层交换机时,四 层交换机先查看其目的地址是否是集群服务器对外的公开地址,如果不是,则丢弃;如果是, 则查看其目的端口号;只有是集群服务器所提供的服务和对外开放的TCP端口号,并且是TCP 的一个同步(SYN)报文,这表明是一个新建连接请求的TCP报文到达,所述四层交换机把其 源IP地址、端口号、目的端口号及Lightest_IP变量的值作为一条记录插入到TCP—C0丽—Table 中。
其中,在所述步骤2)中,如果到达一个释放TCP连接的请求报文,所述四层交换机利用 其源IP地址、端口号、目的端口号到TCP—CONN—Table中找到相应的记录,并将其从TCP—CONN—Table中删除。
其中,在所述步骤2)中,如果不是新建连接的TCP报文,也不是释放连接的TCP报文, 则表明正在进行的TCP连接过程,所述四层交换机在TCP—CONN—Table表中査找属于本连接的 集群服务器,并把报文发送到相应的四层交换机端口。
其中,所述步骤l)中,如果某个集群服务器通过SNMP的陷阱(TRAP)信息来报告负 载与状态,所述四层交换机先到LS—Table中查找是否已经有过此服务器的专用IP地址的记录。 如果没有,则添加此服务器的记录,如已经存在,则更新其负载参数。然后重新计算出负载 指数最轻的服务器记录。如果负载最轻的服务器有了变化,则修改上行链路接口卡中的 Lightest一IP变量的值,把当前负载最轻的服务器的专用IP地址值赋给它。这保证新建的TCP 连接建立请求,均被转发到负载最轻的服务器来承担。
其中,在所述步骤l)中,如果现在收到的负载报告指示服务器的负载没有变化,则不更 新LS—Table。
其中,在所述步骤l)中,如果四层负载均衡交换机在设定的时间内没有收到某个集群服 务器的性能报告,则将其记录从LS—Table中删除。这样,所述四层交换机也就不会把新的客 户端访问请求转交给该集群服务器了,也使系统能够快速地把有故障的集群服务器排除在服 务队列之外,提高了负载均衡的稳定性。同时LSJTable的长度也变短了,查找、更新等操作 将会更快。
权利要求
1、一种基于硬件的四层负载均衡交换机,其特征在于包括通过总线连接的中央处理单元、上行链路接口卡、主存储器及多个接口,其中,所述上行链路接口卡中存放有TCP连接映射表-TCP_CONN_Table和负载分配地址变量-Lightest_IP,所述负载分配地址变量-Lightest_IP用于指示当前负载最轻的集群服务器的专用IP地址,并用此值标示从客户端来的新建连接请求转发到哪个集群服务器,所述主存储器中存放有由中央处理单元维护的负载状态表-LS_Table。
2. 一种基于硬件的四层负载均衡交换方法,其特征在于,采用权利要求1所述的基于硬 件的四层负载均衡交换机,具体包括以下步骤1) 负载状态收集步骤,收集集群服务器的负载状态,并将其加入负载状态表中,把当前 负载最轻的服务器的专用IP地址值赋给负载分配地址变量一Lightest—IP;2) 连接建立步骤,对于到达的新建连接请求的TCP报文,所述四层交换机将其源IP地 址、端口号、目的端口号及Lightest—IP变量的值作为一条记录插入到TCP—CONN—Table中。
3. 根据权利要求2所述的基于硬件的四层负载均衡交换方法,其特征在于 所述步骤2)中具体包括以下步骤当有数据包从上行链路进入四层交换机时,四层交换机先查看其目的地址是否是集群服务器对外的公开地址,如果不是,则丢弃;如果是,则査 看其目的端口号;只有是集群服务器所提供的服务和对外开放的TCP端口号,并且是TCP的 一个同步报文,所述四层交换机把其源IP地址、端口号、目的端口号及Lightest—IP变量的 值作为一条记录插入到TCP—CONN—Table中。
4. 根据权利要求3所述的基于硬件的四层负载均衡交换方法,其特征在于-在所述步骤2)中,如果到达一个释放TCP连接的请求报文,所述四层交换机利用其源IP地址、端口号、目的端口号到TCP—CONN—Table中找到相应的记录,并将其从TCP一CO剛一Table 中删除。
5. 根据权利要求4所述的基于硬件的四层负载均衡交换方法,其特征在于 在所述步骤2)中,如果不是新建连接的TCP报文,也不是释放连接的TCP报文,所述四层交换机在TCP—CONN—Table表中査找属于本连接的集群服务器,并把报文发送到相应的四层 交换机端口。
6. 根据权利要求5所述的基于硬件的四层负载均衡交换方法,其特征在于-所述步骤1)中,如果某个集群服务器通过SNMP的陷阱信息来报告负载与状态,所述四层交换机先到LS—Table中查找是否已经有过此服务器的专用IP地址的记录,如果没有,则 添加此服务器的记录,如已经存在,则更新其负载参数,然后重新计算出负载指数最轻的服务器记录,如果负载最轻的服务器有了变化,则修改上行链路接口卡中的Lightest—IP变量的 值,把当前负载最轻的服务器的专用IP地址值赋给它。
7、 根据权利要求6所述的基于硬件的四层负载均衡交换方法,其特征在于 在所述步骤1)中,如果现在收到的负载报告指示服务器的负载没有变化,则不更新LS_Table。
8、 根据权利要求7所述的基于硬件的四层负载均衡交换方法,其特征在于-在所述步骤l)中,如果四层负载均衡交换机在设定的时间内没有收到某个集群服务器的性能报告,则将其记录从LSJTable中删除。
全文摘要
一种基于硬件的四层负载均衡交换机及其交换方法,所述四层交换机包括通过总线连接的中央处理单元、上行链路接口卡、主存储器及多个接口,所述上行链路接口卡中存放有TCP连接映射表和负载分配地址变量,所述主存储器中存放有由中央处理单元维护的负载状态表。所述交换方法,包括1)负载状态收集步骤,收集集群服务器的负载状态,并将其加入负载状态表中,把当前负载最轻的服务器的专用IP地址值赋给负载分配地址变量;2)连接建立步骤,对于到达的新建连接请求的TCP报文,所述四层交换机将其源IP地址、端口号、目的端口号及负载分配地址变量的值作为一条记录插入到TCP连接映射表中。本发明不需要经过NAT转换,提高了吞吐率、降低时延和抖动。
文档编号H04L29/08GK101409669SQ20081004265
公开日2009年4月15日 申请日期2008年9月9日 优先权日2008年9月9日
发明者姚驰甫 申请人:上海第二工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1