用于与客户机-服务器数据信道一起使用的信道数据封装系统和方法与流程

文档序号:17816272发布日期:2019-06-05 21:43阅读:148来源:国知局
用于与客户机-服务器数据信道一起使用的信道数据封装系统和方法与流程

本文中描述的实施例总体上涉及网络安全。具体而言,本文中描述的实施例总体上涉及用于与客户机-服务器数据信道一起使用的信道数据封装系统和方法。



背景技术:

云计算服务的扩展已导致服务器集合提供计算容量来运行各种客户机应用。一些客户机-服务器连接使用专用网络。其他客户机-服务器连接使用虚拟专用网络以便就像这些客户机-服务器连接已由专用网络直接连接那样通过公共网络来交换数据。云计算服务的扩展已导致数据中心向主机服务器的扩展。一些被托管的服务器被容纳在多租户数据中心中,并且与其他潜在不相关的服务器共享资源。

数据安全和监测网络通信量是此类数据中心中的要求。在服务器与客户机应用之间行进的数据为了安全需要被监测。在此类数据中心中、包括在多租户场景中监测数据流时要解决的一个问题是如何将数据路由至多租户安全系统中正确的服务器。冲突会在发生在具有相同ip地址和mac地址的多个服务器之间。在此类数据中心中要解决的另一问题是如何通过安全微服务的层级结构中的正确的安全微服务来路由分组(packet)。

附图说明

通过阅读以下说明书和所附权利要求书,并且通过参考附图,本文中公开的实施例的各优点对于本领域技术人员将是显而易见的,在附图中:

图1是图示计算机硬件的框图,该计算机硬件用于从存储器加载网络安全系统微服务,并由处理器执行这些网络安全系统微服务;

图2图示根据实施例的满足使用安全微服务实现了三倍横向扩展(scaleout)要求的可缩放安全架构的实施例。

图3图示根据实施例的通过横向扩展微服务来满足任意横向扩展要求;

图4是图示根据实施例的安全服务的框图,该安全服务用于通过路由网络监测应用与一个或多个服务器之间的通信量;

图5图示数据分组封装;

图6是利用客户机-服务器数据信道来使用信道数据封装方法的过程的实施例;并且

图7是图示根据实施例的应用数据在经过安全微服务的层级结构之后遍历到服务器的流程框图。

具体实施方式

在以下描述中,阐述了众多具体细节。然而,应当理解,可在没有这些具体细节的情况下实践本公开的实施例。在其他实例中,没有详细示出公知的电路、结构和技术,以避免使对本说明书的理解含糊。

说明书中对“一个实施例”、“实施例”“示例实施例”等等的引用表示所描述的实施例可包括特定特征、结构或特性,但是,每一个实施例可不必一定包括该特定特征、结构或特性。此外,此类短语不一定是指同一实施例。进一步地,当结合实施例来描述特定特征、结构或特性时,应当认为,无论是否明确地描述,结合其他实施例来实现此类特征、结构或特性在本领域的技术人员的知识范围内。

云计算和托管多个服务器的数据中心的扩展呈现了由本文中公开的实施例解决的多个挑战。例如,当应用和服务器通过公共网络通信时,它们的网际协议(ip)地址会与具有相同ip地址的其他设备冲突。同样,封装具有传输控制协议/ip(tcp/ip)头部的每个分组不如本文中所公开的封装数据信道而不是分组的实施例高效。此外,在经由tcp/ip分组传送数据的情况下,头部信息被数据中心中的第一接收方丢失,并且不存在控制数据将穿过各种安全微服务的路径的附加的上下文信息或路由信息。作为示例,当数据流跨过网络地址转换(nat)边界时,包含标识物理接口的介质访问控制(mac)地址的头部信息可能丢失。

