数据包处理管线的硬件无关性规范制造技术

技术编号:37504282 阅读:14 留言:0更新日期:2023-05-07 09:39
本公开涉及数据包处理管线的硬件无关性规范。一种方法包括提供硬件无关性数据包处理函数库。从用户处接收用于在网络设备中使用的数据包处理管线的函数性的硬件无关性规范。该规范是依据从库中提取的一个或更多个数据包处理函数定义的。从规范中导出适合给定硬件的数据包处理管线的硬件特定设计。数据包处理管线的硬件特定设计。数据包处理管线的硬件特定设计。

【技术实现步骤摘要】
数据包处理管线的硬件无关性规范
[0001]相关申请的交叉引用
[0002]本申请要求2021年11月2日提交的美国临时专利申请63/274,553的利益,其公开内容通过参考而被合并于本文中。


[0003]本专利技术通常涉及数据包处理,并且特别涉及数据包处理管线的硬件无关性规范。

技术介绍

[0004]网络设备(诸如通信网络中的交换机、路由器和网络适配器),通常使用数据包处理管线来处理通信数据包。
[0005]美国专利11,271,874公开了一种网络适配器,其包括被配置为与主机通信的主机接口、被配置为与通信网络通信的网络接口,以及数据包处理电路。数据包处理电路被配置为经由主机接口从主机接收数据包,或经由网络接口从通信网络接收数据包,接收用于同步通信网络中的网络元素的网络时间的指示,将数据包与规则相匹配,该规则包括条件和动作,并响应于数据包满足条件来执行动作,其中(i)规则中的条件和(ii)规则中的动作中的一个或更多个取决于网络时间。
[0006]美国专利10,841,243公开了一种网络接口控制器,其被连接到主机和数据包通信网络。该网络接口控制器包括被配置为具有多个阶段的数据包处理管线的电气电路。在网络接口控制器中确定管线的阶段中的至少一部分是加速定义的阶段。通过从加速定义阶段向加速器发送数据、在加速器中对发送的数据执行相应的加速任务,以及从加速器向管线的接收阶段返回经处理的数据,在管线中处理数据包。

技术实现思路

[0007]在本文描述的本专利技术的实施例提供了一种方法,包括提供硬件无关性数据包处理函数库。从用户处接收用于在网络设备中使用的数据包处理管线的函数性的硬件无关性规范。该规范是依据从库中提取的一个或更多个数据包处理函数定义的。从规范中导出适合给定的硬件的数据包处理管线的硬件特定设计。
[0008]在一些实施例中,提供该库包括向用户公开用于使用该库来定义规范的应用程序编程接口(API)。在各种实施例中,硬件无关性数据包处理函数执行访问控制列表(ACL)功能、最长前缀匹配(LPM)、匹配表功能、加密、解密、数据包修改、数据包镜像、数据包计量、数据包计数、连接追踪、数据包龄期测定和数据包转发中的一个或更多个。
[0009]在一个实施例中,至少一个硬件无关性数据包处理函数包括用户可配置的数据包解析操作,并且从用户那里接收规范包括接收数据包解析操作的配置。在一个公开的实施例中,至少一个硬件无关性数据包处理函数包括用户可配置的动作,并且从用户处接收规范包括接收该动作的配置。在一些实施例中,导出数据包处理管线的硬件特定设计包括导出交换机、路由器、网关、网络适配器、防火墙和用户平面函数(UPF)中的一个的设计。
[0010]根据本文所述的一个实施例,附加地提供包括存储器和处理器的设备。存储器用于存储硬件无关性数据包处理函数库。处理器用于向用户提供该库,从用户处接收用于在网络设备中使用的数据包处理管线的函数性的硬件无关性规范,该规范是依据从该库中提取的一个或更多个数据包处理函数定义的,并从该规范中导出适合给定硬件的数据包处理管线的硬件特定设计。
[0011]根据本文所述的一个实施例,还提供了一种计算机软件产品。该产品包括其中存储有程序指令的有形的非暂时性计算机可读介质,该指令在被处理器读取时,使得处理器存储硬件无关性数据包处理函数库,用于向用户提供该库,以从用户处接收用于在网络设备中使用的数据包处理管线的函数性的硬件无关性规范,该规范是依据从库中提取的一个或更多个数据包处理函数定义的,并且从该规范中导出适合于给定硬件的数据包处理管线的硬件特定设计。
[0012]本专利技术将从以下结合附图对其实施例的详细描述中得到更充分的理解。
附图说明
[0013]图1是根据本专利技术的一个实施例的示意性地示出了用于基于管线的数据包处理系统的设计的系统的框图;
[0014]图2是根据本专利技术的一个实施例的示意性地示出了用于设计基于管线的数据包处理系统的方法的流程图;
[0015]图3是根据本专利技术的一个实施例的示意性地示出了片上数据中心架构(DOCA)流管的框图;
[0016]图4是根据本专利技术的一个实施例的示意性地示出了DOCA流生成的通信交换机的框图;
[0017]图5是根据本专利技术的一个实施例的示意性地示出了将硬件无关性API数据库转换为硬件相关电路描述的转换软件的配置的框图;
[0018]图6是根据本专利技术的一个实施例的示意性地示出了由硬件无关性描述生成解析器电路的框图;
[0019]图7是根据本专利技术的一个实施例的示意性地示出了DOCA流生成的混合硬件

