CN117478589A - 基于dpu的业务流量转发方法、装置及*** - Google Patents
基于dpu的业务流量转发方法、装置及*** Download PDFInfo
- Publication number
- CN117478589A CN117478589A CN202311287228.9A CN202311287228A CN117478589A CN 117478589 A CN117478589 A CN 117478589A CN 202311287228 A CN202311287228 A CN 202311287228A CN 117478589 A CN117478589 A CN 117478589A
- Authority
- CN
- China
- Prior art keywords
- service
- forwarding
- dpu
- protocol stack
- service flow
- 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 title claims abstract description 85
- 238000004891 communication Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000011144 upstream manufacturing Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 101100409014 Rhizobium meliloti (strain 1021) ppdK gene Proteins 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供基于DPU的业务流量转发方法、装置及***,应用于DPU技术领域。方法包括:在DPU中接收自所述DPU外部发来的下发业务流量报文;若确定下发业务流量报文的转发对象为设置在DPU中的服务网格转发面,则将该下发业务流量报文发送至DPU中的硬件协议栈,以使硬件协议栈基于预先与服务网格转发面之间构建的下发TCP连接路径将下发业务流量报文转发至服务网格转发面。本申请能够在不占用主机侧资源的基础上,有效提高服务网格业务流量的转发效率,并能够保证业务流量转发过程的可靠性及有效性。
Description
技术领域
本申请涉及DPU技术领域,尤其涉及基于DPU的业务流量转发方法、装置及***。
背景技术
服务网格(Service Mesh)用于云原生微服务间通信的基础设施层,负责微服务间的网络通信,维彼此连接。集中式服务网格模式是所有微服务共享一个服务网格,可以大量减少主机资源,提高一部分时延和效率。将服务网格卸载到DPU上,用于负责主机侧微服务间的网络通信以及进出微服务的流量控制。它不占用主机资源,能够提高主机侧微服务部署数量;更重要的是流量无需上送主机侧即可在DPU上就可以进行分发到主机侧某个微服务或转发到其他设备上,能够大幅度提高网络延时和转发效率。
然而,现有的业务流量转发方式中,虽然将服务网格卸载到了DPU上,但由于其底座是基于软件协议栈,如内核Iptables等,也有技术采用用户态软件协议栈。它的时延转发能力相较于未将服务网格卸载到DPU的方式虽有所提高,但没有质的突破,使得业务流量转发效率依然受限。而若直接将软件协议栈进行更换,又无法服务网格业务流量转发能够可靠实现。
基于此,亟需设计一种能够进一步提高服务网格业务流量的转发效率并能够保证业务流量转发过程的可靠性的方式。
发明内容
鉴于此,本申请实施例提供了基于DPU的业务流量转发方法、装置及***,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的一个方面提供了一种基于DPU的业务流量转发方法,包括:
在DPU中接收自所述DPU外部发来的下发业务流量报文;
若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面。
在本申请的一些实施例中,在所述将该下发业务流量报文发送至所述DPU中的硬件协议栈之前,还包括:
根据所述下发业务流量报文对应的属性信息,自本地的转发表中查找对应的转发对象,所述转发对象中包括所述服务网格转发面;
其中,所述转发表预先接收自所述服务网格转发面并存储在本地,且所述转发表用于存储各个属性信息与所述转发对象之间的对应关系。
在本申请的一些实施例中,所述若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面,包括:
若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使该硬件协议栈在所述服务网格转发面中的各个线程中择一作为当前的目标线程,并基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面中的所述目标线程。
在本申请的一些实施例中,还包括:
接收所述硬件协议栈发送的上送业务流量报文,该上送业务流量报文是所述硬件协议栈对预先基于上送TCP连接路径接收到的业务流量数据封装得到的;其中,所述上送TCP连接路径是所述目标线程在接收到所述下发业务流量报文并基于预设的配置规则数据确定所述主机侧的目的端点信息后再与所述硬件协议栈之间建立的,而后所述目标线程基于该上送TCP连接路径将自身处理后的所述下发业务流量报文及目的端点信息对应的所述业务流量数据发送至所述硬件协议栈;
基于所述目的端点信息将所述上送业务流量报文发送至所述主机侧的目的端点以使该目的端点信息对应的目的容器组获取该上送业务流量报文。
在本申请的一些实施例中,所述下发TCP连接路径和所述上送TCP连接路径是所述硬件协议栈在接收到所述服务网格转发面发出的连接请求信号之时或之后,根据该连接请求信号向所述服务网格转发面发送自身的TCP协议报文而预先构建得到的。
在本申请的一些实施例中,所述配置规则数据预先由主机侧的服务网格管理面发送至所述服务网格转发面并存储至所述服务网格转发面中。
本申请的另一个方面提供了一种基于DPU的业务流量转发装置,包括:
报文接收模块,用于在DPU中接收自所述DPU外部发来的下发业务流量报文;
报文转发模块,用于若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面。
本申请的第三个方面提供了一种基于DPU的业务流量转发***,包括:分别设置在DPU中且依次通信连接的网络转发器、硬件协议栈和设置在所述DPU的片上***中的服务网格转发面;
所述网络转发器用于执行所述的基于DPU的业务流量转发方法;
所述硬件协议栈与所述服务网格转发面之间基于预设的PCIE进行通信连接;
所述服务网格转发面与主机侧的服务网格管理面之间基于预设的管理口进行通信连接,所述网络转发器与所述主机侧的容器集群中的各个容器组之间基于预设的接口直通网卡进行通信连接。
在本申请的一些实施例中,所述硬件协议栈包括:
TCP连接建立模块,用于在接收到所述服务网格转发面发出的连接请求信号之时或之后,根据该连接请求信号向所述服务网格转发面发送自身的TCP协议报文以构建得到对应的下发TCP连接路径或上送TCP连接路径;
下发转发模块,用于在所述服务网格转发面中的各个线程中择一作为当前的目标线程,并基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面中的所述目标线程;
上送转发模块,用于基于预先与所述服务网格转发面之间构建的上送TCP连接路径,接收所述服务网格转发面中的所述目标线程发送的业务流量数据,并对该业务流量数据进行封装以得到对应的上送业务流量报文,再将所述上送业务流量报文发送至所述主机侧的目的端点信息以使该目的端点信息对应的目的容器组获取该上送业务流量报文。
在本申请的一些实施例中,所述服务网格转发面包括:
配置接收模块,用于接收并存储主机侧的服务网格管理面发送的配置规则数据;
TCP连接请求模块,用于向所述硬件协议栈发送连接请求信号,以使所述硬件协议栈根据该连接请求信号发出自身的TCP协议报文以与所述硬件协议栈之间构建得到对应的下发TCP连接路径或上送TCP连接路径;
报文接收模块,用于基于本地的目标线程接收所述硬件协议栈转发的所述下发业务流量报文;
报文上送模块,用于基于预设的配置规则数据确定所述主机侧的目的端点信息,并在经过所述TCP连接请求模块与所述硬件协议栈之间建立上送TCP连接路径后,由所述目标线程基于所述上送TCP连接路径将自身处理后的所述下发业务流量报文及目的端点信息对应的所述业务流量数据发送至所述硬件协议栈。
本申请的第四个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于DPU的业务流量转发方法。
本申请的第五个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于DPU的业务流量转发方法。
本申请提供的基于DPU的业务流量转发方法,在DPU中接收自所述DPU外部发来的下发业务流量报文;若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面,不占用主机侧资源,使得主机侧资源都可以用于业务部署,能够大量节省主机侧资源,能够有效提高服务网格业务流量的转发效率,即能够大幅降低转发过程时延,使得服务网格能够支持如金融电信类等对时延敏感的业务场景,并能够保证业务流量转发过程的可靠性及有效性。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为传统在主机侧部署边车模式服务网格的举例示意图。
图2为服务网格卸载到DPU上并使用软件转发流量的举例示意图。
图3为本申请一实施例中的基于DPU的业务流量转发方法的第一种流程示意图。
图4为本申请一实施例中的基于DPU的业务流量转发方法的第二种流程示意图。
图5为本申请一实施例中的基于DPU的业务流量转发装置的架构示意图。
图6为本申请一实施例中的基于DPU的业务流量转发***的架构示意图。
图7为本申请一实施例中的硬件协议栈的架构示意图。
图8为本申请一实施例中的服务网格转发面的架构示意图。
图9为本申请应用实例中的DPU侧服务网格转发面与主机侧服务网格管理面之间的通信举例示意图。
图10为本申请应用实例中的应用基于DPU的业务流量转发***实现的基于DPU的业务流量转发过程的举例示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
传统的微服务***中,服务网格大都采用在主机侧部署边车或集中式服务网格的模式。参见图1,最初服务网格采用边车部署模式,是每个微服务配置一个边车;它的缺点是边车会大量占用主机的资源,同时也会大幅度降低微服务时延和流量处理效率。接着集中式服务网格模式被提出来,是所有微服务共享一个服务网格,可以大量减少主机资源,提高一部分时延和效率。
但是服务网格作为边车,会大量占用主机侧的资源,包括内存以及CPU,压缩了业务可部署的数量。也就是说,尽管服务网格提供丰富的流量治理,但它是以牺牲时延为代价的,并不适用于低时延要求的业务场景。因此,便衍生出了集中式服务网格,通过将服务网格卸载到硬件以进行加速。
具体来说,服务网格卸载到DPU上,用于负责主机侧微服务间的网络通信以及进出微服务的流量控制。它不占用主机资源,提高主机侧微服务部署数量;更重要的是流量无需上送主机侧即可在DPU上就可以进行分发到主机侧某个微服务或转发到其他设备上,能够提高网络延时和转发效率。例如,参见图2所示的方案,作为服务网格转发面的Envoy被从主机侧节点(Service A)旁边下沉到了DPU卡上,它可服务主机侧(Host)的节点(Service A),而不需要占用主机侧的资源,能够大幅度提高主机侧资源的利用率。同时它的流量很大一部分可以直接在DPU卡上直接进行转发,而不一定非要上送到主机侧节点(Service A)服务去处理,节省了一跳,从而能够进一步降低网络时延,提高转发的效率。其中,Iptables是与Linux内核集成的IP信息包过滤***。envoy为大型微服务Service Mesh体系结构设计的通信总线和通用数据平面。
在图2中,图像处理单元IPU(Image Processing Unit)中的IPU工作节点(IPUWorker Node)中设有作为服务网格转发面的envoy,IPU的内核(IPU dataplane)为Iptables。主机侧节点(Service A)与内核Iptables之间、内核Iptables与envoy之间均设有虚拟网络设备veth。Istio作为服务网格管理面,容器集群可以采用Kubernetes(简称K8s),是一个开源的用于管理云平台中多个主机上的容器化的应用。具体来说,图2中服务网格卸载到DPU上,使用软件转发流量的具体过程如下:
1.将IPU计算资源公开为k8s工作节点;
2.修改k8的业务流程,将Envoy注入IPU工作节点;
3.配置IPU数据平面分流,实现iptables流量重定向;
4.编排租户服务;
5.Envoy的Istio配置。
然而,即便是把服务网格卸载到了DPU上,但它的底座是基于软件协议栈(如图2中使用的是内核iptables),也有的技术使用用户态软件协议栈。它的时延转发能力虽有提高,但没有质的突破,仍是瓶颈。因此并不适用于在金融、银行等要求极低时延的场景。
因此,本申请的设计人首先考虑将现有的软件协议栈替换为硬件协议栈,来进一步提高服务网格业务流量的转发效率。然而,这种直接替换后应用的方式却无法实现服务网格转发面调用硬件协议栈,也无法准确地将到达DPU的流量上送到服务网格转发面。
具体说明如下:
首先,Envoy在使用协议栈时,是调用标准的socket接口来连接本地的协议栈的。而由于硬件侧不在Envoy本地,因此,将软件协议栈直接替换为硬件协议栈的方式是无法完成协议栈调用的。因此,本申请的设计人通过创造性劳动,进一步设计了一种Envoy侧与硬件协议栈之间的交互方式,即Envoy与服务网格转发面之间构建TCP连接路径。
以及,由于主机侧的流量从容器组出来后是TCP/IP报文,因此无法直接确定该报文是否应为上送到Envoy的报文,进而无法准确地将到达DPU的流量上送到服务网格转发面。基于此,本申请的设计人通过创造性劳动,进一步设计了一种先识别从容器组出来的TCP/IP报文是否要上送Envoy,若是,才会在DPU硬件协议栈处理后,把业务流量上送到Envoy的方式。
基于此,为了进一步提高服务网格业务流量的转发效率并能够保证业务流量转发过程的可靠性,本申请实施例分别提供一种基于DPU的业务流量转发方法、用于执行该基于DPU的业务流量转发方法的基于DPU的业务流量转发装置、实体设备和计算机可读存储介质,还提供一种基于DPU的业务流量转发装***,能够在不占用主机侧资源的基础上,有效提高服务网格业务流量的转发效率,并能够保证业务流量转发过程的可靠性及有效性。
具体通过下述实施例进行详细说明。
在本申请的一个或多个实施例中,DPU(Data Processing Unit)是指数据处理器,是面向以数据为中心的计算的新一代处理器,集完整的数据中心功能于单芯片。本申请实施例中提及的片上***可以采用SOC,SOC(System on Chip)***级芯片)是一种高度集成的电子***,它将多个功能模块整合到一个单一的芯片上,从而提高了***性能、降低了功耗,并减小了物理尺寸。TCP(Transmission Control Protocol)是指传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。FIN(Finish)表示关闭连接。gRPC(Google Remote Procedure Call)是指Google远程过程调用,是Google发布的一个高性能、通用的开源RPC框架。PF(Physical Function)即物理卡。SR-IOV(Single Root I/O Virtualization)是指单根输入/输出虚拟化,是一种硬件加速的虚拟化技术,它允许多个虚拟机同时访问物理设备,从而提高虚拟机的性能和可靠性。
基于此,本申请实施例提供一种可由基于DPU的业务流量转发装置实现的基于DPU的业务流量转发方法,参见图3,所述基于DPU的业务流量转发方法具体包含有如下内容:
步骤100:在DPU中接收自所述DPU外部发来的下发业务流量报文。
在本申请的一个或多个实施例中,所述基于DPU的业务流量转发装置的功能可以实现在一网络转发器中。
在步骤100中,基于DPU的业务流量转发装置在DPU中接收的下发业务流量报文,是从所述DPU外部发来的。可以理解的是,所述DPU外部包含有主机侧,例如具体指主机侧的容器集群中的某一容器组Pod中。所述DPU外部还包含有非主机侧的位于DPU外部的其他主体。也就是说,服务网格转发面卸载到DPU后,主机侧微服务的流量可以送到DPU侧进行处理,外部流量也可直接在DPU上进行处理转发,不需上送主机侧处理,节省到主机侧一跳,网卡直接处理报文可大幅降低网络时延。
可以理解的是,所述下发业务流量报文和后续实施例提及的上送业务流量报文具体均可以指业务流量数据对应的TCP/IP报文。
步骤200:若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面。
在步骤200中,所述基于DPU的业务流量转发装置只有在确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面之后,才会将该下发业务流量报文发送至所述DPU中的硬件协议栈,能够准确地将到达DPU的流量上送到服务网格转发面,进而能够有效提高业务流量转发过程的可靠性和准确性。
同时,所述硬件协议栈预先与所述服务网格转发面之间构建下发TCP连接路径,然后使得所述硬件协议栈基于该下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面,能够实现服务网格转发面调用硬件协议栈,进而能够进一步保证业务流量转发过程的可靠性和有效性。
基于此,通过上述改进,本申请实施例提供的基于DPU的业务流量转发方法能够实现用硬件协议栈来替换软件协议栈来支持服务网格转发面的协议栈处理,进而能够有效发挥硬件优势,大幅降低转发过程的时延。服务网格原本支持大带宽但不要求时延的互联网业务,而本申请实施例提供的转发方式则能够大幅降低时延,使得服务网格可以支持对时延敏感的业务场景,如金融电信类场景等。
从上述描述可知,本申请实施例提供的基于DPU的业务流量转发方法,不占用主机侧资源,使得主机侧资源都可以用于业务部署,能够大量节省主机侧资源,能够有效提高服务网格业务流量的转发效率,即能够大幅降低转发过程时延,使得服务网格能够支持如金融电信类等对时延敏感的业务场景,并能够保证业务流量转发过程的可靠性及有效性。
为了进一步提高确定流量是否由Envoy处理的有效性及可靠性,在本申请实施例提供的一种基于DPU的业务流量转发方法中,参见图4,所述基于DPU的业务流量转发方法中的步骤100和步骤200之间还具体包含有如下内容:
步骤110:根据所述下发业务流量报文对应的属性信息,自本地的转发表中查找对应的转发对象,所述转发对象中包括所述服务网格转发面;其中,所述转发表预先接收自所述服务网格转发面并存储在本地,且所述转发表用于存储各个属性信息与所述转发对象之间的对应关系。
在一种具体举例中,所述下发业务流量报文对应的属性信息可以由基于DPU的业务流量转发装置从接收到的下发业务流量报文中提取,所述属性信息可以为下发业务流量报文的五元组中的至少一项。可以理解的是,所述五元组包括:源IP地址、源端口、目的IP地址、目的端口和传输层协议。
基于此,所述转发表用于存储不同的属性信息与所述转发对象之间的对应关系。例如,所述转发表中存储有各个不同的源IP地址与所述转发对象之间的对应关系。
可以理解的是,所述转发表中存储的转发对象可以仅包含有所述服务网格转发面,若在所述转发表中没有找到所述下发业务流量报文对应的属性信息,那么就可以直接判定该所述下发业务流量报文的转发对象不是所述服务网格转发面,进而不执行步骤200。
进一步来说,为了进一步提高业务流量转发的可靠性及有效性,所述转发表中存储的转发对象至少有两种,包含有所述服务网格转发面和至少一种其他具备数据转发能力的主体。
在步骤100之前,所述服务网格转发面预先将各个属性信息与所述转发对象之间的对应关系数据发送至所述基于DPU的业务流量转发装置,以存储至其本地的转发表中。
为了进一步提高业务流量转发的效率,在本申请实施例提供的一种基于DPU的业务流量转发方法中,参见图4,所述基于DPU的业务流量转发方法中的步骤200具体包含有如下内容:
步骤210:若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使该硬件协议栈在所述服务网格转发面中的各个线程中择一作为当前的目标线程,并基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面中的所述目标线程。
在步骤210中,在所述服务网格转发面中的各个线程中择一作为当前的目标线程的具体选择方式,可以以轮询等方式进行负载均衡。
为了进一步提高基于DPU的业务流量转发过程的完整性及可靠性,在本申请实施例提供的一种基于DPU的业务流量转发方法中,参见图4,所述基于DPU的业务流量转发方法中的步骤200之后还具体包含有如下内容:
步骤300:接收所述硬件协议栈发送的上送业务流量报文,该上送业务流量报文是所述硬件协议栈对预先基于上送TCP连接路径接收到的业务流量数据封装得到的;其中,所述上送TCP连接路径是所述目标线程在接收到所述下发业务流量报文并基于预设的配置规则数据确定所述主机侧的目的端点信息后再与所述硬件协议栈之间建立的,而后所述目标线程基于该上送TCP连接路径将自身处理后的所述下发业务流量报文及目的端点信息对应的所述业务流量数据发送至所述硬件协议栈。
步骤400:基于所述目的端点信息将所述上送业务流量报文发送至所述主机侧的目的端点以使该目的端点信息对应的目的容器组获取该上送业务流量报文。
为了进一步提高硬件协议栈与服务网格转发面之间的交互可靠性,在本申请实施例提供的一种基于DPU的业务流量转发方法中,所述下发TCP连接路径和所述上送TCP连接路径是所述硬件协议栈在接收到所述服务网格转发面发出的连接请求信号之时或之后,根据该连接请求信号向所述服务网格转发面发送自身的TCP协议报文而预先构建得到的。
为了进一步提高服务网格转发面确定所述主机侧的目的端点信息的效率及可靠性,在本申请实施例提供的一种基于DPU的业务流量转发方法中,所述配置规则数据预先由主机侧的服务网格管理面发送至所述服务网格转发面并存储至所述服务网格转发面中。
在本申请的一个或多个实施例中,所述配置规则数据可以包含有初始配置规则数据,还可以包含有配置规则变化数据。
为了从整体上进一步说明基于DPU的业务流量转发过程,在本申请的一种举例中,还提供一种多端之间完整交互的基于DPU的业务流量转发流程,具体包含有如下内容:
步骤1:服务网格转发面接收并存储主机侧的服务网格管理面发送的配置规则数据。
步骤2:服务网格转发面向硬件协议栈发送针对下发业务流量报文的连接请求信号。
步骤3:硬件协议栈在接收到所述服务网格转发面发出的针对下发业务流量报文的连接请求信号之时或之后,根据该连接请求信号向所述服务网格转发面发送自身的TCP协议报文以构建得到对应的下发TCP连接路径。
步骤4:服务网格转发向网络转发器发送转发表。
步骤5:网络转发器接收并存储转发表。
步骤6:网络转发器基于接口直通网卡接收主机侧发送的下发业务流量报文。
步骤7:网络转发器根据所述下发业务流量报文对应的属性信息,自本地的转发表中查找对应的转发对象,所述转发对象中包括所述服务网格转发面,若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈。
步骤8:硬件协议栈根据所述下发业务流量报文对应的属性信息,在所述服务网格转发面中的各个线程中择一作为当前的目标线程,并基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面中的所述目标线程。
步骤9:所述服务网格转发面基于本地的目标线程接收所述硬件协议栈转发的所述下发业务流量报文。
步骤10:所述服务网格转发面基于预设的配置规则数据确定所述主机侧的目的端点信息,并向硬件协议栈发送针对上送业务流量报文的连接请求信号。
步骤11:硬件协议栈在接收到所述服务网格转发面发出的针对上送业务流量报文的连接请求信号之时或之后,根据该连接请求信号向所述服务网格转发面发送自身的TCP协议报文以构建得到对应的上送TCP连接路径。
步骤12:服务网格转发面的目标线程基于所述上送TCP连接路径将自身处理后的所述下发业务流量报文及目的端点信息对应的所述业务流量数据发送至所述硬件协议栈。
步骤13:硬件协议栈接收所述服务网格转发面中的所述目标线程发送的业务流量数据,并对该业务流量数据进行封装以得到对应的上送业务流量报文,再基于所述目的端点信息将所述上送业务流量报文发送至所述主机侧的目的端点以使该目的端点信息对应的目的容器组获取该上送业务流量报文。
从软件层面来说,本申请还提供一种用于执行所述基于DPU的业务流量转发方法中全部或部分内的基于DPU的业务流量转发装置,参见图5,所述基于DPU的业务流量转发装置1具体包含有如下内容:
报文接收模块11,用于在DPU中接收自所述DPU外部发来的下发业务流量报文;
报文转发模块12,用于若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面。
本申请提供的基于DPU的业务流量转发装置的实施例具体可以用于执行上述实施例中的基于DPU的业务流量转发方法的实施例的处理流程,其功能在此不再赘述,可以参照上述基于DPU的业务流量转发方法实施例的详细描述。
所述基于DPU的业务流量转发装置进行基于DPU的业务流量转发的部分可以在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于基于DPU的业务流量转发的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
从上述描述可知,本申请实施例提供的基于DPU的业务流量转发装置,不占用主机侧资源,使得主机侧资源都可以用于业务部署,能够大量节省主机侧资源,能够有效提高服务网格业务流量的转发效率,即能够大幅降低转发过程时延,使得服务网格能够支持如金融电信类等对时延敏感的业务场景,并能够保证业务流量转发过程的可靠性及有效性。
本申请实施例还提供了一种电子设备,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的基于DPU的业务流量转发方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的基于DPU的业务流量转发方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于DPU的业务流量转发方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的基于DPU的业务流量转发方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线***连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于DPU的业务流量转发方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
基于前述基于DPU的业务流量转发方法和/或基于DPU的业务流量转发装置的实施例,本申请还提供一种基于DPU的业务流量转发***的实施例,参见图6,所述基于DPU的业务流量转发***具体包含有如下内容:
分别设置在DPU中且依次通信连接的网络转发器1、硬件协议栈2和设置在所述DPU的片上***SOC中的服务网格转发面3;
所述网络转发器1用于执行前述实施例中的基于DPU的业务流量转发方法;
所述硬件协议栈2与所述服务网格转发面3之间基于预设的PCIE进行通信连接;
所述服务网格转发面3与主机侧的服务网格管理面4之间基于预设的管理口5进行通信连接,所述网络转发器1与所述主机侧的容器集群6中的各个容器组Pod之间基于预设的接口直通网卡7进行通信连接。
为了进一步提高硬件协议栈的应用可靠性及有效性,在本申请提供的基于DPU的业务流量转发***的实施例中,参见图7,所述硬件协议栈2具体包含有如下内容:
TCP连接建立模块21,用于在接收到所述服务网格转发面发出的连接请求信号之时或之后,根据该连接请求信号向所述服务网格转发面发送自身的TCP协议报文以构建得到对应的下发TCP连接路径或上送TCP连接路径;
下发转发模块22,用于根据所述下发业务流量报文对应的属性信息,在所述服务网格转发面中的各个线程中择一作为当前的目标线程,并基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面中的所述目标线程;
上送转发模块23,用于基于预先与所述服务网格转发面之间构建的上送TCP连接路径,接收所述服务网格转发面中的所述目标线程发送的业务流量数据,并对该业务流量数据进行封装以得到对应的上送业务流量报文,再将所述上送业务流量报文发送至所述主机侧的所述目的端点以使该目的端点对应的目的容器组获取该上送业务流量报文。
为了进一步提高服务网格转发面的应用可靠性及有效性,在本申请提供的基于DPU的业务流量转发***的实施例中,参见图8,所述服务网格转发面3具体包含有如下内容:
配置接收模块31,用于接收并存储主机侧的服务网格管理面发送的配置规则数据;
TCP连接请求模块32,用于向所述硬件协议栈发送连接请求信号,以使所述硬件协议栈根据该连接请求信号发出自身的TCP协议报文以与所述硬件协议栈之间构建得到对应的下发TCP连接路径或上送TCP连接路径;
报文接收模块33,用于基于本地的目标线程接收所述硬件协议栈转发的所述下发业务流量报文;
报文上送模块34,用于基于预设的配置规则数据确定所述主机侧的目的端点,并在经过所述TCP连接请求模块与所述硬件协议栈之间建立上送TCP连接路径后,由所述目标线程基于所述上送TCP连接路径将自身处理后的所述下发业务流量报文对应的所述业务流量数据发送至所述硬件协议栈。
为了进一步说明本申请设计的基于DPU的业务流量转发方案,本申请还提供一种应用上述基于DPU的业务流量转发***实现的基于DPU的业务流量转发方法的具体应用实例,具体为应用于DPU领域服务网格转发面使用硬件协议栈卸载方案,针对低时延高速转发场景,提出四层TCP硬件卸载方案。在DPU上使用硬件处理TCP协议栈和四层转发,支持Soc上的集中式服务网格。
具体来说,本申请应用实例中的服务网格数据面由边车模式变成集中式,同时把集中式服务网格转发面卸载到DPU上,首先多个转发面变成1个并卸载到DPU上,不占用主机侧资源,主机侧资源都可以用于业务部署,大量节省主机侧资源。
更重要的是服务网格转发面卸载到DPU后,主机侧微服务的流量通过接口直接网卡技术后,流量直接送到DPU侧进行处理;外部流量也可直接在DPU上进行处理转发,不需上送主机侧处理,节省到主机侧一跳,网卡直接处理报文可大幅降低网络时延;
本申请应用实例能够实现硬件协议栈,用它来替换软件协议栈来支持服务网格转发面的协议栈处理,发挥硬件优势,时延可降低一半以上。服务网格原本支持大带宽但不要求时延的互联网业务,此方案大幅降低时延,使得服务网格可以支持对时延敏感的业务场景,如金融电信类。
参见图9,DPU侧服务网格转发面与主机侧服务网格管理面之间的通信过程如下:
1.1服务网格转发面卸载到DPU上,它可通过DPU卡管理口与主机侧kubenetes集群内的服务网格管理面建立连接(如gRPC连接),并可从可接收服务网格管理面的配置及配置变化的消息;
1.2服务网格转发面使用硬件协议栈处理协议,替换软件协议栈。其中主要需要处理转发面软件与硬件通信问题,可采用PCIE写寄存器方式完成。
1.3服务网格管理面会把需要上送服务网格转发面的流量规则下发到网络转发器中的转发表中,供后面流量转发使用。
其中,vf-1、vf-2、vfr-1和vfr-1均为不同的接口直通网卡。client pod、podA和podB均表示容器组。Kubernetes表示容器集群,eth0表示网络接口,fd1和fd2表示不同的TCP连接,NIC表示网卡,“0.0.0.0.:15001”表示硬件协议栈的地址,“10.56.22.3”表示容器组client pod的端口,“10.56.22.5”表示容器组podA的端口,“10.56.22.6”表示容器组podB的端口,“server 10.86.5.100:10001”表示下游客户端的地址。
参见图10,应用上述基于DPU的业务流量转发***实现的基于DPU的业务流量转发过程如下:
2.1主机侧pod内流量通过接口直通网卡(如SR-IOV技术或是PF pass through),经过硬件网络转发器模块,查硬件转发表转发到相应的模块,命中Envoy规则表时把报文转到硬件协议栈处理。
2.2硬件协议栈,根据流量五元组选择服务网格转发面某线程(如线程2),下游client与服务网格线程2建立TCP连接(如fd1)。
2.3服务网格转发面线程2再根据服务网格管理面下发的配置,按规则选择上游目的端口(endpoint)如10.56.22.5,通过硬件协议栈与上游建立第二个TCP连接(如fd2),通过接口直接网卡上送到主机侧上游目的端口(endpoint)。
综上所述,本申请应用实例提供的基于DPU的业务流量转发***实现的基于DPU的业务流量转发方法,Envoy侧与硬件协议栈之间通过特殊的通道(共享内存等方式)进行交互。Envoy会向硬件协议栈发送信号消息代替Socket接口调用;硬件协议栈根据信号向对端发送TCP协议报文,建TCP连接;连接建立成功能,Envoy向硬件协议栈发送流量,再由硬件协议栈进行TCP/IP头封装。TCP连接的创建与维护都由硬件协议栈完成。网络转发器装置上有转发表,Envoy会把需要上送Envoy的流量下发规则到网络转发表里。流量到达网络转发器时,会查询转发表,命中这些规则的会上送到硬件协议栈,由硬件协议栈通过特殊通道上送给soc侧Envoy。从时延角度上,硬件协议栈时延几乎可降低到软件协议栈的一半。具体来说,相较于现有技术,本申请应用实例提供的基于DPU的业务流量转发***实现的基于DPU的业务流量转发方法具有如下改进之处:
1)服务网格转发面卸载到DPU上,可通过DPU卡PCIE管理口与服务网格管理面建连接并获取配置及变化。
2)服务网格转发面使用硬件协议栈替换软件协议栈进行协议层报文及协议处理。
3)主机侧服务通过接口直接技术把报文直通到DPU板卡上,不经过主机侧协议栈下发。
4)DPU侧硬件模块(网络转发模块及硬件协议栈模块)可对上游协议报文根据某种规则(如使用五元组)进行负载均衡,使上游与服务网格转发面某线程建立TCP连接。
5)服务网格转发面某线程可通过DPU侧硬件模块(网络转发模块及硬件协议栈模块)与下游建立TCP连接。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、***和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于DPU的业务流量转发方法,其特征在于,包括:
在DPU中接收自所述DPU外部发来的下发业务流量报文;
若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面。
2.根据权利要求1所述的基于DPU的业务流量转发方法,其特征在于,在所述将该下发业务流量报文发送至所述DPU中的硬件协议栈之前,还包括:
根据所述下发业务流量报文对应的属性信息,自本地的转发表中查找对应的转发对象,所述转发对象中包括所述服务网格转发面;
其中,所述转发表预先接收自所述服务网格转发面并存储在本地,且所述转发表用于存储各个属性信息与所述转发对象之间的对应关系。
3.根据权利要求2所述的基于DPU的业务流量转发方法,其特征在于,所述若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面,包括:
若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使该硬件协议栈在所述服务网格转发面中的各个线程中择一作为当前的目标线程,并基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面中的所述目标线程。
4.根据权利要求3所述的基于DPU的业务流量转发方法,其特征在于,还包括:
接收所述硬件协议栈发送的上送业务流量报文,该上送业务流量报文是所述硬件协议栈对预先基于上送TCP连接路径接收到的业务流量数据封装得到的;其中,所述上送TCP连接路径是所述目标线程在接收到所述下发业务流量报文并基于预设的配置规则数据确定主机侧的目的端点信息后再与所述硬件协议栈之间建立的,而后所述目标线程基于该上送TCP连接路径将自身处理后的所述下发业务流量报文及目的端点信息对应的所述业务流量数据发送至所述硬件协议栈;
基于所述目的端点信息将所述上送业务流量报文发送至所述主机侧的目的端点以使该目的端点信息对应的目的容器组获取该上送业务流量报文。
5.根据权利要求4所述的基于DPU的业务流量转发方法,其特征在于,所述下发TCP连接路径和所述上送TCP连接路径是所述硬件协议栈在接收到所述服务网格转发面发出的连接请求信号之时或之后,根据该连接请求信号向所述服务网格转发面发送自身的TCP协议报文而预先构建得到的。
6.根据权利要求4所述的基于DPU的业务流量转发方法,其特征在于,所述配置规则数据预先由主机侧的服务网格管理面发送至所述服务网格转发面并存储至所述服务网格转发面中。
7.一种基于DPU的业务流量转发装置,其特征在于,包括:
报文接收模块,用于在DPU中接收自所述DPU外部发来的下发业务流量报文;
报文转发模块,用于若确定所述下发业务流量报文的转发对象为设置在所述DPU中的服务网格转发面,则将该下发业务流量报文发送至所述DPU中的硬件协议栈,以使所述硬件协议栈基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面。
8.一种基于DPU的业务流量转发***,其特征在于,包括:分别设置在DPU中且依次通信连接的网络转发器、硬件协议栈和设置在所述DPU的片上***中的服务网格转发面;
所述网络转发器用于执行权利要求1至6任一项所述的基于DPU的业务流量转发方法;
所述硬件协议栈与所述服务网格转发面之间基于预设的PCIE进行通信连接;
所述服务网格转发面与主机侧的服务网格管理面之间基于预设的管理口进行通信连接,所述网络转发器与所述主机侧的容器集群中的各个容器组之间基于预设的接口直通网卡进行通信连接。
9.根据权利要求8所述的基于DPU的业务流量转发***,其特征在于,所述硬件协议栈包括:
TCP连接建立模块,用于在接收到所述服务网格转发面发出的连接请求信号之时或之后,根据该连接请求信号向所述服务网格转发面发送自身的TCP协议报文以构建得到对应的下发TCP连接路径或上送TCP连接路径;
下发转发模块,用于在所述服务网格转发面中的各个线程中择一作为当前的目标线程,并基于预先与所述服务网格转发面之间构建的下发TCP连接路径将所述下发业务流量报文转发至所述服务网格转发面中的所述目标线程;
上送转发模块,用于基于预先与所述服务网格转发面之间构建的上送TCP连接路径,接收所述服务网格转发面中的所述目标线程发送的业务流量数据,并对该业务流量数据进行封装以得到对应的上送业务流量报文,再将所述上送业务流量报文发送至所述主机侧的目的端点信息以使该目的端点信息对应的目的容器组获取该上送业务流量报文。
10.根据权利要求8所述的基于DPU的业务流量转发***,其特征在于,所述服务网格转发面包括:
配置接收模块,用于接收并存储主机侧的服务网格管理面发送的配置规则数据;
TCP连接请求模块,用于向所述硬件协议栈发送连接请求信号,以使所述硬件协议栈根据该连接请求信号发出自身的TCP协议报文以与所述硬件协议栈之间构建得到对应的下发TCP连接路径或上送TCP连接路径;
报文接收模块,用于基于本地的目标线程接收所述硬件协议栈转发的所述下发业务流量报文;
报文上送模块,用于基于预设的配置规则数据确定所述主机侧的目的端点信息,并在经过所述TCP连接请求模块与所述硬件协议栈之间建立上送TCP连接路径后,由所述目标线程基于所述上送TCP连接路径将自身处理后的所述下发业务流量报文及目的端点信息对应的所述业务流量数据发送至所述硬件协议栈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311287228.9A CN117478589A (zh) | 2023-10-07 | 2023-10-07 | 基于dpu的业务流量转发方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311287228.9A CN117478589A (zh) | 2023-10-07 | 2023-10-07 | 基于dpu的业务流量转发方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117478589A true CN117478589A (zh) | 2024-01-30 |
Family
ID=89630256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311287228.9A Pending CN117478589A (zh) | 2023-10-07 | 2023-10-07 | 基于dpu的业务流量转发方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117478589A (zh) |
-
2023
- 2023-10-07 CN CN202311287228.9A patent/CN117478589A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113596191B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
WO2020007202A1 (zh) | 一种数据传输方法、装置及*** | |
CN108111523B (zh) | 数据传输方法和装置 | |
CN114173374A (zh) | 多接入管理服务分组分类和优先级排定技术 | |
CN108494817B (zh) | 数据传输方法、相关装置及*** | |
CN108270813B (zh) | 一种异构多协议栈方法、装置及*** | |
JP2019518393A (ja) | パケット処理方法、及びデバイス | |
CN110505244B (zh) | 远程隧道访问技术网关以及服务器 | |
US11800587B2 (en) | Method for establishing subflow of multipath connection, apparatus, and system | |
WO2021134446A1 (zh) | 一种信息处理方法和通信装置以及通信*** | |
WO2022068756A1 (zh) | 基于微服务的服务网格***及服务治理方法 | |
CN113572864B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN113891396B (zh) | 数据包的处理方法、装置、计算机设备和存储介质 | |
CN105141603A (zh) | 通信数据传输方法及*** | |
US20180367651A1 (en) | Stream control transmission protocol SCTP-based communications method and system, and appartus | |
US20150372924A1 (en) | Network routing overlay | |
US10623996B2 (en) | GTP tunnels for the support of anchorless backhaul | |
CN114024910A (zh) | 一种用于金融交易***的极低延时可靠通讯***及方法 | |
EP3832987B1 (en) | Data processing method and device | |
CN112838983B (zh) | 数据传输方法、***、设备、代理服务器及存储介质 | |
CN117478589A (zh) | 基于dpu的业务流量转发方法、装置及*** | |
KR102280343B1 (ko) | 복수의 이더넷 포트를 가지는 사물인터넷 디바이스 | |
CN113676544A (zh) | 一种云存储网络和在实体服务器中实现业务隔离的方法 | |
CN113497767A (zh) | 传输数据的方法、装置、计算设备及存储介质 | |
JP2023510410A (ja) | マルチアクセス関連情報を伴うプロビジョニングトラフィック操向 |
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 |