此外,云架构日益依赖于分布式处理,在分布式处理器中,在不同物理服务器上的进程在程序之间传送信息。当传送经处理的数据时,在该经处理的数据被发送至另一进程时,在一个进程的源数据中可用的路由信息可能丢失。作为示例,在tcp/ip重组服务监测网络通信量之后,内容扫描服务进行操作。tcp/ip重组服务的输出不再包含分组(相反,它包含由分组传输的数据流),因此可能无法向后续的处理元件提供一些路由信息,也无法项后续处理元件提供从该路由信息导出的信息。

根据本文中所公开的实施例的是利用信道数据封装以在安全服务的分布式微服务之间提供统一的通信手段的系统、方法和装置的实施例。信道数据封装允许以非限制方式进行的许多有利的用途。网络路由负载的减少、微服务的动态缩放、以及去除关于作为安全服务的组件的微服务的部署的约束。

根据本文中公开的实施例,网络分组被分配给数据信道,并且被封装在信道数据封装分组中,该信道数据封装分组至少包括一个或多个网络分组、封装上下文和封装头部。信道数据封装分组可承载多于一个网络分组。信道数据封装分组包括用于标识数据信道和这些数据信道的属性并用于解决冲突的服务器地址的信息。信道数据封装分组包括路由信息和安全上下文,该路由信息和安全上下文确定应当将信道数据封装分组的数据路由至哪个(些)安全微服务。在一些实施例中,诸如加载信息和时间戳之类的附加信息被包括在信道数据封装分组中。信道数据封装分组包括用于允许(多个)数据中心安全微服务将数据路由至安全微服务的层级结构中的下一合适的安全微服务的信息。作为示例,tcp/ip微服务将至少部分地基于封装上下文来将信道数据封装分组路由至加密/解密微服务或dpi微服务。

经封装的信道数据由通过处理分组而导出的分组或信息组成。在一些实施例中,相同的封装用于将分组传输至分组分析服务,且随后将经重组的数据流传输至进一步的安全服务。通过用封装上下文来封装经重组的数据,可由对经后处理的数据进行操作的服务在无需使用可用于那些服务的源分组的情况下利用从原始的源分组导出的信息。

封装信道数据通过使用封装头部来实现,该封装头部由传输经封装的数据所需的路由头部信息组成。该头部可由足以标识经封装的信道数据的接收方的以太网、ip或其他头部组成。在数据中心内,将(基于ip的)主机网络与(同样基于ip的)管理程序网络封装在一起是常见的。作为示例,软件定义的联网可使用ip对ip(ip-over-ip)封装来提供虚拟机之间的连接性。

将可跨使用相同信道数据封装方案处理所接收的数据并传送经处理的数据的微服务维持的封装上下文包括在内允许在无需在每个层级结构级别处维持策略状态的情况下跨安全服务的层级结构来维持与该上下文相关联的策略。封装上下文也可用于定义安全动作。微服务可定义将基于封装上下文而执行的安全操作。作为示例,即便dpi微服务不知晓原始分组,该dpi微服务也可基于封装上下文来确定需要什么程度的扫描。

经封装的信道数据可标记有包括时间戳和负载度量的属性。时间戳可以涉及微服务处理的持续时间、微服务处理开始的时间或者与处理经封装的信道数据相关联的另一时域属性。负载度量可涉及处理经封装的信道数据的微服务的相对或绝对加载。通过对经封装的信道而不是包含于其中的内容进行标记,实现了路由和处理两方面的效率,同时维持了微服务之间的负载平衡所需的实施信息。

图1是图示使用微服务的可缩放微服务架构的组件的实施例的框图。网络安全系统微服务被存储在存储器(例如,诸如随机存取存储器(ram)之类的易失性存储器和/或诸如盘之类的非易失性存储器)中,并且由一个或多个硬件处理器或处理器核执行。由用于执行特定安全服务的计算机可执行指令组成的网络安全系统微服务基于跨可用的物理服务器的配置而被部署。典型地,每个微服务经由虚拟底盘106的背板接收配置和任务,并且将状态、统计和其他信息返回到该背板。微服务的共同属性是存储器与其他微服务分离以及存储器受保护而免受其他微服务影响。以此方式,在不影响其他微服务的情况下,单独的微服务可被移动至另一物理服务器或异常地终止。