软件电路的框图;
[0020]图8是根据本专利技术的一个实施例的示意性地示出了DOCA流生成的用户平面函数(UPF)的配置的框图;以及
[0021]图9是根据本专利技术的一个实施例的示意性地示出了包括硬件和软件的组合的DOCA流生成的数据包处理设备的配置的框图。
具体实施方式
[0022]概述
[0023]网络设备(诸如网络交换机、路由器、网络适配器和其他设备)通过通信网络(例如以太网或InfiniBand
TM
)传送数据包。网络设备通常通过入口端口接收来自网络的数据包并且可以根据转发/路由规则,通过出口端口将一些或所有数据包转发到网络上。可替代地,一些数据包可以被转发到在同一主机上运行的虚拟机(VM)、容器或其他实体。
[0024]在实践中,在不同的网络设备中构成不同类型管线的基本数据包处理函数之间可以发现相当的相似性。
[0025]本文所述的本专利技术的实施例提供了用于指定数据包处理管线的改进的方法和系统。所公开的技术旨在将数据包处理管线的初始规范与管线最终将在其上运行的目标硬件解耦。通过这种方式,用户能够从完全函数角度指定数据包处理管线。在稍后阶段,用户的规范可以被映射到所需的目标硬件上。
[0026]在一些实施例中,为用户提供硬件无关性数据包处理函数库。这种硬件无关性数据包处理函数可以包括,例如,访问控制列表(ACL)函数、最长前缀匹配(LPM)函数、匹配表函数、加密/解密函数、数据包修改函数、镜像函数、计量函数、老化函数、深度数据包检测(DPI)函数、数据包转发函数等。在一些实施例中,上述两个或更多个函数能够被合并为单个函数。例如,数据包修改、镜像和计量能够被合并到库的单个数据包处理函数中。
[0027]该库可以被披露给用户,例如,使用合适的应用程序编程接口(API)。
[0028]用户使用库中的数据包处理函数作为构建块并且连接和配置它们以指定数据包处理管线。很多类型的管线能够以完全硬件无关性方式使用这种构建块来指定。数据包处理管线的示例包括交换机、路由器、网关、网络适配器、防火墙和用户平面函数(UPF),这里仅举几例。
[0029]一旦定义了硬件无关性规范,处理器可以用它来推导出适合给定硬件技术的数据包处理管线的硬件特定设计。这个过程可以是完全自动化的,也可以由用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:提供硬件无关性数据包处理函数库;从用户处接收用于在网络设备中使用的数据包处理管线的函数性的硬件无关性规范,所述规范是依据从所述库中提取的一个或更多个所述数据包处理函数定义的;以及从所述规范中导出适合于给定硬件的所述数据包处理管线的硬件特定设计。2.根据权利要求1所述的方法,其中提供所述库包括:向所述用户公开用于使用所述库定义所述规范的应用程序编程接口API。3.根据权利要求1所述的方法,其中所述硬件无关性数据包处理函数执行以下的一个或更多个:访问控制列表ACL功能;最长前缀匹配LPM;匹配表功能;加密;解密;数据包修改;数据包镜像;数据包计量;数据包计数;连接追踪;数据包龄期测定;以及数据包转发。4.根据权利要求1所述的方法,其中至少一个所述硬件无关性数据包处理函数包括用户可配置的数据包解析操作,并且其中从所述用户处接收所述规范包括接收所述数据包解析操作的配置。5.根据权利要求1所述的方法,其中至少一个所述硬件无关性数据包处理函数包括用户可配置的动作,并且其中从用户处接收所述规范包括接收所述动作的配置。6.根据权利要求1所述的方法,其中导出所述数据包处理管线的所述硬件特定设计包括导出交换机、路由器、网关、网络适配器、防火墙和用户平面函数UPF中的一个的设计。7.一种设备,包括:存储器,用于存储硬件无关性数据包处理函数库;以及处理器,用于:向用户提供所述库;从用户处接收用于在网络设备中使用的数据包处理管线的函数性的硬件无关性规范,所述规范是依据从所述库中提取的一个或更多个所述数据包处理函数定义的;以及从所述规范中导出适合于给定硬件的所述数据包处理管线的硬件特定设计。8.根据权利要求7所述的设备,其中所述处理器用于向用户公开用于使用所述库来定义所述规范的应用程序编程接口API。9.根据权利要求7所述的设备,其中所述硬件无关性数据包处理函数执行以下的一个或更多个:
访问控制列表ACL功能;最长前缀匹配LPM;匹配表功能;加密;解密;数据包修改;数据包镜像;数据包计量;数据包计数;连接追踪;数据包龄期测定;以及数据包转发。1...

【专利技术属性】
技术研发人员:R
申请(专利权)人:迈络思科技有限公司
类型:发明
国别省市:

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

1