一种多外网分流加速方法及系统与流程

文档序号:17429107发布日期:2019-04-17 03:15阅读:357来源:国知局
本发明涉及云计算虚拟化
技术领域
:的网络虚拟化领域,并具体为一种多外网分流加速方法以及基于该多外网分流加速方法的一种多外网分流加速系统。
背景技术
::随着网络、虚拟化、存储技术的发展,我们已经迈入了云计算时代,各大云计算厂商或大的it企业纷纷建立自己的数据中心以支撑和发展自己的业务。常见数据中心里的一套云计算系统由控制节点、计算节点、网络节点等多节点组成,其中,计算节点负责运行向外提供服务的各种虚拟机,网络节点为整个系统提供对外和对内的各种网络服务,控制节点则负责云计算系统的正常运行。随着越来越多的业务和数据迁移到云中来,如果不能保障数据中心的外网正常运行,或者流畅的上网体验,将会造成严重的用户损失。在云计算领域,数据中心的多外网模式下,路由器连接不通的外部网络供用户使用,通常为一个外部网络作为默认路由转发,启用外部网络通过配置静态路由进行分流处理。但由于除默认路由外,其余外部网络流量均需要配置静态路由引流,很难保证所有外部网络充分利用。如默认外部网络故障时,传统多外网的路由器灾备实现也是需要部署两个网络节点做主备切换。此种故障外网仅默认外部网络故障,其余外网仍然可以正常运行时,也会将全部流量由主节点切换至备节点。增加了节点开销且无法使所有外网充分利用。单纯的静态路由引流只能保证其余的外部网络可以被使用,但无法保证所有出外网的数据流量均从延时最低的外部网络发出,不可避免地会造成网络延时。技术实现要素:本发明的目的在于公开一种多外网分流加速方法以及一种多外网分流加速系统,以实现对多外网流量的智能分流及加速转发并降低网络延时。为实现上述第一个发明目的,本申请首先提供了一种多外网分流加速方法,包括以下步骤:s1、监控进程读取外网网关的转发流量后上报至主控进程,并将转发流量排名靠前的若干外网ip地址上报至探测进程;s2、探测进程逐一使用指定外网ip地址及监控进程上报的转发流量排名靠前的若干外网ip地址检测外网网关的连通性指标与时延指标,并上报至主控进程;s3、主控进程根据指定外网ip地址或者监控进程上报的流量排名靠前的若干外网ip地址的连通性指标与延时指标,并基于当前外网网关的实时转发流量,动态规划出外网ip地址的路由与外网网关之间的映射关系,所述指定外网ip地址为外网ip地址中的一个ip地址。作为本发明的进一步改进,所述步骤s2中检测外网网关的时延指标为:从默认外网网关中抓取对外网ip地址转发的请求数据包以构造出icmp请求,并对各个外网物理网卡使用所述icmp请求进行响应测试,选择出最小延迟的外网物理网卡,将具有最小延迟的外网物理网卡所对应的外网ip地址下发至外网路由表。作为本发明的进一步改进,所述步骤s1中的监控进程间隔执行1~5秒后停止执行,并等待步骤s3执行完毕后再次启动执行;步骤s2中的探测进程间隔执行5~15秒后停止执行,并等待步骤s2与步骤s3执行完毕后再次启动执行。作为本发明的进一步改进,还包括将具有最小延迟的外网物理网卡所对应的外网ip地址下发至外网路由表之后,执行对外网路由表进行更新的操作。作为本发明的进一步改进,所述监控进程与探测进程及主控进程为三个运行于多外网分流加速系统中的独立进程,所述多外网分流加速系统部署于网络节点。作为本发明的进一步改进,还包括在网络节点中配置管理网卡,将管理网卡与多外网分流加速系统进行关联,以通过所述管理网卡对多外网分流加速系统下发自定义配置。同时,本申请还提供了一种多外网分流加速系统,所述多外网分流加速系统部署于网络节点中,并包括运行有监控进程的监控模块、运行有探测进程的探测模块以及运行有主控进程的主控模块;监控进程读取外网网关的转发流量后上报至主控进程,并将转发流量排名靠前的若干外网ip地址上报至探测进程;探测进程逐一使用指定外网ip地址及监控进程上报的转发流量排名靠前的若干外网ip地址检测外网网关的连通性指标与时延指标,并上报至主控进程主控进程根据指定外网ip地址或者监控进程上报的流量排名靠前的若干外网ip地址的连通性指标与延时指标,并基于当前外网网关的实时转发流量,动态规划出外网ip地址的路由与外网网关之间的映射关系,所述指定外网ip地址为外网ip地址中的一个ip地址。作为本发明的进一步改进,所述网络节点中配置管理网卡,将管理网卡与多外网分流加速系统进行关联,以通过所述管理网卡对多外网分流加速系统下发自定义配置。与现有技术相比,本发明的有益效果是:通过本发明所揭示的一种多外网分流加速方法及多外网分流加速系统,实现了对多外网流量的智能分流及加速转发;同时,实现了在外网ip地址发生故障或者网络发生拥塞时,可充分利用多块外网物理网卡进行转发,从而提高了用户的上网体验。附图说明图1为本发明一种多外网分流加速方法的流程图;图2为本发明一种多外网分流加速系统部署于数据中心的网路节点的示意图;图3为本发明一种多外网分流加速系统的示意图;图4为数据中心中的计算节点中的虚拟机通过网络节点中所配置的一块外网物理网卡访问外网ip地址为115.239.210.27的示意图,其中加速的虚线为数据流路径;图5为基于本发明所示出的多外网分流加速方法或者多外网分流加速系统将图4中的已经形成的数据流路径100基于动态规划出的外网ip地址的路由与外网网关所之间的映射关系所形成的新的数据流路径200的示意图;图6为运行本发明一种多外网分流加速系统所依赖的openstack系统的示意图。具体实施方式下面结合各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。在详细阐述本发明各个实施例之前,对说明书中所涉及的技术术语作必要的阐述与说明。在本说明书,大写字母与小写字母具等同含义。术语“igw”是指内网网关;术语“ewg”是指外网网关;术语“fib”是指路由转发表;术语“bridge”是指提供二层网络服务的外网网桥;术语“table”是指路由器所内置的路由选择表,用于存储在路由器或其它因特网络设备到其他目的地设备路由信息;术语“vm”是指虚拟机。在本申请中,可在计算节点中由一个或者多个vm组成一个内网a05,该内网a05可为虚拟内网或者虚拟局域网。实施例一:本实施例公开了一种多外网分流加速方法,可用于数据中心(idc)、云平台等环境中的网络节点30中vm对外网ip地址进行访问时,对挂载至网络节点30中的外网物理网卡的数据转发路径基于外网物理网卡的故障情况、外网ip地址时延指标及外网物理网卡的转发流量是否超过设定阈值所组成的预定义规则对外网物理网卡进行选择,并确定数据转发路径,以保证vm对指定外网ip地址或者外网ip地址所指向的网站进行访问的时效性与连通性,从而确保用户(client)基于vm执行web访问时的用户体验。在本实施例一或者实施例二中,为了减化说明,网路节点30中配置了外网物理网卡301与外网物理网卡302。路由器配置一个或者多个igw,具体的,路由器router_1配置igw_1与igw_2,路由器router_n配置igw_3与igw_i(其中,参数i取大于或者等于4的正整数)。同时,路由器router_1配置egw_1与egw_2,路由器router_n配置egw_3与egw_4。在计算节点a上安装并启动开放虚拟交换机(ovs虚拟交换机)a01,并挂载多个vm。计算节点a通过物理网卡a02与内网交换机a03连接,并通过网络节点30中所配置的物理网卡a04与内网交换机a03连接。计算节点a中的vm51与vm52(当然还可是一个虚拟机或者数量更多的虚拟机)形成或者共同组成内网a05。数据中心的任何一个计算节点a中的虚拟机藕接集成网桥(br-int),并通过集成网桥(br-int)与通道网桥(br-tun)连接。通道网桥(br-tun)设置为flow模式。网络节点30中保存路由规则的table303,该table303包含外网路由表_fib1至外网路由表_fibn中所有的转发规则。参图1所示,在本实施例中,该多外网分流加速方法,包括以下步骤:步骤s1、监控进程读取外网网关的转发流量后上报至主控进程,并将转发流量排名靠前的若干外网ip地址上报至探测进程。步骤s2、探测进程逐一使用指定外网ip地址及监控进程上报的转发流量排名靠前的若干外网ip地址检测外网网关的连通性指标与时延指标,并上报至主控进程。该步骤s2中检测外网网关的时延指标为:从默认外网网关中抓取对外网ip地址转发的请求数据包以构造出icmp请求,并对各个外网物理网卡使用所述icmp请求进行响应测试,选择出最小延迟的外网物理网卡,将具有最小延迟的外网物理网卡所对应的外网ip地址下发至外网路由表。在步骤s2中探测进程逐一使用指定外网ip地址(通常是著名的网址,例如百度、新浪等)以检测外网网关的连通性指标与时延指标,并监控进程上报的转发流量排名靠前的若干外网ip地址检测外网网关的连通性指标与时延指标。在本实施例中,可将排名靠前十的外网ip地址检测外网网关的连通性指标与时延指标。检测连通性是为了判断外网物理网卡301或者外网物理网卡302是否正常并可用。步骤s3、主控进程根据指定外网ip地址或者监控进程上报的流量排名靠前的若干外网ip地址的连通性指标与延时指标,并基于当前外网网关的实时转发流量,动态规划出外网ip地址的路由与外网网关之间的映射关系,所述指定外网ip地址为外网ip地址中的一个ip地址。优选的,在本实施例的步骤s3执行完毕后,还包括将具有最小延迟的外网物理网卡所对应的外网ip地址下发至外网路由表之后,执行对外网路由表,即table303进行更新的操作。在本实施例中,该步骤s1中的监控进程间隔执行1~5秒后停止执行,并等待步骤s3执行完毕后再次启动执行;步骤s2中的探测进程间隔执行5~15秒后停止执行,并等待步骤s2与步骤s3执行完毕后再次启动执行。通过监控进程与探测进程的间隔执行,可有效地避免上述两个进程一直占用资源,以最终提高主控进程的执行效率。监控进程与探测进程及主控进程为三个运行于多外网分流加速系统10中的独立进程,所述多外网分流加速10系统部署于网络节点30。还包括在网络节点30中配置管理网卡11,将管理网卡11与多外网分流加速系统10进行关联,以通过所述管理网卡11对多外网分流加速系统10下发自定义配置。自定义配置可以是管理网关11对通过多外网分流加速系统10中的主控模块103向图2中的路由器router_1至路由器router_n中所分别包含的外网路由表_fib1至外网路由表_fibn中的转发规则。参图4至图6所示,部署一套包含一个控制节点40、一个安装多外网分流加速系统10的网络节点30和一个计算节点a的openstack系统的云平台,具体参图6所示。在已创建的openstack系统中,将计算节点a的二层网络服务设置以openvswitch(即ovs虚拟交换机a01)为驱动,网络节点30的网络服务模式设置为加速转发模式。并在网络节点30配置两块或者以上物网物理网卡(即外网物理网卡301与外网物理网卡302)接入外网b与外网c,并启动多外网分流加速系统10。启动openstack系统中的各个节点上的网络服务。在openstack系统中创建三个网络,分别为:内网a(192.168.1.0/24)、外网b(101.0.107.0/24),外网c(202.0.106.0/24)并在计算节点a上创建若干虚拟机。创建路由器router_1~router_n,并接入外网b与外网c,同时连接内网a,并设置默认外网路由为路由器router_1。虚拟机vm51访问外部主流网站,如百度115.239.210.27,如图4所示。首次访问115.239.210.27,会通过外网b,一段时间后通过多外网分流加速系统10探测分析后,发现通过外网b访问外网115.239.210.27延时<通过外网b访问115.239.210.27,故下发精确路由115.239.210.27/32devethb(即将路由器router_1所配置的egw_2与bridge_b建立连接,并断开egw_1与bridge_a之前所建立的连接),实现加速转发并降低了延时。手动断开外网b所对应的外网物理网卡301,内网a05短暂无法访问外网后恢复正常,所有后续的基于访问行为所产生的数据流均通过外网物理网卡302向外网b进行转发,以建立如图5中图5中虚线所示出的数据流路径200。从而将图4中的虚线所示出的数据流路径100切换为图5中虚线所示出的数据流路径200。需要说明的是,手动断开外网b所对应的外网物理网卡301既可以通过主控进程实现,也可以通过管理网卡11实现。实施例二:本实施例基于实施例一所揭示的一种多外网分流加速方法所实现,并具体揭示了一种多外网分流加速系统10的一种具体实施例。在本实施例中,该多外网分流加速系统10部署于网络节点30中,并包括运行有监控进程的监控模块101、运行有探测进程的探测模块102以及运行有主控进程的主控模块103。监控进程读取外网网关的转发流量后上报至主控进程,并将转发流量排名靠前的若干外网ip地址上报至探测进程。探测进程逐一使用指定外网ip地址及监控进程上报的转发流量排名靠前的若干外网ip地址检测外网网关的连通性指标与时延指标,并上报至主控进程。主控进程根据指定外网ip地址或者监控进程上报的流量排名靠前的若干外网ip地址的连通性指标与延时指标,并基于当前外网网关的实时转发流量,动态规划出外网ip地址的路由与外网网关之间的映射关系,所述指定外网ip地址为外网ip地址中的一个ip地址。具体的,在本实施例中,该网络节点30中配置管理网卡11,将管理网卡11与多外网分流加速系统10进行关联,控制节点40启动的server端(该server端部署于控制节点40中,并用于配置多外网分流加速系统10)发送配置消息通过所述管理网卡11对多外网分流加速系统10下发自定义配置。自定义配置包括:路由器名称(即图2中的路由器router_1~路由器router_n)、外网ip地址、转发规则、监控进程间隔、探测进程间隔、主控进程间隔。本实施例与实施例一中相同部分的技术方案请参实施例一所述,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1