CN108965239A - 加速网络安全监控 - Google Patents

加速网络安全监控 Download PDF

Info

Publication number
CN108965239A
CN108965239A CN201810518765.2A CN201810518765A CN108965239A CN 108965239 A CN108965239 A CN 108965239A CN 201810518765 A CN201810518765 A CN 201810518765A CN 108965239 A CN108965239 A CN 108965239A
Authority
CN
China
Prior art keywords
data
working device
copy
device thread
processing core
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
Application number
CN201810518765.2A
Other languages
English (en)
Inventor
K.苏德
A.J.赫德里希
S.P.杜巴尔
P.L.康诺
J.R.赫恩
N.D.麦克唐奈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN108965239A publication Critical patent/CN108965239A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及加速网络安全监控。在本文中一般性讨论的是用于网络安全监控(NSM)的系统、设备和方法。硬件队列管理器(HQM)可以包括:输入接口,用以接收来自至少第一工作器线程的第一数据;队列复制电路,用以生成第一数据的至少一部分的拷贝来创建第一拷贝数据;以及输出接口,用以(a)向第二工作器线程提供第一拷贝数据,和/或(b)向第三工作器线程提供第一数据的至少一部分。

Description

加速网络安全监控
技术领域
实施例一般涉及诸如为了安全而监控网络。一个或多个实施例与电信(例如,第三代合作伙伴计划(3GPP)、长期演进(LTE)等等)网络或其他网络中的网络安全监控有关。
背景技术
一些当前广泛使用的用于业务监控/遥测的机制包括使用比如来自sFlow.org联盟的sFlow、来自美国加利福尼亚州圣荷塞的思科系统(Cisco Systems®)公司的Netflow等等的既定协议,以用于收集遥测数据并且将所收集的遥测数据输送给分析系统。分析系统可以对遥测数据实行网络安全分析法。通常由使用端口镜像的物理交换机、使用物理交换机/路由器内的专用硬件引擎进行的基本过滤/统计信息聚合、或者经过专用业务复制硬件来收集业务数据。
当前,发明人并不知道存在下述已知解决方案:其用于在通用通信平台上以高分组处理速率提供线路速率、安全的网络安全监控能力并且对所讨论的工作量没有明显影响。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同视图中描述类似的部件。具有不同字母下标的相同数字可以表示类似部件的不同实例。附图一般作为示例而不是作为限制图示了在本文档中所讨论的各种实施例。
图1作为示例图示了用于仅使用软件机制进行安全监控的连同连接线路一起的系统的实施例的示图。
图2作为示例图示了包括硬件加速的系统的实施例的示图。
图3作为示例图示了用于硬件加速的系统的实施例的示意图。
图4作为示例图示了形成图3中示出的较大系统的一部分的较小系统的分解图。
图5作为示例图示了系统的实施例的示意图。
图6作为示例图示了系统的实施例的示意图。
图7作为示例图示了用于对网络安全监控(NSM)进行硬件加速的方法的实施例的示图。
图8作为示例图示了系统的实施例的框图。
具体实施方式
本文中所讨论的是涉及加速NSM的系统和方法。一个或多个实施例包括用以改善这样的加速的硬件解决方案,诸如硬件队列管理器(HQM)。实施例可以在可扩展的运营商网络内帮助输送平台能力(通信平台核心、部件块、CSME/ME/IE)、针对安全部署NSM的增强以及先进的非侵入式调试能力。
可以针对来自网络接口控制器(NIC)/交换机的单流处理来对通信平台进行优化。然而,比如网络安全监控(NSM)、平台外遥测数据的安全输送、在实行网络监控的同时维持SLA灵敏度等等的运营安全机制都是可以帮助网络功能虚拟化(NFV)、LTE、3GPP、虚拟演进分组核心(vEPC)和/或虚拟客户端驻地设备(vCPE)网络可见性的任务。因此,解决这些问题可以帮助降低平台上的工作量。
本文中讨论的实施例可以通过提供可以解决这些差距中的一个或多个差距的一般机制来帮助解决这种工作量和可见性差距。一个或多个实施例可以安全地将比如融合安全性和可管理性引擎(CSME)、管理引擎(ME)、IE以及软件防护扩展(SGX)之类的平台可信元件与基于电气或电子部件(例如,HQM、高速缓存控制器、密码处理器等等)/现场可编程门阵列(FPGA)的安全和压缩处理进行绑定。
当交换功能延伸到诸如使用来自美国马里兰州福利斯特希尔(Forest Hill)的Apache®软件基金会的Open vSwitch(OvS®)或路由器软件的虚拟机(VM)之间的服务器时,在软件中实行相同动作是非常低效率的,并且导致平台分组处理降级。这种降级对于例如租户(例如,基础架构即服务(Iaas)租户)或服务消费器而言可能是显著的。使用交换端口分析器(SPAN)和/或终端接入点(TAP)以及然后使用利用当前通信平台纯软件机制的NSM业务保护(例如,加密、源认证等)来实行端口镜像跨越许多核心消耗了许多计算周期,并且增加了核心对核心通信。考虑到调制解调器服务器上正在增加的分组处理速率(超过每秒100千兆比特(Gbps)并且预计到2020年要达到400 Gbps),这是不可持续的。
在没有硬件加速的情况下,明文业务入口到业务出口的当前性能水平被干扰,并且可能影响整个平台性能的性能降级限制了可扩展性并且约束了租户负载能力(例如,带宽)或者导致较差的服务水平协议(SLA)输送。
通过在精心设计的软件框架中卸载这些能力以及通过对现有HQM的修改,可以经由经改善的系统性能在花费最少的通信平台软件周期、利用HQM卸载以及提供经改善的客户端价值的情况下构造安全网络监控和调试能力。此外,比如SGX和CSME之类的通信平台安全技术可以被用于安全地供应HQM业务策略和存储器区域,以用于将复制的业务进行分流(fork)(例如,“T形分流(teeing)”)。基于SGX和VM的存储器加密技术可以提供一些置信度量度,但是并不保护策略路径和策略处理免受其他VM/虚拟网络功能(VNF)、系统管理员、NFV基础架构管理器等等的影响。NFV通常将网络功能的软件实现方式与用来实行软件的操作的网络功能的硬件实现方式进行解耦。
NSM在现有的3GPP/LTE网络中可以是有用的安全提供方。NSM可以包括针对安全威胁来对网络遥测进行安全监控的能力,该安全威胁诸如恶意软件入侵、异常和零日攻击,除了别的以外。随着现有LTE/3GPP系统移至NFV和软件定义系统(SDS),可以提供NSM,同时维持与现有系统中相同的线路速率和相同的功能性。
随着平台上核心的数量增加,可以预期的是,比如vEPC或vCPE之类的所有电信基础架构都将在同一平台上运行。因此,在平台上监控vEPC和vCPE网络可能是有用的。当前,在至少一些平台上,该整个处理在平台外的物理网络上是不可见的。因此,在平台上添加比如NSM之类的部件可以帮助增加安全性。换言之,在将VNF(实行特定网络功能的VM)链接到服务功能链(SFC)中的环境中,用以检查和调试每个阶段之间的业务的能力可以帮助针对全面(full-scale)部署来改善安全性。可以由一个或多个实施例来解决这些问题中的一个或多个问题。
为了节约计算(例如,中央处理单元(CPU))周期,其可以帮助以通用方式来加速操作,以免从更高级别的计算作业或分组处理工作量取走周期。通过使用在以下部分中所描述的技术,实施例可以帮助实现这些目标。
可以将应当针对除现有物理网络功能/系统之外的NFV/SDN系统而解决的一些要求和问题概述如下。这些安全和性能要求取自于由运营商针对通信平台上的NFV/SDN部署所开发的欧洲电信标准协会(ETSI)NFV规范(例如,ETSI NFV SEC013、SEC012、SEC001):
1. NFV工作量可以跨平台迁移。这意味着可以将NSM能力连同工作量一起进行复制/迁移。因此,NSM可以在工作量可能迁移到的每个平台上一致地存在。
2. NFV/SDN平台支持异构工作量(例如,包括vEPC、vCPE、视频、网络、租户应用等等)。另外,NFV控制平面和数据平面处于完全不同的平台上。这些条件一起可能使NSM性能降级,从而影响SLA和业务,以及使得以确定性方式在所有平台上实行NSM是有用的,从而支持具有低抖动的SLA。
3. 针对NSM的安全要求(来自ETSI NFV SEC013标准规范)需要利用平台信任能力,以便能够安全地输送和实现NSM策略。
实施例可以通过诸如从覆盖到物理网络上的动态的、虚拟的网络收集遥测数据来起作用。一个或多个实施例将来自开放的虚拟交换机/路由器的策略引擎集成到通信平台中。一个或多个实施例可以附加地或替换地使用HQM设备中的分组分流(有时在本领域中被称为“T形分流”)能力来提供这些功能。这样的实施例可以帮助节约CPU周期并且使得能够实现附加的NSM能力,从而改善总体系统处理速度。分流成多个流的业务可以包括例如在重新加密或压缩之前,在解密、解封装和处理之后的业务的分部(division)。
当前,发明人并不知道存在下述已知解决方案:其用于在通用通信平台上以高分组处理速率提供线路速率、安全的NSM能力,诸如对所讨论的工作量没有明显影响。针对来自NIC/交换机的单流处理来对当前通信平台进行优化。在实行NSM的同时,比如NSM、平台外遥测数据的安全输送、维持SLA灵敏度之类的运营安全机制是将帮助保障NFV/LTE vEPC、vCPE、网络可见性的任务。
图1作为示例图示了的用于安全监控的连同系统连接一起的系统100的实施例的示图。在一些实施例中,仅使用软件机制。系统100不一定将硬件加速用于实行安全监控。如图示的系统100包括NFV基础架构102、编排器104、运营支持系统(OSS)/业务支持系统(BSS)106、VNF监控器(VNFM)108、虚拟化基础架构管理器(VIM)110和网络分析工具112。
NFV基础架构102将可以被链接在一起来创建例如通信服务的网络节点功能进行虚拟化。如图示的NFV基础架构102包括虚拟网络功能(VNF)116A、116B、116C和116D,交换机/路由器118以及运营商基础架构120。
VNF 116A-116D是以前由专用硬件实行的虚拟化任务。VNF 116A-116D将先前由专用硬件实行的这些操作移至软件实例化。VNF 116A-116D凭借主机122的硬件和/或软件编程进行操作。
交换机/路由器118在平台126A-126B和/或VNF 116A-116D之间提供通信能力。交换机连接计算机或其他网络设备。路由器诸如通过将网络连接到互联网来将第一网络连接到第二网络。路由器一般管理被提供给另一网络的数据(例如,请求、消息或响应,除了别的以外)的路径。
运营商基础架构120托管其他运营商的VNF,并且包括主机122(例如,操作系统(OS)、云OS和/或管理程序)、固件接口124(例如,统一可扩展固件接口(UEFI)或基本输入/输出系统(BIOS))、多个平台126A和126B(例如)以及互连电路128(例如,输入/输出(I/O)端口、网络接口控制器(NIC)、交换机、主机结构接口(HFI)等等)。
主机122可以包括用于提供被VNF 116A-116D用于实行它们的操作的资源的硬件或软件。主机可以包括在其上VNF可以进行操作的OS、云OS、管理程序等等。
固件接口124可以包括UEFI、BIOS等等。固件接口124定义了主机122与固件(例如,VNF 116A-116D)之间的软件接口。
平台126A-126B为连接到通信网络的设备提供通信功能性。由平台126A-126B提供的功能性的示例包括语音线路和互联网接入,以及用于支持语音和互联网接入的操作,除了别的以外。平台126A包括存储器130(平台126B也是如此,但是没有示出存储装置以免使系统100的视图晦涩难懂)。可以由互联电路128将平台126A-126B通信地耦合。
编排器104实行资源和/或网络服务编排。编排器104绑定由VNF 116A-116D提供的功能,以便在另外分散的NFV环境中创建服务。编排器104可以帮助确保的是,充足的计算资源、存储资源和/或其他网络资源可用于提供网络服务。编排器104可以授权、协调、释放和支配共享基础架构102的资源的VNF 116A-116D。
OSS/BSS 106是被电信服务提供方用来管理它们的网络的计算机系统。OSS/BSS106可以支持网络库存、配置、故障管理和/或服务供应。
虚拟网络功能管理器(VNFM)108与编排器104和VIM 110一起工作来提供VNF能力。VNFM 108可以实例化VNF 116A-116D、扩缩VNF 116A-116D、更新和/或升级VNF 116A-116D和/或终止VNF 116A-116D。VNFM 108可以管理单个VNF或多个VNF。VNFM 108维持对VNF116A-116D进行支持的虚拟化资源。
如图示的VIM 110包括SDN控制器114。VIM 110控制和管理基础架构102的计算资源、存储资源和其他网络资源。VIM 110可以处置诸如可以包括基础架构102的一个或多个基础架构中的基础架构。VIM 110可以维持哪些虚拟资源被分配哪些物理资源的列表、管理安全组策略(用于接入控制)、管理NFV硬件资源和软件资源的储藏库,以便帮助改善和优化系统资源的使用。
SDN控制器114是诸如在网络内管理流量控制的应用。SDN控制器114允许服务器或其他网络资源选择交换分组目的地,从而向交换机指示要将分组发送到何处。SDN控制器114可以取得网络硬件的控制平面并且将其运行为软件。SDN控制器114可以分配监控策略。
网络分析工具112可以提供用于分析遥测数据的功能性,诸如NSM功能性。网络分析工具112可以包括vEPC、vCPE NFV分析法、数据存储、网络异常监测和/或恶意软件检测等等。
网络安全监控(NSM)业务由箭头132、134、136和138指示。可以由本文中所讨论的实施例将该NSM业务的流进行“加速”。VIM 110的SDN控制器114可以向VNF 116D(例如,安全监控(SecMon)VNF)提供策略,如由箭头138和132的组合指示的。可以将被提供给VNF 116D的业务安全地终止。VNF 116D可以监控交换机/路由器118上的业务(例如,所有业务)(如由箭头132指示的)。VNF 116D可以向业务应用所提供的监控策略。基于该监控策略,VNF 116D向互连电路128提供被监控的业务(如由箭头134或箭头140和138指示的)。互连电路128向网络分析工具112提供被监控的业务,如由箭头136指示的。网络分析工具112可以包括安全和联网分析系统、元数据收集器、网络配置文件设定、按租户和/或按流量的监控系统,和/或到租户上的监控系统。
图1的NSM方案导致显著的总体平台降级,因为有价值的CPU周期被VNF 116D消耗,该VNF 116D负责监控来自交换机/路由器118的分组、将分组重新格式化以符合遥测协议以及安全地捆绑该分组并且将其输送给外部系统。这样的NSM操作可能消耗(一个或多个)平台126A-B的可用计算资源的百分之二十五(或更多)。
其他箭头(在图1中没有用附图标记标注)可以指示平台上的或者在平台上的VNF/VM之间的数据、信令控制业务、从物理网络到虚拟网络的业务。
图1提供了在平台上运行的支持VM对VM通信的虚拟交换机的示例。在图1的示例中,VM是可以经由例如分组的基于软件的拷贝来潜在地提供自省(introspection)能力的软件实体。考虑的是,VNF 116A和VNF 116B正在通信,并且要调试二者之间的通信。例如,VNF 116A可以是分组网关,以及VNF 116B可以是服务网关。分组的软件拷贝是在VNF 116A-B之间,但是软件拷贝具有几个问题在于交换机/路由器118本身在实行这样的拷贝方面经常是较慢的。因此,这样的拷贝可能降低系统100的吞吐量。另一个问题在于添加这样的调试能力可能给系统100添加额外的负担。相比之下,具有这种能力的HQM可以将拷贝从系统100卸载来由HQM的队列进行管理,从而节约了计算周期和功率。此外,可以在不必须诉诸于运行软件中的所有拷贝和管理的情况下来保持传统虚拟交换机的自省能力。使用HQM是将该功能性(特别是业务排队和/或拷贝)拉取到硬件中的一种方式。因此,可以将队列管理卸载到硬件,同时仍使用队列中的业务来保持调试可见性。
考虑复杂环境,诸如图1的环境,该环境不包括被部署在单个机器上的所有VM,而是包括比如说跨越数据中心内的不同机架和不同节点部署的彼此之间都进行通信的10个VM的链。于是,为了能够检查比如说VM7与VM8之间的业务,应当知晓它们的位置。期望的是使来自VM7的业务进行分流并且将其馈送给监控VM,以及将其输送给VM8。这样的操作还可以包括对用以对这样的业务进行拷贝和分流的VM的位置进行的调度器搭配(schedulertie-in)。
图2作为示例图示了包括硬件加速的系统200的实施例的示图。利用针对使用硬件加速的NSM的系统流程线来图示系统200。未在图2中提供图1中的一些数据流程线,以免使图2中的数据流程线的视图晦涩难懂。系统200包括与在图1中图示的部件全部相同的部件(注意的是,未在图2中示出固件接口124,以免使图2中的其他部件的视图晦涩难懂),具有一些附加部件。附加部件是平台126A的部分,并且包括安全电路210、存储器队列214、队列策略寄存器216、核心218以及高速缓存220。
使用系统200,NSM可以包括向VNF 116D和安全电路210提供监控策略,如分别由箭头138和132,以及202或204指示的。在一个或多个实施例中,安全电路210可以监控交换机/路由器118上的所有业务,从而从主机122卸载CPU工作。
平台安全电路210(例如,SGX、ME、IE等)可以具有(一个或多个)安全的带外管芯上或封装上或结构内信道,该信道可以被用来将来自安全电路的策略输送给在处理器或芯片集上操作的各种VNF。安全电路210可以接收来自SDN控制器114的策略并且将其在处理器块(例如,高速缓存、三维x点(3DXP)或其他存储器、NIC、(一个或多个)交换机、存储装置等等)上转化成特定配置命令以及将不同命令发送到不同部件块。
每个部件(包括上文提到的那些)可以包括一个或多个队列208。队列是包括由每个部件提供的资源的有逻辑且可配置的集合。因此,高速缓存可以服务多个队列并且被分配给一个或多个VNF/VM。可以为存储器、NIC、端口等等落实相同的布置。SDN控制器114和/或安全电路210可以在平台的开始处以及可选地在平台126A-126B执行一个或多个VNF116A-116D的同时配置这些队列208。
使用队列208,平台部件资源可以因此被“分割”成可以被指派给每个VNF的平台资源贮体(bucket)的集合。一个分配标准是计划的或约定的SLA输送。可以按租户、按流量和/或按支付订阅模型来分配平台分割资源。
队列208可以处理数据(包括网络业务)。可以按策略将队列214复制成一个或多个其他队列。换言之,按照从安全电路210输送到部件块中的策略,部件块都可以将全部队列复制到支持或属于和/或专用于NSM的其他队列上。
VNF 116D可以读取队列214以用于可配置的(例如,软件可配置的)另外的处理和分析(例如,使用VNF 116D作为诸如用于分析法之类的前端软件处理器)。在其他实施例中,(例如,按照策略)可以将(一个或多个)队列214直接冲到外部网络上以用于由分析工具112进行外部分析和监控。在另外的其他实施例中,可以将分析法和分析运行为可以实行前端软件处理以及然后实行分析工具112的VNF 116D的部分。
在一个或多个实施例中,互连电路128可以被设计成写入到两个复制/镜像描述符表,而不是在系统100中使用的单个表。该表之一可以被用于一般I/O任务,以及另一个可以被VNF 116D用来基于相关策略进行审阅。通过修改硬件和/或软件二者的设计,可以利用网络设备中或者软件栈处理中的非常小的开销来实现全线路速率安全监控。可以使类似的方法可用于存储装置或其他应用。
队列策略寄存器216包括下述数据,该数据指示(存储器队列208的)哪些队列向哪些核心218提供数据。可以读取队列策略寄存器216来确定复制的业务和其他业务要被提供给的核心。
核心218是处理核心,诸如可以包括处理核心和/或调试核心。核心218可以实现VNF 116A-116D。存储器队列208。高速缓存220可以存储要被核心218在实行它们的操作时使用的指令和/或数据。
系统200提供一种构建接口的方式,其中数据中心级管理员(或其他实体)可以在复杂服务链中对数据进行调试、监控或以其他方式查看。这是一种能够进行以下各项的便捷方式:从编排器104到达SDN控制器114中,以及例如监控VM7与VM8之间的业务,以及确定它们的业务模式是否正常,或者系统100中是否存在错误配置。
安全电路210例如可以复制一对VM之间的业务流。这样的配置可以在不一定必须为需要在系统上进行操作的软件段中的每个去构建定制接口的情况下提供进行这种调试的能力。
系统200可以提供针对软件版本化问题的变通方案(work around),该变通方案可能是有问题的。考虑支持一个接口的某个版本的OSS,该OSS在接口的下一版本中被改变,从而在监控软件系统中产生了大混乱(havoc)。加密功能(例如,SGX)可以帮助保持VM的加密并且还仍提供可见性。所以,在那时可以信任安全电路210来实行复制。
在一个或多个实施例中,互连电路128可以创建复制的描述符表。描述符表的这样的复制可以是可能在不存在HQM的情况下帮助实行调试、监控等等的一种方式。这是其中例如NIC可以被用来复制业务流的一种方式。
图3作为示例图示了用于硬件加速NSM的系统300的实施例的示意图。如图示的系统300包括NIC 302;生产器304;第一HQM 306;工作器308A、308B、308C和308D;第二HQM 310(与HQM 306相同或不同);工作器308E、308F、308G、308H和308I;第三HQM 312(与HQM 306和/或310相同或不同);消费器314;另一个NIC 316(与NIC 302相同或不同)以及高速缓存318(例如,L3高速缓存)。
NIC 302将诸如平台126A-126B之类的计算设备连接到网络。NIC在一个或多个实施例中可以包括HFI。NIC 302接收要被处理的数据,如由数据301指示的。可以由NIC 302向高速缓存318和生产器304提供数据301。生产器304将数据301转换成与工作器308A-308I兼容的格式。生产器304可以向数据添加描述符来指示要对数据实行什么操作。可以诸如在线307上向HQM 306提供经转换的数据。
HQM 306、310和312包括队列320、322和324。HQM 306、310和312管理通信请求并且可以在不依赖软件例程的情况下聚合核心之间的数据。HQM 306、310和312可以管理NSM数据向工作器308A-308I的复制和分发。诸如出于调试和/或检测(或其他NSM)目的,HQM 306、310和312可以对数据进行复制和T形分流。如将在之后看到的,图4图示了HQM 310的分解图。HQM 306被视为第一级HQM。HQM 310是第二级HQM。HQM 312是第三级HQM。
HQM 306、310和312形成卸载加速引擎,以使得CPU核心可以通过使用指令创建16位描述符并且发送数据来发送分组。HQM 306、310和312然后可以实行多达两个操作:(1)将来自一个源的流分流成两个输出队列;以及(2)聚集性能度量和日志记录。可以在不干扰核心操作的情况下实行一个或两个操作。然后由任一另一核心读取分流的输出队列(以被发出,实际上是端口镜像的一个版本,其中HQM 306、310和312被涉及来对自省进行硬件加速)或者将该分流的输出队列读取到IE来通过管理接口(例如,SDN控制器或其他接口)发出。HQM 306、310和312可以卸载队列管理,以及可以帮助对业务进行分流(例如,“T形分流”)以用于调试、安全监控(针对NFV标准ETSI NFV SEC013)、网络性能监控(ETSI NFV规范PER001)、业务工程(engineering)等等。分流是在第一连接上接收数据并且通过耦合到第一连接的部件向至少两个其他部件提供所接收到的数据的至少一部分。类似地,统计信息可以例如帮助检测丢弃的分组,而不要求复制全部业务流。已经可以将许多统计信息维持在HQM 306、310和312中;可以跨队列来拆分针对队列条目数量的新性能计数器。在一个或多个实施例中,统计信息和/或其他计数器可以诸如出于安全原因仅对于OS/VMM是可访问的而对于访客是不可访问的。可应用的、现有的协议可以包括简单网络管理协议(SNMP)、可靠事件日志记录(RLOG)、Netflow、互联网协议流信息导出(IPFIX)、sFlow、互联网工程任务组(IETF)标准等等。
工作器308A-308D是核心218。工作器308A-308D是第一级工作器。工作器308A-308D接收来自队列320的数据,如由线309指示的。由工作器308A-308D实行的操作可以包括例如按分组的工作,诸如可以包括解密、封装、解封装、防火墙、加密、解密、压缩和/或解压缩,除了别的以外。向第二级HQM 310提供由工作器308A-308D实行的操作的结果,如由线311指示的。队列临时地存储该结果以及HQM 310向第二级工作器308E-308I提供该结果。第二级工作器308E-308H可以实行分组检查(例如,深度分组检查)、网络地址转换、入侵检测、广告插入、路由等等。可以向第三级HQM 312提供来自第二级工作器308E-308H的结果,如由线317指示的。线程可以与个别工作器相关联,以使得该工作器负责该线程的执行。
在一个或多个实施例中,诸如出于调试目的,可以向工作器308I提供来自工作器308A-308D的结果,诸如由线315指示的。假如其中核心的第一阶段具有功能上的程式错误(bug),则难以诸如利用传统的基于软件的虚拟交换机(vswitch)解决方案(例如,系统100)以高速来调试这些核心。为了对其中复杂多核心VM的多个集合被链接在一起的网络服务功能链(SFC)做出调试,硬件支持的调试能力可能是重要的,以便验证被实行的操作是预期的操作。可以用硬件扩展来修改HQM 310修改,以使得能够实现调试——在图4中提供更多细节。
HQM 312向消费器314提供数据,如由线319指示的。消费器314将来自工作器308E-308H的数据转换成与接收器兼容的形式。消费器314向NIC 316提供经转换的数据,如由线333指示的。
工作器308A-308D可以向高速缓存318提供数据,如由线321指示的。工作器308A-308D可以接收来自高速缓存318的数据,如由线323指示的。工作器308E-308H可以向高速缓存318提供数据,如由线327指示的。工作器308E-308H可以接收来自高速缓存318的数据,如由线325指示的。NIC 316可以接收来自高速缓存318的数据,以便(在线331上)被传输到系统300支持的网络上的设备。
图4作为示例图示了形成图3中示出的较大系统300的一部分的较小系统400的分解图。如图示的系统400包括HQM 310的分解图。如图示的HQM 310包括一个或多个队列322、队列条目复制电路402以及数据拷贝电路404。可以由HQM 310向工作器308I提供复制的业务406。队列322可以将线311上提供的数据T形分流到多个工作器,诸如用于调试或其他NSM操作。队列310可以向工作器308E-308H和/或工作器308I中的一个或多个工作器提供数据。HQM 310将来自一个输入队列的输入队列条目本质上映射到两个输出队列(例如,2:1映射操作)。由于HQM 310中的队列条目可以是指针,所以HQM 310可以包括可选的分组复制电路402,以便防止分组在调试或其他NSM操作期间发生改变。这使(例如,与图3中的工作器308I相关联的)一个或多个工作器线程能够分析一个或多个分组,以便帮助找到程式错误和/或其他NSM操作,诸如恶意软件检测、异常检测等等。
队列条目复制电路402可以帮助确保条目中指针所指向的数据在向工作器308I提供该数据的时候不发生改变。队列条目复制电路402和数据拷贝电路404可以取回指针所指向的条目并且向工作器308I提供复制的业务406。拷贝电路404可以是HQM 306、310或312的部分,或者在HQM 306、310或312的外部。
图5作为示例图示了系统500的实施例的示意图。系统500可以包括HQM 504,以便帮助减少用于NSM的时间量和/或计算周期。HQM 504可以帮助为VNF操作提供安全和/或调试功能,诸如可以由核心218A-218E实行。如图示的系统500包括核心218A-218E、安全电路210、存储器130、输入队列506、HQM 504、输出队列512以及配置接口514。
核心218A-218E接收指令并且基于该指令实行操作。当由处理器核心218A-218E之一执行时,指令的集合可以允许软件程序经由核心218A-218E的物理动作来实行特定功能。工作器308A-308D可以包括相应的核心218A-218C。输入队列506包括队列506A、506B、506C和506D。输入队列506可以是队列320的一部分。
如图示的HQM 504包括定序器电路508、控制电路、复制电路402以及拷贝电路404。HQM 504的项目可以是HQM 310的一部分。定序器电路508生成地址来对程序进行单步调试(step through)。可以基于计数器、来自指令的字段或来自输入队列506的其他数据来生成由定序器电路508所生成的地址。控制电路510管理程序的操作。控制电路510可以响应于诸如来自用户和/或定序器电路508的控制命令和数据。
输出队列512可以包括512A、512B、512C和512D。输出队列512可以是队列322的一部分。输出队列512管理去往处理核心218D和调试核心218E(除了别的核心以外)的数据流。调试核心218E可以包括工作器308I。处理核心218D可以包括工作器308E-308H。
如图示的配置接口514包括配置寄存器和队列路由控制电路518。配置寄存器516包括下述数据,该数据指示要针对NSM操作(诸如向调试核心218E)提供来自输入队列506的哪些数据。队列路由控制电路518可以被配置成控制定序器以及使定序器电路508向输出队列512D提供要被调试的数据。可以向输出队列512A-512C和输出队列512D中的一个提供要被调试的数据,以便向处理核心218D和调试核心218E提供数据。可以向处理核心218D提供不要被调试的数据,而不向调试核心218E提供该数据。配置寄存器516和队列路由控制电路518允许软件进行重新配置或者允许硬件进行重新配置(例如,带外),并且允许被设置为将业务从第一核心路由到第二核心(例如,第一VM到第二VM)的特定队列现在被设置为将业务从第一核心路由到第二核心以及从第一核心路由到第三核心,以例如使得能够实现调试或其他监控。
HQM 504可以起到存储器映射的IO设备的作用,该存储器映射的IO设备将来自输入队列506的队列条目通过以下各项进行路由:由定序器电路508进行定序、(例如,由控制电路510和/或复制电路402进行的)可选的原子流管理、仲裁和/或可选的重排序,然后路由到输出队列512。可以将输出队列512中的队列条目输送给平台线程,诸如可以由处理核心218D和调试核心218E执行。这样的系统500可以卸载队列管理并且消除用于线程间数据交换的基于共享存储器的队列结构,从而减少开销以及改善性能。诸如可以被用来使得能够实现定序器电路508的复制(例如,经由T形分流模式)的用以支持流复制的具体改变(包括配置寄存器516),改变成队列定序器电路508和新的逻辑,以拷贝队列条目来复制分组(例如,复制电路402,其可以拷贝输入队列506中的一个或多个的指针)。可选地,(HQM 504内部或外部的)拷贝电路404可以被用来拷贝分组本身而不是仅指针,如可以由复制电路402进行的那样,所以调试核心218E可以在没有内容改变的风险的情况下在之后消耗分组,内容改变可能导致不正确的调试结果。
图6作为示例图示了系统600的实施例的示意图。如图示的系统600包括软件配置流程线。管理员可以使用特许软件604(例如,OS、VMM、管理SGX指定位址空间(Enclave)或管理员的VM存储器加密的VM/VNF),以便配置HQM配置寄存器516,以使分组(或指针)诸如由复制电路402或拷贝电路404来复制。替换地,管理员可以向租户授予特许权利来对启用SGX(或VM存储器加密的)VM-TME的租户设定安全监控策略。访客然后在没有修改的情况下照常使用HQM——这是有价值的,因为改变VM可能是复杂的并且可能改变所暴露的程式错误的本质,特别是时序竞争条件或多线程的同步问题。这样,也可以在没有对流水线的多个阶段进行困难的重新配置的情况下检查服务功能链中的不同点。
图6图示了针对寄存器516的可能的修改流程。为了设置寄存器516,特许软件604可以修改HQM配置寄存器516来复制所选择的业务流。然后,取决于要在所复制的数据上实行什么种类的监控,可以复制数据本身或者可以仅复制指针。取决于寄存器516的配置,人员可以分析数据并且确定例如该数据是否如预期那样被配置或者如预期那样流动。一段时间后可以提供数据流的拷贝以用于后处理。如果例如数据是高带宽流,或者数据是其中创建数据的VM不一定能被控制的流,则流的完全复制可能是更有价值的。
图6中示出了一些接口选项。调试核心218E(参见图5)例如可以操作成通过调试API(例如,OS的部分)进行出列或者直接从用户空间进行出列,诸如由线601指示的。在这样的实施例中,可以将HQM 306、310和312的至少一部分直接映射到用户空间中。
当前的ARM和每秒百万条指令(MIPS)系统可以帮助实行物理网络功能,并且使用用于业务分离的专用固定功能部件引擎。随着平台架构人员开始致力于动态的、迁移驱动的以及异构的NFV/SDN工作量和系统,诸如软件驱动的云便携式NFV系统,可以使用通用ARM系统或其他系统来实现本文中讨论的实施例。
本文中讨论的一个或多个实施例可以被用在诸如用于无线基站消费器的5G/移动边缘云(MEC)环境中。如本文中讨论的包括HQM的SoC可能在SGX或其他启用安全性的环境中是有用的。
本发明的要素可以使得能够实现要在操作上针对NFV和SDN部署做好准备的接口架构或其他通信平台。随着在接口架构(IA)平台上核心的数量增加,可以将多个异构的VNF/VM部署在同一平台上。NSM向运营商网络部署提供操作上的可见性部件。本文中的实施例可以帮助确保IA为平台下或平台上监控提供线路速率和安全的网络业务度量和业务要素。
为了帮助解释一些实施例的优点,一些人员使用本文中提供的实例。考虑经由标准以太网交换机连接的多个计算设备(例如,框A、框B和框C)。框A与框B进行通信,以及框B与框C进行通信,以及然后去往网络的其余部分。然而,当框A-C的功能性被合并到服务器上作为VM或VNF时,仅存在对于如何连接该功能性的一些不同的选项。一个是经由原始共享存储器,该原始共享存储器具有安全问题和鲁棒操作问题。另一个是虚拟交换机,该虚拟交换机是较慢的。第三个是使用硬件加速,比如本文中讨论的HQM。但是,当使用HQM时,通常存在到框A-C的功能性中的程式错误可见性。假设框B在服务功能链(即,连接在一起的框A-C的功能性)的中间,以及框B被错误配置并且因而丢弃分组。
典型配置中的可见性将处于对于框A的输入端处以及处于来自框C的输出端处。这样的配置使得难以确定框A-C中的哪个框被错误配置或者出故障,这使得难以分辨出要对哪个框更详细地进行调试。利用一个或多个实施例,可以将数据(例如,分组流)分流成调试流。可以对框A与框B之间的分组流进行检查,例如以便那些分组正被正确地路由,或者该框A正在正确地进行操作。附加地或替换地,可以将测试点插入于框B与框C之间。使用一个或多个实施例,可以调试框B的操作。工作器8在图3和图4的实施例中可以操作成确定正在实行的操作是否是所请求的操作、一个或多个数据流是否正被处理以及被传递以用于进一步处理、分组是否正在被丢弃等等。
图7作为示例图示了用于诸如可以包括硬件加速之类的NSM的方法700的实施例的示图。如图示的方法700包括:在操作702处,(在HQM处)接收来自至少第一工作器线程的第一数据;在操作704处,(在HQM的拷贝电路或复制电路处)生成第一数据的至少一部分的拷贝来创建第一拷贝数据;以及在操作706处,(a)向第二工作器线程提供第一拷贝数据来实行网络安全监控,和/或(b)向第三工作器线程提供第一数据。方法700可以进一步包括:其中第二工作器线程是调试线程以及第三工作器线程可以包括分组检查、网络地址转换、入侵检测、广告插入和/或路由。
方法700可以进一步包括:其中第一工作器线程在第一处理核心上执行,第二工作器线程在第二处理核心上执行以及第三工作器线程在第三处理核心上执行,该第一、第二和第三处理核心包括单独的处理核心。方法700可以进一步包括:其中第一工作器线程在第一虚拟机上执行,第二工作器线程在第二虚拟机上执行以及第三工作器线程在第三虚拟机上执行,该第一、第二和第三处理虚拟机包括单独的虚拟机。
方法700可以进一步包括:其中操作704包括拷贝指向第一数据的指针。方法700可以进一步包括将第一数据和第一拷贝数据路由到耦合于第二和第三处理核心与硬件队列管理器之间的相应输出队列。方法700可以进一步包括接收用以指示要从多个输入队列拷贝的数据的指示信息,以及向数据复制电路提供要被拷贝的数据。
如本文中使用的“电路”意指电气和/或电子部件,诸如可以包括一个或多个晶体管、电阻器、电容器、电感器、二极管、逻辑门、多路复用器、振荡器、缓冲器、调制器、调节器、放大器、解调器、无线电设备(例如,传输或接收无线电设备或收发器)、传感器(例如,将一种形式的能量(例如,光能、热能、电能、机械能或其他能量)转换成另一种形式的能量的换能器)等等。
图8作为示例图示了系统800的实施例的框图。在一个或多个实施例中,系统800包括一个或多个部件,可以将该一个或多个部件包括在下述各项中:NFV基础架构102、编排器104、OSS/BSS 106、VNFM 108、VIM 110、SDN控制器114、网络分析工具112、存储器130、交换机/路由器118、运营商基础架构120、主机122、固件接口124、平台126A-126B、安全电路210、存储器队列208、队列策略寄存器216、核心218、高速缓存220、NIC 302、互连电路128、生产器304、HQM 306、310和/或312、工作器308A-308I、消费器314、NIC 316、高速缓存318、复制电路402、拷贝电路404、配置接口514、定序器电路508、控制电路510、核心218A-218E、输入队列506、输出队列512、HQM入列/出列寄存器608或附图的其他部件。在一个或多个实施例中,可以至少部分地使用系统800中的一个或多个部件来实现下述各项中的一个或多个:NFV基础架构102、编排器104、OSS/BSS 106、VNFM 108、VIM 110、SDN控制器114、网络分析工具112、存储器130、交换机/路由器118、运营商基础架构120、主机122、固件接口124、平台126A-126B、安全电路210、存储器队列208、队列策略寄存器216、核心218、高速缓存220、NIC302、互连电路128、生产器304、HQM 306、310和/或312、工作器308A-308I、消费器314、NIC316、高速缓存318、复制电路402、拷贝电路404、配置接口514、定序器电路508、控制电路510、核心218A-218E、输入队列506、输出队列512、HQM入列/出列寄存器608或附图1-7中的其他部件。
在一个实施例中,处理器810具有一个或多个处理核心812和812N,其中812N表示处理器810内部的第N个处理核心,其中N是正整数。在一个实施例中,系统800包括包含810和805的多个处理器,其中处理器805具有与处理器810的逻辑类似或相同的逻辑。在一些实施例中,处理核心812包括但不限于:用以对指令进行取指的预取指逻辑、用以解码指令的解码逻辑、用以执行指令的执行逻辑等等。在一些实施例中,处理器810具有高速缓存存储器816来对用于系统800的指令和/或数据进行高速缓存。可以将高速缓存存储器816组织到包括一级或多级高速缓存存储器的分级结构中。
在一些实施例中,处理器810包括存储器控制器814,其可操作来实行以下功能,该功能使得处理器810能够访问存储器830并且与存储器830通信,该存储器830包括易失性存储器832和/或非易失性存储器834。在一些实施例中,处理器810与存储器830和芯片集820耦合。还可以将处理器810耦合到无线天线878来与被配置成传输和/或接收无线信号的任何设备进行通信。在一个实施例中,无线天线接口878根据但不限于IEEE 802.11标准及其相关族、家用插头AV(HPAV)、超宽带(UWB)、蓝牙、WiMax或任何形式的无线通信协议进行操作。
在一些实施例中,易失性存储器832包括但不限于同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器设备。非易失性存储器834包括但不限于闪速存储器、相变存储器(PCM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或任何其他类型的非易失性存储器设备。
存储器830存储要由处理器810执行的信息和指令。在一个实施例中,存储器830还可以在处理器810正在执行指令的同时存储临时变量或其他中间信息。存储器830是机器可读介质的示例。虽然机器可读介质可以包括单个介质,但是术语“机器可读介质”可以包括单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。
术语“机器可读介质”可以包括下述任何介质:该介质能够存储、编码或携带用于由机器(例如,电路等等)执行的指令并且使机器实行本公开的技术中的任何一个或多个技术;或者能够存储、编码或携带由这样的指令使用或者与这样的指令相关联的数据结构。换言之,本文中讨论的电路可以包括指令,并且可以因此在各种实施例的情境中被称为机器可读介质。其他非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。机器可读介质的具体示例可以包括:非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))以及闪速存储器设备;磁盘,诸如内部硬盘和可移除磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。
在图示的实施例中,芯片集820经由点对点(PtP或P-P)接口817和822与处理器810连接。芯片集820使得处理器810能够连接到系统800中的其他元件。在本发明的一些实施例中,接口817和822根据诸如英特尔®快速路径互连(QuickPath Interconnect,QPI)等等的PtP通信协议进行操作。在其他实施例中,可以使用不同的互连。
在一些实施例中,芯片集820可操作成与处理器810、805N、显示设备840以及其他设备进行通信。芯片集820还可以耦合到无线天线878来与被配置成传输和/或接收无线信号的任何设备进行通信。
芯片集820经由接口826连接到显示设备840。显示设备840可以是例如液晶显示器(LCD)、等离子体显示器、阴极射线管(CRT)显示器或任何其他形式的视觉显示设备。在本发明的一些实施例中,将处理器810和芯片集820合并到单个SOC中。此外,芯片集820连接到将各种元件874、860、862、864和866进行互连的一个或多个总线850和855。可以经由总线桥872将总线850和855互连在一起。在一个实施例中,芯片集820经由接口824和/或804等与非易失性存储器860、(一个或多个)大容量存储设备862、键盘/鼠标864以及网络接口866耦合。
在一个实施例中,大容量存储设备862包括但不限于固态驱动器、硬盘驱动器、通用串行总线闪速存储器驱动器或任何其他形式的计算机数据存储介质。在一个实施例中,由任何类型的公知网络接口标准来实现网络接口866,该公知网络接口标准包括但不限于以太网接口、通用串行总线(USB)接口、外围部件互连(PCI)快速接口、无线接口和/或任何其他适合类型的接口。在一个实施例中,无线接口根据但不限于IEEE 802.11标准及其相关族、家用插头AV(HPAV)、超宽带(UWB)、蓝牙、WiMax或任何形式的无线通信协议进行操作。
虽然图8中示出的部件被描绘为系统800内的单独的块,但是可以将由这些块中的一些块实行的功能集成在单个半导体电路内,或者可以使用两个或更多个单独的集成电路来实现所述功能。例如,虽然高速缓存存储器816被描绘为处理器810内的单独的块,但是可以将高速缓存存储器816(或816的所选择的方面)结合到处理器核心812中。
示例和注释
可以作为若干示例来描述本主题。
示例1可以包括一种硬件队列管理器,该硬件队列管理器包括:耦合到多个输入队列的输入接口,该输入接口用以通过多个输入队列中的输入队列接收来自至少第一工作器线程的第一数据;队列复制电路,用以生成第一数据的至少一部分的拷贝来创建第一拷贝数据;以及耦合到多个输出队列的输出接口,该输出接口用以(a)向耦合到多个输出队列中的第一输出队列的第二工作器线程提供第一拷贝数据,以及(b)向耦合到多个输出队列中的第二输出队列的第三工作器线程提供第一数据的至少一部分。
在示例2中,示例1可以进一步包括,其中第一工作器线程在第一处理核心上执行,第二工作器线程在第二处理核心上执行以及第三工作器线程在第三处理核心上执行,该第一、第二和第三处理核心包括单独的处理核心。
在示例3中,示例2可以进一步包括,其中第一工作器线程在第一虚拟机上执行,第二工作器线程在第二虚拟机上执行以及第三工作器线程在第三虚拟机上执行,该第一、第二和第三处理虚拟机包括单独的虚拟机。
在示例4中,示例1-3中的至少一个可以进一步包括,其中队列复制电路用以拷贝指向第一数据的指针。
在示例5中,示例1-4中的至少一个可以进一步包括用以拷贝第一数据的数据拷贝电路。
在示例6中,示例1-5中的至少一个可以进一步包括队列路由控制电路,用以将第一数据和第一拷贝数据路由到耦合于第二和第三处理核心与硬件队列管理器之间的多个输出队列中的相应输出队列。
在示例7中,示例6可以进一步包括定序器电路,用以接收用以指示要从多个输入队列拷贝的数据的指示信息,以及向第三处理核心提供要被拷贝的数据,以及向复制电路提供要被拷贝的数据的拷贝。
示例8包括一种包括指令的非临时性机器可读介质,该指令当在机器上执行时使机器实行包括以下各项的操作:从耦合到硬件队列管理器的多个输入队列的输入端接收来自至少第一工作器线程的第一数据;生成第一数据的至少一部分的拷贝来创建第一拷贝数据;以及(a)向耦合到多个输出队列中的第一输出队列的第二工作器线程提供第一拷贝数据,以及(b)向耦合到多个输出队列中的第二输出队列的第三工作器线程提供第一数据的至少一部分。
在示例9中,示例8可以进一步包括,其中第二工作器线程是调试线程,以及第三工作器线程包括分组检查、网络地址转换、入侵检测、广告插入或路由。
在示例10中,示例8-9中的至少一个可以进一步包括,其中第一工作器线程在第一处理核心上执行,第二工作器线程在第二处理核心上执行以及第三工作器线程在第三处理核心上执行,该第一、第二和第三处理核心包括单独的处理核心。
在示例11中,示例8-9中的至少一个可以进一步包括,其中第一工作器线程在第一虚拟机上执行,第二工作器线程在第二虚拟机上执行以及第三工作器线程在第三虚拟机上执行,该第一、第二和第三处理虚拟机包括单独的虚拟机。
在示例12中,示例8-11中的至少一个可以进一步包括,其中生成第一数据的至少一部分的拷贝包括拷贝指向第一数据的指针。
在示例13中,示例8-12中的至少一个可以进一步包括,其中操作进一步包括将第一数据和第一拷贝数据路由到耦合于第二和第三处理核心与硬件队列管理器之间的多个输出队列中的相应输出队列。
在示例14中,示例13可以进一步包括接收用以指示要从多个输入队列拷贝的数据的指示信息,以及向数据复制电路提供要被拷贝的数据。
示例15包括一种用于网络安全监控的方法,该方法包括:在硬件队列管理器的输入接口处以及通过耦合到硬件队列管理器的多个输入队列中的输入队列接收来自第一工作器线程的第一数据;在硬件队列管理器处生成第一数据的至少一部分的拷贝来创建第一拷贝数据;以及(a)向第二工作器线程提供第一拷贝数据以实行网络安全监控,第二工作器线程耦合到多个输出队列中的第一输出队列,该多个输出队列耦合到硬件队列管理器,以及(b)通过耦合到硬件队列管理器的多个输出队列中的第二输出队列向第三工作器线程提供第一数据的至少一部分。
在示例16中,示例15可以进一步包括,其中第二工作器线程是调试线程,以及第三工作器线程包括分组检查、网络地址转换、入侵检测、广告插入或路由。
在示例17中,示例15-16中的至少一个可以进一步包括,其中第一工作器线程在第一处理核心上执行,第二工作器线程在第二处理核心上执行以及第三工作器线程在第三处理核心上执行,该第一、第二和第三处理核心包括单独的处理核心。
在示例18中,示例15-16中的至少一个可以进一步包括,其中第一工作器线程在第一虚拟机上执行,第二工作器线程在第二虚拟机上执行以及第三工作器线程在第三虚拟机上执行,该第一、第二和第三处理虚拟机包括单独的虚拟机。
在示例19中,示例15-18中的至少一个可以进一步包括,其中生成第一数据的至少一部分的拷贝包括拷贝指向第一数据的指针。
在示例20中,示例15-19中的至少一个可以进一步包括,其中操作进一步包括将第一数据和第一拷贝数据路由到耦合于第二和第三处理核心与硬件队列管理器之间的多个输出队列中的相应输出队列。
在示例21中,示例20可以进一步包括接收用以指示要从多个输入队列拷贝的数据的指示信息,以及向数据复制电路提供要被拷贝的数据。
示例22包括一种系统,该系统包括:网络功能虚拟化基础架构,该网络功能虚拟化基础架构包括用以实行虚拟网络功能的操作的多个处理核心,以及用以对处理核心的业务进行监控和拷贝的安全电路;耦合到安全电路的控制器,用以提供安全策略,该安全策略定义要被监控的业务并且指示安全电路是要拷贝数据还是要拷贝指向业务的数据的指针;以及网络分析工具,用以确定拷贝的业务何时包括程式错误、丢弃的分组或安全威胁。
在示例23中,示例22可以进一步包括,其中控制器进一步用以确定多个处理核心中的哪个核心实行多个虚拟网络功能中的特定虚拟网络功能,以及其中安全策略在被执行时用以指示所确定的核心,以及安全电路用以拷贝来自所确定的核心的业务。
在示例24中,示例23可以进一步包括交换机或路由器,以及其中控制器进一步用以通过该交换机或路由器向安全电路提供安全策略。
在示例25中,示例24可以进一步包括存储器中的多个存储器队列,用以接收来自安全电路的拷贝业务,并且向网络分析电路提供拷贝业务。
这些非限制性示例中的每个示例都可以独立存在,或者可以以各种排列或组合与其他示例中的一个或多个示例进行组合。“非临时性”仅意指介质包括一种形式的有形介质。
上文的详细描述包括对形成该详细描述的一部分的附图的参考。附图作为图示示出了其中可以实践本文中所讨论的方法、装置和系统的具体实施例。这些实施例在本文中还被称为“示例”。这样的示例可以包括除了所示出或描述的那些元件之外的元件。然而,本文档意图包括其中仅提供所示出或描述的那些元件的示例。此外,还作为示例实施例而包括了使用关于特定示例(或其一个或多个方面)或者关于本文中所示出或描述的其他示例(或其一个或多个方面)在本文中所示出或描述的那些元件(或其一个或多个方面)的任何组合或排列的示例。
在本文档中,使用如在专利文档中常见的术语“一”或“一个”来包括一个或多于一个,而独立于“至少一个”或者“一个或多个”的任意其他实例或使用。在本文档中,术语“或者”被用于指代非排他性的“或者”,使得“A或者B”包括“A但不是B”、“B但不是A”以及“A和B”,除非另行指示。在本文档中,术语“包括”和“在其中”被用作相应术语“包含”和“其中”的平常等同方式。而且,在所附权利要求中,术语“包括”和“包含”是开放式的,即包括除了在权利要求中的这样的术语之后列出的那些要素之外的要素的系统、设备、物品、组成、配方(formulation)或过程仍然被视为落入该权利要求的范围内。此外,在所附权利要求中,术语“第一”、“第二”和“第三”等等仅被用作标签,并且不意图对它们的对象强加数值要求。
以上描述意图是说明性的,而不是限制性的。例如,可以以彼此组合的方式使用上文所描述的示例(或其一个或多个方面)。可以诸如由本领域技术人员在审阅以上描述时使用其他实施例。提供摘要来允许读者快速明确本技术公开的本质。所提出的理解是,以上描述将不被用来解释或限制权利要求的范围或含义。而且,在具体实施方式中,可以将各种特征集合在一起以使本公开简单化。这不应当被解释为意图使未要求保护的公开特征对于任何权利要求是必要的。而是,发明主题可以在比特定的公开实施例的所有特征更少的情况下存在。因此,将所附权利要求在此作为示例或实施例而结合到具体实施方式中,其中每个权利要求作为单独的实施例而独立存在,以及所预料到的是,这样的实施例可以以各种组合或排列形式彼此组合。应当关于所附权利要求以及对这样的权利要求所赋予的等价方式的全部范围一起来确定本发明的范围。