由安全系统处理的数据使用数据平面从微服务转移至另一(较高层级结构的)微服务。在一些实施例中,在此类转移期间,较低的微服务(基于配置、当前统计和其他信息)作出关于要利用哪个较高层级结构的微服务的决策。此类决策可以构成负载平衡决策以确保较高层级结构微服务被高效地利用。在其他实施例中,要利用哪个微服务的决策由更中心的实体作出。

如图所示,网络安全系统利用硬件处理器102(诸如,中央处理单元(cpu)或其一个或多个核、图形处理单元(gpu)或其一个或多个核、或加速处理单元(apu)或其一个或多个核)来执行存储在存储器104(例如,诸如随机存取存储器(ram)之类的易失性存储器和/或诸如盘之类的非易失性存储器)中的微服务。网络接口128(例如,有线的或无线的结构或互连)提供用于与数据中心通信的装置。网络安全系统可以如下文中进一步所述使用微服务来检查通信量,检测威胁,并且以其他方式保护数据中心。

现在更详细地讨论提供以上能力的网络安全系统的实施例。网络安全系统将安全性添加到数据中心或增强数据中心的安全性。在实施例中,以(例如,已下载的)种子软件应用的形式来实现网络安全系统。种子软件应用使数据中心中的主机上的网络安全系统的微服务实例化。如本文所使用,微服务容器是指微服务运行的地方,最显著地是指虚拟机。一旦被部署,网络安全系统就利用(如上文详述的)硬件处理器102、存储器104和网络接口128。在许多场景中,可以使用现有硬件和/或不必针对特定功能购买特定机架设备来添加/配置安全性。种子软件应用可以安装在各种各样的主机中的任一个上,不论这些主机是慢的或快的、低成本的或高成本的、通用的或定制的、地理上分散的、冗余方案的部分、或具有常规备份的系统的部分。

一旦被启动,如也在下文中进一步描述,在一些实施例中,网络安全系统将利用网络接口128来探索数据中心,以便根据需要发现存在什么网络段、各种网络段的安全要求、以及什么主机和硬件资源是可用的、以及附加配置信息。在实施例中,数据中心自身包括具有管理程序的若干机器或包括物理硬件,并且网络安全系统100提供微服务以与那些内部虚拟机或物理硬件中的一个或多个通信并且保护它们。在执行数据中心发现之后,在一些实施例中,网络安全系统随后将通过用户界面或通过与现有企业管理软件的连接来提供或建议要被选择的可用安全工具。在一个实施例中,一旦被配置,网络安全系统就被“内联地”部署,从而基本上接收前往数据中心的所有分组,允许网络安全系统在可疑的通信量到达数据中心之前拦截并阻止它。利用对数据中心的理解,网络安全系统100部署微服务以检查数据中心各处、而不仅是在入口处的通信量。在一些实施例中,网络安全系统以“仅复制”配置被部署,在该“仅复制”配置下,网络安全系统监测通信量、检测威胁、并且生成警告,但是在通信量到达数据中心之前不拦截通信量。

再次参考图1,尽管未示出,但是在一个实施例中,硬件处理器102包括一个或多个级别的高速缓存存储器。如图所示,存储器104具有存储在其中的微服务108、110、112、114、116、118、120和122(108-122)以及自身是微服务的虚拟底盘106。在实施例中,微服务的尺寸是小的,由相对少量的指令组成。在实施例中,微服务彼此独立。如图所示,微服务108-122是从存储器加载并且由硬件处理器102执行的微服务。那些微服务包括数据路径安全微服务,例如,tcp/ip、ssl、dpi或dpl检查微服务,如下文参考图2和图3进一步所描述。微服务还可以包括管理微服务,例如,下文参考图2和图3进一步描述的用于管理微服务的底盘控制器、配置微服务、基础设施发现微服务、用于存储数据的数据库微服务、以及用于接收来自外部安全云的策略更新的策略更新微服务、以及用于接收来自各种源的策略数据并且用于产生将由微服务使用的二进制策略输出的编译器,仅举数例。

