CN114342330A - 收集和分析关于与dpi参数关联的流的数据 - Google Patents
收集和分析关于与dpi参数关联的流的数据 Download PDFInfo
- Publication number
- CN114342330A CN114342330A CN202080060181.0A CN202080060181A CN114342330A CN 114342330 A CN114342330 A CN 114342330A CN 202080060181 A CN202080060181 A CN 202080060181A CN 114342330 A CN114342330 A CN 114342330A
- Authority
- CN
- China
- Prior art keywords
- dpi
- flow
- parameters
- packet
- edge node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 170
- 238000007689 inspection Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 26
- 230000002596 correlated effect Effects 0.000 claims description 5
- 230000001276 controlling effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 98
- 230000015654 memory Effects 0.000 description 19
- 230000009471 action Effects 0.000 description 9
- 230000007704 transition Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0858—One way delays
Abstract
一些实施例提供了一种用于针对由多个边缘节点和一个或多个云网关的集合为实体建立的SD‑WAN(软件定义的广域网)执行深度分组检查(DPI)的方法。在特定边缘节点处,该方法使用本地和远程深度分组检查器来执行分组流的DPI。具体地,该方法最初使用本地深度分组检查器对第一分组流的分组集合执行第一DPI操作,以生成第一分组流的DPI参数集。该方法然后将分组集合的副本转发到远程深度分组检查器以执行第二DPI操作以生成第二DPI参数集。在一些实施例中,配置边缘节点和网关的控制器集群可以访问远程深度分组检查器。在一些这样的实施例中,该方法将分组集合的副本转发到控制器集群,控制器集群然后使用远程深度分组检查器来执行远程DPI操作。该方法接收第二DPI操作的结果,并且当所生成的第一和第二DPI参数不同时,生成关于该差异的记录。
Description
背景技术
近年来,几家公司已经向市场推出了用于为企业部署软件定义(SD)广域网(WAN)的解决方案。某些SD-WAN解决方案使用外部第三方私有或公有云数据中心(云)为不同企业定义不同的虚拟WAN。这些解决方案通常在企业边缘节点具有边缘转发元件(称为边缘设备),这些边缘节点与部署在第三方云中的一个或多个网关转发元件(称为网关设备或网关)连接。
在这样的部署中,边缘设备通过一个或多个安全连接与网关连接,这些连接穿过将边缘设备与外部网络连接的一个或多个网络链路。这种网络链路的示例包括MPLS链路、5G LTE链路、商业宽带互联网链路(例如,电缆调制解调器链路或光纤链路)等。
边缘节点包括企业的分支机构(称为分支),并且这些机构通常分布在具有到各种不同网络连接类型的网关的网络链路的地理位置上。这些SD-WAN解决方案采用深度分组检查来通知它们执行的某些操作。
发明内容
一些实施例提供了一种用于针对由多个边缘节点和一个或多个云网关集合为实体建立的SD-WAN(软件定义的广域网)执行深度分组检查(DPI)的方法。在特定边缘节点处,该方法使用本地和远程深度分组检查器来执行分组流的DPI。具体地,该方法最初使用本地深度分组检查器对第一分组流的分组集合执行第一DPI操作,以生成第一分组流的DPI参数集。
该方法然后将分组集合的副本转发到远程深度分组检查器以执行第二DPI操作以生成第二DPI参数集。在一些实施例中,配置边缘节点和网关的控制器集群可以访问远程深度分组检查器。在一些这样的实施例中,该方法将分组集合的副本转发到控制器集群,控制器集群然后使用远程深度分组检查器来执行远程DPI操作。该方法接收第二DPI操作的结果,并且当所生成的第一和第二DPI参数不同时,生成关于该差异的记录。
在一些实施例中,该方法使用所生成的记录来改进本地深度分组检查器的操作。例如,在一些实施例中,本地深度分组检查器是由特定边缘节点使用的第三方检查器,并且所生成的记录用于识别第三方检查器对其具有较差DPI性能的不同流。当所生成的记录指定所生成的DPI参数的第一和第二集合之间的差异时,在一些实施例中,该方法将关于该差异的数据发送到远程机器,以与关于通过WAN的其他分组流执行的DPI操作中的其他差异的其他数据聚合。
在一些实施例中,在完成第一DPI操作之后,该方法将所生成的第一DPI参数集指定为与第一分组流关联的DPI参数集。当第一和第二DPI参数集不同时,在一些实施例中,该方法基于所生成的第二DPI参数集来修改与第一分组流关联的DPI参数集。例如,在一些实施例中,该方法通过将第二DPI参数集存储为与第一分组流关联的DPI参数集来修改DPI参数集。
在一些实施例中,该方法在本地深度分组检查器已经处理每个分组之后将该分组转发到其目的地。然而,在其他实施例中,该方法在执行第一DPI操作的同时延迟将第一流的分组转发到该流的目的地。在此期间,该方法将延迟的分组存储在特定边缘节点的存储队列中。一旦第一DPI操作已经完成,该方法将存储在存储队列中的分组集合以及第一流的后续分组转发到目的地。然后,它还将分组集合的副本转发到远程深度分组检查器。
在一些实施例中,该方法基于所生成的第一DPI参数集来转发第一分组流的分组。例如,在一些实施例中,该方法使用所生成的第一DPI参数集中的至少一个参数来选择通过WAN转发第一分组流的分组的路径。当所生成的第一和第二DPI参数集不同时,在一些实施例中,该方法通过使用第二DPI参数集来转发(例如,为其选择路径)第一分组流的分组来修改第一分组流的分组的转发。
在一些实施例中,该方法从特定边缘节点通过控制器集直接地或间接地将至少所生成的DPI参数的子集转发到其他边缘节点。此外,在一些实施例中,该方法再次直接地或间接地通过控制器集将至少所生成的DPI参数的子集从特定边缘节点转发到至少一个网关。在一些实施例中,所生成的DPI参数集包括识别在分组的有效载荷中携带的业务类型的识别符。
在这些或其他实施例中,所生成的DPI参数集包括识别作为第一分组流的源的应用的识别符和/或识别该源所属的应用的类别的识别符。在一些实施例中,远程或本地深度分组检查器不生成源应用或类的识别符。在这些实施例中,边缘节点或控制器集群通过将DPI操作产生的业务类型识别符映射到应用或类别识别符来生成这些识别符中的一个或两者。
在一些实施例中,特定边缘节点是边缘机器(例如,虚拟机(VM)、容器、独立电器、在计算机上执行的程序等),其在具有几台计算机的实体的机构(例如,分支机构)或数据中心操作,并且该边缘节点将计算机连接到WAN。在这些实施例中的一些实施例中,本地深度分组检查器与边缘节点机器一起在第一计算设备上操作(例如,作为VM或容器),而远程深度分组检查器在远程位置(例如,在与特定边缘节点操作的位置不同的建筑物、邻居、城市、州等中)的单独的第二计算设备上操作。在一些实施例中,第一和第二计算设备是计算机,而在其他实施例中,它们是独立的DPI设备。在其他实施例中,第一计算设备是电器,而第二计算设备是远程深度分组检查器在其上执行的计算机。
一些实施例提供了一种使用DPI生成的参数来评估并且在某些情况下修改与特定应用关联的流如何穿越由若干边缘节点和一个或多个云网关定义的SD-WAN的方法。在一个或多个服务器的集合处,该方法接收为由对其执行DPI操作的两个或更多个边缘节点的第一集合处理的分组流收集的DPI参数集。从这些收集的集合中,该方法识别与涉及由DPI操作指定的特定应用识别符的多个流关联的DPI参数的子集。
在一些实施例中,接收到的DPI参数集包括涉及由边缘节点的第一集合处理的分组流的操作统计信息和度量(例如,分组传输时间、有效载荷大小、由节点处理的分组的当前数量等)。在一些实施例中,统计信息伴随着其他数据,诸如流识别符、应用分类细节和转发决策(例如,识别所选路径)等。在一些实施例中,操作统计信息、度量和其他数据由边缘节点和/或网关收集和提供。然后,该方法分析所识别的参数子集,以确定与一个或多个特定DPI参数关联的任何分组流是否具有涉及其通过WAN的流的不期望的度量。
当该分析产生边缘节点应该对与特定应用识别符关联的流使用不同路径的决定时,该方法然后将调整后的下一跳转发记录分发到一个或多个边缘节点的第二集合,以修改边缘节点用来转发与特定应用识别符关联的流的路径。在一些实施例中,边缘节点的第一和第二集合是相同的,而在其他实施例中,边缘节点的第一集合是边缘节点的第二集合的子集(例如,第二集合包括不在第一集合中的至少一个节点)。
在一些实施例中,流的DPI操作在源边缘节点(也称为入口边缘节点)处执行,在该源边缘节点处,流进入WAN,并从源边缘节点将其传递到另一边缘节点或云网关。与DPI操作相结合,源边缘节点收集其传递到另一边缘节点或云网关的流的分组的操作度量和统计信息(例如,分组传输时间、有效载荷大小、节点处理的当前分组数量等),并将DPI生成的参数与收集的统计信息一起提供给服务器集以供其分析。
在一些实施例中,源边缘节点基于其用于执行其DPI操作的初始分组数量来收集流的统计信息。在这些实施例中的一些实施例中,源边缘节点向服务器集提供其用于针对流的其DPI操作的初始分组集合,以及其向服务器集提供的针对新流的操作度量和统计信息。在一些实施例中,由源边缘节点的DPI操作分析的初始分组集中的分组数量取决于被DPI操作识别为流的源的应用。因此,DPI操作针对来自不同应用或不同类型应用的不同流分析不同数量的分组。
在一些实施例中,目的地边缘节点(也称为出口边缘节点)还执行DPI操作,并在它们通过WAN(即,从云网关或其他边缘节点)接收的流的开始处收集流的操作度量/统计信息。在其他实施例中,目的地边缘节点不执行DPI操作,而是在流开始处收集流的操作度量/统计信息。在一些实施例中,目的地边缘节点接收由源边缘节点的DPI操作生成的一个或多个DPI参数(例如,应用识别符)(例如,通过隧道报头在分组的带内,或者通过其他分组在带外)。
与在边缘节点处执行DPI操作相结合或备选地,一些实施例在边缘节点之外(例如,在远离边缘节点操作的物理位置的物理位置处)执行DPI操作。在一些实施例中,该方法还从网关收集关于流的处理的统计信息/度量。在一些实施例中,源边缘节点在它们用来将分组转发到网关的隧道封装报头中设置标志,以便引导网关收集某些流的统计信息。
在一些实施例中,服务器集使用流识别符(例如,流的五元组识别符)将其从SD-WAN的不同转发元件(例如,从源边缘节点、目的地边缘节点和/或网关)收集的度量/统计信息进行相关。一旦收集的度量/统计信息与特定流相关,服务器集就会分析收集的度量/统计信息,以导出量化特定流是否正在获得期望服务级别的附加操作数据。在一些实施例中,相关度量/统计信息数据与特定DPI生成的参数(例如,应用识别符等)关联,使得可以基于DPI参数完成分析。例如,在一些实施例中,所导出的数据用于确定与特定应用识别符关联的特定流是否在期望的持续时间内到达其目的地、该特定流在特定网关处是否延迟太多等。
当所导出的数据表明特定流没有获得期望的服务级别时(例如,与特定应用识别符关联的流没有足够快地到达其目的地),服务器集然后向边缘节点和/或网关分发调整后的下一跳转发记录,其指导边缘节点和/或网关修改特定流或相似未来流(例如,来自具有相同DPI识别的应用和/或到相同目的地的流)的转发。例如,在一些实施例中,基于分发的新跳转发记录,源边缘节点选择不同的网关来转发特定流和其他相似后续流的分组。在其他实施例中,源边缘节点使用调整后的下一跳转发记录来选择(一个或多个)网关以用于转发与特定流相似的后续流(例如,具有相同DPI识别的应用并且到相同目的地的流)。
前述发明内容旨在用作对本发明的一些实施例的简要介绍。它并不是对本文档中公开的所有发明主题的介绍或概述。下面的具体实施方式和具体实施方式中引用的附图将进一步描述发明内容中描述的实施例以及其他实施例。因此,为了理解本文档描述的所有实施例,需要对发明内容、具体实施方式、附图和权利要求书进行全面审查。此外,要求保护的主题不受发明内容、具体实施方式和附图中说明性细节的限制。
附图说明
本发明的新颖特征在所附权利要求中陈述。然而,出于解释的目的,在以下附图中阐述了本发明的几个实施例。
图1示出了SD-WAN网络的边缘节点使用本地和远程深度分组检查器来执行一组鲁棒的DPI操作的示例。
图2概念性地示出了在一些实施例中边缘节点在接收到用于转发的分组时执行的过程。
图3概念性地示出了当边缘节点接收到针对特定流的远程深度分组检查器的DPI操作的结果时所执行的过程。
图4示出了修改为特定流选择的路径的示例。
图5示出了执行上述操作的控制器集群的组件。
图6概念性地示出了在一些实施例中控制器集群周期性执行的过程。
图7概念性地示出了评估器执行以识别具有较差性能的流和拥塞网关的过程。
图8示出了在控制器集检测到两个先前部署的云网关上的VOIP呼叫负载已经超过阻止VOIP呼叫接收其期望的服务级别的特定级别之后,正在部署用于处理VOIP呼叫的新的云网关。
图9示出了控制器集检测到一个先前部署的云网关上的VOIP呼叫负载已经超过阻止VOIP呼叫接收其期望的服务级别的特定级别。
图10概念性地示出了利用其实现本发明的一些实施例的计算机系统。
具体实施方式
在本发明的以下具体实施方式中,阐述和描述了本发明的许多细节、示例和实施例。然而,对于本领域技术人员清楚且明显的是,本发明不限于所阐述的实施例,并且本发明可以在没有所讨论的一些具体细节和示例的情况下实施。
一些实施例提供了一种用于对由多个边缘节点和一个或多个云网关集合为实体建立的SD-WAN(软件定义的广域网)执行深度分组检查(DPI)的方法。在特定边缘节点处,该方法使用本地和远程深度分组检查器来执行分组流的DPI。具体地,该方法首先使用本地深度分组检查器对第一分组流的分组集合执行第一DPI操作,以生成第一分组流的DPI参数集。
该方法然后将分组集合的副本转发到远程深度分组检查器以执行第二DPI操作以生成第二DPI参数集。在一些实施例中,配置边缘节点和网关的控制器集群可以访问远程深度分组检查器。在一些这样的实施例中,该方法将分组集合的副本转发到控制器集群,控制器集群然后使用远程深度分组检查器来执行远程DPI操作。该方法接收第二DPI操作的结果,并且当生成的第一和第二DPI参数不同时,生成关于该差异的记录。
在一些实施例中,该方法使用所生成的记录来改进本地深度分组检查器的操作。例如,在一些实施例中,本地深度分组检查器是由特定边缘节点使用的第三方检查器,并且所生成的记录用于识别第三方检查器对其具有较差DPI性能的不同流。当生成的记录指定生成的DPI参数的第一和第二集合之间的差异时,在一些实施例中,该方法将关于该差异的数据发送到远程机器,以与关于通过WAN的其他分组流执行的DPI操作中的其他差异的其他数据聚合。
在一些实施例中,在完成第一DPI操作之后,该方法将生成的第一DPI参数集指定为与第一分组流关联的DPI参数集。当第一和第二DPI参数集不同时,在一些实施例中,该方法基于所生成的第二DPI参数集来修改与第一分组流关联的DPI参数集。例如,在一些实施例中,该方法通过将第二DPI参数集存储为与第一分组流关联的DPI参数集来修改DPI参数集。
图1示出了SD-WAN网络(以下也称为虚拟网络)的边缘节点使用本地和远程深度分组检查器来执行鲁棒的DPI操作集合的示例。在该示例中,边缘节点120是使用本地和远程深度分组检查器190和192的边缘节点,而SD-WAN是为特定实体创建的SD-WAN 100,以将该实体的两个分支机构150和152连接到其数据中心154和156中的两个,以及该实体使用的SaaS(软件即服务)提供商的数据中心158。SD-WAN 100由控制器集群140、两个云网关105和107以及四个边缘节点120-126建立,每个分支机构和数据中心154和156中一个边缘节点。
一些实施例中的边缘节点是边缘机器(例如,虚拟机(VM)、容器、在计算机上执行的程序等)和/或在特定实体的多计算机位置(例如,在实体的办公室或数据中心)操作以将在其各自位置处的计算机连接到云网关和其他边缘节点(如果这样配置的话)的独立设备。此外,在该示例中,两个网关105和107被部署为两个不同公有云提供商的两个不同公有云数据中心110和112中的机器(例如,VM或容器)。
可以为其建立这样的虚拟网络的实体的示例包括商业实体(例如,公司)、非营利性实体(例如,医院、研究机构等)和教育实体(例如,大学、学院等)或任何其他类型的实体。公有云提供商的示例包括亚马逊网络服务(AWS)、谷歌云平台(GCP)、微软Azure等,而实体的示例包括公司(例如,企业、合伙企业等)、组织(例如,学校、非营利组织、政府实体等)等。在其他实施例中,网关还可以被部署在虚拟WAN提供商的私有云数据中心中,该虚拟WAN提供商托管网关以建立用于不同实体的SD-WAN。
在图1中,网关是多租户转发元件,其可用于与诸如分支机构、数据中心等的特定实体的多计算机站点处的边缘节点建立安全连接链路(例如,隧道)。这些多计算机站点通常位于不同的物理位置(例如,不同的建筑物、不同的城市、不同的州等),并且在下文中也被称为多机器计算节点。在图1中,边缘节点120-126包括通过一个或多个安全连接链路与一个或多个网关或其他边缘节点转发元件交换数据消息的转发元件。在该示例中,只有边缘节点120和122在它们之间具有安全连接链路。边缘节点的所有其他安全连接链路都具有网关。
在一些实施例中,可以在边缘节点和网关之间建立多条安全连接链路(例如,多条安全隧道)。当在边缘节点和网关之间定义多个这样的链路时,在一些实施例中,每个安全连接链路与边缘节点和外部网络之间的不同物理网络链路关联。例如,为了接入外部网络,在一些实施例中,边缘节点具有用于接入互联网的一个或多个商用宽带互联网链路(例如,电缆调制解调器、光纤链路)、无线蜂窝链路(例如,5G LTE网络)等。
此外,可以在一对边缘节点之间定义多条路径。图1示出了此情形的两个示例。它示出了通过边缘节点120和124之间的网关105和107的两条路径。它还示出了边缘节点120和126之间的两条路径,其中一条路径穿过云网关107,而另一条路径穿过边缘节点120和126都连接到的MPLS提供商的MPLS(多协议标签交换)网络185。图1还示出了通过云网关105和107,SD-WAN 100允许边缘节点连接到SaaS提供商的数据中心158。
在一些实施例中,网关和边缘节点之间的每个安全连接链路形成为网关和边缘节点之间的VPN(虚拟专用网)隧道。在一些实施例中,网关还通过安全VPN隧道连接到SaaS数据中心158。边缘节点、网关以及边缘节点、网关和SaaS数据中心之间的安全连接的集合形成特定实体的SD-WAN 100。在该示例中,SD-WAN跨越两个公有云数据中心110和112以及MPLS网络,以连接分支机构150和152以及数据中心154、156和158。
在一些实施例中,在网关之间定义安全连接链路,以允许通过虚拟网络的路径从一个公有云数据中心穿越到另一个,而在其他实施例中没有定义这样的链路。此外,由于网关105和107是多租户网关,因此在一些实施例中,它们被用来为其他实体(例如,其他公司、组织等)定义其他虚拟网络。一些这样的实施例将租户识别符存储在隧道报头中,该隧道报头封装要穿越在特定实体的网关和边缘转发元件之间定义的隧道的分组。隧道识别符允许网关将它从一个实体的边缘转发元件接收的分组流与它沿着其他实体的其他隧道接收的分组流区分开来。在其他实施例中,网关是单租户,并且被专门部署为仅由一个实体使用。
图1示出了私有数据中心117中的控制器集群140。控制器集群140用作管理(例如,定义和修改)提供给边缘节点和/或网关以配置一些或所有操作的配置数据的中心点。在一些实施例中,控制器集群具有定义和修改配置数据的管理器服务器集合,以及在一些实施例中将配置数据分发到边缘转发元件和/或网关的控制器服务器集合。在其他实施例中,控制器集群仅具有定义、修改和分发配置数据的一个服务器集合。在一些实施例中,控制器集群引导边缘节点使用某些网关(即,将网关分配给边缘节点),并与其他边缘节点建立直接连接。
尽管图1示出了驻留在一个私有数据中心117中的控制器集群140,但在一些实施例中,控制器驻留在一个或多个公有云数据中心和/或私有云数据中心中。此外,一些实施例在一个或多个私有数据中心(例如,部署网关并提供用于配置网关以实现虚拟网络的控制器的实体的数据中心)中部署一个或多个网关。
在图1所示的示例中,边缘节点120使用的深度分组检查器190和192位于两个不同的物理位置。本地深度分组检查器190与边缘节点120处于相同的物理位置(即,在分支150中),而远程深度分组检查器192与数据中心117中的控制器集140位于同一位置。在一些实施例中,本地深度分组检查器与边缘节点机器一起在第一计算设备上操作(例如,作为VM或容器)。在其他实施例中,本地深度分组检查器在边缘节点机器或设备之外的另一设备上操作。例如,在这些实施例中,本地深度分组检查器190是独立的设备或者是在另一计算机上执行的机器(例如,VM或容器)。
远程深度分组检查器192在远离边缘节点120的物理位置的远程位置(例如,在特定边缘节点操作的位置之外的另一建筑物、邻居、城市、州等中)操作。在一些实施例中,远程深度分组检查器192是控制器集群的一部分(例如,是由控制器集群执行的另一进程或线程)。在其他实施例中,远程分组检查器192在控制器集群附近操作(例如,是在与控制器集群相同的计算机集群中执行的VM,并且与控制器集群具有稳定的通信链路)。此外,在一些实施例中,本地和远程深度分组检查器由专用硬件加速器执行,其是CPU的一部分,作为一个或多个协处理器存在,作为一个或多个附加卡存在,和/或利用专用处理单元(诸如一个或多个GPU)。
对于特定分组流,边缘节点120最初使用本地深度分组检查器190来对该特定分组流的初始分组集合执行第一DPI操作。对于特定分组流,DPI操作生成DPI参数集,其在不同的实施例中包括不同的DPI参数或这些参数的组合,诸如指定在分组的有效载荷中携带的业务类型的识别符、指定作为流的源的应用的识别符、指定与流关联的类别类型的识别符等。在一些实施例中,本地深度分组检查器不生成源应用或类别的识别符。在这些实施例中,边缘节点通过将DPI操作产生的业务类型识别符映射到应用或类别识别符来生成这些识别符中的一个或两个。
在一些实施例中,边缘节点120基于所生成的第一DPI参数集转发特定分组流的分组。例如,在一些实施例中,边缘节点120使用所生成的第一DPI参数集中的至少一个参数来选择通过WAN转发第一分组流的分组的路径。在一些实施例中,边缘节点120将它用于本地深度分组检查器190的第一DPI操作的分组集合的副本转发到远程深度分组检查器192,以执行第二DPI操作以生成第二DPI参数集。边缘节点120接收第二DPI运算的结果。当所生成的第一和第二DPI参数不同时,边缘节点120生成关于该差异的记录。
在一些实施例中,边缘节点120使用所生成的记录来改进本地深度分组检查器的操作。例如,在一些实施例中,本地深度分组检查器是由特定边缘节点使用的第三方检查器,并且所生成的记录用于识别第三方检查器对其具有较差DPI性能的不同流。当所生成的记录指定所生成的DPI参数的第一和第二集合之间的差异时,在一些实施例中,边缘节点120将关于该差异的数据发送到远程机器,以与关于针对通过WAN的其他分组流执行的DPI操作中的其他差异的其他数据聚合。
在一些实施例中,在完成第一DPI操作之后,边缘节点120将所生成的第一DPI参数集指定为与第一分组流关联的DPI参数集。当第一和第二DPI参数集不同时,边缘节点120基于所生成的第二DPI参数集修改与第一分组流关联的DPI参数集。例如,在一些实施例中,边缘节点120通过将第二DPI参数集存储为与第一分组流关联的DPI参数集来修改DPI参数集。
此外,在边缘节点120基于所生成的DPI参数转发特定分组流的分组的实施例中,当所生成的第一和第二DPI参数集不同时,边缘节点120通过使用第二DPI参数集来修改第一分组流的分组的转发。在一些实施例中,边缘节点120直接地或间接地通过控制器集群140将至少所生成的第一和/或第二DPI参数的子集转发到其他边缘节点(例如,通过与其他边缘节点的带内或带外通信)。此外,在一些实施例中,边缘节点120直接地或间接地通过控制器集群140将至少所生成的第一和/或第二DPI参数的子集转发到至少一个网关(例如,通过与网关的带内或带外通信)。
图2概念性地示出了边缘节点120在一些实施例中当它接收到用于转发的分组时执行的过程200。在一些实施例中,边缘节点120针对它从分支150内部接收用于转发到分支150外的每个传出分组,或者针对它从分支150外部接收用于转发到分支150内的机器的每个传入分组执行该过程。在其他实施例中,边缘节点120仅对每个传出分组执行该过程。
如图所示,当边缘节点接收到(在205)用于转发的分组时,过程200开始。接下来,在210,该过程确定分组是否是边缘节点当前正在处理的现有流的一部分。在一些实施例中,现有流是分支150中的机器与分支150外部的机器(例如,在分支152中或在数据中心154、156或158中)之间的同一连接会话中的两个相反的流(即,双向流),因为DPI操作分析连接会话中在两个方向上交换的分组。在其他实施例中,现有流是这两个机器之间的单向流(例如,从内部机器到外部机器)。
此外,在210,当第一和第二流是具有共同的某些报头值(例如,源IP地址、目的地IP地址和目的地端口)的流的集合的一部分时,在一些实施例中,过程200将针对第一流执行的DPI操作视为针对随后第二流的DPI操作。换言之,在一些实施例中,210处的流确定判定是否对基于某些标准可以被分组在一起的流的集合执行了DPI操作。
为了确定在205接收的分组是否是现有流的一部分,在一些实施例中,该过程检查连接追踪存储设备,其存储它当前正在处理的每个流的记录。在一些实施例中,连接追踪存储设备存储每个流的记录,其中流的记录存储流的识别符(例如,流的五元组识别符,其包括源和目的地IP地址、源和目的地端口地址和协议)。因此,在这些实施例中,过程200确定(在210)接收到的分组的流识别符是否存储在连接追踪存储设备中。在过程200对流的集合执行本地DPI操作的实施例中,过程200确定(在210)接收到的分组的流属性是否与存储在连接追踪器中的流的集合的流属性相匹配。
如果不是,则过程(在215)创建流容器以将流的初始分组的副本存储在流容器中。在215,该过程还在其连接追踪器中为接收到的分组的流创建记录(例如,将分组的五元组流识别符存储在连接追踪器中)。该过程从215转换到220。当该过程确定(在210)接收到的分组是它当前正在处理的流的一部分时,该过程也转换到220。
在220,该过程确定其是否已经完成了对接收到的分组的流的DPI操作。为了在220做出该确定,在一些实施例中,该过程检查另一个连接追踪存储设备,其存储它先前已完成DPI操作的每个流或流集合的记录。在一些实施例中,该连接追踪存储设备中的每个记录存储该过程先前已针对其完成DPI操作的流或流集合的流识别符(例如,五元组识别符),并且DPI参数设置先前针对该流所识别的过程。结合地或备选地存储DPI参数集,每个记录存储边缘节点基于其先前针对该流所识别的DPI参数集,先前做出的转发决定或其他转发操作(诸如出口队列选择)。
当该过程确定(在220)它先前已经完成了针对接收到的分组的流或流集合的DPI操作时,它转换到250,其中它将基于它先前基于先前针对该流或流集合所识别的DPI参数决定的(一个或多个)转发操作来转发分组。在一些实施例中,这些转发操作包括以下内容的任意组合:选择应该沿其发送分组的路径、选择在转发之前应该在其中存储分组的出口队列、为要使用的其他网关或边缘节点指定分组的QoS参数等。
当该过程确定(在220)它之前没有完成针对接收到的分组的流或流集合的DPI操作时,该过程将接收到的分组的副本存储(在225)在流容器中,该流容器在215处定义或先前为同一流中的较早分组定义。接下来,在230,该过程将接收到的分组提供给本地深度分组检查器190以执行其DPI操作。
在235,该过程基于接收到的分组确定本地深度分组检查器190是否能够完成其操作。在一些实施例中,该过程基于其从本地深度分组检查器190接收到的响应来做出该确定。在一些实施例中,本地检查器190在其已完成其操作时返回接收到的分组的流的一个或多个DPI参数的集合,而当其需要分析该流的更多分组时返回指示其尚未完成其操作的回复。
当该过程确定(在235)本地检查器190需要更多分组来分析时,该过程在不参考任何DPI参数值的情况下执行(在245)转发分类操作,基于该转发分类操作转发(在250)接收到的分组,然后结束。在一些实施例中,转发分类操作涉及将接收到的分组的属性(例如,其流识别符或其流集合的属性集)与指定该分组的下一跳接口的一个或多个匹配动作规则以及应当用于封装该分组并将其转发到下一跳的隧道属性进行匹配。
在上述方法中,边缘节点和本地深度分组检查器都不执行与接收到的分组关联的连接会话的软终止,而本地DPI检查器可以执行其DPI操作。在该方法下,分组在其分类(在245)之后被转发(在250)。在其他实施例中,边缘节点或本地深度分组检查器对与接收到的分组关联的连接会话执行软终止,使得本地DPI操作可以执行其DPI操作。在这些实施例中的一些实施例中,边缘节点120不将该流中的任何初始分组转发到分支150外,而是将这些分组存储在容器中,直到本地DPI操作已经完成,使得它可以基于DPI操作执行动作(例如,转发决定)。
当过程230确定(在235)本地深度分组检查器190能够基于接收到的分组完成其操作时,其确定(在240)是否必须对该分组执行基于DPI的动作。如上所述,在一些不同的实施例中,返回的DPI参数集包括不同的DPI参数。这些参数的示例包括业务类型识别符、源应用类型识别符、类识别符等。在一些实施例中,本地深度分组检查器不生成源应用或类的识别符。在这些实施例中,控制器集群通过将产生的业务类型识别符映射到应用或类别识别符的本地DPI操作,来生成这些识别符中的一个或两个。
基于返回的DPI参数集,在一些实施例中,边缘节点120对与一些DPI参数关联的分组流执行其转发操作。例如,在一些实施例中,边缘节点120为与VOIP呼叫(其必须使用最佳可用路径)关联的分组选择更快的路径(即,具有低时延的路径)或更具韧性的路径(即,具有非常低的故障率的路径)。结合地或备选地,在一些实施例中,边缘节点120将这些分组与更高优先级队列关联,使得这些分组可以享受更高的服务质量(QoS)。
在这些实施例中的一些实施例中,边缘节点不对分组流执行任何特殊动作,除非DPI检查器190或192将分组流与一个或多个特定DPI参数关联。因此,当该过程确定(在240)为接收到的分组的流设置的DPI参数不与任何特殊类型的动作关联时,该过程在不参考任何DPI参数值的情况下执行(在245)其转发操作,并且基于这些转发操作转发(在250)接收到的分组以及其先前为该流存储的任何分组。
在一些实施例中,该过程通过将流的识别符与识别隧道参数(例如,隧道识别符等)的一个或多个匹配动作转发规则以及转发参数(例如,下一跳转发接口、目的地网络地址(IP、端口、MAC等)等)相匹配,然后基于隧道和转发参数封装和转发流的(一个或多个)分组,来执行这些转发操作,如上所述。在245,在一些实施例中,该过程还存储本地DPI检查器190没有提供需要对流进行任何特殊处理的DPI参数的指示,而在其他实施例中,它在245不存储任何这样的指示。
此外,在图2中,当过程200基于本地检查器190返回的(一个或多个)DPI参数确定(在240)它不必对该流执行任何特殊操作时,该过程不请求远程深度分组检查器192分析接收到的分组的流。然而,在其他实施例中,即使当该过程基于本地检查器返回的参数确定(在240)它不应该对该流执行任何特殊操作时,该过程也指示远程检查器192分析接收到的分组的流。
当该过程基于本地检查器190返回的参数确定它应该对接收到的分组的流执行特殊操作时,该过程从240转换到255。对于接收到的分组的流,该过程将本地生成的DPI参数集(即,由本地DPI检查器190生成)存储(在255)在将流与DPI参数集关联的存储装置(例如,数据库)中。该过程存储该DPI参数集以用于后续报告操作和/或用于与远程生成的DPI参数进行比较。
它还将本地深度分组检查器190检查的初始分组集合的副本发送(在255)到远程深度分组检查器192。该初始分组集合包括在流容器中存储的任何分组,该分组是在215为初始流的分组创建的,并且其中在针对该流的过程200的每次迭代中在225存储一个或多个分组。在一些实施例中,该过程向远程深度分组检查器192发送(在255)本地生成的DPI参数集(即,由本地检查器190生成的DPI参数集)以及初始分组集合。
在260,该过程使用由本地深度分组检查器190识别的一个或多个DPI参数来执行其转发分类操作。在一些实施例中,该过程通过将该流的识别符和一个或多个DPI参数与识别隧道参数(例如,隧道识别符等)的一个或多个匹配动作转发规则以及转发参数(例如,下一跳转发接口等)相匹配来执行这些转发操作。基于在260识别的隧道和转发参数,该过程然后封装并转发(在250)接收到的分组,然后结束。
在一些实施例中,260处的基于DPI的转发分类操作可以改变通过WAN的路径,该路径是由245处的独立于DPI的转发分类操作为该流的较早分组选择的。例如,在本地DPI操作完成之前为特定流选择通过WAN的慢速路径之后,在一些实施例中,一旦本地DPI操作已经完成,边缘节点就可以选择较快的路径,并且该DPI操作指定该流与需要使用最佳可用路径的应用关联。
在其他实施例中,过程200不是修改对其执行本地DPI操作的流的路径,而是存储关联的流集合的所识别的DPI参数,然后使用所存储的DPI参数来为与当前流相同的流集合中的后续流选择快速路径。此外,对于同一流集合中的当前流或后续流,过程200基于由当前流的本地DPI操作识别的DPI参数集来执行(在250或260)其他转发操作。例如,在一些实施例中,过程200基于所识别的DPI参数集指定更高优先级的出口队列,以为流集合中的当前流或后续流提供更高的QoS。在一些实施例中,过程200还在当前流或后续流的隧道报头中包括向(一个或多个)网关或目的地边缘节点通知当前流或后续流的较高优先级的QoS参数。
在一些实施例中,边缘节点120在本地深度分组检查器已经处理每个分组之后将该分组转发到其目的地。然而,在其他实施例中,边缘节点120在执行本地DPI操作的同时延迟将分组转发到流的目的地。在此期间,边缘节点将延迟的分组存储在分组流的指定流容器(即,边缘节点为分组流定义的存储队列)中。一旦第一DPI操作已经完成,边缘节点然后将存储在存储队列中的分组集合以及第一流的后续分组转发到目的地。对于某些本地识别的DPI参数,该转发基于DPI参数(例如,对于某些DPI参数,下一跳/路径选择基于DPI参数)。这些实施例中的边缘节点120还将存储在存储队列中的分组集合的副本转发到远程深度分组检查器。
在一些实施例中,为特定分组流存储在流容器中的分组数量取决于本地深度分组检查器190完成其DPI操作所需的分组数量。具体地,在一些实施例中,本地深度分组检查器需要检查来自不同类型的源应用的流的不同数量的分组,以便评估业务类型、源应用类型、类别类型等。然而,通常,对于许多应用,分组的数量在10-20个分组的范围内。
图3概念性地示出了当边缘节点120接收到针对特定流的远程深度分组检查器192的DPI操作的结果时执行的过程300。对于某些分组流(例如,本地分组检查器190为其生成特定DPI参数的分组流),在一些实施例中,边缘节点120向远程深度分组检查器192转发本地深度分组检查器190用来执行其DPI操作的初始分组集合的副本。在其他实施例中,边缘节点120向远程深度分组检查器192转发比其提供给本地深度分组检查器190的分组数量更多的要分析的流的分组。
如图3所示,当边缘节点120从远程深度分组检查器192接收到第二DPI操作的结果时,该过程开始(在305)。然后该过程确定(在310)第二DPI操作是否产生与本地深度分组检查器190产生的第一DPI参数集不同的第二DPI参数集。当两个DPI参数集匹配时,在一些实施例中,远程深度分组检查器192仅返回匹配的指示。备选地,当第二DPI参数集与第一DPI参数集不匹配时,远程深度分组检查器192以编码或未编码的格式返回第二DPI参数集。
当该过程确定(在310)由远程DPI操作产生的第二DPI参数集与由本地DPI操作产生的第一DPI参数集匹配时,该过程创建(在315)特定流的记录以指示在两个DPI参数集之间没有差异,然后结束。在一些实施例中,该记录只是过程200在边缘节点的DPI参数存储设备中创建(在255)以存储针对特定流的DPI参数集的记录中的另一个字段。
备选地,当该过程确定(在310)第一和第二DPI参数集不匹配时,该过程创建(在320)该差异的记录。例如,在一些实施例中,该过程将第二DPI参数集识别(在320)为与特定流关联的DPI参数集。在一些实施例中,该过程通过将第二DPI参数集存储在边缘节点的DPI参数存储设备中为特定流创建的记录中来实现这一点。在一些实施例中,该过程还设置(在320)该记录中的字段的值,以指定本地和远程DPI操作之间的差异。
过程300还在该记录或另一记录中存储(在320)由本地深度分组检查器190产生并已被第二DPI参数集替换的第一DPI参数集。在一些实施例中,过程300维护第一DPI参数集,因为该记录用于改进本地深度分组检查器的操作。例如,在一些实施例中,本地深度分组检查器是由特定边缘节点使用的第三方检查器,并且所生成的记录用于识别第三方检查器对其具有较差DPI性能的不同流。当所生成的记录指定所生成的DPI参数的第一和第二集合之间的差异时,在一些实施例中,边缘节点120将关于该差异的数据发送到远程机器,以与关于通过WAN的其他分组流执行的DPI操作中的其他差异的其他数据聚合。然后,在一些实施例中,分析该数据以修改本地深度分组检查器的操作。
在边缘节点120基于所生成的DPI参数转发特定分组流的分组的实施例中,过程300基于从远程深度分组检查器192接收的第二DPI参数集来确定(在325)是否需要修改其对特定流的分组的转发。如果是,则边缘节点120修改该转发。
图4示出了修改为特定流选择的路径的示例。具体地,对于图1中所示的示例,图4示出了边缘节点120最初将特定流转发到网关105,其沿着第一路径到边缘节点124。将网关105选择为下一跳基于由本地深度分组检查器190生成的第一DPI参数集。边缘节点190使用该集合中的一个或多个参数来选择网关105,而不是选择在到边缘节点124的第二路径上的网关107。本示例中的第二路径具有较低的时延,并用于较高优先级的分组。然而,边缘节点120最初不选择网关107及其关联的第二路径,因为第一DPI参数集不包括与高优先级流关联的任何参数。
图4还示出了从远程深度分组检查器192接收第二DPI参数集的边缘节点。基于第二DPI参数集,边缘节点120开始通过网关107和第二路径转发特定流。在该示例中,第二DPI参数集具有与高优先级流关联的一个DPI参数(例如,具有指定流的有效载荷包含VOIP数据的业务类型识别符)。边缘节点120将第二DPI参数集和特定流的流识别符与将网关107指定为要选择的路径的下一跳的匹配动作规则相匹配。
一些实施例提供了一种使用DPI生成的参数来评估并在某些情况下修改与特定应用关联的流如何穿越SD-WAN的方法。在一个或多个服务器的集合处,该方法接收为由对其执行DPI操作的边缘节点的第一集合处理的分组流收集的DPI参数集。从这些收集的集合中,该方法涉及与涉及由DPI操作指定的特定应用识别符的多个流关联的DPI参数的子集。
在一些实施例中,接收到的DPI参数集包括涉及由边缘节点的第一集合处理的分组流的操作统计信息和度量(例如,分组传输时间、有效载荷大小、由节点处理的分组的当前数量等)。在一些实施例中,统计信息伴随着其他数据,诸如流识别符、应用分类细节和转发决策(例如,识别所选路径)等。在一些实施例中,操作统计信息、度量和其他数据由边缘节点和/或网关收集和提供。
然后,该方法分析所识别的参数子集,以确定与一个或多个特定DPI参数关联的任何分组流是否具有涉及其通过WAN的流的不期望的度量。当该分析产生边缘节点应该对与特定应用识别符关联的流使用不同路径的决定时,该方法然后将调整后的下一跳转发记录分发到一个或多个边缘节点的第二集合,以修改边缘节点用来转发与特定应用识别符关联的流的路径。在一些实施例中,边缘节点的第一和第二集合是相同的,而在其他实施例中,边缘节点的第一集合是边缘节点的第二集合的子集(例如,第二集合包括不在第一集合中的至少一个节点)。
在一些实施例中,上述方法由图1的控制器集群140实现。图5示出了执行上述操作的控制器集群的组件。如图所示,在一些实施例中,控制器集群140包括数据收集器505、数据相关器510、数据聚合器515、数据评估器517、网关部署管理器520和路径生成器525。在一些实施例中,这些组件在一台计算机上操作,而在其他实施例中,它们在多台计算机上操作。为了可伸缩性,在一些实施例中,每个组件可以由相似过程的集群来实现。
将参考图6描述图5中控制器集群140的组件的操作,图6概念性地示出了在一些实施例中控制器集群140周期性执行的过程600。该过程从边缘节点和/或网关收集与某些DPI参数关联的流的数据。它将收集的数据与关于相同流的关联数据关联,然后分析收集的数据以得出关于每个流的附加统计信息/度量。然后,该过程将流的所收集和导出的数据与关联于该流的DPI参数的期望服务级别度量/统计信息进行比较,以识别流何时没有获得期望的服务级别(例如,与特定应用识别符关联的流没有足够快地到达其目的地)。
当其识别没有获得期望的服务级别的一个或多个流时,过程600向边缘节点和/或网关分发调整后的下一跳转发记录,该记录指导边缘节点和/或网关修改特定流或类似的未来流(例如,来自具有相同DPI识别的应用和/或到相同目的地的流)的转发。例如,在一些实施例中,基于分布式路径调整值,源边缘节点选择不同的网关来转发特定流和其他类似后续流的分组。在其他实施例中,源边缘节点使用分布式调整后的下一跳转发记录来选择网关以用于转发与特定流相似的后续流(例如,具有相同DPI识别的应用并且到相同目的地的流)。
如图6所示,在一些实施例中,数据收集器505从第一SD-WAN转发节点集合收集(在605)关于节点对与一个或多个DPI参数的集合关联的流的处理的数据。例如,在一些实施例中,数据收集器收集关于与一个或多个业务类型识别符(例如,VOIP呼叫、视频会议等)关联的流的处理的数据。在其他实施例中,数据收集器收集关于通过第一转发节点集合的所有流的处理的数据。
在一些实施例中,第一转发节点集合仅是SD-WAN转发节点的子集,并且所收集的数据集与SD-WAN的租户子集(例如,一个租户)的流有关。如下文进一步描述的,过程600仅从转发节点的子集收集数据,但是与更大的SD-WAN转发节点集合共享该数据的分析结果。类似地,当仅收集租户子集的数据时,该过程与更大的租户集(例如,所有租户或使用特定SaaS应用的所有租户)使用该数据的分析结果。在一些实施例中,第一转发节点集合仅仅是充当通过网络的流的源和目的地的SD-WAN边缘节点。在其他实施例中,第一转发节点集合还包括SD-WAN云网关(例如,网关105和107)。
在一些实施例中,所收集的数据包括流的操作统计信息和度量(例如,平均分组传输时间、平均分组延迟、平均有效载荷大小等)。这些操作统计信息和度量由第一转发节点集合针对这些节点处理的分组流收集。在一些实施例中,所收集的数据还包括转发节点的操作统计信息和度量。这种统计信息和度量的示例包括队列深度、队列延迟、节点在某一持续时间内处理的分组数量等。
如上所述,所收集的记录识别流识别符、应用分类细节和转发决策(例如,识别所选路径)等。所收集的记录包括与一个或多个DPI参数关联的流和/或转发节点统计信息/度量,在一些实施例中其由在转发节点处处理这些流的同时执行的DPI操作指定。在一些实施例中,流的DPI操作在源边缘节点(也称为入口边缘节点)处执行,在该源边缘节点处,流进入WAN,并从源边缘节点将其传递到另一边缘节点或云网关。与DPI操作相结合,源边缘节点收集针对其传递到另一边缘节点或云网关的流的分组的操作度量和统计信息(例如,分组传输时间、有效载荷大小、节点处理的当前分组数量等),并将DPI生成的参数与所收集的统计信息一起提供给服务器集以供其分析。
在一些实施例中,SD-WAN转发节点在处理流的同时连续收集流的统计信息/度量。在其他实施例中,这些转发节点恰好在流的开始处收集流的统计信息/度量,以便减少数据收集消耗的资源量(例如,CPU资源、存储器资源)。例如,在一些实施例中,源边缘节点基于其用于执行其DPI操作的初始分组的数量来收集流的统计信息。在这些实施例中的一些实施例中,源边缘节点向控制器集提供其用于其针对流的DPI操作的初始分组集合,以及其向针对新流的服务器集提供的操作度量和统计信息。在一些实施例中,由源边缘节点的DPI操作分析的初始分组集中的分组数量取决于被DPI操作识别为流的源的应用。因此,DPI操作针对来自不同应用或不同类型应用的不同流分析不同数量的分组。
在一些实施例中,目的地边缘节点(也称为出口边缘节点)还执行DPI操作,并在它们通过WAN(即,从云网关或其他边缘节点)接收的流的开始处收集流的操作度量/统计信息。在其他实施例中,目的地边缘节点不执行DPI操作,而是收集流的操作度量/统计信息(例如,连续地或仅在流开始时)。在一些实施例中,目的地边缘节点接收(例如,通过隧道报头在分组的带内,或者通过其他分组在带外)由源边缘节点的DPI操作生成的一个或多个DPI参数(例如,应用识别符)。
在一些实施例中,目的地边缘节点从源边缘节点接收指导目的地边缘节点收集关于某些流的统计信息/度量的指令。例如,在一些实施例中,源边缘节点在这些边缘节点用来将分组转发到网关的隧道封装报头中设置标志,以便引导目的地边缘节点收集某些流的统计信息。这些实施例中的网关在将封装的分组转发到目的地边缘节点时转发这些标志。
在一些实施例中,数据收集器505还从网关收集关于流的处理的统计信息/度量。在一些实施例中,源边缘节点在这些边缘节点用来将分组转发到网关的隧道封装报头中设置标志,以便引导网关收集某些流的统计信息。此外,与在边缘节点处执行DPI操作相结合或备选地,一些实施例在边缘节点外部(例如,在远离边缘节点操作的物理位置的物理位置处)执行DPI操作。
数据收集器505将在605接收的数据存储在控制器集群140的原始数据存储设备530中。在一些实施例中,相关器510然后将存储在原始数据存储设备530中的从不同边缘节点和/或网关收集的针对相同流的不同记录进行关联(在610)。为了关联这些记录,相关器510使用流识别符(例如,流的五元组识别符)来识别从SD-WAN的不同转发元件(例如,从源边缘节点、目的地边缘节点和/或网关)收集的涉及相同流的记录。
在不同实施例中,相关器510以不同方式关联相关的收集的流记录。在一些实施例中,它在流的相关记录之间创建关联(例如,每个记录中对存储相关记录的数据结构的引用)。在其他实施例中,它将流的相关记录集合合并为一个记录。还有其他实施例以不同方式关联相关流记录。此外,在一些实施例中,相关记录的每个相关集合与DPI生成的参数集(例如,与特定应用识别符或业务类型识别符)关联。
相关器510将每个流的相关记录存储在相关数据存储设备535中。聚合器515从该存储设备535检索相关记录,从这些记录中导出附加统计信息/度量,存储其先前未识别的流的所提供和导出的统计信息/度量,并将所提供和导出的统计信息/度量与其先前为其先前识别的流存储的统计信息/度量混合。
具体地,一旦所收集的度量/统计信息针对特定流进行了相关,则聚合器515分析所收集的度量/统计信息以导出量化特定流是否正在获得期望的服务级别的附加操作数据。在一些实施例中,相关度量/统计信息数据与特定DPI生成的参数(例如,应用识别符等)关联,使得在一些实施例中,该分析是基于DPI参数完成的。例如,在一些实施例中,导出的数据用于确定与特定应用识别符关联的特定流是否在期望的持续时间内到达其目的地、该特定流在特定网关处是否延迟太多等。
以下是聚合器如何从流的收集的相关记录中导出流的统计信息/度量的一个示例。在一些实施例中,所收集的流记录基于每个分组指定分组离开源边缘节点、到达网关节点、离开网关节点和到达目的地边缘节点的时间。在这些记录被相关之后,聚合器515计算流的分组从源边缘节点穿越到目的地边缘节点所花费的平均传输时间。
如果聚合器之前没有处理过该流的统计信息/度量,则聚合器在聚合数据存储设备519中为该流创建记录,并在该记录中存储该流的收集的和相关的统计信息/度量以及聚合器为该流导出的任何统计信息/度量(例如,计算的流的平均传输时间)。对于某些流,该存储设备先前已经存储了记录,作为聚合器先前处理的这些流的统计信息/度量。因此,对于每个这样的流,在一些实施例中,聚合器515将新收集和导出的统计信息/度量与先前收集和导出的流的统计信息/度量聚合。在一些实施例中,该聚合操作使用加权和来将新的统计信息/度量与先前存储的统计信息/度量混合。在一些实施例中,加权和确保流的关联统计信息/度量不会在每次接收到新的统计信息/度量集合时剧烈波动。
在一些实施例中,聚合器还为网关处理存储在相关数据存储设备535中的统计信息/度量,以便将存储在该存储设备中的针对网关的新统计信息/度量与其先前存储在聚合数据存储设备519中的针对网关的统计信息/度量相混合。为了混合这些统计信息/度量,在一些实施例中,聚合器515使用加权和来确保网关的关联统计信息/度量不会在每次接收到新的统计信息/度量集合时剧烈波动。
数据评估器517分析存储在聚集数据存储设备519中的统计信息/度量,以识别与没有从SD-WAN获得期望的服务级别的特定DPI参数集关联的任何流。数据评估器517还分析存储的统计信息/度量以识别任何拥塞的网关。图7概念性地示出了评估器517执行以识别这样的流和网关的过程700。在一些实施例中,数据评估器周期性地执行过程700。
如图所示,该过程选择(在705)聚合数据存储设备519中的流的记录,并且识别(在710)与该流关联的DPI参数的子集(例如,应用识别符、业务类型识别符等)。在一些实施例中,所识别的DPI参数子集与所选流的记录一起存储,而在其他实施例中,它由该记录引用。然后,从服务级别存储设备522,过程700从服务级别存储设备531中检索(在715)所识别的DPI参数子集的期望的服务性能统计信息/度量集合。
该过程接下来确定(在720)存储在检索到的流的记录中的统计信息/度量是否不满足所识别的DPI参数子集的任何期望的服务性能统计信息/度量(例如,高于期望的服务性能阈值)。一些实施例对与不同DPI参数关联的流具有不同的服务级别保证。例如,在一些实施例中,与第一业务类型识别符关联的流在云网关处不能具有超过第一时间持续时间的延迟,而与第二业务类型识别符关联的流在云网关处不能具有超过第二时间持续时间的延迟。结合地或备选地,在一些实施例中,与第一业务类型识别符关联的流必须在一个时间段内到达它们的目的地边缘节点,而与第二业务类型识别符关联的流必须在另一个时间段内到达它们的目的地边缘节点。
当该过程确定存储在检索到的流的记录中的统计信息/度量不满足所识别的DPI参数子集的任何期望的服务性能统计信息/度量时,该过程将该流的记录存储(在725)在路径分析存储设备523中,使得可以进一步分析该流通过SD-WANN的路径,然后转换到730。当确定(在720)流的存储统计信息/度量满足期望的服务性能统计信息/度量时,该过程也转换到730。在730,该过程确定其是否检查了所有流记录。如果不是,则返回到705以选择另一流记录,并对该记录重复其操作。否则,转换到735。
在735,该过程遍历聚合数据存储设备519中的云网关的记录以识别任何过于拥塞的云网关。在一些实施例中,该过程通常确定云网关通常对于所有流是否过于拥塞。在其他实施例中,该过程针对与一个或多个DPI参数的特定集合关联的流进行该确定。例如,在一些这样的实施例中,该过程确定云网关是否太拥塞而无法处理与特定业务类型识别符关联的流。过程700在网关分析存储设备529中存储(在740)其识别为过于拥塞的每个云网关的记录,然后结束。
在数据评估器517识别拥塞的网关和表现不佳的流之后,网关部署管理器520评估(在625)网关数据,确定应该在何时何地部署附加的云网关,并部署这些云网关。在一些实施例中,云网关是在云数据中心的主计算机上执行并且执行转发操作的机器(例如,VM)。
在这些实施例中的一些实施例中,网关部署管理器520实例化并配置新机器以用作与一个或多个其他网关相同的云数据中心中的新网关,或者在没有任何其他网关的新云数据中心中充当新网关。在其他实施例中,网关是预先实例化的,并且部署管理器520简单地分配先前实例化的网关来为所讨论的实体的SD-WAN执行期望的云网关服务。
在一些实施例中,当现有网关在特定持续时间内具有过多负载时,网关部署管理器520部署新网关以减轻现有拥塞网关上的负载。例如,在一些实施例中,网关部署管理器维护现有网关具有过多负载的时间段数的计数,并且仅当其为该网关维护的计数在被重置之前达到特定值时才部署新网关以减轻该现有网关上的负载。在这些实施例中的一些实施例中,当新聚合的数据未将先前识别为拥塞的网关识别为拥塞时,部署管理器520减少或重置。
在一些实施例中,网关部署管理器520部署供所有流使用的新网关。在其他实施例中,网关部署管理器520部署新网关以供与某些DPI参数关联的流使用。例如,当过程600确定用于VOIP呼叫的网关太拥塞时,在一些实施例中,部署管理器520部署另一个云网关来处理与VOIP业务识别符关联的流。
图8示出了这方面的示例。具体地,该图示出了在控制器集检测到两个先前部署的云网关805和810上的VOIP呼叫负载已经超过阻止VOIP呼叫接收其期望的服务级别的特定级别之后,新的云网关815被部署用于处理VOIP呼叫。在该示例中,新网关被添加到与托管云网关805和810的数据中心820和825不同的新数据中心830中。在一些实施例中,控制器集群通过在与过载的先前部署的网关相同的数据中心中部署一个或多个网关来减轻一个或多个云网关上的负载。
一旦部署管理器520部署了新的网关,它就指示(在625)路径生成器525识别用于流使用新部署的网关的新路径,并且生成用于一个或多个边缘节点和网关的下一跳转发记录以使用这些新识别的路径。路径生成器525将所生成的下一跳转发记录存储在记录存储设备538中,记录分配器540从记录存储设备538检索转发记录并将其分发到指定的边缘节点和/或网关。
路径生成器还指定(在630)用于边缘节点的第二集合的调整后的下一跳转发记录,以用于在路径分析存储设备523中被识别为需要通过SD-WAN的更好路径的一个或多个流,或者用于具有与这些所识别的流相似属性的未来流。具体地,如上所述,数据评估器517(1)分析存储在检索到的流的记录中的统计信息/度量,以识别不满足流的关联DPI参数子集的期望服务性能度量的任何流,以及(2)在路径分析存储设备523中存储(在720)流的记录,使得可以进一步分析该流通过SD-WAN的路径。在630,路径生成器525探索路径分析存储设备中识别的每个流的备选路径,以尝试识别这些流或未来类似流的更好路径,以便使这些流能够满足与该流关联的DPI参数的服务级别保证。
这种探索可以导致路径生成器识别要部署的新网关。当路径生成器识别这样的网关时,它指示网关部署管理器520部署新网关。路径生成器525(1)为一个或多个边缘节点和网关生成下一跳转发记录,以使用这些新部署的网关,以便实现其识别的新路径,并且(2)将这些下一跳转发记录存储在记录存储设备538中,记录分配器从记录存储设备538检索转发记录并将其分发到指定的边缘节点和/或网关。上述图8是添加网关以提高与某些DPI参数关联的流所使用的SD-WAN路径的性能的一个示例,在该图中,其是与VOIP业务类型关联的流。
在一些实施例中,路径生成器对备选路径的探索还可以将流的一个子集从网关移开,同时维护与网关的流的另一个子集。图9示出了这方面的示例。具体地,在该图中,控制器集检测到在一个先前部署的云网关805上的VOIP呼叫负载已经超过阻止VOIP呼叫接收其期望的服务级别的特定级别。因此,控制器集重新配置分支边缘节点924以使用数据中心920中先前部署的云网关910进行其VOIP呼叫,以便减少云网关805上的负载。
在630,在一些实施例中,路径生成器525将其新的下一跳转发记录仅提供给作为从其收集统计信息/度量的第一转发节点集合的成员的转发节点。然而,在其他实施例中,路径生成器525甚至将其新的下一跳转发记录提供给控制器集群在605没有从其收集统计信息/度量的SD-WAN转发节点。换言之,在一些实施例中,第一转发节点集合和第二转发节点集合是相同的,而在其他实施例中,边缘节点的第一集合是边缘节点的第二集合的子集(例如,第二集合包括不在第一集合中的至少一个节点)。
例如,在一些实施例中,控制器集群分析与涉及SaaS提供商的应用(例如,Office365)的一个实体的流关联的度量。在评估出某些网关不满足一个实体的受监控流的期望服务级别性能之后,控制器集群不仅配置该实体的边缘节点以减少它们的使用或完全避免问题网关,而且还为同一SaaS提供商应用以相同的方式配置其他实体的边缘节点。
在一些实施例中,控制器集群仅从实体的分支和数据中心的子集收集统计信息/度量,以便节省资源。然而,在这些实施例中,控制器集群使用其通过分析收集的数据而获得的知识,以配置作为SD-WAN一部分的实体的所有分支和数据中心的边缘节点和网关。
普通技术人员将认识到,上述过程在其他实施例中以不同方式执行。例如,虽然图6示出了由控制器集群周期性执行的一个操作集合,但在一些实施例中,该集群以不同的频率执行这些操作。此外,控制器集群不是仅仅调整下一跳转发记录来调整某些流的路径,而是分发路径调整值以调整边缘节点如何在通往相同目的地的多条可行路径中进行选择,以便减少特定网关上的负载和/或引导更多的流通过性能更好的网关。
在不同的实施例中,服务器集分发不同类型的路径调整值。在一些实施例中,分布式路径调整值包括边缘节点用于在到相同目的地的不同路径中进行选择的路径选择权重值(例如,用于与到相同目的地边缘节点的特定应用关联的流)。在其他实施例中,分布式路径调整值包括与不同网关和/或不同边缘节点关联的分组处理统计信息和/或其他拥塞度量。在一些实施例中,源边缘节点使用这样的统计信息在不同候选网关中进行选择,不同候选网关由到相同目的地的不同候选路径使用,和/或当存在多个不同的这样的节点或目的地时(例如,当存在多个候选数据中心时),在不同的候选目的地边缘节点中进行选择。在其他实施例中,服务器集还使用其他类型的路径调整值。
许多上述特征和应用被实现为被指定为记录在计算机可读存储介质(也称为计算机可读介质)上的指令集的软件过程。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核心或其他处理单元)执行时,它们使(一个或多个)处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线或有线连接上传递的载波和电信号。
在本说明书中,术语“软件”意指包括驻留在只读存储器中的固件或存储在磁存储器中的应用,其可被读入存储器以供处理器处理。此外,在一些实施例中,可以将多个软件发明实现为较大程序的子部分,同时保持不同的软件发明。在一些实施例中,还可以将多个软件发明实现为单独的程序。最后,共同实现这里描述的软件发明的单独程序的任何组合都在本发明的范围内。在一些实施例中,当安装软件程序以在一个或多个电子系统上操作时,软件程序定义执行和实施软件程序的操作的一个或多个特定机器实现。
图10概念性地示出了利用其实现本发明的一些实施例的计算机系统1000。计算机系统1000可用于实现上述主机、控制器、网关和边缘转发元件中的任何一个。因此,它可以用于执行任何上述过程。该计算机系统包括各种类型的非瞬态机器可读介质和用于各种其他类型的机器可读介质的接口。计算机系统1000包括总线1005、(一个或多个)处理单元1010、系统存储器1025、只读存储器1030、永久存储设备1035、输入设备1040和输出设备1045。
总线1005共同表示通信地连接计算机系统1000的众多内部设备的所有系统、外围设备和芯片组总线。例如,总线1005将(一个或多个)处理单元1010与只读存储器1030、系统存储器1025和永久存储设备1035通信连接。
(一个或多个)处理单元1010从这些不同的存储单元中检索要执行的指令和要处理的数据,以便执行本发明的处理。在不同实施例中,(一个或多个)处理单元可以是单处理器或多核处理器。只读存储器(ROM)1030存储(一个或多个)处理单元1010和计算机系统的其他模块所需的静态数据和指令。另一方面,永久存储设备1035是读写存储设备。该设备是即使在计算机系统1000关机时也存储指令和数据的非易失性存储单元。本发明的一些实施例使用大容量存储设备(诸如磁盘或光盘及其对应的盘驱动器)作为永久存储设备1035。
其他实施例使用可移动存储设备(诸如软盘、闪存驱动器等)作为永久存储设备。与永久存储设备1035一样,系统存储器1025是读写存储设备。然而,与存储设备1035不同,系统存储器是易失性读写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时需要的一些指令和数据。在一些实施例中,本发明的过程存储在系统存储器1025、永久存储设备1035和/或只读存储器1030中。(一个或多个)处理单元1010从这些不同的存储单元中检索要执行的指令和要处理的数据,以便执行一些实施例的处理。
总线1005还连接到输入和输出设备1040和1045。输入设备使用户能够向计算机系统传送信息和选择命令。输入设备1040包括字母数字键盘和定点设备(也称为“光标控制设备”)。输出设备1045显示由计算机系统生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施例包括用作输入和输出设备的诸如触摸屏的设备。
最后,如图10所示,总线1005还通过网络适配器(未示出)将计算机系统1000耦合到网络1065。以这种方式,计算机可以是计算机网络(诸如局域网(“LAN”)、广域网(“WAN”)或内联网)或网络的网络(诸如因特网)的一部分。可以结合本发明使用计算机系统1000的任何或所有组件。
一些实施例包括在机器可读或计算机可读介质(备选地称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令的电子组件,诸如微处理器、存储设备和存储器。这种计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字多功能盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如,SD卡、迷你SD卡、微SD卡等)、磁和/或固态硬盘驱动器、只读和可记录的Blu-盘、超高密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可以存储计算机程序,该计算机程序可由至少一个处理单元执行,并且包括用于执行各种操作的指令集。计算机程序或计算机代码的示例包括诸如由编译器产生的机器代码,以及包括由计算机、电子元件或使用解释器的微处理器执行的高级代码的文件。
虽然以上讨论主要涉及执行软件的微处理器或多核处理器,但一些实施例由诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的一个或多个集成电路来执行。在一些实施例中,这样的集成电路执行存储在电路本身上的指令。
如本说明书中所使用的,术语“计算机”、“服务器”、“处理器”和“存储器”都是指电子或其他技术设备。这些术语不包括个人或群体。为了本说明书的目的,术语“显示”或“展示”指的是在电子设备上显示。如本说明书中所使用的,术语“计算机可读介质”、“多个计算机可读介质”和“机器可读介质”完全限于以计算机可读形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂或暂时信号。
虽然已经参考了许多具体细节来描述本发明,但是本领域普通技术人员将认识到,在不背离本发明精神的情况下,本发明可以以其他具体形式实现。例如,上述实施例中的几个在公有云数据中心中部署网关。然而,在其他实施例中,网关被部署在第三方的私有云数据中心(例如,第三方用来为不同实体部署云网关以便为这些实体部署虚拟网络的数据中心)中。因此,本领域普通技术人员将理解,本发明不受前述说明性细节的限制,而是由所附权利要求限定。
Claims (22)
1.对于由多个边缘节点和一个或多个云网关的集合建立的软件定义的广域网(SD-WAN),一种使用深度分组检查(DPI)来控制通过WAN的分组流的方法,所述方法包括:
在服务器处,
从针对被执行DPI操作的两个或更多个边缘节点的第一集合处理的分组流收集的参数集中,识别与涉及由所述DPI操作指定的特定应用识别符的多个流关联的参数子集;
分析所识别的参数子集以识别具有不期望的通过WAN的路径的至少一个分组流;以及
将调整后的转发记录分发到一个或多个边缘节点的第二集合,以针对与特定应用标识符关联的流修改由边缘节点的第二集合使用的路径。
2.根据权利要求1所述的方法,其中在所述边缘节点处执行至少所述DPI操作的子集。
3.根据权利要求1所述的方法,其中至少所述DPI操作的子集在远离边缘节点的第一集合操作的物理位置的物理位置处执行。
4.根据权利要求1所述的方法,其中所收集的参数集包括涉及由所述边缘节点处理的分组流集合的操作度量。
5.根据权利要求4所述的方法,其中在边缘节点的集合处收集至少操作度量的集合。
6.根据权利要求4所述的方法,其中至少操作度量的集合由至少一个网关收集。
7.根据权利要求1所述的方法,其中分析所识别的参数子集包括确定多个分组流中的每个流中的分组从所述流的源边缘节点通过WAN到达所述流的目的地边缘节点的持续时间。
8.根据权利要求1所述的方法,其中分析所识别的参数子集包括确定多个分组流中的每个流中的分组通过网关到达所述流的目的地边缘节点的持续时间。
9.根据权利要求1所述的方法,其中
第一节点最初接收第一转发记录,然后接收第二转发记录;
基于所述第一转发记录,所述第一节点在接收所述第二转发记录之前通过第一网关转发第一分组流;以及
基于所述第二转发记录,所述第一节点停止通过所述第一网关转发所述第一分组流,而改为通过第二网关转发所述第一分组流。
10.根据权利要求1所述的方法,其中
第一节点最初接收第一转发记录,然后接收第二转发记录;
基于所述第一转发记录,所述第一节点使用第一网关将与第一DPI参数关联的第一分组流转发到所述第一分组流的第一目的地;以及
基于所述第二转发记录,所述第一节点使用第二网关将与所述第一DPI参数关联的第二分组流转发到所述第二分组流的第二目的地。
11.根据权利要求1所述的方法,其中第一和第二目的地是相同的目的地。
12.根据权利要求1所述的方法,其中边缘节点的第一集合是边缘节点的第二集合的子集。
13.根据权利要求12所述的方法,其中边缘节点的第二集合包括不在所述第一集合中的至少一个边缘节点。
14.根据权利要求1所述的方法,还包括从所述第一集合中的边缘节点收集参数,其中所收集的参数包括由所述第一集合中的边缘节点收集的统计信息。
15.根据权利要求14所述的方法,还包括当从不同边缘节点对收集的参数涉及边缘节点对相同流的处理时,将所述参数相关。
16.根据权利要求15所述的方法,还包括:
从网关集合收集参数,其中所收集的参数包括由所述网关集合收集的统计信息;以及
将从所述网关集合收集的参数与针对多个流中的每个流相关的参数进行相关,针对所述多个流识别了源和目的地边缘节点并且对所收集的参数集进行了相关。
17.根据权利要求1所述的方法,还包括从网关集合收集参数,其中所收集的参数包括由所述集合中的网关收集的统计信息。
18.根据权利要求1所述的方法,还包括:
对于通过WAN的多个流中的每个流,接收源和目的地边缘节点收集的分组以及与所收集的分组关联的参数。
19.根据权利要求18所述的方法,其中所收集的分组包括与由针对所收集的分组执行的DPI操作指定的特定应用识别符关联的分组。
20.根据权利要求19所述的方法,其中所述DPI操作在源和目的地边缘节点二者处执行。
21.根据权利要求19所述的方法,其中所述DPI操作在所述源边缘节点处执行,并且所述应用识别符由所述源边缘节点提供给所述目的地边缘节点。
22.根据权利要求19所述的方法,其中针对流所收集的分组的数量涉及所述流上的DPI操作所需的分组的数量。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201941051487 | 2019-12-12 | ||
IN201941051487 | 2019-12-12 | ||
IN201941051486 | 2019-12-12 | ||
IN201941051486 | 2019-12-12 | ||
US16/792,909 US11394640B2 (en) | 2019-12-12 | 2020-02-18 | Collecting and analyzing data regarding flows associated with DPI parameters |
US16/792,908 | 2020-02-18 | ||
US16/792,908 US11489783B2 (en) | 2019-12-12 | 2020-02-18 | Performing deep packet inspection in a software defined wide area network |
US16/792,909 | 2020-02-18 | ||
PCT/US2020/058883 WO2021118717A1 (en) | 2019-12-12 | 2020-11-04 | Collecting an analyzing data regarding flows associated with dpi parameters |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114342330A true CN114342330A (zh) | 2022-04-12 |
Family
ID=76330359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080060181.0A Pending CN114342330A (zh) | 2019-12-12 | 2020-11-04 | 收集和分析关于与dpi参数关联的流的数据 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3991359A1 (zh) |
CN (1) | CN114342330A (zh) |
WO (1) | WO2021118717A1 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
US10425382B2 (en) | 2015-04-13 | 2019-09-24 | Nicira, Inc. | Method and system of a cloud-based multipath routing protocol |
US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US11102032B2 (en) | 2017-10-02 | 2021-08-24 | Vmware, Inc. | Routing data message flow through multiple public clouds |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
US11252106B2 (en) | 2019-08-27 | 2022-02-15 | Vmware, Inc. | Alleviating congestion in a virtual network deployed over public clouds for an entity |
US11044190B2 (en) | 2019-10-28 | 2021-06-22 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
US20210234804A1 (en) | 2020-01-24 | 2021-07-29 | Vmware, Inc. | Accurate traffic steering between links through sub-path path quality metrics |
US11477127B2 (en) | 2020-07-02 | 2022-10-18 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
US11363124B2 (en) | 2020-07-30 | 2022-06-14 | Vmware, Inc. | Zero copy socket splicing |
US11444865B2 (en) | 2020-11-17 | 2022-09-13 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
US11575600B2 (en) | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
US11601356B2 (en) | 2020-12-29 | 2023-03-07 | Vmware, Inc. | Emulating packet flows to assess network links for SD-WAN |
CN116783874A (zh) | 2021-01-18 | 2023-09-19 | Vm维尔股份有限公司 | 网络感知的负载平衡 |
US11509571B1 (en) | 2021-05-03 | 2022-11-22 | Vmware, Inc. | Cost-based routing mesh for facilitating routing through an SD-WAN |
US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
US11489720B1 (en) | 2021-06-18 | 2022-11-01 | Vmware, Inc. | Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics |
US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104769895A (zh) * | 2012-09-29 | 2015-07-08 | 适应性频谱和信号校正股份有限公司 | 用于多个宽带连接通过无线电接口聚合的优化控制系统 |
US20160261493A1 (en) * | 2015-03-05 | 2016-09-08 | Algoblu Holdings Limited | Data routing across multiple autonomous network systems |
CN107005584A (zh) * | 2014-09-30 | 2017-08-01 | Nicira股份有限公司 | 内联服务交换机 |
US20170237710A1 (en) * | 2015-04-13 | 2017-08-17 | Ajit Ramachandra Mayya | Method and system of a cloud-based multipath routing protocol |
CN108713309A (zh) * | 2018-03-21 | 2018-10-26 | 深圳前海达闼云端智能科技有限公司 | Sd-wan系统、sd-wan系统的使用方法及相关装置 |
US20190158605A1 (en) * | 2017-10-02 | 2019-05-23 | Nicira, Inc. | Layer four optimization for a virtual network defined over public cloud |
EP3509256A1 (en) * | 2018-01-03 | 2019-07-10 | Hewlett-Packard Enterprise Development LP | Determining routing decisions in a software-defined wide area network |
-
2020
- 2020-11-04 EP EP20816328.7A patent/EP3991359A1/en active Pending
- 2020-11-04 WO PCT/US2020/058883 patent/WO2021118717A1/en unknown
- 2020-11-04 CN CN202080060181.0A patent/CN114342330A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104769895A (zh) * | 2012-09-29 | 2015-07-08 | 适应性频谱和信号校正股份有限公司 | 用于多个宽带连接通过无线电接口聚合的优化控制系统 |
CN107005584A (zh) * | 2014-09-30 | 2017-08-01 | Nicira股份有限公司 | 内联服务交换机 |
US20160261493A1 (en) * | 2015-03-05 | 2016-09-08 | Algoblu Holdings Limited | Data routing across multiple autonomous network systems |
US20170237710A1 (en) * | 2015-04-13 | 2017-08-17 | Ajit Ramachandra Mayya | Method and system of a cloud-based multipath routing protocol |
US20190158605A1 (en) * | 2017-10-02 | 2019-05-23 | Nicira, Inc. | Layer four optimization for a virtual network defined over public cloud |
EP3509256A1 (en) * | 2018-01-03 | 2019-07-10 | Hewlett-Packard Enterprise Development LP | Determining routing decisions in a software-defined wide area network |
CN108713309A (zh) * | 2018-03-21 | 2018-10-26 | 深圳前海达闼云端智能科技有限公司 | Sd-wan系统、sd-wan系统的使用方法及相关装置 |
Non-Patent Citations (2)
Title |
---|
CHINA TELECOM等: "Modification of Q.SD-WAN", 《INTERNATIONAL TELECOMMUNICATION UNION》, 12 April 2019 (2019-04-12), pages 1 - 19, XP044263300 * |
李维勇 等: "一种面向SD-WAN的协议无感知快速源路由转发方案", 计算机工程, 31 October 2019 (2019-10-31), pages 206 - 215 * |
Also Published As
Publication number | Publication date |
---|---|
EP3991359A1 (en) | 2022-05-04 |
WO2021118717A1 (en) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11716286B2 (en) | Collecting and analyzing data regarding flows associated with DPI parameters | |
US11394640B2 (en) | Collecting and analyzing data regarding flows associated with DPI parameters | |
CN114342330A (zh) | 收集和分析关于与dpi参数关联的流的数据 | |
US11811669B2 (en) | Inspecting operations of a machine to detect elephant flows | |
US11665092B2 (en) | Periodical generation of network measurement data | |
CN111766837B (zh) | 使用集中式控制器计划和管理网络探测 | |
US20220231949A1 (en) | Network-aware load balancing | |
US20220231950A1 (en) | Network-aware load balancing | |
US11729065B2 (en) | Methods for application defined virtual network service among multiple transport in SD-WAN | |
US20220407790A1 (en) | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics | |
US10594580B2 (en) | Network function virtualization management system | |
US9397920B2 (en) | Multi-path network bandwidth estimation | |
CN111478850B (zh) | 一种网关调整方法和装置 | |
US11637753B1 (en) | Adaptive location-based SD-WAN policies | |
US11336545B2 (en) | Network device measurements employing white boxes | |
US20240031296A1 (en) | Modifying an sd-wan based on flow metrics | |
WO2024019853A1 (en) | Method for modifying an sd-wan using metric-based heat maps | |
Arnold | Understanding Cloud Network Performance | |
CN117178259A (zh) | 通过专用网关的部署为数据中心中的资源分配附加带宽 | |
Bozakov | Architectures for virtualization and performance evaluation in software defined networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Country or region after: U.S.A. Address after: California, USA Applicant after: Weirui LLC Address before: California, USA Applicant before: VMWARE, Inc. Country or region before: U.S.A. |
|
CB02 | Change of applicant information |