基于SDN控制器的虚拟网关主备切换方法及装置与流程

文档序号:14993364发布日期:2018-07-20 22:57阅读:270来源:国知局

本发明涉及网络技术技术领域,尤其是涉及一种基于sdn控制器的虚拟网关主备切换方法及装置。



背景技术:

随着网络技术的不断发展,网络地址转换技术(networkaddresstranslation,nat)随之出现。由于虚拟机发出的报文通常为网络报文,网络报文的源互联网协议(internetprotocol,ip)地址为私网地址,通常需要通过虚拟网关对虚拟机发出的报文进行nat处理。在实际应用中,虚拟网关在同一时间内处理的报文数量很多,对虚拟网关性能要求非常高,虚拟网关可能成为通讯瓶劲,容易出现单点故障。通过高可用性(highavailability,ha)技术,能够保证虚拟网关成功转发虚拟机发出的报文,ha是指通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性,即通常设置主虚拟网关和备份虚拟网关设备同时完成nat处理,主虚拟网关通常对外提供服务,在主虚拟网关发生异常的时候,自动切换到备份虚拟网关,以代替主虚拟网关完成虚拟机发出的报文转发的操作。

目前,在对虚拟网关的主备切换时,通常利用地址解析协议(addressresolutionprotocol,arp)协议或者主备路由模式,进行虚拟网关的主备切换。然而,通过上述两种方式进行主备切换时,在主虚拟网关工作时,备份虚拟网关通常处于闲置状态,造成网络的带宽资源和服务器资源极大浪费。



技术实现要素:

本发明提供了一种基于sdn控制器的虚拟网关主备切换及装置,主要在于能够实现主、备份虚拟网关同时处于工作状态,避免虚拟网关处于闲置状态,从而能够节省网络的带宽资源和服务器资源。

根据本发明的第一个方面,提供一种基于sdn控制器的虚拟网关主备切换方法,包括:

通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;

若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;

通过切换后的备份路径,转发虚拟机发送的报文。

根据本发明的第二个方面,提供一种基于sdn控制器的虚拟网关主备切换装置,包括:

判断单元,用于通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;

切换单元,用于若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;

转发单元,用于通过切换后的备份路径,转发虚拟机发送的报文。

根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;

若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;

通过切换后的备份路径,转发虚拟机发送的报文。

根据本发明的第四个方面,提供一种基于sdn控制器的虚拟网关主备切换装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;

若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;

通过切换后的备份路径,转发虚拟机发送的报文。

本发明提供的一种基于sdn控制器的虚拟网关主备切换方法及装置,与目前利用地址解析协议(addressresolutionprotocol,arp)协议或者主备路由模式,进行虚拟网关的主备切换相比,本发明能够通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;并能够在所述第一虚拟网关对应的主路径发生故障时,将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者能够在所述第二虚拟网关对应的主路径发生故障时,将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;从而能够实现第一虚拟网关和第二虚拟网关的互相备份。与此同时,通过切换后的备份路径,转发虚拟机发送的报文,能够实现主、备份虚拟网关同时处于工作状态,避免虚拟网关处于闲置状态,提供多活的虚拟网关nat机制,从而能够节省网络的带宽资源和服务器资源。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了本发明实施例提供的一种基于sdn控制器的虚拟网关主备切换方法流程图;

图2示出了本发明实施例提供的一种网络结构示意图;

图3示出了本发明实施例提供的另一种基于sdn控制器的虚拟网关主备切换方法流程图;

图4示出了本发明实施例提供的一种基于sdn控制器的虚拟网关主备切换装置的结构示意图;

图5示出了本发明实施例提供的另一种基于sdn控制器的虚拟网关主备切换装置的结构示意图;

图6示出了本发明实施例提供的一种基于sdn控制器的虚拟网关主备切换装置的实体结构示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

如背景技术,目前,在对虚拟网关的主备切换时,通常利用arp协议或者主备路由模式,进行虚拟网关的主备切换。然而,通过上述两种方式进行主备切换时,在主虚拟网关工作时,备份虚拟网关通常处于闲置状态,造成网络的带宽资源和服务器资源极大浪费。

为了解决上述问题,本发明实施例提供一种基于sdn控制器的虚拟网关主备切换方法,如图1所示,所述方法包括:

101、通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态。