网络安全系统经由网络接口128接收去往/来自数据中心的通信量。在一个实施例中,网络安全系统被内联地放置以检查通信量,并且可能在威胁到达或离开数据中心之前拦截威胁。在替代实施例中,网络安全系统监测前往或离开数据中心的通信量,在这种情况下,网络安全系统检测威胁并且生成警告,但是不阻止数据。硬件处理器102随后对数据执行各种数据安全微服务。例如,如下文中间参考图2和图3进一步所描述,典型地,通信量首先传入并且通过段微服务,随后是tcp/ip检查微服务,随后是ssl微服务,随后是dpi微服务,随后是nox微服务,并且随后是dlp微服务。然而,可以不启用这些服务中的一个或多个。在一些实施例中,段微服务驻留在网络段内并且充当数据分组的进入点并且将分组转发至适当的微服务以用于进一步分析。如本文所使用的数据路径微服务是指检查并分析网络通信量的各种微服务,诸如tcp、tls、dpi、nox或dlp。tcp微服务例如是指能够处理任何层4-6网络分组的分组处置微服务并且包括防火墙的部分。tls微服务例如是指传输层安全微服务,其解密/重新加密连接。dpi微服务例如是指深度分组检查微服务并且处置层7检查。nox微服务例如是指网络对象提取器微服务,并且结合dpi一起工作以组装来自各个分组的对象并且将它们传递至其他服务。dlp微服务例如是指数据丢失防止微服务,其检测并防止数据丢失。另一方面,控制路径微服务是在管理平面中实例化并且构成管理平面的各种微服务,诸如,工厂、编译器、配置、基础设施发现、数据库、信使、定标器、和底盘控制器。在一个实施例中,由前述微服务检测到的威胁将被报告给底盘控制器微服务,该底盘控制器微服务采取补救措施。

在实施例中,使用经由网络接口128从因特网加载的计算机可执行指令来实现微服务108-122。例如,在实施例中,利用从网站或在线存储站点下载的计算机可执行指令来实现微服务。在一些实施例中,利用被加载到存储器104中的计算机可执行指令来实现微服务108-122。在各实施例中,利用被加载到非瞬态计算机可读介质上以及从非瞬态计算机可读介质接收的计算机可执行指令来实现微服务,非瞬态计算机可读介质诸如数字介质,包括另一盘驱动器、cd、cdrom、dvd、usb闪存驱动器、闪存、安全数字(sd)存储卡、存储卡,但不限于此。在一个实例中,从数字介质接收的微服务被存储到存储器104中。实施例不限于该上下文。在进一步的实施例中,数字介质是组成诸如处理器和存储器之类的硬件元件的组合的数据源。

在大部分实施例中,网络安全系统在数据中心计算机上运行。然而,在替代实施例中,网络安全系统被安装在各种各样的替代计算平台中的任一个上并在各种各样的替代计算平台中的任一个上运行,替代计算平台的范围从低成本到高成本并且从低功率到高功率。在一些实施例中,网络安全系统被安装在低成本的通用服务器计算机上并在低成本的通用服务器计算机上运行,或者在一些实施例中,被安装在低成本的机架安装式服务器上并在低成本的机架安装式服务器上运行。如图所示,硬件处理器102是单核处理器。在替代实施例中,硬件处理器102是多核处理器。在替代实施例中,硬件处理器102是大规模并行处理器。

在一些实施例中,虚拟底盘106和微服务108-122可以被托管在用于要被保护的数据中心的各种各样的硬件平台中的任一个上。下面的表1列出并描述多个示例性数据中心环境,其中的任一个托管虚拟底盘106和微服务108-122:

