CN109992405B - 一种处理数据报文的方法和网卡 - Google Patents
一种处理数据报文的方法和网卡 Download PDFInfo
- Publication number
- CN109992405B CN109992405B CN201711498895.6A CN201711498895A CN109992405B CN 109992405 B CN109992405 B CN 109992405B CN 201711498895 A CN201711498895 A CN 201711498895A CN 109992405 B CN109992405 B CN 109992405B
- Authority
- CN
- China
- Prior art keywords
- network card
- processed
- data message
- integrated circuit
- programmable integrated
- 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.)
- Active
Links
Images
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/74—Address processing for routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- 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/02—Protocol performance
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种处理数据报文的方法和网卡,涉及通信领域,能够解决网卡的性能有限导致的不能很好地降低CPU的负载的问题。该方法应用于网卡,网卡包括加速接口,加速接口与可编程的集成电路连接,该方法包括:网卡接收待处理的数据报文;网卡通过加速接口将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文;网卡接收可编程的集成电路通过加速接口返回的处理后的数据报文;网卡发送处理后的数据报文。本申请实施例应用于网卡处理数据报文的过程中。
Description
技术领域
本申请涉及通信领域,尤其涉及一种处理数据报文的方法和网卡。
背景技术
随着网络业务的快速发展,网络中的流量急剧增加,为了实现对硬件资源的充分利用,虚拟化技术和云计算得到了越来越广泛的利用,这样一来,增加了中央处理器(Central Processing Unit,CPU)的资源占用率。
为了降低CPU的负载,发展出一种网卡的硬件卸载(offloading)技术。网卡的offloading技术即将原本需要CPU进行处理的工作卸载到网卡上,由网卡进行处理。具备offloading功能的网卡需要对专有集成电路(Application Specific IntegratedCircuit,ASIC)芯片重新流片,具有周期久,投入大,灵活度差等问题。
为了解决上述问题,一些厂商在网卡的ASIC芯片内部集成了精简指令集计算机(Reduced Instruction Set Computer,RISC)或ARM(Acorn RISC Machine)类型的处理器,支持一定的可编程能力。但是内部集成的处理器的处理能力和可编程资源等有限,限制了网卡的性能,从而不能很好地降低CPU的负载。
发明内容
本申请实施例提供一种处理数据报文的方法和网卡,能够解决网卡的性能有限导致的不能很好地降低CPU的负载的问题。
第一方面,本申请实施例提供一种处理数据报文的方法,应用于网卡,网卡包括加速接口,加速接口与可编程的集成电路连接,该方法包括:网卡接收待处理的数据报文;网卡通过加速接口将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文;网卡接收可编程的集成电路通过加速接口返回的处理后的数据报文;网卡发送处理后的数据报文。相比现有技术,网卡通过内部集成的处理器处理数据报文,由于内部集成的处理器的处理能力和可编程资源等有限,限制了网卡的性能,从而不能很好地降低CPU的负载。本申请实施例可以将接收到的待处理的数据报文,通过加速接口将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文,能够降低CPU的负载。其中,预设的策略可以根据网卡的应用场景灵活配置。同时,加速接口独立于系统侧接口和线路侧接口,专用于网卡与可编程的集成电路之间的信号通信,不影响系统侧接口和线路侧接口的功能。
在一种可能的实现方式中,网卡通过加速接口将待处理的数据报文转发到可编程的集成电路之前,该方法还包括:在网卡从线路侧接口接收待处理的数据报文的情况下,网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系;在网卡从系统侧接口接收待处理的数据报文的情况下,网卡确定待处理的数据报文匹配网卡上存储的流表。由此,网卡将待处理的数据报文转发到可编程的集成电路之前,可以确定待处理的数据报文是否满足预设的条件,预设的条件包括待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系,或待处理的数据报文匹配网卡上存储的流表。当待处理的数据报文满足预设的条件时,通过加速接口将待处理的数据报文转发到可编程的集成电路,可以更好的满足高性能,需要提供可编程加速能力的场景。
在一种可能的实现方式中,网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系包括:网卡获取待处理的数据报文的协议关键字;网卡确定网卡上存储的策略列表中是否存在待处理的数据报文的协议关键字;若网卡确定网卡上存储的策略列表中存在待处理的数据报文的协议关键字,网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系。由此,若网卡确定网卡上存储的策略列表中存在待处理的数据报文的协议关键字,网卡通过加速接口将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文,可以更好的满足高性能,需要提供可编程加速能力的场景。
在一种可能的实现方式中,网卡确定待处理的数据报文匹配网卡上存储的流表包括:网卡获取待处理的数据报文的头部信息;网卡确定流表的包头域是否匹配待处理的数据报文的头部信息;若网卡确定流表的包头域匹配待处理的数据报文的头部信息,网卡确定待处理的数据报文匹配网卡上存储的流表。由此,若网卡确定待处理的数据报文匹配网卡上存储的流表,网卡通过加速接口转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文,可以更好的满足高性能,需要提供可编程加速能力的场景。
在一种可能的实现方式中,该方法还包括:在网卡从线路侧接口接收待处理的数据报文的情况下,网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字没有对应关系;或在网卡从系统侧接口接收待处理的数据报文的情况下,网卡确定待处理的数据报文不匹配网卡上存储的流表;网卡处理待处理的数据报文。由此,若网卡确定待处理的数据报文不匹配网卡上存储的流表,可以由网卡处理待处理的数据报文,可以节省将数据报文转发到可编程的集成电路的开销,能够满足普通性能要求。
在一种可能的实现方式中,可编程的集成电路与存储设备连接,存储设备用于缓存待处理的数据报文,能够加强可编程的集成电路的处理性能。
第二方面,本申请实施例提供一种网卡,包括:接收单元,用于接收待处理的数据报文;加速接口,用于将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文;接收单元,还用于接收可编程的集成电路通过加速接口返回的处理后的数据报文;发送单元,用于发送处理后的数据报文。
在一种可能的实现方式中,还包括确定单元,用于:在网卡从线路侧接口接收待处理的数据报文的情况下,确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系;在网卡从系统侧接口接收待处理的数据报文的情况下,确定待处理的数据报文匹配网卡上存储的流表。
在一种可能的实现方式中,在网卡从线路侧接口接收待处理的数据报文的情况下,确定单元用于:获取待处理的数据报文的协议关键字;确定网卡上存储的策略列表中是否存在待处理的数据报文的协议关键字;若确定网卡上存储的策略列表中存在待处理的数据报文的协议关键字,确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系。
在一种可能的实现方式中,在网卡从系统侧接口接收待处理的数据报文的情况下,确定单元用于:获取待处理的数据报文的头部信息;确定流表的包头域是否匹配待处理的数据报文的头部信息;若确定流表的包头域匹配待处理的数据报文的头部信息,确定待处理的数据报文匹配网卡上存储的流表。
在一种可能的实现方式中,还包括处理单元,用于:在网卡从线路侧接口接收待处理的数据报文的情况下,通过确定单元确定待处理的数据报文与网卡上存储的策略列表中的协议关键字没有对应关系;或在网卡从系统侧接口接收待处理的数据报文的情况下,通过确定单元确定待处理的数据报文不匹配网卡上存储的流表;处理待处理的数据报文。
在一种可能的实现方式中,可编程的集成电路与存储设备连接,存储设备用于缓存待处理的数据报文。
第三方面,本发明实施例提供了一种网卡,该网卡以芯片的产品形态存在,该网卡的结构中包括处理器和存储器,该存储器用于与处理器耦合,保存该网卡必要的程序指令和数据,该处理器用于执行存储器中存储的程序指令,使得该网卡执行上述方法中网卡的功能。
第四方面,本发明实施例提供了一种网卡,该网卡可以实现上述方法中网卡所执行的功能,功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的模块。
在一种可能的设计中,该网卡的结构中包括处理器和通信接口,该处理器被配置为支持该网卡执行上述方法中相应的功能。该通信接口用于支持该网卡与其他网元之间的通信。该网卡还可以包括存储器,该存储器用于与处理器耦合,其保存该网卡必要的程序指令和数据。
第五方面,本发明实施例提供一种网卡可读存储介质,包括指令,当其在网卡上运行时,使得网卡执行第一方面提供的任意一种方法。
第六方面,本发明实施例提供了一种包含指令的程序产品,当其在网卡上运行时,使得网卡执行第一方面提供的任意一种方法。
相比现有技术,网卡通过内部集成的处理器处理数据报文,由于内部集成的处理器的处理能力和可编程资源等有限,限制了网卡的性能,从而不能很好地降低CPU的负载。本申请实施例可以将接收到的待处理的数据报文,通过加速接口将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文,能够降低CPU的负载。其中,预设的策略可以根据网卡的应用场景灵活配置。同时,加速接口独立于系统侧接口和线路侧接口,专用于网卡与可编程的集成电路之间的信号通信,不影响系统侧接口和线路侧接口的功能。
附图说明
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种网卡的内部结构示意图;
图3为本申请实施例提供的一种网卡、可编程的集成电路以及存储设备的连接示意图;
图4为本申请实施例提供的一种处理数据报文的方法的流程示意图;
图5为本申请实施例提供的一种处理数据报文的方法的流程示意图;
图6为本申请实施例提供的一种网卡的结构示意图;
图7为本申请实施例提供的一种网卡的结构示意图。
具体实施方式
为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
线路侧接口,即网卡用于接收其他网络设备发送的数据报文的接口。线路侧接口例如但不限于为,小型可插拔式(Small Form-factor,SFP)接口、四通道小型可插拔式(Quad Small Form-factor Pluggable,QSFP)接口或KR接口。
系统侧接口,即网卡用于接收CPU发送的数据报文的接口。系统侧接口例如但不限于为扩展的外部设备互连总线(PCI(Peripheral Component Interconnect)Express,PCIe)接口。
加速接口,独立于线路侧接口和系统侧接口,可以用于连接可编程的集成电路。加速接口例如但不限于为,PCIe接口,同调汇流互连加速器(Cache Coherent Interconnectfor Accelerators,CCIX)接口,QSFP接口,40G平行物理接口(40Gbps Parallel PhysicalInterface,XLPPI)接口或者QSFP接口。
本申请实施例提供一种处理数据报文的方法和网卡,可以应用于各种数据报文或数据包的处理场景中。例如,传输控制协议(Transmission Control Protocol,TCP)/网际协议(Internet Protocol,IP)校验和(Checksum)场景,IPsec(IP Security)以及安全传输层协议(Transport Layer Security Protocol,TLS)等加解密场景,TCP切片卸载(TCPSegmentation Offload,TSO)场景,虚拟机队列(Virtual Machine Queue,VMQ)操作(Steering)场景,RSS(Receive Side Scaling)操作场景,虚拟网络的通用路由封装(Network Virtualization using Generic Routing Encapsulation,NVGRE)、增强型虚拟局域网(Virtual eXtensible Local Area Network,VXLAN)和通用虚拟网络封装(GenericNetwork Virtualization Encapsulation,GENEVE)等Overlay网络卸载场景,以及远程直接数据存取(Remote Direct Memory Access,RDMA)场景等。另外,还可以应用于数据平面开发套件(Data Plane Development Kit,DPDK),开源虚拟交换机(OpenvSwitch,OVS)以及云硬盘(Elastic Volume Service,EVS)等处理场景中。
如图1所示,为本申请实施例提供的一种系统架构示意图,包括网络设备和外部设备(例如,交换机)。其中,网络设备包括网卡、存储器和CPU。网卡可以从线路侧接口接收交换机发送的数据报文,或从系统侧接口接收CPU发送的数据报文。
如图2所示,为本申请实施例提供的一种网卡的内部结构示意图。其中,网卡提供的系统侧接口用于连接CPU等主设备(host设备)。网卡提供的线路侧接口用于对接交换机或者其他网卡。网卡提供物理层、媒体接入控制(Media Access Control,MAC)层以及缓冲(BUFFER)等功能模块。可选的,网卡可以提供队列,发送引擎,接收引擎等功能模块。可选的,网卡提供内置的处理器,用于实现网卡内部资源管理,调度,网卡功能编程等。可选的,网卡提供存储器接口,如双倍速率同步动态随机存储器(Double Data Rate,DDR)接口,用于扩展芯片BUFFER。
如图3所示,网卡包括加速接口,用于连接可编程的集成电路。网卡可以将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文。在一种可能的设计中,可编程的集成电路与存储设备连接,存储设备用于缓存待处理的数据报文。需要说明的是,加速接口和系统侧接口或线路侧接口无关,也就是说,加速接口不影响现有的系统侧接口或线路侧接口的功能。
本申请实施例提供一种处理数据报文的方法,以网卡从线路侧接口接收待处理的数据报文为例进行说明,如图4所示,包括:
401、网卡从线路侧接口接收待处理的数据报文。
即网卡从线路侧接口接收外部设备发送的待处理的数据报文。
举例来说,待处理的数据报文可以是根据IPSec协议封装的数据报文,IPSec封装的数据报文是经过加密的数据报文,需要进行解密处理。
402、网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字是否有对应关系。
具体的,网卡获取待处理的数据报文的协议关键字;网卡确定网卡上存储的策略列表中是否存在待处理的数据报文的协议关键字;若网卡确定网卡上存储的策略列表中存在待处理的数据报文的协议关键字,网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系。
示例性的,网卡上存储的策略列表可以包括多种协议关键字,协议关键字用于指示协议类型,如表1所示:
表1
待处理的数据报文的协议关键字指明了待处理的数据包的协议类型。举例来说,当待处理的数据报文是根据IPSec封装的数据报文时,数据报文的协议关键字可以是IPSec类型。当网卡确定网卡上存储的策略列表中的协议关键字包括IPSec类型时,网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系。
若网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系,执行步骤403、404和406。
若网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字没有对应关系,执行步骤405和406。
403、网卡通过加速接口将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文。
其中,可编程的集成电路可以包括现场可编程门阵列(Field-Programmable GateArray,FPGA)、ASIC或可编程逻辑器件(Programmable Logic Device,PLD),本申请对此不进行限定。
可编程的集成电路接收到网卡通过加速接口发送的待处理的数据报文时,可以根据预设的策略处理待处理的数据报文。其中,预设的策略可以根据网卡的应用场景灵活配置。例如,当待处理的数据报文是IPSec封装的数据报文时,可编程的集成电路可以对IPSec封装的数据报文进行解密处理。
可选的,可编程的集成电路支持外接存储设备,存储设备可以缓存待处理的数据报文。存储设备可以为随机存取存储器(Random Access Memory,RAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM),可擦除可编程只读寄存器(ErasableProgrammable Read Only Memory,EPROM)等中的一种或多种,本申请不做限定。
404、网卡接收可编程的集成电路通过加速接口返回的处理后的数据报文。
即可编程的集成电路根据预设的策略处理待处理的数据报文完成后,可以将处理后的数据报文返回给网卡,以便网卡将处理后的数据报文发送给CPU。
405、网卡处理待处理的数据报文。
即当网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字没有对应关系时,网卡不向可编程的集成电路发送待处理的数据报文,网卡可以自行处理待处理的数据报文。
举例来说,当待处理的数据报文不是根据IPSec封装的数据报文时,网卡可以不向可编程的集成电路发送待处理的数据报文,网卡可以自行处理待处理的数据报文。
协议类型 | 协议关键字 |
IPSec协议 | IPSec |
TLS协议 | TLS |
...... | ...... |
IP协议 | IP |
406、网卡发送处理后的数据报文。
在一种可能的设计中,网卡可以通过PCIe接口向CPU发送处理后的数据报文,以便CPU对该处理后的数据报文进一步处理。
在一种可能的设计中,网卡可以产生中断,通过直接内存访问(Direct MemoryAccess,DMA)将处理后的数据报文发送给CPU管理的内存。
相比现有技术,网卡通过内部集成的处理器处理数据报文,由于内部集成的处理器的处理能力和可编程资源等有限,限制了网卡的性能,从而不能很好地降低CPU的负载。本申请实施例可以将接收到的待处理的数据报文,通过加速接口转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文,能够降低CPU的负载。其中,预设的策略可以根据网卡的应用场景灵活配置。同时,加速接口独立于系统侧接口和线路侧接口,专用于网卡和可编程的集成电路的信号通信,不影响系统侧接口和线路侧接口的功能。
在一种可能的设计中,在网卡从线路侧接口接收待处理的数据报文的情况下,网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字是否有对应关系,若网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字有对应关系,网卡通过加速接口转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文,可以更好的满足高性能,需要提供可编程加速能力的场景。若网卡确定待处理的数据报文与网卡上存储的策略列表中的协议关键字没有对应关系,网卡自行处理待处理的数据报文,可以节省将数据报文转发到可编程的集成电路的开销,能够满足普通性能要求。
本申请的又一实施例提供一种处理数据报文的方法,以网卡从系统侧接收待处理的数据报文为例进行说明,如图5所示,包括:
501、网卡从系统侧接口接收待处理的数据报文。
即网卡从系统侧接口接收CPU发送的待处理的数据报文。
举例来说,待处理的数据报文可以是需要进行IPSec协议封装的数据报文,也就是说,待处理的数据报文需要进行加密处理。
502、网卡确定待处理的数据报文是否匹配网卡上存储的流表。
具体的,网卡获取待处理的数据报文的头部信息;网卡确定流表的包头域是否匹配待处理的数据报文的头部信息;若网卡确定流表的包头域匹配待处理的数据报文的头部信息,网卡确定待处理的数据报文匹配网卡上存储的流表。
示例性的,网卡上存储的流表的包头域可以包括输出端口、传输协议和目的IP地址,如表2所示:
表2
输出端口 | 传输协议 | 目的IP地址 |
端口1 | IPSec | 223.255.14.151 |
...... | ...... | ...... |
端口2 | TLS | 223.255.14.152 |
待处理的数据报文的头部信息包括待处理的数据报文对应的输出端口、传输协议和目的IP地址。
举例来说,假设网卡上存储的流表的包头域如表2所示,那么当网卡确定待处理的数据报文对应的输出端口为端口1、目的IP地址为223.255.14.151时,网卡确定待处理的数据报文的传输协议为IPSec,从而确定待处理的数据报文匹配网卡上存储的流表。
若网卡确定待处理的数据报文匹配网卡上存储的流表,执行步骤503、504和506。
若网卡确定待处理的数据报文不匹配网卡上存储的流表,执行步骤505和506。
503、网卡通过加速接口将待处理的数据报文转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文。
其中,可编程的集成电路可以为FPGA、ASIC或PLD,本申请对此不作限定。
可编程的集成电路接收到网卡通过加速接口发送的待处理的数据报文时,可以根据预设的策略处理待处理的数据报文。例如,当待处理的数据报文是需要进行IPSec封装的数据报文时,可编程的集成电路可以对待处理的数据报文进行加密处理。
可选的,可编程的集成电路支持外接存储设备,存储设备可以缓存待处理的数据报文。存储设备可以为RAM,DRAM,EPROM等,本申请不做限定。
504、网卡接收可编程的集成电路通过加速接口返回的处理后的数据报文。
即可编程的集成电路根据预设的策略处理待处理的数据报文完成后,可以将处理后的数据报文返回给网卡,以便网卡将处理后的数据报文发送给外部设备或CPU。
505、网卡处理待处理的数据报文。
即当网卡确定待处理的数据报文不匹配网卡上存储的流时,网卡不向可编程的集成电路发送待处理的数据报文,网卡可以自行处理待处理的数据报文。
506、网卡发送处理后的数据报文。
即网卡可以通过线路侧接口直接向外部设备转发处理后的数据报文。
相比现有技术,网卡通过内部集成的处理器处理数据报文,由于内部集成的处理器的处理能力和可编程资源等有限,限制了网卡的性能,从而不能很好地降低CPU的负载。本申请实施例可以将接收到的待处理的数据报文,通过加速接口转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文,能够降低CPU的负载。其中,预设的策略可以根据网卡的应用场景灵活配置。同时,加速接口独立于系统侧接口和线路侧接口,专用于网卡与可编程的集成电路之间的信号通信,不影响系统侧接口和线路侧接口的功能。
在一种可能的设计中,在网卡从线路侧接口接收待处理的数据报文的情况下,网卡确定待处理的数据报文是否匹配网卡上存储的流表,若网卡确定待处理的数据报文匹配网卡上存储的流表,网卡通过加速接口转发到可编程的集成电路,使可编程的集成电路根据预设的策略处理待处理的数据报文,可以更好的满足高性能,需要提供可编程加速能力的场景。若网卡确定待处理的数据报文不匹配网卡上存储的流表,网卡自行处理待处理的数据报文,可以节省将数据报文转发到可编程的集成电路的开销,能够满足普通性能要求。
上述主要从网卡的角度对本申请实施例提供的方案进行了介绍。可以理解的是,网卡为了实现上述功能,其包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的算法步骤,本申请能够以硬件或硬件和软件的结合形式来实现。某个功能究竟以硬件还是软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对网卡进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中所涉及的网卡6的一种可能的结构示意图,网卡包括:接收单元601,加速接口602,发送单元603,确定单元604和处理单元605。接收单元601用于支持网卡执行图4中的过程401和404,图5中的过程501和504。确定单元604用于支持网卡执行图4中的过程402,图5中的过程502。加速接口602用于支持网卡执行图4中的过程403,图5中的过程503。发送单元603用于支持网卡执行图4中的过程406,图5中的过程506。处理单元605用于支持网卡执行图4中的过程405,图5中的过程505。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在一种可能的设计中,网卡可以通过图7中的网卡来实现。
图7所示为本申请实施例提供的网卡示意图。网卡700包括至少一个处理器701,通信总线702,存储器703以及至少一个通信接口704。
处理器701可以是一个通用CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线702可包括一通路,在上述组件之间传送信息。
通信接口704,网卡用于与其他网卡或通信网络通信,如以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器703可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM)、只读光盘(Compact Disc read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由网卡存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器703用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。处理器701用于执行存储器703中存储的应用程序代码,从而实现本申请方法中的功能。
在具体实现中,作为一种实施例,处理器701可以包括一个或多个CPU,例如图7中的CPU0和CPU1。
在具体实现中,作为一种实施例,网卡700可以包括多个处理器,例如图7中的处理器701和处理器705。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如网卡程序指令)的处理核。
上述的网卡700可以是一个通用网卡或者是一个专用网卡。在具体实现中,网卡700可以是台式机、便携式电脑、服务器、存储设备、网络设备、掌上电脑(Personal DigitalAssistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图7中类似结构的设备。本申请实施例不限定网卡700的类型。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、只读光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在网卡可读介质中或者作为网卡可读介质上的一个或多个指令或代码进行传输。网卡可读介质包括网卡存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送网卡程序的任何介质。存储介质可以是通用或专用网卡能够存取的任何可用介质。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (13)
1.一种处理数据报文的方法,应用于网卡,其特征在于,所述网卡包括加速接口,所述加速接口与可编程的集成电路连接,所述方法包括:
所述网卡接收待处理的数据报文;
在所述网卡确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字有对应关系的情况下,或者,在所述网卡确定所述待处理的数据报文匹配所述网卡上存储的流表的情况下,所述网卡通过所述加速接口将所述待处理的数据报文转发到所述可编程的集成电路,使所述可编程的集成电路根据预设的策略处理所述待处理的数据报文;
所述网卡接收所述可编程的集成电路通过所述加速接口返回的处理后的数据报文;
所述网卡发送所述处理后的数据报文。
2.根据权利要求1所述的方法,其特征在于,所述网卡通过所述加速接口将所述待处理的数据报文转发到所述可编程的集成电路之前,所述方法还包括:
在所述网卡从线路侧接口接收所述待处理的数据报文的情况下,所述网卡确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字有对应关系;
在所述网卡从系统侧接口接收所述待处理的数据报文的情况下,所述网卡确定所述待处理的数据报文匹配所述网卡上存储的流表。
3.根据权利要求2所述的方法,其特征在于,所述网卡确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字有对应关系包括:
所述网卡获取所述待处理的数据报文的协议关键字;
所述网卡确定所述网卡上存储的策略列表中是否存在所述待处理的数据报文的协议关键字;
若所述网卡确定所述网卡上存储的策略列表中存在所述待处理的数据报文的协议关键字,所述网卡确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字有对应关系。
4.根据权利要求2所述的方法,其特征在于,所述网卡确定所述待处理的数据报文匹配所述网卡上存储的流表包括:
所述网卡获取所述待处理的数据报文的头部信息;
所述网卡确定所述流表的包头域是否匹配所述待处理的数据报文的头部信息;
若所述网卡确定所述流表的包头域匹配所述待处理的数据报文的头部信息,所述网卡确定所述待处理的数据报文匹配所述网卡上存储的流表。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
在所述网卡从线路侧接口接收所述待处理的数据报文的情况下,所述网卡确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字没有对应关系;或
在所述网卡从系统侧接口接收所述待处理的数据报文的情况下,所述网卡确定所述待处理的数据报文不匹配所述网卡上存储的流表;
所述网卡处理所述待处理的数据报文。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述可编程的集成电路与存储设备连接,所述存储设备用于缓存所述待处理的数据报文。
7.一种网卡,其特征在于,包括:
接收单元,用于接收待处理的数据报文;
加速接口,在所述网卡确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字有对应关系的情况下,或者,在所述网卡确定所述待处理的数据报文匹配所述网卡上存储的流表的情况下,用于将所述待处理的数据报文转发到可编程的集成电路,使所述可编程的集成电路根据预设的策略处理所述待处理的数据报文;
所述接收单元,还用于接收所述可编程的集成电路通过所述加速接口返回的处理后的数据报文;
发送单元,用于发送所述处理后的数据报文。
8.根据权利要求7所述的网卡,其特征在于,还包括确定单元,用于:
在所述网卡从线路侧接口接收所述待处理的数据报文的情况下,确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字有对应关系;
在所述网卡从系统侧接口接收所述待处理的数据报文的情况下,确定所述待处理的数据报文匹配所述网卡上存储的流表。
9.根据权利要求8所述的网卡,其特征在于,在所述网卡从线路侧接口接收所述待处理的数据报文的情况下,所述确定单元用于:
获取所述待处理的数据报文的协议关键字;
确定所述网卡上存储的策略列表中是否存在所述待处理的数据报文的协议关键字;
若确定所述网卡上存储的策略列表中存在所述待处理的数据报文的协议关键字,确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字有对应关系。
10.根据权利要求8所述的网卡,其特征在于,在所述网卡从系统侧接口接收所述待处理的数据报文的情况下,所述确定单元用于:
获取所述待处理的数据报文的头部信息;
确定所述流表的包头域是否匹配所述待处理的数据报文的头部信息;
若确定所述流表的包头域匹配所述待处理的数据报文的头部信息,确定所述待处理的数据报文匹配所述网卡上存储的流表。
11.根据权利要求7-10任一项所述的网卡,其特征在于,还包括处理单元,用于:
在所述网卡从线路侧接口接收所述待处理的数据报文的情况下,通过确定单元确定所述待处理的数据报文与所述网卡上存储的策略列表中的协议关键字没有对应关系;或
在所述网卡从系统侧接口接收所述待处理的数据报文的情况下,通过确定单元确定所述待处理的数据报文不匹配所述网卡上存储的流表;
处理所述待处理的数据报文。
12.根据权利要求7-10任一项所述的网卡,其特征在于,所述可编程的集成电路与存储设备连接,所述存储设备用于缓存所述待处理的数据报文。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的处理数据报文的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711498895.6A CN109992405B (zh) | 2017-12-29 | 2017-12-29 | 一种处理数据报文的方法和网卡 |
CN202111208360.7A CN114095427A (zh) | 2017-12-29 | 2017-12-29 | 一种处理数据报文的方法和网卡 |
PCT/CN2018/124560 WO2019129167A1 (zh) | 2017-12-29 | 2018-12-28 | 一种处理数据报文的方法和网卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711498895.6A CN109992405B (zh) | 2017-12-29 | 2017-12-29 | 一种处理数据报文的方法和网卡 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111208360.7A Division CN114095427A (zh) | 2017-12-29 | 2017-12-29 | 一种处理数据报文的方法和网卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109992405A CN109992405A (zh) | 2019-07-09 |
CN109992405B true CN109992405B (zh) | 2021-10-15 |
Family
ID=67066678
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111208360.7A Pending CN114095427A (zh) | 2017-12-29 | 2017-12-29 | 一种处理数据报文的方法和网卡 |
CN201711498895.6A Active CN109992405B (zh) | 2017-12-29 | 2017-12-29 | 一种处理数据报文的方法和网卡 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111208360.7A Pending CN114095427A (zh) | 2017-12-29 | 2017-12-29 | 一种处理数据报文的方法和网卡 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN114095427A (zh) |
WO (1) | WO2019129167A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291293B (zh) * | 2019-07-27 | 2023-01-06 | 华为技术有限公司 | 任务处理方法、相关设备及计算机存储介质 |
CN110955517B (zh) * | 2019-09-03 | 2021-08-20 | 华为技术有限公司 | 报文转发的方法、计算机设备和中间设备 |
CN111262917A (zh) * | 2020-01-13 | 2020-06-09 | 苏州浪潮智能科技有限公司 | 一种基于fpga云平台的远端数据搬移装置和方法 |
CN111654451B (zh) * | 2020-05-13 | 2023-03-28 | 南京南瑞继保电气有限公司 | 报文防重放方法及电子设备 |
CN113810346A (zh) * | 2020-06-16 | 2021-12-17 | 中兴通讯股份有限公司 | 加速引擎、数据报文传输系统、设备、方法和存储介质 |
CN113852656B (zh) * | 2020-06-28 | 2023-02-10 | 华为技术有限公司 | 一种数据传输方法、处理器系统及内存访问系统 |
CN112214325B (zh) * | 2020-10-20 | 2024-07-23 | 杭州电子科技大学 | Fpga任务动态编排方法、装置、芯片和存储介质 |
CN113821310B (zh) * | 2021-11-19 | 2022-05-06 | 阿里云计算有限公司 | 数据处理方法、可编程网卡设备、物理服务器及存储介质 |
CN114070639B (zh) * | 2021-11-19 | 2024-04-23 | 北京天融信网络安全技术有限公司 | 一种报文安全转发方法、装置及网络安全设备 |
CN114553774B (zh) * | 2021-12-24 | 2023-06-16 | 锐捷网络股份有限公司 | 一种报文转发方法、装置、设备和介质 |
WO2024198902A1 (zh) * | 2023-03-31 | 2024-10-03 | 深圳市中兴微电子技术有限公司 | 通讯芯片及其运行方法、通信设备以及非暂时性计算机存储介质 |
CN116668375B (zh) * | 2023-07-31 | 2023-11-21 | 新华三技术有限公司 | 一种报文分流方法、装置、网络设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055671A (zh) * | 2010-12-17 | 2011-05-11 | 天津曙光计算机产业有限公司 | 一种多应用发包的优先级管理方法 |
CN103139253A (zh) * | 2011-11-30 | 2013-06-05 | 华为技术有限公司 | 实现网卡卸载功能的方法、网卡、主机系统及网络设备 |
US8526441B2 (en) * | 2002-08-30 | 2013-09-03 | Broadcom Corporation | System and method for handling out-of-order frames |
CN107113240A (zh) * | 2015-12-31 | 2017-08-29 | 华为技术有限公司 | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 |
US9774710B2 (en) * | 2014-08-04 | 2017-09-26 | Futurewei Technologies, Inc. | System and method for network protocol offloading in virtual networks |
CN107317759A (zh) * | 2017-06-13 | 2017-11-03 | 国家计算机网络与信息安全管理中心 | 一种网卡的线程级动态均衡调度方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100574200C (zh) * | 2005-12-31 | 2009-12-23 | 中国科学院计算技术研究所 | 具有硬件加速功能的智能以太网卡 |
US8619558B1 (en) * | 2008-07-21 | 2013-12-31 | Qlogic, Corporation | Memory management in a network adapter |
DE102011119693A1 (de) * | 2011-11-29 | 2013-05-29 | Universität Heidelberg | System, Computer-implementiertes Verfahren und Computerprogrammprodukt zur direkten Kommunikation zwischen Hardwarebeschleunigern in einem Computercluster |
CN102904729B (zh) * | 2012-10-26 | 2018-05-01 | 曙光信息产业(北京)有限公司 | 根据协议、端口分流支持多应用的智能加速网卡 |
CN104243412B (zh) * | 2013-06-15 | 2019-03-05 | 深圳市振华微电子有限公司 | 网络数据处理终端及在其中处理网络数据的方法 |
-
2017
- 2017-12-29 CN CN202111208360.7A patent/CN114095427A/zh active Pending
- 2017-12-29 CN CN201711498895.6A patent/CN109992405B/zh active Active
-
2018
- 2018-12-28 WO PCT/CN2018/124560 patent/WO2019129167A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8526441B2 (en) * | 2002-08-30 | 2013-09-03 | Broadcom Corporation | System and method for handling out-of-order frames |
CN102055671A (zh) * | 2010-12-17 | 2011-05-11 | 天津曙光计算机产业有限公司 | 一种多应用发包的优先级管理方法 |
CN103139253A (zh) * | 2011-11-30 | 2013-06-05 | 华为技术有限公司 | 实现网卡卸载功能的方法、网卡、主机系统及网络设备 |
US9774710B2 (en) * | 2014-08-04 | 2017-09-26 | Futurewei Technologies, Inc. | System and method for network protocol offloading in virtual networks |
CN107113240A (zh) * | 2015-12-31 | 2017-08-29 | 华为技术有限公司 | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 |
CN107317759A (zh) * | 2017-06-13 | 2017-11-03 | 国家计算机网络与信息安全管理中心 | 一种网卡的线程级动态均衡调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109992405A (zh) | 2019-07-09 |
WO2019129167A1 (zh) | 2019-07-04 |
CN114095427A (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992405B (zh) | 一种处理数据报文的方法和网卡 | |
US10263788B2 (en) | Systems and methods for providing a man-in-the-middle proxy | |
WO2020215823A1 (zh) | 一种数据处理方法、设备、介质以及装置 | |
US10778812B1 (en) | Data encapsulation conversion and transmission | |
US20220224614A1 (en) | Technologies for capturing processing resource metrics as a function of time | |
US11570100B2 (en) | Data processing method, apparatus, medium and device | |
US20200364080A1 (en) | Interrupt processing method and apparatus and server | |
EP3563534B1 (en) | Transferring packets between virtual machines via a direct memory access device | |
US20200021540A1 (en) | System, apparatus and method for increasing efficiency of link communications | |
EP3796615A1 (en) | Fault tolerance processing method, device, and server | |
CN104601645A (zh) | 一种数据包处理方法及装置 | |
CN114697387B (zh) | 数据包传输方法、装置及存储介质 | |
CN113986969A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN113472523A (zh) | 用户态协议栈报文处理优化方法、系统、装置及存储介质 | |
CN103558995B (zh) | 一种存储控制芯片及磁盘报文传输方法 | |
US10877911B1 (en) | Pattern generation using a direct memory access engine | |
US20150199298A1 (en) | Storage and network interface memory share | |
CN113422792B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
US11003616B1 (en) | Data transfer using point-to-point interconnect | |
EP3631640B1 (en) | Communication between field programmable gate arrays | |
US10452579B2 (en) | Managing input/output core processing via two different bus protocols using remote direct memory access (RDMA) off-loading processing system | |
CN115277036A (zh) | 通信方法、网络设备及计算机可读存储介质 | |
CN111200815A (zh) | 基于移动应用的信息传输方法及装置 | |
US11636036B2 (en) | Unified memory management for a multiple processor system | |
CN115102805B (zh) | 虚拟隧道的处理方法、装置、计算机设备和存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |