集群网络的单一地址流量分发器的制作方法

文档序号:7552180阅读:131来源:国知局
专利名称:集群网络的单一地址流量分发器的制作方法
技术领域
本发明涉及计算机领域,是一种用于构建高可用性、高可扩展性集群网络的单一地址流量分发器。
二、技术背景快速增长的网上活动使网络服务器的访问量大大增加,导致网络的许多关键部位成为性能瓶颈或者带宽瓶颈。目前,普遍采用第四层负载均衡器或者交换机物理端口的Trunking(链路聚集)的方法解决这个问题。第四层负载均衡器可以解决性能瓶颈的问题,但是它只能提供一个上行的入口,无法增加上行的网络带宽;Trunking技术,可以解决网络带宽问题,但是Trunking的物理端口必须连接同一台服务节点,无法提高处理性能。

发明内容
本发明的目的是设计单一地址流量分发器,通过将多个物理端口绑定成一个虚拟物理端口来扩展上行的流量,并根据客户端的IP地址将网络流量分到不同的处理节点实现提高扩展处理能力。而且该分发器保证了前后关联的数据包分配到同一个物理端口做后续的处理。


附图1为单一地址流量分发器结构示意图;1为绑定得物理端口;2为内部交换芯片;3为虚拟的IP地址和MAC地址;4为客户访问物理端口。
附图2为接收报文流程图;附图3为转发器所用表格;1、转发表描述物理端口和Hash值得对应关系。
2、物理端口信息登记表纪录每个物理端口的信息,包括流量信息,和连接在该物理端口的节点地址信息。
3、物理端口备份关系表纪录物理端口的备份信息。
附图4为防火墙应用方案;采用两个单一地址流量分发器,中间连接多个防火墙服务器。
附图5为单一地址流量分发器级联应用方案。
参照