表1用于托管虚拟底盘106的环境

在一些示例中,网络安全系统使用可用资源来横向扩展以容纳更高通信量或负载。在示例性实施例中,根据需要动态地横向扩展或收缩硬件处理器102和存储器104:如果横向扩展,则添加附加的cpu和存储器,而如果横向收缩,则使一些cpu和/或存储器掉电。执行该横向扩展以将附加的cpu和存储器分配给安全层级结构的需要这些附加的cpu和存储器的那些部分,同时不将附加的cpu和存储器分配给安全层级结构的可以利用其现有分配来容纳更高通信量的那些部分。

微服务的共同属性是存储器与其他微服务的分离以及保护存储器免受其他微服务影响。以此方式,单独的微服务可在不影响其他微服务的情况下被移动至另一物理服务器或可异常地终止。可从线程中将微服务区分出来,因为线程一般在共享存储器空间中操作,并且存在于这些线程在其上被产生的操作系统的界限内。

图2图示根据实施例的使用微服务来满足三倍横向扩展要求。在该示例中,仅单个微服务(dpi)需要附加资源。如图所示,通过利用可缩放的微服务架构200,安全服务层级结构的每个层被独立地缩放和配置以使对下一层级结构级别的经处理的数据的供应负载平衡,该可缩放的微服务架构200包括dlp微服务204、nox微服务206、dpi微服务208、ssl/tls微服务210、tcp/ip微服务212和段微服务214。如图所示,数据中心216包括数据中心机架218,该数据中心机架218包括物理服务器a220、物理服务器b222和物理服务器c224。如图所示,数据中心机架226包括物理服务器x228、物理服务器y230和物理服务器z232。dpi微服务208已经被横向扩展3倍,并且在该实例中被指派为作为物理服务器b222和物理服务器c224上的微服务4-6被执行。可缩放安全架构的其余微服务被示出为由物理服务器a220、物理服务器x228、物理服务器y230和物理服务器z232实现。配置微服务202创建配置背板和数据平面,该配置背板和数据平面被部署为每个物理服务器上的用于接收安全服务的软件组件。该创建过程采取以下形式:配置路由规则;预留网络地址空间(诸如,子网);以及将虚拟环境配置为利用所预留的地址空间的部分作为网关以保护进入和离开服务器的网络通信的安全。因此,背板和数据平面两者均可以被视为由安全系统管理的虚拟网络。所有安全微服务随后可以利用这些网络在它们自身之间传送分组、内容、状态和其他信息。背板和数据平面的属性被配置为拒绝来自安全系统外部的分组通信量,并且在微服务之间路由信息,不论物理服务器和虚拟环境配置如何。

图3图示根据实施例的满足任意横向扩展要求。如图所示,可缩放安全架构300包括配置微服务302、dlp(2x)微服务304(需要2倍横向扩展)、nox微服务306、dpi(2x)微服务308(需要3倍横向扩展)、ssl/tls微服务310、tcp/ip(3x)微服务312(需要3倍横向扩展)、和段微服务314。如图所示,配置微服务316提供从最低层级结构到最高层级结构的(318、320、322、324、326和328)11个微服务,并且将它们配置为经由背板彼此通信。微服务由数据中心330中的物理服务器实现。

图4是根据实施例的系统级框图。根据实施例,一个或多个安全服务410通过路由网络408监测应用416与一个或多个服务器404和406之间的通信量。安全服务410是用于保护来自/去往应用416以及服务器404和406的通信量安全的微服务组。这些微服务不必约束至诸如服务器404或服务器406之类的一个物理服务器。例如,可在服务器404上执行安全服务410的一个或多个微服务,并且可在服务器406上执行安全服务410的其他微服务。在一些实施例中,在不是正在进行保护的服务器上执行安全服务410。

路由网络408提供服务器404、服务器406、安全服务410与应用416之间的连接性,并且可支持由本文中公开的实施例采用的封装协议。在一些实施例中,响应于服务器404和406的管理程序配置来部分地配置路由网络408。

