一种网络负载均衡设备及其实现方法

文档序号:7743196阅读:116来源:国知局
专利名称:一种网络负载均衡设备及其实现方法
技术领域
本发明涉及一种网络通信技术,尤其涉及一种基于链路层的网络流量负载均衡方 法及相关设备。
背景技术
随着网络通信技术的发展,多媒体业务迅速普及,网络流量日益增大,这对通信系 统的承载能力提出了更高的要求。在通信传输系统中,单条物理链路已经无法满足网络流 量的需求,常常需要多条物理链路来共同负载均衡。因此,用户常常租用不同的线路接入到 网络中。例如,分别租用中国网通、中国移动、中国电信的不同线路用于接入网络。例如,参 见附图1,用户基于三条不同的路径通过路由器接入到网络中。然而,上述技术存在以下问题。如果某条链路发生故障(例如断开)、或链路上的 流量负载过大,而其它链路上的负载较小,都会导致通信的不畅,时延的增大、以致通信的 失败,并且还可能由于三条不同的线路时延的不同导致某些链路的通信不畅。另外,如果经 由一个运营商的线路去访问位于不同运营商网络环境中的服务器,也有可能会遭遇信息传 输时间过长的问题。通常的解决办法是对故障设备进行人工更换。然而,对用户来说,人工更换不方便 也不灵活;并且链路设备的更换或基于路由的负载均衡均通常需要进行人工配置,导致使 用中不灵活。现有技术中,解决故障问题更多是从路由的层次进行,例如路由冗余协议。基于虚 拟路由器冗余协议,可以设立一组路由器作为默认网关路由器(VRRP组)的备份或冗余。这 样一来,用户就可以利用虚拟路由器冗余协议的虚拟路由器作为其默认网关,即使一个主 要的路由器宕机,其它的路由器也可以迅速接管整个网络的流量。然而,由于路由节点是网 络中很重要的节点,如果路由节点发生故障,则会导致网络拓扑的变换,影响网络的性能。

发明内容
为此,本发明的目的在于提供一种能够克服以上问题的基于链路层的网络流量负 载均衡方法和设备。为此,在第一方面,本发明提供一种均衡设备基于链路层对网络流量进行负载均衡的方法。其中,第一链路和第二链路并行连接在均衡设备和外网之间,第三和第四链路并 行连接在内网和均衡设备之间,第一链路和第三链路属于同一个链路,第二链路和第四链 路属于同一个链路。其特征在于所述方法包括以下步骤检测第一链路的负载信息;根据 所述负载信息,判断是否需要对第一链路执行链路负载均衡;在判断需要执行链路负载均 衡的情况下,将来自第三链路的数据包切换到第二链路中,并且将该数据包所属连接的信 息记录到连接信息表中;根据连接信息表,将来自第二链路的属于同一连接的数据包沿第 三链路返回内网。在第二方面,本发明提供一种基于链路层对网络流量进行负载均衡的均衡设备。其中,第一链路和第二链路并行连接在均衡设备和外网之间,第三和第四链路并行连接在 内网和均衡设备之间,第一链路和第三链路属于同一个链路,第二链路和第四链路属于同 一个链路。其特征在于所述均衡设备包括检测第一链路的负载信息的装置;根据所述负 载信息,判断是否需要对第一链路执行链路负载均衡的装置;在判断需要执行链路负载均 衡的情况下,将来自第三链路的数据包切换到第二链路中,并且将该数据包所属连接的信 息记录到连接信息表中的装置;根据连接信息表,将来自第二链路的属于同一连接的数据 包沿第三链路送往内网的装置。对于用户端计算机来说,上述链路的切换是透明的。通过链路切换,有效解决了链 路发生故障或者过载的问题,从而使用户充分享受到经过优化的服务和极快的响应。此外, 也可以解决由于不同运营商之间的链路衔接不顺畅而可能导致的过度延时。