对本发明的分发器作以下详细的说明。
a/该分发器是通过在单一地址流量分发器上将多个物理端口绑定成一个虚拟物理端口来扩展上行的数据流量,并根据客户端的IP地址将网络流量分配到不同的处理节点上来实现第三层负载均衡;b/该分发器是通过将前后关联的数据包分发到同一个物理端口上以提高处理能力;c/该分发器还通过功能的硬件化以提高数据的转发速度;
d/该分发器对外提供一个单一虚拟IP地址和单一的虚拟物理地址MAC;e/该分发器可绑定物理端口的数目取决于分发器所拥有的物理端口数目,当物理端口数目为N时,那么分发器可绑定的物理端口数为2~(N-1)。
第三层负载均衡是以位于网络第三层客户端的IP地址为依据将数据报文分发到不同的绑定物理端口,每个绑定物理端口连接的节点是并行处理VIP请求的一部分。
以客户端的IP地址为依据计算客户端的IP地址的Hash值,查询Hash转发表可得到该IP地址所发数据包应经过的物理端口,若Hash转发表没有该Hash值的纪录,该分发器按照加权最小连接方法或者加权轮巡方法为新的Hash值分配物理端口,并记录到Hash转发表中。
Hash转发表定期记录每个Hash值所对应网络流量,物理端口号由该装置内部指定,Hash值和物理端口号可以采用一对一的对应关系,也可以采用多对一的对应关系。
Hash值和物理端口号采用多对一的对应关系,IP地址可计算出的Hash值的数量大于绑定物理端口的数量,一般定义为绑定物理端口数量的2的N次方倍,N为非负整数,可由用户自己调整,如绑定物理端口数为4,可选择的能计算出的hash值的数量有4、8、16、32等。
记录每个Hash值所对应的网络流量,可以根据其流量和参照物理端口信息登记表,选择恰当的方式,当物理端口流量不均衡时,重新组合物理端口号与Hash值的关系以均衡各物理端口分配的网络流量。
物理端口信息登记表记录每个物理端口的网络数据流量的上下限以及连接该物理端口节点的地址信息,物理端口流量达到U_line时,说明与该物理端口所连接的节点的处理能力已经达到上限,该上限由用户根据相连物理端口的处能力指定。
转发报文到绑定物理端口,把报文的目的IP地址和MAC地址从单一地址流量分发器所设定的虚拟IP地址和虚拟MAC地址修改为该绑定物理端口所对应节点的IP地址和虚拟MAC地址。
连接绑定物理端口的节点,可以是真实服务器,第四层负载均衡器,防火墙,路由器,也可以是另一个单一地址流量分发器。
另一个单一地址流量分发器是指构造一个二级的转发器,同样,也可以构造多级转发器。
前后关联的数据包,是来自同一用户的相互之间具有一定关系的数据包,需要同一台服务器节点进行处理,如同一连接的第一个包和后续的包,ftp建立的一次控制连接和多个数据连接具有相同ssl的http请求等。
保证前后关联的数据包分发到相同的物理端口是指同一源IP的数据包被接收后,通过Hash算法所得到的Hash值是相同的,这些数据包都从这个相同的Hash值对应同一物理端口中被分发出去。
功能的硬件化是将Hash算法程序固化在ASIC(Application SpecificIntegrated Circuit)芯片中作为分发器的核心来提高数据转发速度,Hash算法可以采用以下公式表示Value=Mod(Source_IP,n)Value=Mod(Source_IP*2654435761,n)2654435761是介于32位IP地址之间的一个质数,n是模,可以等于绑定的物理端口数,也可以是绑定物理端口的数目的整数倍。
提高可扩展性是通过扩展连接绑定物理端口上的节点来实现,其扩展的最大数目由该单一IP转发器装置的可绑定物理端口数目决定。
高可用性是当与某个物理端口相连的节点出现问题时,单一地址流量分发器可以根据实现协商的备份策略将失效节点所对应物理端口的数据包发送到备份节点所对应的物理端口上。
五、实施方式1,绑定多个物理端口对外提供单一虚拟IP和虚拟MAC。
(如附图1所示)本发明的分发器在内部提供一个虚拟的IP地址和MAC地址,为客户端提供一个单一的访问地址,当接收到ARP包时,直接将虚拟的MAC返回给用户。该IP地址和MAC地址可以通过专用控制接口或网络登陆到单一地址流量分发器来设定。绑定物理端口的数目默认为该装置物理端口总数的一半,目的是保持进出该装置的网络流量的平衡,当然也可以根据用户的需要,调节绑定物理端口数。
2、(如附图3所示)对客户端IP地址按照Hash算法进行计算,得出Hash值,并根据Hash转发表,将不同Hash值的数据包转发到不同的绑定物理端口,实现可靠的第三层负载均衡功能。
(如附图2流程图所示)当单一地址流量分发器接受一个数据包的时候,转发的方法是通过修改报文的目的IP地址和MAC地址。从客户端发来的数据包,其目的IP地址和目的MAC地址是单一地址流量分发器的虚拟IP和虚拟MAC,在经过该装置时,这两个地址被Hash值所指定物理端口后端真实的节点的IP地址和MAC地址所代替,使数据包可以转发到该真实节点。同样返回的数据包,其目的IP地址和MAC地址是客户端的地址,源地址是真实节点的IP和MAC地址,在通过单一地址流量分发器的时候,需要把源地址修改为虚拟地址。
3、采用恰当的Hash值与物理端口的分配方案可以使网络流量更均衡。
访问的数据包中有一些是通过代理,有一些是直接访问,这就造成了不同源IP之间访问流量的不均衡。假设该装置有4个可以绑定的物理端口,目前有8个源IP,它们的流量分布如下IP1 IP2IP3IP4IP5IP6IP7IP8800 700500200300200100100如果Hash算法中的n取4,IP1和IP2得到同一个Hash值,其数据包被分发到同一个物理端口,同样,IP3和IP4,IP5和IP6,IP7和IP8分别分发到相同的物理端口,那么各物理端口分配的流量如下
物理端口号 1 2 3 4相同Hash值IPIP1,IP2IP3,IP4IP5,IP6IP7,IP8流量1500700 500 200如果Hash算法中的n取8,则每个源IP都得到一个Hash值,本装置可以根据Hash转发表中的每个Hash值对应的流量,按照恰当的算法,合理的分配各Hash值对应的物理端口号,可以得到下面的分配方案物理端口号 1 2 3 4相同Hash值IPIP1 IP2 IP3,IP6IP4,IP5,IP7,IP8流量800 700 700 700如上表所示可见网络流量更加均衡。
4、硬件实现功能把Hash算法程序烧录在ASIC(Application Specific IntegratedCircuit)芯片中作为该装置的核心,以提高转发的速度。
5、高可扩展性该装置可以根据可绑定的物理端口数扩展连接到各物理端口的节点数(可绑定的物理端口数可以调整),其最大的扩展数是N-1,N是该装置的物理端口数。
6、高可用性当与某个物理端口相连的服务器出现问题时,可以采取下面两种保证所提供的服务正常运行a)如果后续节点之间无备份,则调整hash算法参数,自动根据流量调整的算法来改变结果和物理端口的对应关系。
b)虚拟物理端口之间或后续节点之间有备份关系,则将失效物理端口的所有包发向具有备份功能的节点。虚拟物理端口之间若有一种对应关系,这种对应关系反映了各物理端口之间的备份关系,这些关系在该设备中可以通过一张表来描述,(如附图3表3所示),当某个物理端口对应的链路不通时(处理节点宕机或链路问题),发往各物理端口的包将发到备份物理端口。
7、可以采用的应用方式a)直接连接真实服务器(充当小型集群的负载均衡器)按照Hash方法分配用户,同一用户的所有数据包将被分发到相同的真实服务器上,由于同一连接的源IP是相同的,因此,所有数据都会被发向同一个物理端口,即被同一个真实服务器接收。
b)连接多个集群调度器如果集群上行数据量比较大,可以使用多个负载均衡器,该设备可以为多个负载均衡器提供唯一的虚拟ip地址,由于负载均衡器既要均衡负载,也要保证将属于同一连接的数据包发送到后台的同一台真实服务器去处理,所以,必须将属于前后相关的数据包分配给同一个负载均衡器,该设备以IP地址来区分不同的上行数据包,只要源IP相同,数据包将被送到设备的同一物理端口,从而为同一调度器来调度。
c)连接集群防火墙防火墙容易成为网络的瓶颈,因此,构建集群防火墙是防火墙的一个发展趋势,集群防火墙也需要对网络的数据包进行分流。可用单一地址流量分发器完成此工作,如附图4所示。
d)实现多级转发器(如附图3、附图5和表2所示)该设备可以级联,级联的基础是一个物理端口对应不同的多个hash值,如设备1给port1分配的hash值为1,2,3,4,5;给port5分配的21、22、23、24、25。则设备2可进一步给设备2的1、2、3、4、5物理端口分配hash值1、2、3、4、5,设备3可进一步给设备3的物理端口1、2、3、4、5分配hash值21、22、2、3、24、25,。此时,其物理端口信息登记表中的U_line值可以视二级转发器绑定的数目设置为连接二级转发器的整数倍。
e)连接机群路由器集群路由器可用交换机去构造,此设备可代替交换机,构造方法同集群防火墙。
权利要求
1.集群网络单一地址流量分发器,其特征在于a/该分发器是通过在单一地址流量分发器上将多个物理端口绑定成一个虚拟物理端口来扩展上行的数据流量,并根据客户端的IP地址将网络流量分配到不同的处理节点上来实现第三层负载均衡;b/该分发器是通过将前后关联的数据包分发到同一个物理端口上以提高处理能力;c/该分发器还通过功能的硬件化以提高数据的转发速度;d/该分发器对外提供一个单一虚拟IP地址和单一的虚拟物理地址MAC;e/该分发器可绑定物理端口的数目取决于分发器所拥有的物理端口数目,当物理端口数目为N时,那么分发器可绑定的物理端口数为2~(N-1)。
2.根据权利1所述的分发器,其特征在于第三层负载均衡是以位于网络第三层客户端的IP地址为依据将数据报文分发到不同的绑定物理端口,每个绑定物理端口连接的节点是并行处理VIP请求的一部分。
3.根据权利2所述的分发器,其特征在于以客户端的IP地址为依据计算客户端的IP地址的Hash值,查询Hash转发表可得到该IP地址所发数据包应经过的物理端口,若Hash转发表没有该Hash值的纪录,该分发器按照加权最小连接方法或者加权轮巡方法为新的Hash值分配物理端口,并记录到Hash转发表中,Hash转发表定期记录每个Hash值所对应网络流量,物理端口号由该装置内部指定,Hash值和物理端口号可以采用一对一的对应关系,也可以采用多对一的对应关系,Hash值和物理端口号采用多对一的对应关系,IP地址可计算出的Hash值的数量大于绑定物理端口的数量,一般定义为绑定物理端口数量的2的N次方倍,N为非负整数,可由用户自己调整,如绑定物理端口数为4,可选择的能计算出的hash值的数量有4、8、16、32等,记录每个Hash值所对应的网络流量,可以根据其流量和参照物理端口信息登记表,选择恰当的方式,当物理端口流量不均衡时,重新组合物理端口号与Hash值的关系以均衡各物理端口分配的网络流量。
4.根据权利3所述的分发器,其特征在于物理端口信息登记表记录每个物理端口的网络数据流量的上下限以及连接该物理端口节点的地址信息,物理端口流量达到U_line时,说明与该物理端口所连接的节点的处理能力已经达到上限,该上限由用户根据相连物理端口的处理能力指定。
5.根据权利4所述的分发器,其特征在于转发报文到绑定物理端口,把报文的目的IP地址和MAC地址从单一地址流量分发器所设定的虚拟IP地址和虚拟MAC地址修改为该绑定物理端口所对应节点的IP地址和虚拟MAC地址。
6.根据权利1所述的分发器,其特征在于连接绑定物理端口的节点,可以是真实服务器,第四层负载均衡器,防火墙,路由器,也可以是另一个单一地址流量分发器,另一个单一地址流量分发器是指构造一个二级的转发器,同样,也可以构造多级转发器。
7.根据权利1所述的分发器,其特征在于前后关联的数据包,是来自同一用户的相互之间具有一定关系的数据包,需要同一台服务器节点进行处理,如同一连接的第一个包和后续的包,ftp建立的一次控制连接和多个数据连接具有相同ssl的http请求等。
8.根据权利1所述的分发器,其特征在于保证前后关联的数据包分发到相同的物理端口是同一源IP的数据包被接收后,通过Hash算法所得到的Hash值是相同的,相同的Hash值对应同一物理端口,这些数据包都从这个物理端口被分发出去。
9.根据权利1所述的分发器,其特征在于功能的硬件化是将Hash算法程序固化在ASIC(Application Specific Integrated Circuit)芯片中作为分发器的核心来提高数据转发速度,Hash算法可以采用以下公式表示Value=Mod(Source_IP,n)Value=Mod(Source_IP*2654435761,n)2654435761是介于32位IP地址之间的一个质数,n是模,可以等于绑定的物理端口数,也可以是绑定物理端口的数目的整数倍。
10.根据权利1所述的分发器,其特征在于高扩展性是通过扩展连接绑定物理端口上的节点来实现,其扩展的最大数目由该单一IP转发器装置的可绑定物理端口数目决定,高可用性是当与某个物理端口相连的节点出现问题时,单一地址流量分发器可以根据实现协商的备份策略将失效节点所对应物理端口的数据包发送到备份节点所对应的物理端口上。
全文摘要
本发明提供一个集群网络单一地址流量分发器,该分发器通过将多个物理端口绑定成一个虚拟物理端口来扩展上行的流量,并根据客户端的IP地址将网络流量分发到不同的处理节点来提高或扩展处理能力。它是将后台的多台服务节点映射为单一的IP和MAC地址。请求该IP的数据包将被分配到装置中不同的物理端口,分流过程以ASIC技术来实现,流量分类的依据是对客户端IP地址求Hash值,由于同一用户的数据被分配在同一物理端口,可为与物理端口相连的节点提供持续服务。本发明的装置可应用于要求对上行流量进行分流的场合第三层负载均衡器,集群路由器和集群防火墙的流量分配,以及大流量集群的多个调度器的上行流量的分流。
文档编号H04L12/56GK1595906SQ20031011461
公开日2005年3月16日 申请日期2003年12月17日 优先权日2003年12月17日
发明者侯宗浩, 董小社, 张露, 刘爱华, 胡雷钧 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1