借助于被包括在信道数据封装分组中的路由信息,如下文中进一步所解释,在应用416与服务器404和/或服务器406之间行进的数据被路由至正确的服务器,并且被保持与在应用与其他服务器之间行进的数据分离。相应地,本质上在运行安全服务410的服务器与服务器404之间创建了专用网络412。类似地,本质上在运行安全服务410的服务器与服务器406之间创建了专用网络414。

图5图示根据实施例的数据信道封装分组。如图所示,信道数据封装分组500封装两个服务器分组——服务器分组502和服务器分组510,该服务器分组502包括服务器分组头部504、服务器分组数据506和服务器分组校验和508,该服务器分组510包括服务器分组头部512、服务器分组数据514和服务器分组校验和516。信道数据封装分组500进一步包括封装标识符518、封装头部520、封装上下文522、封装服务负载524和封装时间戳526。封装服务负载用于传递当以接收安全微服务能够以负载平衡决策从多个较高层级结构微服务作出选择这种方式传送对较低层级结构级别的安全微服务的响应时安全微服务的当前加载。封装时间戳(直接或间接地)提供等待时间(latency),该等待时间以与服务负载相同的方式作为对安全微服务的响应的部分被传送。在一些实施例中,在负载平衡决策中利用服务负载和等待时间两者。信道数据封装分组500还包括封装校验和528。在一些实施例中,当计算封装校验和528时,使用封装头部520和封装标识符518。封装校验和提供对信道数据封装分组的完整性校验。在一些实施例中,校验和仅覆盖封装头部。当然,虽然示出两个服务器分组502和510,但这仅是出于说明性目的,并且支持任何数量的服务器分组。

当信道数据封装分组500封装许多服务器分组,例如,封装5个与100之间数量的服务器分组时,这实际上是传送数据信道而不是多个单独的数据分组。由此,当封装大量服务器分组时,信道数据封装分组500提升效率。例如,可对大量服务器分组作出单个路由决策,而不是逐一决定它们的路由。此外,可作出单个负载平衡决策以选择将向其路由信道数据的微服务。此外,传送较少而较大的数据分组减少了对背板的竞争。

在一些实施例中,服务器分组502和510按照与它们由路由网络408接收的基本上类似的tcp/ip格式。在替代实施例中,服务器分组502和510封装有新的分组头部和分组校验和。

封装标识符518包括附加信息,诸如,一起用于标识应用与服务器之间的数据信道的服务器分组被接收之处的端口号、服务器分组被接收之处的安全微服务的接口号、以及附加信息。因此,即便多租户云计算数据中心中的两个服务器共享同一ip地址,也可基于它们的封装头部520将它们的数据信道区分开。

封装标识符518提供关于将如何路由经封装的分组(例如,服务器分组502和510)的信息。例如,在一个实施例中,封装标识符518包括指示将根据虚拟局域网(vlan)域来路由服务器分组502和510的信息。在一些实施例中,封装标识符518用于区分出网络环境内的数据信道。

除服务器分组头部504和512之外,封装头部520还包括杂项信息,或者封装头部520包括与服务器分组头部504和512一致的杂项信息。例如,封装头部520可包括信道数据封装分组中所包括的服务器分组的数量。在一些实施例中,服务器分组头部504和512基本上与当数据分组进入安全服务时与那些数据分组相关联的头部相同。在实施例中,服务器分组头部504和512是vlan头部。在实施例中,服务器分组头部504和512是tcp/ip头部。

封装上下文522由具有超出路由策略的应用的策略组成。例如,在实施例中,封装上下文522不仅描述如何路由分组以及将分组路由至何处,而且还指示在处理服务器分组时要对分组上下文做什么。