其中,所述sdn(softwaredefinednetworking,软件定义网络)是一种将控制功能与数据转发功能分离的新型网络架构,sdn中的控制器专门用于网络信息的收集,依次为交换机的请求下发策略。与传统网络架构不同,sdn的集中式控制器可以监控网络的性能,且具有在必要时根据不同的需求重新编程的优势。控制器可以精确的监控整个网络的运行状况,观察每条数据流的特性,如吞吐量、时延、丢包率等。本发明实施例提供一种网络结构示意图,如图2所示,物理服务器中设有多个虚拟网络,每个虚拟网络出口都包括第一网关和第二网关,网关可以为实体的交换机、路由器或虚拟交换机、虚拟路由器等,第一虚拟网关和第二虚拟网关与sdn控制器连接,物理服务器通过网络基础架构的转发网络(underlay网络)与外部ip网络连接。

需要说明的是,本发明实施例的执行主体基于sdn控制器的虚拟网关主备切换装置可以为sdn控制器。所述sdn控制器可以通过定时向第一虚拟网关和第二虚拟网关分别对应的主路径发送的数据包,来确定第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态。具体地,若几个定时周期内,未接收第一虚拟网关或者第二虚拟网关关于所述数据包的响应信息,则确定第一虚拟网关或者第二虚拟网关的主路径发生故障,例如,若2个定时周期未接收到通过第一虚拟网关的主路径反馈的响应信息,则确定所述第一虚拟网关的主路径发生故障。同理,若2个定时周期未接收到通过第二虚拟网关的主路径反馈的响应信息,则确定所述第二虚拟网关的主路径发生故障。

102、若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径。

其中,所述第一虚拟网关的主路径和所述第二虚拟网关的备份路径相同,且所述第二虚拟网关的主路径和所述第一虚拟网关的备份路径相同。

例如,第一虚拟网关对外的虚ip地址为:192.168.1.219,且对应的物理地址为:00:21:5a:db:7f:c2;

第一虚拟网关的主路径为对外提供服务的真实ip地址(192.168.1.217),且对应的物理地址为:00:21:5a:db:7f:c2;

第一虚拟网关的备份路径为:ip地址(192.168.1.218),且对应的物理地址为:00:21:5a:db:68:e8;

第二虚拟网关对外的虚ip地址为:192.168.1.220,且对应的物理地址为:00:21:5a:db:68:e8;

第二虚拟网关的主路径为对外提供服务的真实ip地址(192.168.1.218),对应的物理地址为:00:21:5a:db:68:e8;且与第一虚拟网关的备份路径相同;

第二虚拟网关的备份路径为:ip地址(192.168.1.217),且对应的物理地址为:00:21:5a:db:7f:c2,且与第二虚拟网关的主路径相同。

当第一虚拟网关所对应的主路径192.168.1.217发生故障时,会自动向虚拟网络发送一个arp数据包,告诉虚拟机192.168.1.219这个ip地址对应的物理地址为:00:21:5a:db:68:e8,这样虚拟机就会将报文发送到192.168.1.218这个ip地址。同理,当第二虚拟网关所对应的主路径192.168.1.217发生故障时,会自动向虚拟网络发送一个arp数据包,告诉虚拟机192.168.1.220这个ip地址对应的物理地址为:00:21:5a:db:7f:c2,这样虚拟机就会将报文发送192.168.1.217这个ip地址,因此,能够实现第一虚拟网关与第二虚拟网关互相备份,无需在同一虚拟网络中为第一虚拟网关和第二虚拟网关分别设置单独的备份虚拟网关,同时能够实现主、备份虚拟网关同时处于工作状态,避免虚拟网关处于闲置状态,提供多活的虚拟网关nat机制,从而能够节省网络的带宽资源和服务器资源。

103、通过切换后的备份路径,转发虚拟机发送的报文。

对于本发明实施例,基于步骤102所涉及的例子,在所述第一虚拟网关的主路径(192.168.1.217)发生故障后,第一虚拟网关会通过ip地址(192.168.1.218)转发虚拟机发送的报文,即实现通过物理地址为:00:21:5a:db:68:e8的网关转发虚拟机发送的报文。在所述第二虚拟网关的主路径(192.168.1.218)发生故障后,第二虚拟网关会通过ip地址(192.168.1.217)转发虚拟机发送的报文,即实现通过物理地址为:00:21:5a:db:7f:c2的网关转发虚拟机发送的报文。

