一种云主机会话流量的转发方法及装置与流程

文档序号:24069248发布日期:2021-02-26 14:20阅读:186来源:国知局
一种云主机会话流量的转发方法及装置与流程

[0001]
本申请涉及云技术领域,尤其涉及一种云主机会话流量的转发方法及装置。


背景技术:

[0002]
在现有技术中,云平台上通常只配置有一个出口路由器,该出口路由器关联了一个防火墙,当至少一个云主机访问不同的云外业务时,都只能通过该出口路由器和该防火墙进行会话流量的转发。
[0003]
比如,云主机访问外网的流量和云主机进行vpn(virtual private network,虚拟专用网络)业务的流量均通过该出口路由器和防火墙进行转发,这就会大大增加防火墙的工作压力,降低防火墙的工作效率。


技术实现要素:

[0004]
有鉴于此,本申请提供一种云主机会话流量的转发方法及装置,用于在云主机会话流量转发时,减少防火墙的工作压力,实现云会话流量的负载分担。
[0005]
具体地,本申请是通过如下技术方案实现的:
[0006]
根据本申请的第一方面,提供一种云主机会话流量的转发方法,所述方法应用于云平台,所述方法包括:
[0007]
获取已创建的至少一个出口路由器所关联的防火墙的性能参数;
[0008]
基于获取到的各防火墙的性能参数,确定各防火墙的负载;
[0009]
当各防火墙的负载满足预设条件时,创建第一出口路由器,并将创建的第一出口路由器与预设空闲的第一防火墙关联;
[0010]
在接收到云主机的会话流量时,若未记录有用于转发该会话流量的出口路由器,则通过所述第一出口路由器和所述第一防火墙转发所述会话流量,并记录用于转发该会话流量的出口路由器为所述第一出口路由器。
[0011]
可选的,所述预设条件包括:
[0012]
各防火墙的负载均超过预设负载阈值;或者,
[0013]
超过预设负载阈值的防火墙数量与所述各防火墙的总数量的比值超过预设比值阈值。
[0014]
可选的,所述性能参数包括:会话连接数;
[0015]
所述方法还包括:
[0016]
当已创建的第二防火墙承载的会话连接数为零时,解除所述第二防火墙与其关联的第二出口路由器之间的关联关系,并删除所述第二出口路由器。
[0017]
可选的,所述方法还包括:
[0018]
若记录有用于转发该会话流量的出口路由器,则依据记录的出口路由器及其关联的防火墙转发所述会话流量。
[0019]
可选的,所述云平台配置有sdn插件,所述sdn插件与各防火墙建立了连接;
[0020]
所述获取已创建的至少一个出口路由器所关联的防火墙的性能参数,包括:
[0021]
通过所述sdn插件,获取已创建的至少一个出口路由器所关联的防火墙的性能参数。
[0022]
根据本申请的第二方面,提供一种云主机会话流量的转发装置,所述装置应用于云平台,所述装置包括:
[0023]
获取单元,用于获取已创建的至少一个出口路由器所关联的防火墙的性能参数;
[0024]
确定单元,用于基于获取到的各防火墙的性能参数,确定各防火墙的负载;
[0025]
创建单元,用于当各防火墙的负载满足预设条件时,创建第一出口路由器,并将创建的第一出口路由器与预设空闲的第一防火墙关联;
[0026]
转发单元,用于在接收到云主机的会话流量时,若未记录有用于转发该会话流量的出口路由器,则通过所述第一出口路由器和所述第一防火墙转发所述会话流量,并记录用于转发该会话流量的出口路由器为所述第一出口路由器。
[0027]
可选的,所述预设条件包括:
[0028]
各防火墙的负载均超过预设负载阈值;或者,
[0029]
超过预设负载阈值的防火墙数量与所述各防火墙的总数量的比值超过预设比值阈值。
[0030]
可选的,所述性能参数包括:会话连接数;
[0031]
所述创建单元,还用于当已创建的第二防火墙承载的会话连接数为零时,解除所述第二防火墙与其关联的第二出口路由器之间的关联关系,并删除所述第二出口路由器。
[0032]
可选的,所述转发单元,还用于若记录有用于转发该会话流量的出口路由器,则依据记录的出口路由器及其关联的防火墙转发所述会话流量。
[0033]
可选的,所述云平台配置有sdn插件,所述sdn插件与各防火墙建立了连接;
[0034]
所述获取单元,在获取已创建的至少一个出口路由器所关联的防火墙的性能参数时,用于通过所述sdn插件,获取已创建的至少一个出口路由器所关联的防火墙的性能参数。
[0035]
由于本申请可以在会话流量过多时,自动增加出口路由器并关联新防火墙,从而将新会话的会话流量引流到新出口路由器和防火墙上,实现了会话流量的负载分担,降低了各防火墙的工作压力。
附图说明
[0036]
图1是本申请示出的一种现有的云端组网示意图;
[0037]
图2是本申请一示例性实施例示出的一种云主机会话流量转发方法的流程图;
[0038]
图3是本申请一示例性实施例示出的一种云主机会话流量转发方法的示意图;
[0039]
图4是本申请是示例性实施例示出的一种云平台的硬件结构图;
[0040]
图5是本申请一示例性实施例示出的一种云主机会话流量的转发装置。
具体实施方式
[0041]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0042]
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0043]
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0044]
参见图1,图1是本申请示出的一种现有的云端组网示意图。
[0045]
该云端组网包括:云主机、云平台、防火墙。
[0046]
其中,云平台用于管理云主机,为云主机转发会话流量等。比如,云平台可包括控制平面和转发平面。控制平面上部署有云操作系统,用于管理云主机。转发平面用于转发云主机的会话流量。
[0047]
此外,云平台的控制平面可以设置出口路由器,该出口路由器是虚拟路由器。云平台的转发平面可通过设置的出口路由器连接云外业务(如图1中的外网业务、vpn业务、公司内网业务),为云主机转发访问云外业务的会话流量。
[0048]
该组网中还配置有防火墙,防火墙可以与出口路由器关联,对出口路由器与云外业务之间的会话流量进行安全防护。该防火墙可以是物理防火墙,也可以是云平台上配置的虚拟防火墙。这里只是对防火墙进行示例性地说明,不对其进行具体地限定。
[0049]
然而,在现有的云主机的会话流量转发技术中,云平台上通常只配置有一个出口路由器和一个防火墙。所有云主机访问不同业务的会话流量均通过该出口路由器和防火墙转发。
[0050]
比如,云主机a访问外网1的会话流量和访问vpn1的会话流量、云主机b访问外网2的会话流量和访问vpn2的会话流量均通过该出口路由器和防火墙转发,这就会大大增加防火墙的工作压力,降低防火墙的工作效率。
[0051]
有鉴于此,本申请旨在提出一种云主机会话流量的转发方法,通过检测已创建的出口路由器对应的防火墙的负载,在防火墙负载过高时创建新的出口路由器,并将新的出口路由器关联新的防火墙,并将新会话的会话流量通过新出口路由器和新防火墙转发。
[0052]
由于本申请可以在会话流量过多时,自动增加出口路由器并关联新防火墙,从而将新会话的会话流量引流到新出口路由器和防火墙上,实现了会话流量的负载分担,降低了各防火墙的工作压力。
[0053]
参见图2,图2是本申请一示例性实施例示出的一种云主机会话流量转发方法的流程图,该方法可应用在云平台上,可包括如下所示步骤。
[0054]
步骤201:云平台获取已创建的至少一个出口路由器所关联的防火墙的性能参数。
[0055]
在本申请中预设多个防火墙,多个防火墙中有些是与已创建的出口路由器建立关联关系的防火墙(即正在使用的防火墙),有些是空闲防火墙。
[0056]
在一种可选的实现方式中,若防火墙是设置在云平台上的虚拟防火墙,云平台可直接获取已创建的至少一个出口路由器关联的防火墙上的性能参数。
[0057]
比如,云平台可周期性地向各关联的防火墙发送性能参数获取指令,各防火墙在接收到性能参数获取指令后,向云平台返回自身的性能参数。
[0058]
再比如,各关联的防火墙可以周期性地向云平台上报自身的性能参数,或者各关联的防火墙在检测到自身的性能参数发生变化时,向云平台上报自身的性能参数。
[0059]
在另一种可选的实现方式中,若防火墙设置在云平台外,云平台上设置有sdn(software defined network,软件定义网络)插件,该sdn插件与各防火墙建立了连接。
[0060]
sdn插件可以检测各关联的防火墙上的性能参数,sdn插件可以周期性地向云平台上报各关联的防火墙的性能参数,也可以在检测到任意防火墙的性能参数发生变化后向云平台上报发生变化的防火墙的性能参数,或者也可以在接收到云平台的性能参数获取指令后,向云平台上报各关联的防火墙的性能参数。
[0061]
此外,上述性能参数可以由云管理员进行依据实际场景进行配置。比如,上述性能参数可包括:防火墙上记录的会话流量的会话信息(比如会话连接数等),防火墙关联的出口路由器的出口带宽,防火墙关联的出口路由器上的出口数等。这里只是对性能参数进行示例性地说明,在实际应用中该性能参数还可包括用于流量过滤的acl(access control list,访问控制列表)表项数等等,这里不对该性能参数进行具体地限定。
[0062]
步骤202:云平台基于获取到的各防火墙的性能参数,确定各防火墙的负载。
[0063]
在本申请实施例中,云平台基于获取到的各防火墙的性能参数,确定各防火墙的负载的算法也可以有云管理员进行设定。
[0064]
比如,假设防火墙的性能参数包括:防火墙上的会话数、防火墙关联的出口路由器的出口带宽、以及防火墙关联的路由器上的出口数。
[0065]
云平台可通过如下公式计算出防火墙的负载。
[0066]
l=a*n+b*m+c*p
[0067]
其中,a为n的预设权重值,b为m的预设权重值,c为p的预设权重值;
[0068]
n为防火墙上的会话数;
[0069]
m为防火墙关联的出口路由器的出口带宽;
[0070]
p为防火墙关联的路由器上的出口数;
[0071]
l为防火墙的负载。
[0072]
当然,在实际应用中,也可以通过其他算法来确定防火墙的负载,比如粒子群算法等算法,这里只是对算法进行示例性地说明,不对其进行具体地限定。
[0073]
步骤203:当各防火墙的负载满足预设条件时,云平台创建第一出口路由器,并将创建的第一出口路由器与预设空闲的第一防火墙关联。
[0074]
在本申请实施例中,该预设条件可包括:各防火墙的负载均超过预设负载阈值。
[0075]
在实现时,当各防火墙的负载均超过预设负载阈值时,则表明各防火墙的负载满足预设条件。
[0076]
在另一种可选的实现方式中,该预设条件包括:超过预设负载阈值的防火墙数量与所述各防火墙的总数量的比值超过预设比值阈值。
[0077]
例如,假设预设比值阈值为60%,超过预设负载阈值的防火墙数量为4个,与各已
创建的出口路由器关联的防火墙数量(即各防火墙数量)为5个,则超过预设负载阈值的防火墙数量与所述各防火墙的总数量的比值为80%,超过了预设比值阈值,此时各防火墙的负载满足预设条件。
[0078]
当然在实际应用中,该预设条件也可以是其他条件,这里只是对预设条件进行示例性地说明,不对其进行具体地限定。
[0079]
在本申请实施例中,当各防火墙的负载满足预设条件时,云平台可创建第一出口路由器。此外,云平台还可从预设的空闲的防火墙中选择出一个防火墙(这里为了方便叙述,简称为第一防火墙),云平台可创建第一出口路由器与该第一防火墙的关联关系。
[0080]
步骤204:在接收到云主机的会话流量时,若未记录有用于转发该会话流量的出口路由器,则通过所述第一出口路由器和所述第一防火墙转发所述会话流量,并记录用于转发该会话流量的出口路由器为所述第一出口路由器。
[0081]
在本申请实施例中,当云主机与云外业务建立新的会话,并且云平台选择出用于转发该新会话的会话流量的出口路由器时,云平台可记录该新会话标识与出口路由器的对应关系。
[0082]
当该对应关系达到老化时间时,云平台可删除该对应关系。或者,当云主机与云外业务断开该会话连接时,云平台可删除该对应关系。
[0083]
基于此,在实现步骤204时,云平台在接收到云主机的会话流量时,若该对应关系中存在该会话流量所属会话对应的出口路由器,则表明云平台上记录有用于转发该会话流量的出口路由器,此时云平台通过该记录的出口路由器转发该会话流量。
[0084]
若该对应关系中不存在该会话流量所属会话对应的出口路由器,则表明云平台上未记录用于转发该会话流量的出口路由器,进而表明该会话流量为新建会话的会话流量,此时可以采用新创建的第一出口路由器和第一防火墙来转发该新建会话的会话流量。此外,云平台可在上述对应关系中记录该新建会话的会话标识与第一出口路由器的对应关系。
[0085]
本申请这种会话流量转发方式,可以使得老会话的会话流量仍然由之前用于转发该老会话流量的出口路由器进行转发,这样可以防止老会话的会话流量中断而造成丢包。并且可以使得新会话的会话流量由新创建的第一出口路由器和第一防火墙进行转发,这样可以使新会话的会话流量被分担到工作负荷较低的第一出口路由器和第一防火墙上,实现了会话流量负载分担。
[0086]
其中,上述会话标识可以是会话流量的五元组信息,也可以是会话流量的其他特征信息,这里只是对会话流量标识进行示例性地说明,不对其进行具体地限定。
[0087]
此外,在本申请实施例中,为了节约出口路由器所占用的资源,云平台还可对已创建的空闲的出口路由器进行回收。
[0088]
在实现时,上文所述的防火墙的性能参数至少包括:防火墙上记录的会话连接数,该会话连接数表明了采用该防火墙进行会话安全防护的已创建会话的数量,或者说该防火墙上承载的会话连接的数量。
[0089]
为了防止会话流量中断,云平台在检测到防火墙上的会话连接数为零时,解除所述第二防火墙与其关联的第二出口路由器之间的关联关系,并删除所述第二出口路由器。从而使得第二路由器与第二防火墙上承载的会话都删除,不再转发会话流量时,回收该第
二防火墙和第二出口路由器。
[0090]
此外,在一种可选的方式中,上述步骤201至步骤203(即出口路由器创建、以及出口路由器与防火墙的关联)可以由云平台的控制平面上部署的云操作系统实现。
[0091]
上述步骤204(即会话流量的转发)可以由云平台的转发平面实现。
[0092]
这里只是示例性地说明,不对各个步骤是由云平台的哪部分实现的进行具体地限定。
[0093]
由上述描述可知,云平台可以依据防火墙的负载自动调整出口路由器及其关联的防火墙的数量,使得出口路由器及其防火墙的数量与当前的会话流量的规模匹配,既能提高流量转发的效率,还能减少各防火墙的工作压力。
[0094]
下面通过具体的例子对上述云主机会话流量的转发方法进行示例性地说明。
[0095]
假设,在初始时,云平台上创建有出口路由器1、出口路由器1关联了防火墙1。
[0096]
云平台可周期性地获取防火墙1的性能参数,并基于防火墙1的性能参数计算防火墙1的负载。
[0097]
假设在云平台在第3个周期时,基于获取到的防火墙1的性能参数计算出的防火墙1的负载大于预设阈值。云平台则建立出口路由器2,并将出口路由器2和预设的空闲的防火墙2关联。(建立出口路由器2的云端组网图如图3所示)
[0098]
假设,出口路由器1和防火墙1用于转发会话1的会话流量。因此,云平台上记录的会话1与出口路由器1的对应关系。
[0099]
在创建出口路由器2后,若云平台接收到会话1的会话流量,并基于该对应关系确定出用于转发该会话1的会话流量为出口路由器1,则通过出口路由器1和防火墙1转发该会话流量。当云平台接收到会话2的会话流量时,由于该对应关系中未记录会话2的流量由哪个出口路由器转发,云平台则采用出口路由器2和防火墙2来转发会话2的会话流量。
[0100]
假设云平台在第10个周期时,计算出防火墙1的负载为0,则删除出口路由器1,并解除出口路由器1和防火墙1的关联关系。
[0101]
参见图4,图4是本申请是示例性实施例示出的一种云平台的硬件结构图。
[0102]
该云平台包括:通信接口401、处理器402、机器可读存储介质403和总线404;其中,通信接口401、处理器402和机器可读存储介质403通过总线404完成相互间的通信。处理器402通过读取并执行机器可读存储介质403中与xx控制逻辑对应的机器可执行指令,可执行上文描述的云主机会话流量的转发方法。
[0103]
本文中提到的机器可读存储介质403可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质403可以是ram(radom access memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0104]
参见图5,图5是本申请一示例性实施例示出的一种云主机会话流量的转发装置。该装置可应用在云平台上,可包括如下所示单元。
[0105]
获取单元501,用于获取已创建的至少一个出口路由器所关联的防火墙的性能参数;
[0106]
确定单元502,用于基于获取到的各防火墙的性能参数,确定各防火墙的负载;
[0107]
创建单元503,用于当各防火墙的负载满足预设条件时,创建第一出口路由器,并将创建的第一出口路由器与预设空闲的第一防火墙关联;
[0108]
转发单元504,用于在接收到云主机的会话流量时,若未记录有用于转发该会话流量的出口路由器,则通过所述第一出口路由器和所述第一防火墙转发所述会话流量,并记录用于转发该会话流量的出口路由器为所述第一出口路由器。
[0109]
可选的,所述预设条件包括:
[0110]
各防火墙的负载均超过预设负载阈值;或者,
[0111]
超过预设负载阈值的防火墙数量与所述各防火墙的总数量的比值超过预设比值阈值。
[0112]
可选的,所述性能参数包括:会话连接数;
[0113]
所述创建单元503,还用于当已创建的第二防火墙承载的会话连接数为零时,解除所述第二防火墙与其关联的第二出口路由器之间的关联关系,并删除所述第二出口路由器。
[0114]
可选的,所述转发单元504,还用于若记录有用于转发该会话流量的出口路由器,则依据记录的出口路由器及其关联的防火墙转发所述会话流量。
[0115]
可选的,所述云平台配置有sdn插件,所述sdn插件与各防火墙建立了连接;
[0116]
所述获取单元501,在获取已创建的至少一个出口路由器所关联的防火墙的性能参数时,用于通过所述sdn插件,获取已创建的至少一个出口路由器所关联的防火墙的性能参数。
[0117]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0118]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0119]
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1