发明内容
本发明所要解决的技术问题是,提供一种对关键VPN网络设备进行负载均衡的方法,同时也可以实现冗余备份,以此提高VPN网络的整体可用性。
本发明解决所述技术问题采用的技术方案是,提供一种实现通信负载均衡的方法,包括以下步骤:a.下端网关与多个上级网关建立隧道;b.下端网关将本地通信量均衡分配到各隧道。所述下端网关是指处于网络边界位置的VPN网关;所述上端网关是指处于中心网络位置的VPN网关;所述隧道为IPsec隧道。
还包括:c.上端网关根据时间间隔,向下端网关通告负载状况;d.下端网关根据上端网关的负载状况调节通信量。所述下端网关通过保活机制保证已建立的隧道可用。所述保活机制为IKE死亡对端探测机制(Dead Peer Detection)。上端网关设置有一个通信量阈值,该网关的负载超过该阈值时,对各个下端网关发送负载通告消息。所述步骤d中,所述“调节通信量”为:将新增的通信量分发到负载较轻的隧道,对已有的正常通信连接不作变动。如果出现失效的上端网关,则各下端网关将与该失效网关之间的通信转移到与正常的上端网关连接的的隧道中。
上述步骤c中的“时间间隔”,可以是一个预定不变的时间间隔,也可以根据上端网关的负载状况对此间隔作调整,如在通信量较大时增加该时间间隔的长度,以减轻网络负担。
本发明还提供一种上端网关,带有负载通告模块,所述负载通告模块对下端网关通告该上端网关负载状况。所述上端网关是指处于中心网络位置的VPN网关,上端网关与每一个下端网关建立IPsec隧道。
本发明还提供一种网关,所述网关为位于网络边界位置的VPN网管,带有负载调整模块。VPN网络中本网关与多个上端网关建立IPsec隧道;所述负载调整模块根据各上端网关的负载状况向各IPsec隧道分配新增的通信量,所述负载调整模块还用于将通过失效隧道的通信转移到正常的隧道,所述失效隧道为本网关与失效的上端网关之间的隧道,所述正常的隧道为本网关与工作正常的上端网关之间的隧道。
本发明的有益效果是,解决了现有技术尚不能很好解决IPsec安全网关的负载均衡问题,避开了复杂、繁琐的设备状态备份,采用了一种简单且切实可行的策略,通过各个对端主动均分通信量的机制,实现关键安全网关设备的负载均衡,从而提高了VPN网络的整体性能,增强了IPsec VPN的实际运营能力。本发明适用于各种网络拓扑结构的IPsec VPN,能满足业务量繁重的企业VPN的高可用性需求。
以下结合附图和具体实施方式对本发明作进一步的说明。
具体实施方式
参见图1。本文所述的“安全网关”是指其具有安全性能,就其在网络中的位置而言,可称为“上端网关”或“中心网关”。
本文所述的“隧道”是一种通信通道。本实施方式所述的隧道着重于使用IPsec技术封装口包的通信通道,也是一种安全的通信隧道。
考虑到IPsec技术的特殊性,为正确实施IPsec封装和解封装,需要在隧道双方之间保持一致的安全参数,并保证相关状态的同步,这就使得普通的负载均衡方案不能满足其需要;将多台作负载均衡的VPN安全网关当作一个网关组,下端网关与其中的每一个网关均建立IPsec隧道,网关组的设备按照一定的时间间隔向下端网关通告自己的负载情况,或者通过单独的流量通告器统一将所有网关组设备的负载情况通告给下端网关,下端网关则根据这些信息按照一定的策略决定自己的负载走向,以此达到网关组设备之间的负载均衡。这种方案多应用于星形VPN网络拓扑中,大量下端网关的通信量都经过中心的安全网关设备,这就使得中心设备很容易形成性能瓶颈,对中心设备进行负载均衡能显著提高整个网络的性能。
本发明实现均衡负载的几个步骤为:
1.首先,下端网关直接与安全网关组内每个网关设备均建立IPsec隧道,并通过IKE DPD(死亡对端探测)保活机制保证已建好的隧道可用。
2.然后,下端网关设备根据自己本地策略,均衡地将本地通信量分配到与上端网关组各设备建立的不同的隧道中,各个下端都对本地通信量进行均衡分配,这样就可以使得上端网关组各设备之间达到负载均衡。
3.上端各网关设备按照一定的时间间隔,通过IKE消息向各个下端通告自己的负载情况,包括已建立连接数目、已承受的数据流量大小等;对于下端网关数目很多时,为减少负载通告消息所带来的额外开销,可以由一个独立的流量通告器来将各设备的负载情况统一通告给下端网关;还有一种减少负载通告消息数目的方法,这是基于这样一种认识,即当某个网关设备所承受的负载远小于其所能承受的最大负载值时,它的负载情况是不需要关心的,这就是说可以针对每个网关设备的负载能力设置一个阈值,一旦负载超过此值,即需要将负载情况通告下端设备,如此一来,可以有效减少负载通告消息数量,从而减少由此带来的额外网络开销。
4.下端网关接收到负载通告消息后,则将新增连接的通信量分发到与负载轻的网关建立的IPsec隧道中,而对于已经存在的连接的通信则不受影响,这是因为只要已有的连接的通信还能正常进行,表明对应的网关依然是可用的,而没有必要为追求绝对的负载均衡,而去切换已有的通信量,因为这样做会造成通信流在多个网关之间发生振荡,从而影响正常的通信;经过上述处理,安全网关组的各网关设备之间可以达到令人满意的负载均衡,从而能够提高整个VPN网络的可用性。
上述“流量通告器”功能是接收上端网关组的流量或负载通告消息,统一分发给下端各个网关,以减少线路中流量或负载通告消息数目。
显然上述方案也可以实现冗余备份功能,只要发现其中一个网关失效,即可以迅速地切换至另一可用的网关,从而使得对通信的影响降至最低。
本发明在实现冗余备份功能上并不要求安全网关组的设备物理上处于同一地点,通过下端与上端网关主动建立IPsec连接,从而可以实现所谓的异地备份功能。
本发明是通过对VPN网络中关键网关设备进行负载均衡,来提高整个VPN网络的可用性的,因此适合于对VPN网络的整体规划和部署。尤其在星形VPN网络拓扑中,对非中心端网关设备实施相同的策略,可以更好地提高上端网关组的可用性,从而显著提高VPN的整体性能。
本发明所述的“流量通告器”功能是接收上端网关组的流量或负载通告消息,统一分发给下端各个网关,以减少线路中流量或负载通告消息数目。因其功能比较简单,对本领域技术人员而言,并无实施的困难,故此不再对其具体结构作详细的描述。
作为更具体的实施例,参见图1。
图1显示的是一种比较典型的星形网络拓扑。位于中心的安全网关GA和GB组成一个安全网关组GAB,下端连接有四个边界安全网关G1、G2、G3和G4;其中G1和G3通过与中心的GAB建立的IPsec隧道进行通信,G2和G4的通信也通过GAB进行;在这种环境下,所有通信流都经过中心的GAB,因此为防止GAB成为性能瓶颈,并提高网络的整体性能,需要在中心的GA和GB之间进行负载均衡和冗余备份。
具体步骤如下。
1.G1、G2、G3和G4首先根据本地通信的需要分别与GA、GB建立IPsec隧道,并通过IKE DPD消息机制维持所有隧道的可用性;起初,G1、G2、G3和G4根据相同的策略和算法对本地通信进行分流,各自保证分别与GA、GB建立的隧道的通信量大致相等,这样可以使得GA和GB的负载整体上趋于平衡。
2.假设GA、GB的最大负载为100,负载的衡量根据各设备具体的性能来确定;设定GA、GB的负载阈值分别为60、55,该值决定是否需要发送负载通告消息给下端各个网关设备;当GA、GB的负载分别是15、14时,表明GA和GB还有足够能力处理通信负载,此时无需对端关心其负载情况;之后,随着通信量的增大,GB的负载超过其阈值55,GB开始向对端发送负载通告消息,这个可以利用IKE已有的信息交换(Informational Exchange)机制来实现;GA的处理也与此类似;负载通告消息的发送采用定时机制,定时时间大小可以使用固定值,也可以根据负载情况进行动态调整,例如刚过阈值时,采用比较长的定时间隔,而后随着负载的增大而减少定时时间,以增大负载通告消息发送频率,当负载达到某一警戒值(假设GA为90,GB为88)时,则开始减少负载通告消息的发送,以减少此时发送负载通告消息所带来的额外网络压力,尽量保证正常的数据通信的进行。
3.当G1或G2接收到GA、GB的负载通告消息后,根据所获得的GA、GB的负载情况,针对新增连接的通信量进行隧道选择,将其分发到负载较轻的隧道;只要已有连接的通信能够正常进行,就不应该改变其原来的隧道途径,这样可以保证已有连接通信的稳定;这里的连接针对一个具体的通信会话而言,即由源地址、目的地址、源端口、目的端口和协议来唯一确定,例如192.168.1.1到192.168.2.1的FTP通信即是一个连接,而192.168.1.1到192.168.2.1的Web应用(HTTP协议)即是另一个连接。
4.对上端网关GA、GB进行负载均衡的目的是为了提高VPN网络的整体可用性,因此如果已有的连接通信可以正常进行,就不必根据GA、GB的负载不同而改变已有连接的通信隧道,除非已有的通信出现异常;这就是说,对于G1、G2、G3或G4而言,获得的上端负载通告消息只对其新增连接通信的选择策略起作用,其目的在于一是可以保证已有通信的稳定,避免无谓的通信振荡,二则可以比较迅速地获得上端网关GA、GB的负载趋于均衡。
5.如果某个上端网关失效,如GA,G1、G2、G3和G4可以比较迅速的作出反应,将与GA进行的通信转移到与GB建立的IPsec隧道中,以此保证与GA的通信不被中断。
当然,前面已经提到,上述方案并不局限于图1显示的星形网络结构,对于站到站(Site-to-Site)网络结构,以及远程用户拨号接入本地安全网关的拨号网络,也是适用的。
本发明可以显著改善VPN网络中关键安全网关设备的负载性能,从而提高网络的整体可用性。
以上实施例提供的调节方式是只将新增连接的通信量分发到与负载轻的网关建立的IPsec隧道中,而对于已经存在的连接的通信不作变动。
另外,关于以下的两种情形:
1)对原有的正常连接作部分的调整以迅速的实现均衡;
2)将所有的原有连接与新增的连接一起进行重新分配;
即使其效果不太理想,作为实施方案,依然属于本发明的权利范围。
本发明还提供一种上端网关,所述“上端网关”是一种网关,因其在网络中的位置,本文称其为“上端网关”以示区别。所述上端网关除具有普通网关的功能外,还带有一个负载通告模块,所述负载通告模块功能是,对下端网关通告该上端网关的负载状况。可以是定时通告,也可以动态调整时限。当负载过大时,上端网关增加发送状态通告的时间间隔,以降低因通告产生的额外开销。
本发明还提供一种网关,通常,在本发明的网络环境中,该网关通常处于下端。该网关带有负载调整模块,所述负载调整模块根据各上端网关的负载状况向各隧道分配新增的通信量,所述上端网关为与本网关通过隧道连接的上端网关。所述负载调整模块还用于将通过失效隧道的通信转移到正常的隧道,所述失效隧道为本网关与失效的上端网关之间的隧道,所述正常的隧道为本网关与工作正常的上端网关之间的隧道。