当前位置: 首页 > 专利查询>英特尔公司专利>正文

加速网络分组处理制造技术

技术编号:18824791 阅读:39 留言:0更新日期:2018-09-01 13:42
本文中描述了用于加速分组处理的设备和技术。该设备可以使动作匹配至网络数据分组的一部分并且通过处理动作来通过机器使针对网络数据分组的分组处理流水线加速。

【技术实现步骤摘要】
【国外来华专利技术】加速网络分组处理本申请要求保护2015年12月22日提交的美国专利申请序列号14/977,810的优先权的权益,通过引用将其以其整体合并于此。
本文所述实施例总体上涉及通过网络发送或接收的数据分组的处理。一些实施例涉及数据分组处理的硬件加速。
技术介绍
当硬件交换机与专门的硬件功能相结合时,该硬件交换机提供网络能力,包括分组交换、安全性、深度分组检查和其他能力。最近,已经出现了提供在大容量计算机架构上执行虚拟交换机和虚拟功能的趋势。业界一直致力于改善虚拟交换机之间的协调,以达到最佳地利用由硬件交换机提供的吞吐量益处连同虚拟交换机的灵活性和功率的目的。附图说明在不一定按照比例绘制的绘图中,相似的数字可以描述不同视图中的类似组件。具有不同字母后缀的相似数字可以表示类似组件的不同实例。绘图通常以示例的方式而非限制的方式来说明在本文档中讨论的各个实施例。图1图示根据一些实施例的部署用于实施加速网络分组处理的多个交换平台的单个系统的组件。图2图示根据一些实施例的部署用于实施加速网络分组处理的虚拟环境的系统的组件。图3图示根据一些实施例的用来加速网络处理的控制设备。图4图示根据一些实施例的用于加速网络分组处理的方法。图5图示根据一些实施例的用于加速网络分组处理的系统。具体实施方式一些网络分组处理解决方案已将重点集中在硬件上,使用机架顶(ToR)交换机和专用功能硬件来提供网络功能(包括分组交换、安全性、深度分组检查和其他功能)。然而,客户可能经历由硬件限制(诸如有限的存储器、有限的三态内容可寻址存储器(TCAM)、减少的被支持数据流的总数等等)造成的降低的功能。此外,硬件交换机在分组解析方面可能过于严格并且硬件交换可能会展示出平台灵活性和可配置性的普遍缺乏。因此,业界的趋势已提供软件定义网络(SDN)以用于使网络功能与底层硬件解耦,这可以帮助增加敏捷性并降低成本。类似地,网络功能虚拟化(NFV)可以用完全部署在软件中的实现来替换固定功能硬件,该软件在通用、基于标准的服务器、大容量服务器等等上更成本高效地运行。然而,这种软件定义系统可能不会利用硬件交换机的某些合意的特性。这些基于软件的解决方案包括对底层物理架构的各种各样的基于软件的抽象。例如,虚拟交换机允许一个或多个虚拟机(VM)彼此通信。虚拟网络功能(VNF)可以包括在一个或多个大容量硬件服务器架构、硬件交换机、硬件存储装置和/或云基础设施上执行的一个或多个VM(运行不同操作系统(OS))。VNF过程用来提供取代定制网络设备的专门网络处理。各种各样的应用编程接口(API)和软件平台都存在于用于准许利用虚拟交换机的网络自动化的行业中。这些方法的一个显著好处是用来在操作系统(OS)的用户级定义和定制分组处理规则和对应动作的能力。这些方法的一个问题是底层物理硬件交换机的利用不足,因为大量的规则匹配和分组处理的动作标识是在OS的内核空间内进行的,并且不是在底层硬件交换机上进行的,该底层硬件交换机具有显著更好的处理吞吐量。与更好地利用底层交换机架构相关联的一种方法是单输入/输出(I/O)虚拟化(SR-IOV)。在SR-IOV的情况下,提供了允许设备适配器在分组处理功能之间分离硬件资源的接口。然而,这是一种二进制方法,在这种情况下特征是:接通或断开。此外,SR-IOV激活改变了该架构的配置和管理。因此,SR-IOV是分组处理“卸下”解决方案,而不是分组加速解决方案。实施例提供了一种用来加速现有虚拟交换机解决方案的方式,以便更好地利用底层物理交换机硬件,而不改变或修改现有虚拟交换机解决方案如何与设备管理和配置的上层交互。分组处理以细粒度的方式协调并管理多个数据平面组件,以利用硬件交换和SDN/NFV使用二者的合意特征。控制平面组件包括用来确定通信量(例如,数据分组或流)应该指向哪里的机制,而数据平面组件包括向这些目的地转发通信量的机制。实施例提供了用来加速针对多个数据平面组件的分组处理的控制平面方法、系统和设备。除了其他组件之外,该数据平面组件可以包括(以非限制示例的方式)数据平面开发套件(DPDK)组件、现场可编程门阵列(FPGA)组件和从加州圣克拉拉的英特尔可得到的RedRockCanyon(RRC)/FM10K交换组件。根据各个实施例的方法可以基于用户定义的和用户配置的动作以动态且灵活的方式协调这些和其他组件的利用,以减少或最小化能量消耗或提高速度和性能。在实施例中,控制平面可以从基于软件的交换机或虚拟交换机卸下简单的快速分组处理流水线来交换硬件,同时在基于CPU的软件数据平面上提供更复杂的处理。图1图示部署用于实施根据一些实施例的方法的多个交换平台的单个网络100的组件。实施例的说明仅仅呈现领会所描绘的实施例所必需的那些组件,以使得在不偏离本文中的教导的情况下其他组件是可预见的。该系统100实施在现有的基于软件的分组处理流水线(一系列分组处理阶段)中具有增强匹配动作加速的技术,以用于优化的增加带宽、更低的延迟和抖动、以及更低的中央处理单元(CPU)消耗。匹配动作处理指的是系统100通过其来实现分组处理加速的机制。在系统100中找到的匹配动作资源执行该加速。现有的基于软件的控制平面101和102(诸如OpenStack、OpenDaylight等等)不需要修改以便实现本文中提出的加速。此外,不需要修改诸如半虚拟化(Virtio)113和133的现有的虚拟化构造(提供虚拟环境管理)来使用系统100下面的架构,其包括对分组加速的优化。不存在需要用户学习的附加接口或控制平面以便实现本文中呈现的关于设备(诸如由VNF110、120和130管理的VM)之间加速分组处理/通信的优化。具体来说,网络接口控制器(NIC)提供一个或多个新颖的物理功能(PF141)和一个或多个虚拟函数(VF142和143)。这些功能141-143响应于一个或多个新颖的匹配动作(例如P4)表,并与现有控制平面101和102以及它们的现有API命令协作,以用于通过将基于软件的匹配动作网络分组处理卸下至NIC140的底层交换架构来执行VNF(110、120和130)之间的增强的网络分组处理。该处理在TCAM内的NIC140、PF141和/或VF142和143上的操作系统(OS)内核堆栈115的下面发生。功能141-143提供:1)虚拟交换机(vSwitch)加速118,2)vSwitch卸下126,3)VNF加速124,4)半虚拟化(虚拟化(VM))加速135。要指出,虽然系统100描绘了支持四种类型的加速(118、124、126和135)的功能141-143;但并不一定在每个实例中都是如此。也就是说,在其他实施例中,NIC可以实施四种类型的加速(118、124、126和135)中的一种和/或配置为支持四种类型的加速(118、124、126和135)的所有或各种组合。通过匹配动作处理的功能(141、142和143)和支持的四种类型的网络分组加速(118、124、126和135)如下(参考图1的系统100)。要指出,VNF110被编程用于(在系统100的底层硬件上)处理各种各样的软件,诸如并且以示例的方式,网络应用111(执行一个或多个专用网络分组处理操作)、数据计划开发套件122(DPDK122本文档来自技高网...

【技术保护点】
1.一种具有用于加速的分组处理的存储器和处理器的控制设备,包括:存储器;以及处理器,其被配置成:使来自表的动作引用匹配至网络数据分组中的数据的一部分;以及与使针对网络数据分组的分组处理流水线加速的存储器协作地处理通过动作引用标识的动作。

【技术特征摘要】
【国外来华专利技术】2015.12.22 US 14/9778101.一种具有用于加速的分组处理的存储器和处理器的控制设备,包括:存储器;以及处理器,其被配置成:使来自表的动作引用匹配至网络数据分组中的数据的一部分;以及与使针对网络数据分组的分组处理流水线加速的存储器协作地处理通过动作引用标识的动作。2.根据权利要求1所述的控制设备,其中当处理器处理该动作时,该处理电路系统被进一步配置成在数据的该部分上执行三元内容可寻址存储器查找并且根据网络数据分组的预分类将来自查找的结果插入网络数据分组中。3.根据权利要求1所述的控制设备,其中当处理器处理该动作时,该处理器被进一步配置成:解封网络数据分组的外部隧道封装的报头;从网络数据分组移除外部隧道封装的报头;以及将元数据添加到用于指示从网络数据分组移除了外部隧道封装的报头的网络数据分组的报头中。4.根据权利要求1-3中的任一项所述的控制设备,其中当处理器处理该动作时,该处理器被进一步配置成:拷贝来自网络数据分组的分组有效载荷;以及将已拷贝的分组有效载荷发送至独立于处理分组处理流水线的位置的位置。5.根据权利要求1所述的控制设备,其中当处理器处理该动作时,该处理器被进一步配置成:将数据分组转发规则从虚拟交换机拷贝至第二虚拟交换机。6.根据权利要求1所述的控制设备,其中该处理器是集成在控制设备中的物理功能。7.根据权利要求1所述的控制设备,其中该处理器是被编程到控制设备中的虚拟化功能。8.根据权利要求1-7中的任一项所述的控制设备,进一步包括:数据平面接口,其被配置成将网络数据分组转发至以下各项中的一个:操作系统(OS)内核堆栈、虚拟交换机、和驱动器。9.根据权利要求1-8中的任一项所述的控制设备,其中该控制设备是网络接口控制器。10.根据权利要求9所述的控制设备,其中该控制设备被接口连接且集成到多核硬件服务器中。11.一种机器可读介质,其包括当在机器上执行时促使该机器执行包括以下各项的操作的指令:在机器内使网络数据分组的一部分匹配至匹配动作表中的动作;以及通过执行作为针对网络数据分组的分组处理流水线的一部分的动作来通过机器使对网络数据分组的处理加速。12.根据权利要求11所述的机器可读介质,其中用来加速的指令进一步包括用来将指示当动作被处理时分组处理流水线的一部分被处理的元数据插入网络数据分组中的指令。13.根据权利要求11所述的机器可...

【专利技术属性】
技术研发人员:J法斯塔本德M维克D达利BJ斯克里M瓦莱塞JM陈DY周
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1