图6是利用客户机-服务器数据信道来使用信道数据封装方法的过程的实施例。第一安全微服务接收包含数据和上下文的对安全服务的经封装的请求602。数据可由以下各项组成:待处理的一个或多个分组、作为数据流的经重组的分组、来自经重组的数据流的所提取对象或内容、或将对其执行安全服务的其他数据。随后,利用上下文来执行安全服务,从而生成服务的结果形式的附加数据604。例如,tcp/ip服务可生成与经重组的数据流对应的数据。如606处,所生成的数据与所接收的上下文一起被传送到第二微服务,以进行进一步处理。

第一安全微服务在包含响应、上下文、时间戳和负载的经封装的数据608中接收对来自第二安全微服务的对于该第一安全微服务对安全服务处理606的响应。在一些实施例中,该响应包含作为所请求的服务处理的部分而被生成的附加数据。608中的上下文可以是如在602中接收到的相同的上下文,或者可作为由第二安全微服务处理的结果而被修改。时间戳表示606与608之间的处理的持续时间。在一些实施例中,由第一安全微服务基于所接收的时间戳距当前时刻的差值(消逝时间)来计算新时间戳。在一些实施例中,时间戳是如由生成时间戳值的第二安全微服务计算的持续时间。所接收的负载值表示在处理对安全服务的请求期间第二安全微服务的加载。在610中,记录时间戳和负载值。在一些实施例中,在负载平衡决策中使用时间戳和加载值,以用于由第一安全微服务作出的未来安全服务请求。

在从第二安全微服务接收到对于对服务的请求的响应之后,第一安全微服务生成其自身的时间戳和负载612,并传送包括所生成的时间戳和负载的对于对安全服务的原始请求602的响应。该响应614也采取图5中描述的封装形式,并且还包括如从第二安全微服务接收的上下文。在一些实施例中,第一安全微服务基于第一安全微服务内的处理、来自第二安全微服务的响应以及这两项的组合来修改614中传送的上下文。

图7是图示根据实施例的应用数据在经过安全微服务的层级结构之后遍历到服务器的流程框图。如图所示,该流程开始于:安全服务704从应用702接收网络数据分组。安全服务704将分组转发706到接口微服务708,该接口微服务708生成信道数据封装分组710,该信道数据封装分组710封装三个分组a、b和c、以及上下文x。如图所示,信道数据封装分组710封装三个分组,但是在替代实施例中,不作为限制,经封装分组的数量可有所不同。在一些实施例中,至少基于分组a、b和c的头部生成上下文x。在一些实施例中,通过查找分组头部字段来生成上下文x,分组头部字段诸如分组的源和/或目的地的ip地址、端口和mac地址。在一些实施例中,上下文x的生成包括利用从虚拟化环境获得的接口标识符。上下文x的生成可以通过查找表中的头部字段和其他数据、头部字段的散列和其他数据或另一种方法来实现,凭借该另一方法,将针对其应用公共安全策略的分组将具有公共上下文或上下文的公共部分(诸如,位字段)。

上下文x可以被认为是描述负责生成分组a、b和c的通信量流、源机器或应用的标识符。该标识符可以是直接的(诸如,用作表查找的id)、间接的(诸如,用于访问数据结构的指针)或指示微服务关于处置分组a、b和c所需的策略和处理的某种其他方法。作为示例,可以通过执行头部字段的散列、最长前缀匹配或查找来生成上下文x,这些头部字段诸如ip地址、tcp端口、接口名称(或mac地址)或其他分组属性。随后,可由安全服务(诸如,dpi服务)使用所生成的上下文来确定在扫描来自分组a、b和c(以及作为相同通信量流的部分的其他分组)的数据时应当利用哪些规则。该信息可以嵌入在上下文中(作为位字段或其他信息),可以通过间接方式(诸如,由另一服务进行的表查找或数据结构查找)获得,或者可基于此类信息的任何组合以编程方式生成。