本发明实施例提供的一种基于sdn控制器的虚拟网关主备切换方法,与目前利用arp协议或者主备路由模式,进行虚拟网关的主备切换相比,本发明实施例能够通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;并能够在所述第一虚拟网关对应的主路径发生故障时,将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者能够在所述第二虚拟网关对应的主路径发生故障时,将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;从而能够实现第一虚拟网关和第二虚拟网关的互相备份。与此同时,通过切换后的备份路径,转发虚拟机发送的报文,能够实现主、备份虚拟网关同时处于工作状态,避免虚拟网关处于闲置状态,提供多活的虚拟网关nat机制,从而能够节省网络的带宽资源和服务器资源。

进一步的,为了更好的说明上述基于sdn控制器的虚拟网关主备切换的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种基于sdn控制器的虚拟网关主备切换方法,如图3所示,所述方法包括:

201、为所述第一虚拟网关的主路径和所述第二虚拟网关的备份路径配置相同的路径,并为所述第二虚拟网关的主路径和所述第一虚拟网关的备份路径配置相同的路径。

对于本发明实施例,sdn控制器可以向第一虚拟网关和第二虚拟网关发送主流表和备份流表,所述主流表可以用于配置所述第一虚拟网关或第二虚拟网关的主路径,所述备份流表可以用于配置所述第一虚拟网关或第二虚拟网关的备份路径,即可以通过发送主流表和备份流表实现第一虚拟网关和第二网关的路径配置,所述主流表的优先级大于备份流表,所述主流表和所述备份流表可以属于静态流表,在静态流表中,有着优先级(priority)、缓存(cookie)、超时(timeout)等字段,priority字段本身就能提供一定的路由决策依据,可以通过priority的不同来决定不同的路径。交换机接收到新的流表将会存储,当链路发生状况,交换机发现按现在高优先级流表无法发送,则首先尝试按照低优先级的流表进行转发,并不断查看高优先级路径状态变化。如果当前两张流表的转发路径均失效,那么将向sdn控制器发送数据包输入(packetin)信息,以获取新的转发路径,来满足数据传输的流畅性。sdn控制器可以通过开放流(openflow)协议实现主动式流表插入,主动式插入是在数据包到达交换机之前就插入相应的流表。通常当交换机向sdn控制器发送数据包时,通常通过packetin信息发送;当sdn控制器向交换机发送数据包时,通常通过packetout信息发送。

202、通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态。

对于本发明实施例,为了减轻nat转换负载压力,实现负载均衡,提升nat转化的速度和可靠行,在步骤202之前,所述方法还可以包括:若所述第一虚拟网关和所述第二虚拟网关分别对应的主路径均处于正常状态,且分别对应的备份路径均处于正常状态,则统计所述第一虚拟网关和所述第二虚拟网关分别对应的转发流量;当接收到新报文时,选择转发流量较少的虚拟网关转发所述新报文。此外,可以通过转发流量较少的虚拟网关转发新的连接请求、会话或数据流。例如,若第一虚拟网关的转发流量少于第二虚拟网关的转发流量,则sdn控制器在接收到新的连接请求、会话、数据流或者报文时,通过第一虚拟网关转发新的连接请求、会话、数据流或者报文;若第二虚拟网关的转发流量少于第一虚拟网关的转发流量,则sdn控制器在接收到新的连接请求、会话、数据流或者报文时,通过第二虚拟网关转发新的连接请求、会话、数据流或者报文。

203、若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径。

其中,关于步骤203中第一虚拟网关和第二虚拟网关实现互相备份的例子和过程在步骤102已进行了详细的描述,在此不进行赘述。

204、通过切换后的备份路径,转发虚拟机发送的报文。

对于本发明实施例,在步骤204之前,所述方法还包括:若所述第一虚拟网关对应的主路径发生故障,则识别所述第一虚拟网关对应的主路径的故障类型;或者若所述第二虚拟网关对应的主路径发生故障,则识别所述第二虚拟网关对应的主路径的故障类型。具体地,sdn控制器可以定时向第一虚拟网关对应的主路径发送数据包,若在预设的定时周期内未接收到数据包所对应的响应信息,则可以继续检测第一虚拟网络的各个节点接收所述响应信息的情况,若在所述第一虚拟网关以其内的网络节点,就未接收到所述响应信息,则确定所述第一虚拟网关对应的主路径的故障类型为所述第一虚拟网关以其内的网络故障;若在所述第一虚拟网关以外的网络节点,未接收到所述响应信息,则确定所述第一虚拟网关对应的主路径的故障类型为所述第一虚拟网关以外的网络故障,同理地,也可以通过上述方式识别所述第二虚拟网关对应的主路径的故障类型,在此不进行赘述。