下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中图1是一个现有技术通信系统的网络系统示意图;图2是本发明一个实施例的网络系统示意图;图3给出了链路流量切换的流程;图4给出了链路流量恢复的流程;图5是图2所示网络系统的一个例子。
具体实施例方式图2是本发明一个实施例的网络系统示意图。如图2所示,用户端计算机通过内 网,然后分别经三条链路(分别标示为Lla、L2a、L 3a)分别与流量均衡设备的三个端口 (分别为端口 A、端口 B、端口 C)相连。流量均衡设备的另三个端口(分别为端口 D、端口 E、端口 F)通过另三条链路(分别为Lib、L2b、L 3b)分别与网路服务提供商的接入路由器 ISPU ISP2、ISP3相连,上述接入路由器与外部网络相连,远端服务器为位于外部网络上的 服务器。其中,链路Lla和Llb配对并且实质属于同一条链路,链路L2a和L2b配对并且实 质属于同一条链路,链路L3a和L3b配对并且实质属于同一条链路。需要说明的是,虽然图 中示意了三对链路,但是内网和流量均衡设备之间的链路以及流量均衡设备之间的链路的 数量可以是大于或等于2的任何数字。当用户端计算机需要访问位于外部网络上的远端服务器时,用户端计算机发出的 数据包通过三条链路中的某一条链路例如L2a通过端口 B进入到网络负载均衡设备。网络 负载均衡设备接收上述数据包后,如果与链路L2a配对的链路L2b负载合理而无需进行均 衡,则按照链路L2b及其端口 E发送到对应的网络服务提供商的接入路由器,即ISP2的接 入路由器。然而,当链路L2b由于出现故障等原因而不可用时,需要将数据包切换到其它备 用链路。经查找备用链路例如Llb可用,然后将数据包经端口 D切换到备用的链路Llb上, 同时将上述数据包的链路连接信息(L2a->Llb)记录在连接信息表中。如何选择备用链路 将在下文讨论。此外,切换链路意味着下一条的转发设备发生变化,因此需要依据协议在发 送之前对数据包做目的MAC地址的相应改变。
连接信息表可以包括源IP、目的IP、源端口、目的端口以及该数据包所属连接的 链路切换情况。当来自于外部网络的后继数据包经链路Lla进入网络负载均衡设备后,网络负载 均衡设备根据数据包包头中的源IP、目的IP、源端口和目的端口查找连接信息表,找到对 应连接的链路切换情况(L2a->Llb)。根据记录的链路切换情况,确定该后继数据包的链路 为L2a。然后,通过新确定链路及其对应的端口发送到内网,最后到达用户端计算机。 对于用户端计算机来说,上述链路的切换是透明的。通过链路切换,有效解决了链 路发生故障或者过载的问题,从而使用户充分享受到经过优化的服务和极快的响应。在一个例子中,当上行链路和待访问服务器属于不同的运营商时,由于不同运营 商之间的链路衔接不顺畅可能导致过度的延时,采用本发明的链路切换机制可以在流量均 衡设备处基于运营商的因素选择相同运营商的链路,从而避免不必要的时延。除去上述上行链路的切换以外,当下行链路出现故障或过载的时候也可以进行相 应的链路切换。在一个例子中,当链路Lla出现故障等需要进行流量均衡的因素时,网络 流量负载均衡设备检测到这一信息,并且将来自对应链路Lla的数据包改由其它链路比如 L3a送往内网,并且记录连接信息;从内网发出的后继数据包经链路L3a到达网络流量负载 均衡设备后,均衡设备根据此前记录的连接信息(Llb-L3a)将该数据包经由链路Lib发出。 当然,在切换的过程中可以依据网络协议根据实际情况的需要进行MAC地址等变更,这不 是本发明的重点所在,故此省略。图5是图2所示网络系统的一个例子。如图所示,用户终端计算机通过交换机,路 由器以及防火墙连接到外网。在交换机和路由器之间的链路上跨接一个均衡器,该均衡器 根据路由器所反馈的各个链路的负载情况来选择恰当的链路。有关细节不复赘述。链路切换可以按一定的条件和方式进行。首先,可以为链路切换设定一定的条件。在一个优选实施方案中,网络负载均衡设 备为每条链路设置警戒阈值和安全阈值。图3给出了链路流量切换的流程。当链路负载超过警戒阈值时,表示链路处于高 负荷状态,需要进行该链路的负载均衡。接下来判断备用链路是否低于安全阈值。当备用 链路负载低于安全阈值时,表示链路处于低负荷状态,表示此时可以接收别的链路均衡过 来的流量。由此,将流量切换到备用链路。在存在多个备选链路的情况下,可以为这些备选链路设定优先级。例如,链路Llb 的备选链路为链路L2b和L3b,并且链路L2b的优先级高于链路L3b的优先级。链路切换可以采用动态的方式进行。在一个优选的实施方案中,以元流量为单位 将数据包信息进行切换。元流量的基本思想是把流量分成不同的类型,每一类可以有不同 的优先级。元流量可以按应用、端口和用户等进行细分。例如,可以按照应用把流量划分为 业务流量(HTTP/EMAIL)和P2P下载流量,链路过载的时候,优先保证业务流量的通畅。也 可以按按照部门(基于IP)划分,例如基层部门的流量和管理部门的流量,优先保证管理部 门的流量。此外,在按元流量为单位进行切换的时候可以按优先级依次切换。不同类型元流 量有不同的优先级。比如,可以赋予某些用户较高的优先级,当一条链路出现故障时,优先 将该用户有关的数据包切换到备用链路上。在一个例子中,可以对同一元流量的优先级进行分时设定。以P2P流量为例,在工作时间赋予低优先级,在下班时间赋予一般优先级,由 于优先级不同,所以切换的效果不一样。在另一个例子中,基于优先级的切换可以按照拟切 换到的链路状态反馈进行。假设流量的优先级从高到低为HTTP/FTP/P2P,并进行跨运行商 的优化。首先切换HTTP,如果切换后目标链路还不饱和,则还可以进行FTP的切换,如果此 后目标链路饱和,则放弃对P2P的跨运行商优化。当故障链路或者过载链路恢复正常时,需要将后续数据包从之前选择的备用链路切换回恢复正常的链路。具体地讲,如果上行链路恢复正常且均衡设备接收到下行数据包, 则下行数据包仍然按照连接信息表的指示选择链路下行。如果上行链路恢复正常且均衡设 备接收到上行数据包,则将上行数据包直接按恢复正常后的链路传输,并且删除连接信息 表中有关此连接的连接信息。链路的恢复可以按切换时的优先级依次恢复。先切换的连接后恢复。此外,可以设置恢复阈值。当链路负载低于恢复阈值时,且若当前链路发生过负载 均衡,则将流量切回当前链路。图4给出了链路流量恢复的流程。显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的 精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖 范围之内。
权利要求
一种均衡设备基于链路层对网络流量进行负载均衡的方法,其中第一链路和第二链路并行连接在均衡设备和外网之间,第三和第四链路并行连接在内网和均衡设备之间,第一链路和第三链路属于同一个链路,第二链路和第四链路属于同一个链路,其特征在于所述方法包括以下步骤检测第一链路的负载信息;根据所述负载信息,判断是否需要对第一链路执行链路负载均衡;在判断需要执行链路负载均衡的情况下,将来自第三链路的数据包切换到第二链路中,并且将该数据包所属连接的信息记录到连接信息表中;根据连接信息表,将来自第二链路的属于同一连接的数据包沿第三链路返回内网。
2.如权利要求1所述的方法,其特征在于所述负载信息包括链路故障、链路过载或运 营商信息 。
3.如权利要求1所述的方法,其特征在于连接信息表包括源/目的IP,源/目的端口, 输入/输出接口以及该连接的各数据包的链路切换情况。
4.如权利要求1所述的方法,其特征在于所述数据包切换的步骤包括按元流量为单位 进行切换。
5.如权利要求4所述的方法,其特征在于所述按元流量为单位进行切换的步骤包括按 优先级依次切换。
6.如权利要求5所述的方法,其特征在于优先级采用分时设定。
7.如权利要求5所述的方法,其特征在于进一步包括按照拟切换到的链路状态反馈进 行切换的步骤。
8.如权利要求4所述的方法,其特征在于元流量按应用、端口和用户之一个或多个进 行细分。
9.如权利要求1所述的方法,其特征在于数据包切换的步骤包括判断第一链路负载是 否高于警戒阈值并且条件满足的情况下允许切换。
10.如权利要求1所述的方法,其特征在于数据包切换的步骤包括判断第二链路是否 低于安全阈值,并且条件满足的情况下允许切换。
11.如权利要求1所述的方法,其特征在于所述方法包括判断第一链路可行的情况下 将属于该连接的数据包切回第一链路。
12.如权利要求11所述的方法,其特征在于所述判断第一链路可行的步骤包括判断第 一链路的负载是否低于恢复阈值,并且在负载低于恢复阈值的情况下将属于该连接的数据 包切回第一链路。
13.一种基于链路层对网络流量进行负载均衡的均衡设备,其中第一链路和第二链路 并行连接在均衡设备和外网之间,第三和第四链路并行连接在内网和均衡设备之间,第一 链路和第三链路属于同一个链路,第二链路和第四链路属于同一个链路,其特征在于所述 均衡设备包括检测第一链路的负载信息的装置;根据所述负载信息,判断是否需要对第一链路执行链路负载均衡的装置;在判断需要执行链路负载均衡的情况下,将来自第三链路的数据包切换到第二链路 中,并且将该数据包所属连接的信息记录到连接信息表中的装置;根据连接信息表,将来自第二链路的属于同一连接的数据包沿第三链路送往内网的装置。
14.如权利要求13所述的设备,其特征在于所述负载信息包括链路故障、链路过载或运营商信息。
15.如权利要求13所述的设备,其特征在于连接信息表包括源/目的IP,源/目的端 口,输入/输出接口以及该连接的各数据包的链路切换情况。
16.如权利要求13所述的设备,其特征在于所述在判断需要执行链路负载均衡的情况 下,将来自第三链路的数据包切换到第二链路中,并且将该数据包所属连接的信息记录到 连接信息表中的装置包括按元流量为单位进行切换的子单元。
17.如权利要求13所述的设备,其特征在于包括判断第一链路可行的情况下将属于该 连接的数据包切回第一链路的装置。
全文摘要
本发明提供一种均衡设备基于链路层对网络流量进行负载均衡的方法及其设备。第一和第二链路并行连接在均衡设备和外网之间,第三和第四链路并行连接在内网和均衡设备之间,第一和第三链路,第二和第四链路分别属于同一个链路。该方法包括以下步骤检测第一链路的负载信息;根据所述负载信息,判断是否需要对第一链路执行链路负载均衡;在需要均衡时,将来自第三链路的数据包切换到第二链路中,并且将该数据包所属连接的信息记录到连接信息表中;根据连接信息表,将来自第二链路的属于同一连接的数据包沿第三链路返回内网。对于用户端计算机来说,上述链路的切换是透明的。通过链路切换,有效解决了链路发生故障或者过载的问题。
文档编号H04L12/56GK101841464SQ20101012024
公开日2010年9月22日 申请日期2010年3月8日 优先权日2010年3月8日
发明者刘怡臻, 梁志勇, 王庆官, 米嘉, 陆继周, 陈鑫, 陶涛 申请人:北京网康科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1