接口微服务708将信道数据封装分组710传送712到tcp/ip微服务714。如图所示,信道数据封装分组716包括上下文x和内容y,该上下文x和内容y与信道数据封装分组710的分组a、b和c对应。在进行了信道数据封装分组716的安全处理之后,tcp/ip微服务714将其传送718至dpi微服务720。如图所示,信道数据封装分组722包括上下文x和内容y,该上下文x和内容y与信道数据封装分组710的分组a、b和c对应。在进行了信道数据封装分组722的安全处理之后,dpi微服务720生成信道数据封装分组,如图所示,该信道数据封装分组包括上下文x、dpi负载z和dpi时间戳t。经封装的信道数据可标记有包括时间戳和负载度量的属性。时间戳可以涉及微服务处理的持续时间、微服务处理开始的时间或者与处理经封装的信道数据相关联的另一时域属性。负载度量可涉及处理经封装的信道数据的微服务的相对或绝对加载。

如图所示,dpi微服务720经由路径726将信道数据封装分组724传送到tcp/ip微服务714,该tcp/ip微服务714使用dpi负载和dpi时间戳信息来通知未来的负载平衡决策。如图所示,tcp/ip微服务714生成信道数据封装分组728,该信道数据封装分组728包括上下文x、tcpi/ip负载z和tcp/ip时间戳t。如图所示,tcp/ip微服务714经由路径730将信道数据封装分组728传送到接口微服务708,该接口微服务708使用tcp/ip负载和tcp/ip时间戳信息来通知未来的负载平衡决策。当接口微服务708经由路径732将分组传送到安全服务704时,流程完成,该安全服务704将这些分组传送到服务器734。

安全服务704的益处包括每个微服务利用相同的信道数据封装协议进行所有通信的能力,从而允许跨经由信道数据封装头部可路由的整个数据中心网络进行缩放。微服务之间的通信将在接口微服务708处生成的上下文x维持给不再能够访问原始分组的所有后续微服务。通过在经由路径726和730返回的信道数据封装分组724和728中提供负载和时间戳数据,微服务接收并且可以维持用于作出负载平衡决策的实时加载和处理等待时间信息。

在上述说明书中,已经公开了具体的示例性实施例。然而,将显而易见的是,可以对其做出各种修改和改变,而不背离如所附权利要求中阐述的本发明的更宽的精神和范围。因此,说明书和附图应被认为是说明性而非限制性意义的。

虽然本文中所公开的一些实施例在硬件执行单元以及逻辑电路的上下文中涉及数据处置和分配,但是其他实施例可以通过存储在非瞬态机器可读有形介质上的数据或指令来实现,这些数据或指令当由机器执行时,使机器执行符合至少一个实施例的功能。在一个实施例中,在计算机可执行指令中将与本公开的实施例相关联的功能具体化。指令可以用于使利用指令编程的通用或专用的硬件处理器来执行至少一个实施例的步骤。本发明的实施例可以作为计算机程序产品或软件来提供,该计算机程序产品或软件可以包括在其上存储了指令的机器或计算机可读介质,所述指令可以用于将计算机(或其他电子设备)编程为执行根据至少一个实施例的一个或多个操作。替代地,实施例的步骤可以由包含用于执行所述步骤的固定功能逻辑的特定硬件组件或者由经编程的计算机组件与固定功能硬件组件的任何组合来执行。

用于将电路编程为执行至少一个实施例的指令可以存储在系统中的存储器内,该存储器诸如dram、高速缓存、闪存、或其他存储装置。此外,指令可以经由网络或借助于其他计算机可读介质来分布。因此,机器可读介质可以包括用于存储或传送以机器(例如,计算机)可读的形式的信息的任何机制,但是不限于软盘、光盘、紧致盘只读存储器(cd-rom)和磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪存、或用于经由电、光、声音、或其他形式的传播信号(例如,载波、红外信号、数字信号等)在互联网上传输信息的有形机器可读存储。因此,非瞬态计算机可读介质包括适用于存储或传送以机器(例如,计算机)可读形式的电子指令或信息的任何类型的有形机器可读介质。

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