Claims (25)

1.一种硬件队列管理器,包括:
输入接口,用以接收来自至少第一工作器线程的第一数据;
队列复制电路,用以生成所述第一数据的至少一部分的拷贝来创建第一拷贝数据;以及
输出接口,用以(a)向第二工作器线程提供所述第一拷贝数据,以及(b)向第三工作器线程提供所述第一数据。
2.根据权利要求1所述的装置,其中所述第一工作器线程在第一处理核心上执行,所述第二工作器线程在第二处理核心上执行以及所述第三工作器线程在第三处理核心上执行,所述第一、第二和第三处理核心包括单独的处理核心。
3.根据权利要求1所述的装置,其中所述第一工作器线程在第一虚拟机上执行,所述第二工作器线程在第二虚拟机上执行以及所述第三工作器线程在第三虚拟机上执行,所述第一、第二和第三处理虚拟机包括单独的虚拟机。
4.根据权利要求1所述的装置,其中所述队列复制电路用以拷贝指向所述第一数据的指针。
5.根据权利要求4所述的装置,进一步包括用以拷贝所述第一数据的数据拷贝电路。
6.根据权利要求1所述的装置,进一步包括队列路由控制电路,用以将所述第一数据和所述第一拷贝数据路由到耦合于第二和第三处理核心与所述硬件队列管理器之间的相应输出队列。
7.根据权利要求6所述的装置,进一步包括定序器电路,用以接收用以指示要从多个输入队列拷贝的数据的指示信息,以及向所述第三处理核心提供要被拷贝的数据,以及向所述复制电路提供要被拷贝的数据的拷贝。
8.一种包括指令的非临时性机器可读介质,所述指令当在机器上执行时使所述机器实行包括以下各项的操作:
接收来自至少第一工作器线程的第一数据;
生成所述第一数据的至少一部分的拷贝来创建第一拷贝数据;以及
(a)向第二工作器线程提供所述第一拷贝数据,以及(b)向第三工作器线程提供所述第一数据。
9.根据权利要求8所述的非临时性机器可读介质,其中所述第二工作器线程是调试线程,以及所述第三工作器线程包括分组检查、网络地址转换、入侵检测、广告插入或路由。
10.根据权利要求8所述的非临时性机器可读介质,其中所述第一工作器线程在第一处理核心上执行,所述第二工作器线程在第二处理核心上执行以及所述第三工作器线程在第三处理核心上执行,所述第一、第二和第三处理核心包括单独的处理核心。
11.根据权利要求8所述的非临时性机器可读介质,其中所述第一工作器线程在第一虚拟机上执行,所述第二工作器线程在第二虚拟机上执行以及所述第三工作器线程在第三虚拟机上执行,所述第一、第二和第三处理虚拟机包括单独的虚拟机。
12.根据权利要求8所述的非临时性机器可读介质,其中生成所述第一数据的至少一部分的拷贝包括拷贝指向所述第一数据的指针。
13.根据权利要求8所述的非临时性机器可读介质,其中所述操作进一步包括将所述第一数据和所述第一拷贝数据路由到耦合于第二和第三处理核心与硬件队列管理器之间的相应输出队列。
14.根据权利要求13所述的非临时性机器可读介质,进一步包括接收用以指示要从多个输入队列拷贝的数据的指示信息,以及向数据复制电路提供要被拷贝的数据。
15.一种用于网络安全监控的方法,所述方法包括:
接收来自至少第一工作器线程的第一数据;
生成所述第一数据的至少一部分的拷贝来创建第一拷贝数据;以及
(a)向第二工作器线程提供所述第一拷贝数据来实行网络安全监控,以及(b)向第三工作器线程提供所述第一数据。
16.根据权利要求15所述的方法,其中所述第二工作器线程是调试线程,以及所述第三工作器线程包括分组检查、网络地址转换、入侵检测、广告插入或路由。
17.根据权利要求15所述的方法,其中所述第一工作器线程在第一处理核心上执行,所述第二工作器线程在第二处理核心上执行以及所述第三工作器线程在第三处理核心上执行,所述第一、第二和第三处理核心包括单独的处理核心。
18.根据权利要求15所述的方法,其中所述第一工作器线程在第一虚拟机上执行,所述第二工作器线程在第二虚拟机上执行以及所述第三工作器线程在第三虚拟机上执行,所述第一、第二和第三处理虚拟机包括单独的虚拟机。
19.根据权利要求15所述的方法,其中生成所述第一数据的至少一部分的拷贝包括拷贝指向所述第一数据的指针。
20.根据权利要求15所述的方法,其中所述操作进一步包括将所述第一数据和所述第一拷贝数据路由到耦合于第二和第三处理核心与硬件队列管理器之间的相应输出队列。
21.根据权利要求20所述的方法,进一步包括接收用以指示要从多个输入队列拷贝的数据的指示信息,以及向数据复制电路提供要被拷贝的数据。
22.一种系统,包括:
网络功能虚拟化基础架构,其包括用以实行虚拟网络功能的操作的多个处理核心和用以对所述处理核心的业务进行监控和拷贝的安全电路;
耦合到所述安全电路的控制器,用以提供安全策略,所述安全策略定义要被监控的业务并且指示所述安全电路是要拷贝数据还是要拷贝指向所述业务的数据的指针;以及
网络分析工具,用以确定拷贝业务何时包括程式错误、丢弃的分组或安全威胁。
23.根据权利要求22所述的系统,其中所述控制器进一步用以确定所述多个处理核心中的哪个核心实行所述多个虚拟网络功能中的特定虚拟网络功能,以及其中所述安全策略在被执行时用以指示所确定的核心,以及所述安全电路用以拷贝来自所确定的核心的业务。
24.根据权利要求23所述的系统,进一步包括交换机或路由器,以及其中所述控制器进一步用以通过所述交换机或路由器向所述安全电路提供所述安全策略。
25.根据权利要求24所述的系统,进一步包括存储器中的多个存储器队列,用以接收来自所述安全电路的拷贝业务,并且向所述网络分析电路提供所述拷贝业务。
CN201810518765.2A 2017-05-26 2018-05-25 加速网络安全监控 Pending CN108965239A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/607,121 US20180341494A1 (en) 2017-05-26 2017-05-26 Accelerating network security monitoring
US15/607121 2017-05-26