在具体的应用场景中,所述步骤204具体可以为:若所述第一虚拟网关对应的主路径的故障类型为所述第一虚拟网关以其内的网络故障,则向所述第二虚拟网关发送更改网关的免费arp报文,以便所述第二虚拟网关将所述免费arp报文发送给虚拟机,使得所述虚拟机根据所述免费arp报文将报文转发的网关修改为所述第二虚拟网关;若所述故障类型为所述第一虚拟网关之外的网络故障,则通过所述第二虚拟网关所对应的备份流表,转发虚拟机发送的报文。

或者所述步骤204具体可以为:若所述第二虚拟网关对应的主路径的故障类型为所述第二虚拟网关以其内的网络故障,则向所述第一虚拟网关发送更改网关的免费arp报文,以便所述第一虚拟网关将所述免费arp报文发送给虚拟机,使得所述虚拟机根据所述免费arp报文将报文转发的网关修改为所述第一虚拟网关;若所述故障类型为所述第二虚拟网关之外的网络故障,则通过所述第一虚拟网关所对应的备份流表,转发虚拟机发送的报文。

对于本发明实施例,所述sdn控制器可以通过在openflow的数据包输出(packet-out)消息里封装发送给所述第一虚拟网关或者所述第二虚拟网关的免费arp报文。

例如,虚拟机发出报文1后,指定由第一虚拟网关转发报文1,sdn控制器在检测第一虚拟网关的主路径发生故障,且为第一虚拟网关内的网络故障,第一虚拟网关无法实现发送任何信息,因此,sdn控制器可以在packet-out消息中写入更改网关的免费arp报文发送给第二虚拟网关,第二虚拟网关将所述免费arp发送给虚拟机,使得虚拟机修改下一跳,指定第二虚拟网关转发报文1,并将报文1发送给第二虚拟网关转发给对应的交换机。

此外,在第一虚拟网关发生故障,且所述故障类型为所述第一虚拟网关以外的网络故障时,通过所述第二虚拟网关所对应的备份流表,转发虚拟机发送的报文,能够实现提前确定备份路径并提前在相关交换机中进行配置,在故障发生时只需将报文或者数据流切换到备份路径,无需sdn控制器的参与。

与步骤203并列的步骤205、若所述第一虚拟网关对应的主路径或者所述第二虚拟网关对应的主路径处于正常状态,则通过处于正常状态的主路径,转发虚拟机发送的报文。

对于本发明实施例,所述步骤205具体可以为:若所述第一虚拟网关对应的主路径处于正常状态,则可以通过处于所述第一虚拟网关对应的主路径对应的主路径将所述虚拟机发送的报文转发给对应的交换机中,或者若所述第二虚拟网关对应的主路径处于正常状态,则可以通过处于所述第二虚拟网关对应的主路径对应的主路径将所述虚拟机发送的报文转发给对应的交换机中。

本发明实施例提供的另一种基于sdn控制器的虚拟网关主备切换方法,与目前利用arp协议或者主备路由模式,进行虚拟网关的主备切换相比,本发明实施例能够通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;并能够在所述第一虚拟网关对应的主路径发生故障时,将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者能够在所述第二虚拟网关对应的主路径发生故障时,将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;从而能够实现第一虚拟网关和第二虚拟网关的互相备份。与此同时,通过切换后的备份路径,转发虚拟机发送的报文,能够实现主、备份虚拟网关同时处于工作状态,避免虚拟网关处于闲置状态,提供多活的虚拟网关nat机制,从而能够节省网络的带宽资源和服务器资源。

进一步地,作为图1的具体实现,本发明实施例提供了另一种基于sdn控制器的虚拟网关主备切换装置,如图4所示,所述装置包括:判断单元31、切换单元32和转发单元33。

所述判断单元31,可以用于通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态。所述判断单元31是本装置中通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态的主要功能模块。

所述切换单元32,可以用于若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;所述切换单元是本装置中若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径的主要功能模块,也是核心模块。

所述转发单元33,可以用于通过切换后的备份路径,转发虚拟机发送的报文。所述转发单元是本装置中通过切换后的备份路径,转发虚拟机发送的报文的主要功能模块。

对于本发明实施例,所述装置还包括:配置单元34,如图5所示。

所述配置单元34,可以用于为所述第一虚拟网关的主路径和所述第二虚拟网关的备份路径配置相同的路径,并为所述第二虚拟网关的主路径和所述第一虚拟网关的备份路径配置相同的路径。所述配置单元34是本装置中为所述第一虚拟网关的主路径和所述第二虚拟网关的备份路径配置相同的路径,并为所述第二虚拟网关的主路径和所述第一虚拟网关的备份路径配置相同的路径的主要功能模块。

