一种面向智能网卡的业务链编排管理系统和方法与流程

文档序号:25094595发布日期:2021-05-18 21:26阅读:88来源:国知局
一种面向智能网卡的业务链编排管理系统和方法与流程

1.本发明涉及业务链编排技术,尤其涉及一种面向智能网卡的业务链编排管理方法和系统。


背景技术:

2.业务链是指一组由网络功能构成的链,即一组服务的有序集合,其可执行对通信流的过滤、转换、检查等操作,从而提供如防火墙、网络地址转换(nat,network address translation)、深度包检测(dpi,deep packet inspection)等网络功能。现有技术在数据中心网络通过隧道引流或者传统路由或者二层转发技术将通信流引导至网络设备来实现业务链功能。
3.传统旁挂方案主要通过命令行或web进行配置,所有设备的接口、路由、acl、策略路由等功能都需要手工配置。传统旁挂方案需分析流量进出交换机的各个接口顺序,按顺序依次配置策略路由,难度高,易出错。随着软件定义网络(sdn,software definednetworking)技术的发展,业务链编排主要通过控制器的图形界面配置和下发业务,通过选择编排交换机和业务设备,定义业务流、业务链。在传统网络中,流量流经一个网元后再至下一个网元,网元间存有物理连接,流量路径固化。随着技术的再次发展,出现了网络功能虚拟化(nfv,network functions virtualization)技术。在nfv中,流量路径可按需部署,nfv中同一资源池可部署的网元类别繁多,在实际部署中不同的网元间需要不同的连接方式,因此网络环境越来越复杂。采用nfv后,虚拟网络功能部署可以按需引导不同流量做不同的业务处理,在部署上更加灵活和便捷。但是,采用nfv的方式,也存在诸多问题:一方面目前服务器网卡功能固化,仅能实现数据捕捉处理、过滤处理和构造数据包外发等数据包的预处理功能,对应用缺乏感知等问题;另一方面,高级功能主要依靠服务器中央处理器(cpu,central processing unit),会加重cpu的计算负担,使得系统性能受限;另外,基于纯软件的nfv方式,会带来潜在的安全漏洞。


技术实现要素:

4.本发明所要解决的技术问题是针对上述缺陷,本发明提供了一种面向智能网卡的业务链编排管理方法和系统。
5.一种面向智能网卡的业务链编排管理系统,其特征在于,包括控制器和智能网卡;所述控制器,用于在控制平面进行业务链编排管理,定义流标识、对应流标识的业务流特征,组装对应流标识的业务处理链条,形成包含流标识、对应流标识的业务流特征、对应流标识的业务处理链条的业务链编排结果,对业务链编排结果进行下发、变更、撤销等管理操作;所述智能网卡,部署于服务器端,用于在数据平台接收、加载、执行业务链编排结果,对业务流数据进行处理,并能够抓取和上报未事先分配流标识的业务流特征数据。
6.所述控制器,包括用户输入单元、业务链管理单元和智能网卡管理单元;所述用户输入单元,用于控制器与用户交互,接收业务处理要求;所述业务链管理单元,用于根据业
务处理要求,创建、变更、撤销、存储业务链编排结果;所述智能网卡管理单元,用于控制器与智能网卡进行交互,管理和控制智能网卡。
7.所述智能网卡,包含物理端口、虚拟端口、可扩展多级流水线、智能网卡管理代理;
8.所述物理端口,是指智能网卡自带的物理接口,用于智能网卡与其它网卡或交换机进行通信;
9.所述虚拟端口,是指智能网卡生成的虚拟接口,用于智能网卡与虚拟机、容器、应用进行通信;
10.所述可扩展多级流水线,采用支持软硬件协同的处理加速技术的可编程器件,具备多级流水线处理能力,可编排、执行多种业务处理功能,所述业务处理功能包括但不限于协议解析、流标识处理、多层流表处理、vxlan处理、过滤器、防火墙、gre隧道处理、ipsec隧道处理、nat处理等;
11.所述智能网卡管理代理,负责智能网卡的初始能力设置,接受控制器的管理操作,可对所述的可扩展多级流水线进行功能编排,具备业务处理功能实体的创建、变更、撤销能力,可根据业务链编排结果,配置流标识对应的业务处理链条。
12.所述可扩展多级流水线,第1级处理单元为可编程解析器,第2级处理单元为可编程流管理器,从第3级处理单元开始,后续处理单元均为可扩展业务处理单元;
13.所述可编程解析器,用于执行协议解析处理,对进入智能网卡的业务流数据进行协议解析,将解析结果、业务流数据块的缓存地址传递给可编程流处理器;
14.所述可编程流处理器,用于执行流标识处理,识别出已定义的业务流特征,对业务流设置对应的流标识,将流标识、解析结果、业务流数据块的缓存地址传递给下一级处理单元,对于识别出未定义的业务流特征,上报控制器;
15.所述可扩展业务处理单元,按照对应流标识的业务处理链条,对业务流数据块进行相应的处理。
16.一种面向智能网卡的业务链编排管理方法,其特征在于,所述的方法包括:
17.s1:流标识分配过程,根据待编排的业务流的特征,为该业务流定义一个流标识;
18.s2:业务处理链条组装过程,根据待编排的业务流的处理需求,为该业务流对应的流标识组装相应的业务处理链条;
19.s3:业务链编排结果下发过程,将该流标识、该流标识的业务流特征、该流标识的业务处理链条下发至业务流处理装置中;
20.s4:业务链编排结果执行过程,接收并加载业务编排结果,根据该流标识的业务流特征来识别对应的业务流,并执行针对该流标识的业务处理链条。
21.所述过程s1还包括业务流特征提取过程和业务链编排结果管理过程;
22.所述业务流特征提取过程中,待编排的业务流的特征既可以来自用户直接输入,也可以来自于业务流处理装置抓取并上报的未分配流标识的业务流;
23.所述业务链编排结果管理过程支持对业务链编排结果进行管理,管理操作包括但不限于变更、撤销、存储,操作对象包括流标识、对应流标识的业务流特征、对应流标识的业务处理链条。
24.所述的业务处理链条,采用可扩展多级流水线处理方式,第一级为协议解析处理,第二级为流标识处理,每一级的功能为软硬件协同处理加速功能集合中的一种,所述软硬
件协同处理加速功能集合包括但不限于协议解析处理、流标识处理、vxlan处理、过滤器、防火墙、gre隧道处理、ipsec隧道处理、nat处理、多层流表处理等。
25.本发明采用以上技术方案与现有技术相比,具有以下技术效果:
26.(1)本发明面向智能网卡的业务链编排管理方法和系统,采用流标识来表示不同的业务流,根据流标识执行对应流标识的业务处理链条,采用很小的开销,灵活定义不同的业务处理链条;
27.(2)本发明面向智能网卡的业务链编排管理方法和系统,采用可扩展多级流水线处理方式,针对不同的业务流可以设置不同的流水线,实现了业务处理链条的有序和可编排;
28.(3)本发明面向智能网卡的业务链编排管理方法和系统,基于软硬件协同处理加速功能集合,支持网络功能卸载,能够在提高有效网络带宽和吞吐量、降低网络数据处理时延的同时,大大减少cpu的负担以及隔离对于服务器的潜在威胁;
29.(4)本发明面向智能网卡的业务链编排管理方法和系统,支持基于多层流表的服务器端网络控制,可实现软件定义的端到端网络管理,并支持虚拟网络功能灵活编排,实现全网性能优化。
附图说明
30.图1为本发明的实施例提供的面向智能网卡的业务链编排管理系统示意图;
31.图2为本发明的实施例提供的控制器基本结构图;
32.图3为本发明的实施例提供的智能网卡基本结构图;
33.图4为本发明的实施例提供的智能网卡典型结构图;
34.图5为本发明的实施例提供的智能网卡业务处理链条实例图。
35.图中,101、输入业务流数据;102、业务流特征数据;103、业务链编排结果;104、输出业务流数据;105、业务处理需求。
具体实施方式
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.以下,结合附图对本发明技术方案的具体实施方式作进一步的详细描述:
38.网卡作为服务器提供网络访问及互连通信的接口,其功能成熟又固化,无法适应云数据中心网络灵活组网和自定义隧道等新功能需求。现有普通网卡仅可以卸载诸如校验和计算与分段等一些基本的网络处理功能,针对数据中心服务器操作系统协议栈等网络基本功能卸载加速,智能网卡或智能服务器适配器通过从服务器的cpu上卸载网络处理工作负载和任务,提高云端和私有数据中心中的服务器性能。
39.借鉴软件定义网络的思想,本发明实施例提供的一种面向智能网卡的业务链编排管理方法,能够根据不同的业务需求实体化业务处理链条。
40.如图1所示,一种面向智能网卡的业务链编排管理系统,包括:
41.控制器,可以为sdn控制器,用于在控制平面进行业务链编排管理,定义流标识、对应流标识的业务流特征,组装对应流标识的业务处理链条,形成包含流标识、对应流标识的业务流特征、对应流标识的业务处理链条的业务链编排结果,对业务链编排结果进行下发、变更、撤销等管理操作;
42.智能网卡,部署于服务器端,用于在数据平台接收、加载、执行业务链编排结果,对业务流数据进行处理,并能够抓取和上报未事先分配流标识的业务流特征数据。
43.如图1所示,所述的智能网卡,可以输入业务流数据101,可以上报业务流特征数据102,可以接收业务链编排结果103,可以输出业务流数据104。
44.如图1所示,所述的控制器,可以接收业务流特征数据102,可以下发业务链编排结果103,可以从用户处接收业务处理需求105。
45.针对图1所示的系统,本发明一种面向智能网卡的业务链编排管理方法包括:
46.图1中的控制器接收用户的业务处理需求105;所述的控制器执行流标识分配过程,根据待编排的业务流的特征,为该业务流定义一个流标识;所述的控制器执行业务处理链条组装过程,根据待编排的业务流的处理需求,为该业务流对应的流标识组装相应的业务处理链条;所述的控制器执行业务链编排结果下发过程,将包含该流标识、该流标识的业务流特征、该流标识的业务处理链条的业务链编排结果103下发至图1中的智能网卡;
47.所述的业务处理链条,采用可扩展多级流水线处理方式,每一级的功能为软硬件协同处理加速功能集合中的一种,所述软硬件协同处理加速功能集合包括但不限于协议解析处理、流标识处理、vxlan处理、过滤器、防火墙、gre隧道处理、ipsec隧道处理、nat处理、多层流表处理等。
48.图1中的智能网卡,接收到业务链编排结果103,加载业务链编排结果;所述的智能网卡,输入业务流数据101,根据识别的业务流特征来查找对应的流标识,查找到对应的流标识后,继续执行针对该流标识的业务处理链条,输出业务流数据104;
49.图1中的智能网卡,输入业务流数据101,根据识别的业务流特征查找对应的流标识,未能查找到对应的流标识,生成业务流特征数据102,并向图1中的控制器上报;
50.图1中的控制器接收业务流特征数据102后,计算对应的业务链编排结果,并下发至所述的智能网卡。
51.图1中的控制器还可以根据业务处理需求105,对已有的业务链编排结果进行变更、撤销,并将变更、撤销后的业务链编排结果下发至所述的智能网卡。
52.为了更好地描述本发明,分别对控制器和智能网卡进行详细展开。
53.如图2所示一种面向智能网卡的业务链编排管理系统的控制器,其基本结构包括用户输入单元、业务链管理单元、智能网卡管理单元;所述的用户输入单元,实现控制器与用户交互界面,主要用于接收用户的业务处理需求;所述的业务链管理单元,用于根据用户提供的业务处理要求或者智能网卡上报的未知业务流的业务处理要求,创建、变更、撤销、存储业务链编排结果;所述的智能网卡管理单元,用于控制器与智能网卡进行交互,可同时管理和控制至少1个智能网卡。
54.如图3所示一种面向智能网卡的业务链编排管理系统的智能网卡,其基本结构包括物理端口、虚拟端口、可扩展多级流水线、智能网卡管理代理;
55.所述的物理端口,是指智能网卡自身的物理接口,用于智能网卡与其它网卡或交
换机进行通信,典型的物理端口类型可以是以太网接口、光纤接口等;
56.所述的虚拟端口,是指在服务器内部,基于智能网卡的驱动,通过软件形成的虚拟接口,用于智能网卡与虚拟机、容器、应用进行交互;
57.所述的可扩展多级流水线,是指采用支持软硬件协同的处理加速技术的可编程器件,具备多级流水线处理能力,可以编排流水线上业务处理功能的实体,按照流标识和流标识对应的业务处理链条,执行业务流处理过程;所述的业务处理功能包括但不限于协议解析处理、流标识处理、多层流表处理、vxlan处理、过滤器、防火墙、gre隧道处理、ipsec隧道处理、nat处理等功能;
58.图3中的功能1、功能2、功能n分别代表单个的处理级,分别对应1个业务处理功能,通常n取值不超过64;所述的智能网卡管理代理,负责智能网卡的初始能力设置,并通过与控制器的智能网卡管理单元交互,接受控制器的管理操作,可对所述的可扩展多级流水线进行功能编排,具备业务处理功能实体的创建、变更、撤销能力,可根据业务链编排结果,配置流标识所对应的业务处理链条。
59.为了更好地描述本发明,对智能网卡的典型结构进一步说明。
60.如图4所示一种面向智能网卡的业务链编排管理系统的智能网卡,根据控制器下发的业务链编排结果,所述的智能网卡的可扩展多级流水线的第1级为可编程解析器,第2级为可编程流管理器,第3级至第n级为可扩展业务处理单元,其中n取值大于3但不超过64;所述的可编程解析器,用于执行协议解析处理,根据控制器下发的业务链编排结果,设置协议解析的层次,对进入智能网卡的业务流数据进行协议解析处理,将解析结果、业务流数据块的缓存地址传递给可编程流处理器;所述的可编程流处理器,用于执行流标识处理,根据控制器下发的业务链编排结果,对经协议解析后的业务流数据,识别出已定义的业务流特征,对业务流设置对应的流标识,将流标识、解析结果、业务流数据块的缓存地址传递给下一级处理单元;所述的可编程流处理器,用于执行流标识处理,根据控制器下发的业务链编排结果,对经协议解析后的业务流数据,识别出未定义的业务流特征,上报至智能网卡管理代理,通过智能网卡管理代理提交至控制器进一步处理;所述的可扩展业务处理单元,是实体化的业务处理功能,按照对应流标识的业务处理链条,对业务流数据块进行相应的处理。
61.为了更好地描述本发明,对智能网卡的典型结构和业务链编排结果进一步举例说明。
62.如图5所示一种面向智能网卡的业务链编排管理系统的智能网卡,根据控制器下发的业务链编排结果,所述的可扩展多级流水线实体化4个典型业务处理功能,分别是基于可编程解析器实现的l2/l3解析器、基于可编程流管理器实现的标识长度为32bits的流管理器、面向acl的过滤器、nat处理。
63.例如,针对业务处理需求:默认网络数据丢弃;
64.源ip地址属于192.168.1.1/24网段的网络数据,可以被nat转换。
65.针对图5中的结构,需进行以下两条业务链编排控制:
66.(1)流标识:(0x00000001)
67.流特征为:(源ip地址,任意地址)
68.业务处理链条:(l2/l3解析器:l3,32bits流管理器:0x00000001,面向acl的过滤器:丢弃)
69.(2)流标识:(0x00000002)
70.流特征为:(源ip地址,192.168.1.1/24)
71.业务处理链条:(l2/l3解析器:l3,32bits流管理器:0x00000002,面向acl的过滤器:允许,nat处理)
72.为了实现本发明一种面向智能网卡的业务链编排管理方法和系统,本发明中采用的智能网卡,具体实现技术可以是但不限于以下方式:多核智能网卡,基于包含多个cpu内核的asic网卡;基于现场可编程门阵列(fpga)的智能网卡;fpga增强型智能网卡,将硬件可编程fpga与asic网络控制器相结合。
73.以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1