Publications (1)

Publication Number Publication Date
CN108965239A true CN108965239A (zh) 2018-12-07

Family

ID=62165338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810518765.2A Pending CN108965239A (zh) 2017-05-26 2018-05-25 加速网络安全监控

Country Status (4)

Country Link
US (2) US20180341494A1 (zh)
EP (1) EP3407563B1 (zh)
KR (1) KR102623787B1 (zh)
CN (1) CN108965239A (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705849B2 (en) * 2014-09-30 2017-07-11 Intel Corporation Technologies for distributed detection of security anomalies
WO2018183542A1 (en) 2017-03-29 2018-10-04 Fungible, Inc. Non-blocking any-to-any data center network with packet spraying over multiple alternate data paths
US10659254B2 (en) 2017-07-10 2020-05-19 Fungible, Inc. Access node integrated circuit for data centers which includes a networking unit, a plurality of host units, processing clusters, a data network fabric, and a control network fabric
EP3625679A1 (en) * 2017-07-10 2020-03-25 Fungible, Inc. Data processing unit for stream processing
US10735441B2 (en) * 2017-12-20 2020-08-04 Cisco Technology, Inc. Correlating endpoint and network views to identify evasive applications
WO2019152063A1 (en) 2018-02-02 2019-08-08 Fungible, Inc. Efficient work unit processing in a multicore system
EP3942759A4 (en) 2019-05-23 2023-04-05 Hewlett Packard Enterprise Development LP SYSTEM AND METHODS FOR EFFICIENT MANAGEMENT OF IDEMPOTENTE OPERATIONS IN A NETWORK INTERFACE CONTROLLER (NIC )
US20210194894A1 (en) * 2019-12-23 2021-06-24 Cisco Technology, Inc. Packet metadata capture in a software-defined network
CN114845162B (zh) * 2021-02-01 2024-04-02 北京字节跳动网络技术有限公司 视频播放方法、装置、电子设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US8204082B2 (en) * 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
US20050157719A1 (en) * 2004-01-20 2005-07-21 Robotham Robert E. Method and apparatus for multicasting of cell or frame data
US8196147B1 (en) * 2008-10-31 2012-06-05 Netapp, Inc. Multiple-processor core optimization for producer-consumer communication
KR20110065067A (ko) * 2009-12-09 2011-06-15 삼성전자주식회사 멀티 쓰레드 테스팅시 발생되는 에러 정보에 대한 비주얼 인터페이스를 제공하는 장치 및 방법
US8145945B2 (en) * 2010-01-04 2012-03-27 Avaya Inc. Packet mirroring between primary and secondary virtualized software images for improved system failover performance
US9438527B2 (en) * 2012-05-24 2016-09-06 Marvell World Trade Ltd. Flexible queues in a network switch
US9348638B2 (en) * 2013-01-17 2016-05-24 Xockets, Inc. Offload processor modules for connection to system memory, and corresponding methods and systems
US9787567B1 (en) * 2013-01-30 2017-10-10 Big Switch Networks, Inc. Systems and methods for network traffic monitoring
US9331941B2 (en) * 2013-08-12 2016-05-03 Cisco Technology, Inc. Traffic flow redirection between border routers using routing encapsulation
US9311508B2 (en) * 2013-12-27 2016-04-12 Intel Corporation Processors, methods, systems, and instructions to change addresses of pages of secure enclaves
US9413819B1 (en) * 2014-03-21 2016-08-09 Amazon Technologies, Inc. Operating system interface implementation using network-accessible services
US9531641B2 (en) * 2014-07-29 2016-12-27 Oracle International Corporation Virtual output queue linked list management scheme for switch fabric
US10091215B1 (en) * 2014-09-09 2018-10-02 Amazon Technologies, Inc. Client isolation in a distributed queue
US9813327B2 (en) * 2014-09-23 2017-11-07 Cavium, Inc. Hierarchical hardware linked list approach for multicast replication engine in a network ASIC
US9762457B2 (en) * 2014-11-25 2017-09-12 At&T Intellectual Property I, L.P. Deep packet inspection virtual function
KR101994118B1 (ko) * 2015-09-09 2019-09-30 한국전자통신연구원 범용 vnfm 및 vnf 관리 방법
US10574546B2 (en) * 2016-09-27 2020-02-25 Mellanox Technologies Tlv Ltd. Network monitoring using selective mirroring
US10469359B2 (en) * 2016-11-03 2019-11-05 Futurewei Technologies, Inc. Global resource orchestration system for network function virtualization
US10275378B2 (en) * 2017-03-07 2019-04-30 Western Digital Technologies, Inc. Data buffer pointer fetching for direct memory access

Also Published As

Publication number Publication date
KR102623787B1 (ko) 2024-01-12
EP3407563B1 (en) 2020-09-23
US20180341494A1 (en) 2018-11-29
US20210318885A1 (en) 2021-10-14
EP3407563A1 (en) 2018-11-28
KR20180129631A (ko) 2018-12-05

Similar Documents

Publication Publication Date Title
CN108965239A (zh) 加速网络安全监控
CN107925588B (zh) 用于平台处理核心配置的方法、设备、装置及介质
US10893100B2 (en) Providing agentless application performance monitoring (APM) to tenant applications by leveraging software-defined networking (SDN)
US10397280B2 (en) Technologies for scalable security architecture of virtualized networks
Anderson et al. Performance considerations of network functions virtualization using containers
US11095755B2 (en) Telemetry for disaggregated resources
US20190104022A1 (en) Policy-based network service fingerprinting
US20180357086A1 (en) Container virtual switching
US20150156086A1 (en) Behavioral network intelligence system and method thereof
US11005968B2 (en) Fabric support for quality of service
Hu et al. Towards" full containerization" in containerized network function virtualization
EP3588856B1 (en) Technologies for hot-swapping a legacy appliance with a network functions virtualization appliance
US20230185732A1 (en) Transparent encryption
CN115484042A (zh) 机器学习辅助的网络设备
Hong et al. Design and implementation of eBPF-based virtual TAP for inter-VM traffic monitoring
Loreti et al. SRv6-PM: A cloud-native architecture for performance monitoring of SRv6 networks
Cao et al. CoFilter: High-performance switch-accelerated stateful packet filter for bare-metal servers
US11080202B2 (en) Lazy increment for high frequency counters
Marian Operating systems abstractions for software packet processing in datacenters
US20230388398A1 (en) Encoding of an implicit packet sequence number in a packet
Clouet et al. A unified monitoring framework for energy consumption and network traffic
Chen et al. Evolving switch architecture toward accommodating in-network intelligence
US20230393956A1 (en) Network interface device failover
US20230409511A1 (en) Hardware resource selection
US20240069998A1 (en) Using past performance of computing resources to perform software programs

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