所述转发单元33,还可以用于若所述第一虚拟网关对应的主路径或者所述第二虚拟网关对应的主路径处于正常状态,则通过处于正常状态的主路径,转发虚拟机发送的报文。

对于本发明实施例,为了重新选择所述第一虚拟网关和所述第二虚拟网关的备份路径,所述装置还包括:识别单元35。

所述识别单元35,可以用于若所述第一虚拟网关对应的主路径发生故障,则识别所述第一虚拟网关对应的主路径的故障类型;或者若所述第二虚拟网关对应的主路径发生故障,则识别所述第二虚拟网关对应的主路径的故障类型。所述识别单元35是本装置中若所述第一虚拟网关对应的主路径发生故障,则识别所述第一虚拟网关对应的主路径的故障类型;或者若所述第二虚拟网关对应的主路径发生故障,则识别所述第二虚拟网关对应的主路径的故障类型。

需要说明的是,与所述识别单元35对应的,所述转发单元33,具体可以用于若所述第一虚拟网关对应的主路径的故障类型为所述第一虚拟网关以其内的网络故障,则向所述第二虚拟网关发送更改网关的免费arp报文,以便所述第二虚拟网关将所述免费arp报文发送给虚拟机,使得所述虚拟机根据所述免费arp报文将报文转发的网关修改为所述第二虚拟网关;

若所述故障类型为所述第一虚拟网关之外的网络故障,则通过所述第二虚拟网关所对应的备份流表,转发虚拟机发送的报文;或者

若所述第二虚拟网关对应的主路径的故障类型为所述第二虚拟网关以其内的网络故障,则向所述第一虚拟网关发送更改网关的免费arp报文,以便所述第一虚拟网关将所述免费arp报文发送给虚拟机,使得所述虚拟机根据所述免费arp报文将报文转发的网关修改为所述第一虚拟网关;

若所述故障类型为所述第二虚拟网关之外的网络故障,则通过所述第一虚拟网关所对应的备份流表,转发虚拟机发送的报文。

对于本发明实施例,为了减轻nat转换负载压力,实现负载均衡,提升nat转化的速度和可靠行,所述装置还包括:统计单元36。

所述统计单元36,可以用于若所述第一虚拟网关和所述第二虚拟网关分别对应的主路径均处于正常状态,且分别对应的备份路径均处于正常状态,则统计所述第一虚拟网关和所述第二虚拟网关分别对应的转发流量。所述统计单元36是本装置中若所述第一虚拟网关和所述第二虚拟网关分别对应的主路径均处于正常状态,且分别对应的备份路径均处于正常状态,则统计所述第一虚拟网关和所述第二虚拟网关分别对应的转发流量。

所述转发单元33,还可以用于当接收到新报文时,选择转发流量较少的虚拟网关转发所述新报文。所述转发单元33还是本装置中当接收到新报文时,选择转发流量较少的虚拟网关转发所述新报文。

需要说明的是,本发明实施例提供的一种基于sdn控制器的虚拟网关主备切换装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。

基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;通过切换后的备份路径,转发虚拟机发送的报文。

基于上述如图1所示方法和如图4所示装置的实施例,本发明实施例还提供了一种基于sdn控制器的虚拟网关主备切换装置的实体结构图,如图6所示,该装置包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;若所述第一虚拟网关对应的主路径发生故障,则将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者若所述第二虚拟网关对应的主路径发生故障,则将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;通过切换后的备份路径,转发虚拟机发送的报文。

通过本发明的技术方案,能够通过sdn控制器判断处于同一虚拟网络的第一虚拟网关和第二虚拟网关分别对应的主路径是否处于正常状态;并能够在所述第一虚拟网关对应的主路径发生故障时,将所述第一虚拟网关对应的备份路径切换为所述第二虚拟网关的主路径,或者能够在所述第二虚拟网关对应的主路径发生故障时,将所述第二虚拟网关对应的备份路径切换为所述第一虚拟网关的主路径;从而能够实现第一虚拟网关和第二虚拟网关的互相备份。与此同时,通过切换后的备份路径,转发虚拟机发送的报文,能够实现主、备份虚拟网关同时处于工作状态,避免虚拟网关处于闲置状态,提供多活的虚拟网关nat机制,从而能够节省网络的带宽资源和服务器资源。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1