WO2017000593A1 - 报文处理方法及装置 - Google Patents

报文处理方法及装置 Download PDF

Info

Publication number
WO2017000593A1
WO2017000593A1 PCT/CN2016/076793 CN2016076793W WO2017000593A1 WO 2017000593 A1 WO2017000593 A1 WO 2017000593A1 CN 2016076793 W CN2016076793 W CN 2016076793W WO 2017000593 A1 WO2017000593 A1 WO 2017000593A1
Authority
WO
WIPO (PCT)
Prior art keywords
transmitted
message
packet
fast channel
mode application
Prior art date
Application number
PCT/CN2016/076793
Other languages
English (en)
French (fr)
Inventor
李祥伟
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017000593A1 publication Critical patent/WO2017000593A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/722Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space

Definitions

  • the present invention relates to the field of communications, and in particular to a packet processing method and apparatus.
  • Linux's powerful network processing capabilities and stability are very popular among communication equipment manufacturers. Most of the network equipment is now based on the Linux operating system.
  • the Transmission Control Protocol (TCP)/Internet Protocol (IP) system is the current Internet communication protocol standard and is fully implemented in the Linux network kernel.
  • the system is divided into four levels: application layer, transport layer, network layer, and network medium.
  • Floor The Linux network kernel implements the network interconnection function with reference to the network protocol system, including the following parts:
  • Socket interface the top layer of the network kernel supports the interface for application development, and the socket interface is a series of standard functions. Sockets support a variety of different types of protocol families: UNIX domain protocol family, TCP/IP protocol family, Internet packet switching (IPX) protocol family, of which the TCP/IP protocol family is the most widely used;
  • IPX Internet packet switching
  • transport layer includes standard TCP and User Datagram (UDP) protocol modules
  • network layer includes standard IP protocol modules
  • Data link layer For networks that require logical links, the data link layer provides independent logical link protocol modules, such as Point-to-Point Protocol (PPP), Serial Line Internet Protocol (SLIP), and so on.
  • PPP Point-to-Point Protocol
  • SLIP Serial Line Internet Protocol
  • Ethernet this layer is relatively simple, and the main Ethernet protocol implementation is integrated into the underlying NIC driver;
  • the inventor of the present invention found in the research process that the user mode application needs to open the network device and bind the socket first when reading the data message.
  • the data packet is driven by the network device to the kernel network protocol stack, and then to the user state application, the processing flow is complicated, and the kernel state to the user state space also needs to undergo a memory copy, which is not suitable for the occasion with high performance requirements.
  • the embodiment of the invention provides a packet processing method and device, so as to solve at least the problem that the packet processing cannot be performed quickly through the socket interface and the network protocol stack in the related art.
  • a packet processing method including: creating a fast channel buffer between a user mode application and a network device driver; and determining whether the to-be-transmitted packet belongs to a preset packet type; In judging When the to-be-transmitted packet belongs to the preset packet type, the to-be-transmitted packet is transmitted between the user-mode application and the network device driver through the fast-channel buffer.
  • creating the fast channel buffer between the user mode application and the network device driver comprises: creating and registering a fast channel character node; and through the fast channel character node, the user mode application creates a shared queue by using a system call, Obtaining the fast channel buffer; and the user mode application sets the preset message type by using the fast channel character node.
  • the to-be-transmitted report is transmitted between the user mode application and the network device driver through the fast channel buffer.
  • the method further includes: determining whether the fast channel buffer is full; wherein, in the case that it is determined that the fast channel buffer is not full, the fast channel buffer is used in the user mode application Transmitting the to-be-transmitted message with a network device driver.
  • the method further includes: discarding the to-be-transmitted message.
  • the method further includes: transmitting, by using a network protocol stack, between the user-mode application and the network device driver. Transmit a message.
  • the transmitting, by the network protocol stack, the to-be-transmitted message between the user-mode application and the network device driver comprises: storing the to-be-transmitted message to the network protocol stack;
  • the network protocol stack reads the to-be-transmitted message.
  • a message processing apparatus including: a creating module configured to create a fast channel buffer between a user mode application and a network device driver; and a first determining module configured to determine Whether the packet to be transmitted belongs to the preset packet type, and the first transmission module is configured to: in the case that it is determined that the to-be-transmitted packet belongs to the preset packet type, pass the fast channel buffer in the user The message to be transmitted is transmitted between the application and the network device driver.
  • the device further includes: a second determining module, configured to determine whether the fast channel buffer is full; wherein, when it is determined that the fast channel buffer is not full, buffering by the fast channel
  • the zone transmits the to-be-transmitted message between the user mode application and the network device driver.
  • the device further includes: a discarding module, configured to discard the to-be-transmitted message if it is determined that the fast-channel buffer is full.
  • a discarding module configured to discard the to-be-transmitted message if it is determined that the fast-channel buffer is full.
  • the device further includes: a second transmission module, configured to: in the case of determining that the to-be-transmitted message does not belong to the preset packet type, in a user-mode application and a network device through a network protocol stack The message to be transmitted is transmitted between the drivers.
  • a second transmission module configured to: in the case of determining that the to-be-transmitted message does not belong to the preset packet type, in a user-mode application and a network device through a network protocol stack The message to be transmitted is transmitted between the drivers.
  • a computer storage medium is further provided, and the computer storage medium may store an execution instruction, where the execution instruction is used to execute the message processing method in the foregoing embodiment.
  • the embodiment of the present invention creates a fast channel buffer between the user mode application and the network device driver, and determines whether the to-be-transmitted packet belongs to the preset packet type, and determines that the to-be-transmitted packet belongs to the preset packet type.
  • the method of transmitting the message to be transmitted between the user mode application and the network device driver through the fast channel buffer solves the problem that the packet processing cannot be quickly performed through the socket interface and the network protocol stack, thereby achieving The effect of fast message processing.
  • FIG. 1 is a flowchart of a message processing method according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the structure of a message processing apparatus according to an embodiment of the present invention.
  • FIG. 3 is a block diagram 1 of a preferred structure of a message processing apparatus according to an embodiment of the present invention.
  • FIG. 4 is a block diagram 2 of a preferred structure of a message processing apparatus according to an embodiment of the present invention.
  • FIG. 5 is a block diagram 3 of a preferred structure of a message processing apparatus according to an embodiment of the present invention.
  • FIG. 6 is a block diagram showing the structure of a fast message processing apparatus according to a preferred embodiment of the present invention.
  • FIG. 7 is a flow chart initialization flow diagram in accordance with a preferred embodiment of the present invention.
  • FIG. 8 is a block diagram showing the interaction structure of a kernel and user state shared queue data according to a preferred embodiment of the present invention.
  • FIG. 9 is a flow chart of a fast message processing method in accordance with a preferred embodiment of the present invention.
  • FIG. 1 is a flowchart of a packet processing method according to an embodiment of the present invention. As shown in FIG. 1, the process includes the following steps:
  • Step S102 creating a fast channel buffer between the user mode application and the network device driver
  • Step S104 Determine whether the to-be-transmitted packet belongs to a preset packet type.
  • step S106 if it is determined that the to-be-transmitted message belongs to the preset packet type, the message to be transmitted is transmitted between the user mode application and the network device driver through the fast channel buffer.
  • the packet to be transmitted is transmitted in the fast channel buffer of the packet to be transmitted, so that the packet belongs to the preset packet type to be transmitted.
  • the packets do not need to be processed through the network protocol stack and the socket interface. You can implement fast transmission of preset types of packets as required. It can be seen that the above steps solve the problem that the packet processing cannot be performed quickly through the socket interface and the network protocol stack, thereby achieving the effect of quickly processing the message.
  • the preset message type may be a fragment reassembly message.
  • a fast channel character node can be created and registered; through the fast channel character node, the user mode application creates a shared queue by using a system call to obtain a fast channel buffer; and the fast channel character node, the user mode application The program sets the preset message type to create a fast channel buffer between the user mode application and the network device driver.
  • the fast channel buffer may be a ring buffer, which can repeatedly use a fixed size memory space, and the writing and reading need to coordinate and synchronize information.
  • the network device driver can connect the receiving function of the data packet to the callback function of the fast channel message processing, and determine the preset message type by using a callback function; the user mode application opens the fast channel device node to create a shared queue. The user mode application sets the type of fast message to be processed, and obtains the physical address of the queue through the system call, and maps to the user state address space user mode application.
  • step S104 it may further determine whether the fast channel buffer is full; wherein, when it is determined that the fast channel buffer is not full, Transmitting a message to be transmitted between the user mode application and the network device driver through the fast channel buffer.
  • the message to be transmitted may be discarded.
  • the message to be transmitted may also be sent to the network protocol stack, and the network protocol stack processes the message.
  • the packet to be transmitted may be transmitted between the user-mode application and the network device driver through the network protocol stack, for example, through a network protocol stack.
  • the message to be transmitted is transmitted between the user mode application and the network device driver
  • the to-be-transmitted message sent by the network device driver to the user-mode application may be stored in the network protocol stack, and the user-mode application may pass through the network device.
  • the driver-bound socket interface reads the message to be transmitted from the network protocol stack; correspondingly, the to-be-transmitted message sent by the user-mode application to the network device driver is also transmitted through the socket interface and the network protocol stack.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • a message processing device is also provided, which is used to implement the foregoing embodiments and preferred embodiments, and has not been described again.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • the apparatus includes: a creating module 22, a first determining module 24, and a first transmitting module 26, wherein the creating module 22 is configured.
  • the first determining module 24 is coupled to the creating module 22, and configured to determine whether the to-be-transmitted message belongs to the preset packet type; the first transmission module 26 And being coupled to the first determining module 24, configured to transmit the to-be-transmitted message between the user mode application and the network device driver through the fast channel buffer when determining that the to-be-transmitted message belongs to the preset packet type .
  • the above-mentioned creating module 22 is configured to create and register a fast channel character node; through the fast channel character node, the user mode application creates a shared queue through a system call to obtain a fast channel buffer; through the fast channel character node, the user mode application Set the preset message type.
  • FIG. 3 is a block diagram of a preferred structure of a message processing apparatus according to an embodiment of the present invention.
  • the apparatus further includes: a second determining module 32 coupled to the first determining module 24 and the first transmitting module 26 In between, it is set to determine whether the fast channel buffer is full; wherein, when it is determined that the fast channel buffer is not full, the message to be transmitted is transmitted between the user mode application and the network device driver through the fast channel buffer. .
  • FIG. 4 is a block diagram of a preferred structure of a message processing apparatus according to an embodiment of the present invention. As shown in FIG. 4, the apparatus further includes a discarding module 42 coupled to the second judging module 32 and configured to discard the to-be-transmitted message.
  • a discarding module 42 coupled to the second judging module 32 and configured to discard the to-be-transmitted message.
  • FIG. 5 is a block diagram 3 of a preferred structure of a message processing apparatus according to an embodiment of the present invention.
  • the apparatus further includes: a second transmission module 52 coupled to the first determining module 24, configured to pass through a network protocol stack.
  • the message to be transmitted is transmitted between the user mode application and the network device driver.
  • the second transmission module 52 may be configured to store the to-be-transmitted message to the network protocol stack; and read the to-be-transmitted message from the network protocol stack through the socket interface.
  • each of the above modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the modules are located in multiple In the processor.
  • Embodiments of the present invention also provide a software for performing the technical solutions described in the above embodiments and preferred embodiments.
  • Embodiments of the present invention also provide a storage medium.
  • the above storage medium may be configured to store program code for performing the following steps:
  • the fast-channel buffer is used to transmit the to-be-transmitted packet between the user-mode application and the network device driver.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the user mode application creates a shared queue by using a system call to obtain a fast channel buffer.
  • S26 The user mode application sets a preset message type through the fast channel character node.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the storage medium is further arranged to store program code for performing the following steps:
  • the storage medium is further arranged to store program code for performing the following steps:
  • the network protocol stack transmits the to-be-transmitted packet between the user-mode application and the network device driver.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • a mobile hard disk e.g., a hard disk
  • magnetic memory e.g., a hard disk
  • the preferred embodiment of the present invention provides a fast packet processing method based on the Linux operating system, so as to solve the problem that the Linux kernel protocol stack cannot efficiently process the packets with high performance requirements of the network card, and fully utilize the functions of the Linux protocol stack.
  • Network device driver module for network device detection, data packet reception and transmission.
  • Linux network protocol stack a standard module provided by Linux, set to network packet processing.
  • the fast channel module is set to create a shared queue (equivalent to the above-mentioned fast channel buffer), fast channel registration, and message reception processing.
  • the user mode receiving module is configured to open the shared queue, map the shared queue to the user state space, and receive and process the message.
  • Step 1 The network device driver registers the fast packet processing module during the detection
  • Step 2 The network device driver and the data packet receiving function are connected to the callback function of the fast channel message processing
  • Step 3 User mode application, open the fast channel device node, create a shared queue, set the fast packet type to be processed (equivalent to the preset packet type), obtain the physical address of the queue through the system call, and map to the user state. Address space
  • Step 4 After the initialization according to the foregoing steps, the data packet received by the network device driver module can be processed normally, and the subsequent processing mode is determined according to the set packet type;
  • the fast packet is directly stored in the shared queue of the fast channel module, and the application obtains the data packet by mapping the shared memory.
  • the unmatched packet all the packets are sent to the Linux network protocol stack. The message needs to be read through the socket interface.
  • the preferred embodiment of the present invention provides a method for quickly processing a message, and a Linux network protocol stack can be used for an ordinary message.
  • the apparatus includes: a fast channel module created in a Linux kernel state, coupled between an application and a network device driver module.
  • the application fast message accesses the fast channel module message by mapping the shared memory;
  • the socket interface is coupled to the application and the Linux network protocol stack for ordinary message passing.
  • the network socket is used to access the Linux network protocol stack;
  • the Linux network protocol stack is coupled between the socket interface and the network device driver module for storing and processing ordinary messages.
  • the fast packet to be processed may be a fragment reassembly packet
  • the normal packet may be a packet other than the fragment reassembly packet, such as an address resolution protocol (ARP) request packet, and the Internet. Protocol version 4 (IPv4) message.
  • ARP address resolution protocol
  • IPv4 Protocol version 4
  • the fast channel module is configured to provide a shared queue interface, obtain a shared memory address, receive packet processing, and manage the shared queue.
  • FIG. 7 is a flowchart of a fast channel initialization according to a preferred embodiment of the present invention. As shown in FIG. 7, the flow includes the following steps:
  • Step S702 the network device drives the detection, and the driver loads
  • Step S704 Create a fast channel character device, register a device node, and provide a system call interface, including creating a shared queue, obtaining a mapping relationship, and setting a fast packet type.
  • Step S706 the packet receiving processing function driven by the network device, and the receiving function of the fast channel message is attached;
  • Step S708 the Linux kernel is started, and the fast channel module is loaded;
  • Step S710 The user program creates a fast channel buffer by using a system call, and sets a packet type of the fast channel (corresponding to the preset message type).
  • the shared queue is a FIFO queue.
  • FIG. 8 is a block diagram of a kernel and user state shared queue data interaction structure according to a preferred embodiment of the present invention.
  • the circular queue does not need dynamic memory. Release and allocation, the fixed-size memory space can be used repeatedly; the fast-channel module acts as a write module to insert messages into the queue; the user program acts as a read-out module to pop-up the message; the write module and the read-out module need to coordinate information. And synchronization; for multi-threaded and multi-process write or read modules, critical section processing is required between write modules and between read modules.
  • the crossover is continuously performed.
  • the head of the queue is increased.
  • the pop operation is performed, the tail of the queue is increased.
  • the speed of the push is fast, it will catch up with the tail.
  • the queue is full, and the push operation cannot be performed.
  • the pop operation is fast, the tail catches up with the head. At this time, the queue is empty, and the pop operation cannot be performed. It is necessary to wait for the push to enter the data.
  • FIG. 9 is a flowchart of a fast message processing method according to a preferred embodiment of the present invention. As shown in FIG. 9, the process includes the following steps:
  • Step S902 the network card device driver acquires a data packet from the hardware device.
  • step S904 the second layer header of the data packet is analyzed. If the keyword of the fast channel is matched (ie, it is determined whether it belongs to the preset packet type), step S906 is executed to enter the fast channel processing flow. Otherwise, go to step S914. The message enters the Linux network protocol stack for processing;
  • Step S906 determining the read/write pointer of the management node of the queue. If the ring queue is connected end to end, the queue is full, step S908 is performed, otherwise step S910 is performed;
  • Step S908 processing the queue full message, and directly dropping the message
  • Step S910 storing the message in a ring queue
  • Step S912 adjusting the write pointer of the circular queue, and executing the next free buffer
  • step S914 the normal message is processed, and there is no requirement for high performance, and the data message is sent to the Linux network protocol stack for processing.
  • the above-mentioned embodiments and preferred embodiments of the present invention have added a packet processing mode, which can selectively bypass the Linux network protocol stack and simplify the receiving process of the packet by using the fast channel buffer.
  • Reduce the loss of the central processing unit (CPU) resources greatly improve the receiving performance, meet the performance requirements of 10 Gigabit Ethernet, and take into account the powerful functions of the network protocol stack, so that ordinary messages can be Processed directly through the Linux network protocol stack.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the embodiment of the present invention creates a fast channel buffer between the user mode application and the network device driver, and determines whether the to-be-transmitted packet belongs to the preset packet type, and determines that the to-be-transmitted packet belongs to the preset packet type.
  • the method of transmitting the message to be transmitted between the user mode application and the network device driver through the fast channel buffer solves the problem that the packet processing cannot be quickly performed through the socket interface and the network protocol stack, thereby achieving The effect of fast message processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种报文处理方法及装置。其中,该方法包括:在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;判断待传输报文是否属于预设报文类型;在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。通过本发明,解决了通过套接字接口和网络协议栈无法快速进行报文处理的问题,进而达到了快速进行报文处理的效果。

Description

报文处理方法及装置 技术领域
本发明涉及通信领域,具体而言,涉及一种报文处理方法及装置。
背景技术
Linux作为免费开源的操作系统,其强大的网络处理能力和稳定性,深受通信设备制造商们的欢迎,现在绝大多数网络设备都是基于Linux操作系统开发。
传输控制协议(TCP)/因特网协议(IP)体系是当前互联网的通信协议标准,在Linux网络内核中得到完整的实现,该体系分为四个层次:应用层,传输层,网络层,网络介质层。Linux网络内核参照网络协议体系实现了网络互联功能,包括以下部分:
1.套接字接口,网络内核最顶层支持应用程序开发的接口,套接字接口是一系列标准函数。套接字支持多种不同类型的协议族:UNIX域协议族、TCP/IP协议族、互联网数据包交换(IPX)协议族,其中TCP/IP协议族应用最为广泛;
2.传输层和网络层,传输层包括标准的TCP和用户数据报(UDP)协议模块,而网络层包括标准的IP协议模块;
3.数据链路层,对于需要逻辑链路的网络,数据链路层提供独立的逻辑链路协议模块,比如点对点协议(PPP)、串行线路网际协议(SLIP)等。对于以太网,该层比较简单,主要的以太网协议实现被集成到底层网卡驱动中;
4.网络设备驱动,由于物理特性的差异,不同的网络设备采用不同的设备驱动。
本发明的发明人在研究过程中发现,用户态应用程序读取数据报文,需要先打开网络设备并绑定套接字。数据报文经过网络设备驱动到内核网络协议栈,然后到用户态应用程序,处理流程复杂,同时内核态到用户态空间还需要经过一次内存拷贝,不适合对性能要求高的场合。
针对相关技术通过套接字接口和网络协议栈无法快速进行报文处理的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种报文处理方法及装置,以至少解决相关技术中通过套接字接口和网络协议栈无法快速进行报文处理的问题。
根据本发明实施例的一个方面,提供了一种报文处理方法,包括:在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;判断待传输报文是否属于预设报文类型;在判断到 所述待传输报文属于所述预设报文类型的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。
优选地,在用户态应用程序与网络设备驱动之间创建所述快速通道缓冲区包括:创建并注册快速通道字符节点;通过所述快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到所述快速通道缓冲区;通过所述快速通道字符节点,用户态应用程序设置所述预设报文类型。
优选地,在判断到所述待传输报文属于所述预设报文类型的情况下,在通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文之前,所述方法还包括:判断所述快速通道缓冲区是否已满;其中,在判断到所述快速通道缓冲区未满的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。
优选地,在判断到所述快速通道缓冲区已满的情况下,所述方法还包括:丢弃所述待传输报文。
优选地,在判断到所述待传输报文不属于所述预设报文类型的情况下,所述方法还包括:通过网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文。
优选地,通过所述网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文包括:将所述待传输报文存储到所述网络协议栈;通过套接字接口从所述网络协议栈读取所述待传输报文。
根据本发明的另一个方面,还提供了一种报文处理装置,包括:创建模块,设置为在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;第一判断模块,设置为判断待传输报文是否属于预设报文类型;第一传输模块,设置为在判断到所述待传输报文属于所述预设报文类型的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。
优选地,所述装置还包括:第二判断模块,设置为判断所述快速通道缓冲区是否已满;其中,在判断到所述快速通道缓冲区未满的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。
优选地,所述装置还包括:丢弃模块,设置为在判断到所述快速通道缓冲区已满的情况下,丢弃所述待传输报文。
优选地,所述装置还包括:第二传输模块,设置为在判断到所述待传输报文不属于所述预设报文类型的情况下,通过网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文。
在本发明实施例中,还提供了一种计算机存储介质,该计算机存储介质可以存储有执行指令,该执行指令用于执行上述实施例中的报文处理方法。
通过本发明实施例,采用用户态应用程序与网络设备驱动之间创建快速通道缓冲区;判断待传输报文是否属于预设报文类型;在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文的方式,解决了通过套接字接口和网络协议栈无法快速进行报文处理的问题,进而达到了快速进行报文处理的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的报文处理方法的流程图;
图2是根据本发明实施例的报文处理装置的结构框图;
图3是根据本发明实施例的报文处理装置的优选结构框图一;
图4是根据本发明实施例的报文处理装置的优选结构框图二;
图5是根据本发明实施例的报文处理装置的优选结构框图三;
图6是根据本发明优选实施例的快速报文处理装置的结构框图;
图7是根据本发明优选实施例的快速通道初始化流程图;
图8是根据本发明优选实施例的内核和用户态共享队列数据交互结构框图;
图9是根据本发明优选实施例的快速报文处理方法流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种报文处理方法,图1是根据本发明实施例的报文处理方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;
步骤S104,判断待传输报文是否属于预设报文类型;
步骤S106,在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。
通过上述步骤,根据待传输报文的报文类型,对于属于预设报文类型的待传输报文,通过创建的快速通道缓冲区对报文进行传输,使得属于预设报文类型的待传输报文不必经过网络协议栈以及套接字接口的复杂处理,可以根据需要实现预设类型报文的快速传输。可见,采用上述步骤,解决了通过套接字接口和网络协议栈无法快速进行报文处理的问题,进而达到了快速进行报文处理的效果。
优选地,预设报文类型可以是分片重组报文。
优选地,在步骤S102中,可以通过创建并注册快速通道字符节点;通过快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到快速通道缓冲区;通过快速通道字符节点,用户态应用程序设置预设报文类型,在用户态应用程序与网络设备驱动之间创建快速通道缓冲区。
优选地,快速通道缓冲区可以是环形缓冲区,该环形缓冲区可以反复使用固定大小的内存空间,写入与读出需要进行信息的协调与同步。
优选地,网络设备驱动可以将数据报文的接收函数挂接快速通道报文处理的回调函数,通过回调函数判断预设报文类型;用户态应用程序打开快速通道设备节点,创建共享队列。用户态应用程序设置要处理的快速报文类型,通过系统调用获取队列的物理地址,映射到用户态地址空间用户态应用程序。
优选地,在判断到待传输报文属于预设报文类型的情况下,在步骤S104之前,还可以判断快速通道缓冲区是否已满;其中,在判断到快速通道缓冲区未满的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。
优选地,在判断到快速通道缓冲区已满的情况下,可以丢弃待传输报文。
优选地,在判断到快速通道缓冲区已满的情况下,也可以将待传输报文发送到网络协议栈,由网络协议栈对报文进行处理。
优选地,在判断到待传输报文不属于预设报文类型的情况下,则可以通过网络协议栈在用户态应用程序与网络设备驱动之间传输待传输报文,例如,通过网络协议栈在用户态应用程序与网络设备驱动之间传输待传输报文的情况下:可以将由网络设备驱动发送至用户态应用程序的待传输报文存储到网络协议栈,用户态应用程序再通过网络设备驱动绑定的套接字接口从网络协议栈读取待传输报文;相应的,由用户态应用程序发送至网络设备驱动的待传输报文也经过套接字接口和网络协议栈传输。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种报文处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的报文处理装置的结构框图,如图2所示,该装置包括;创建模块22、第一判断模块24、第一传输模块26,其中,创建模块22,设置为在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;第一判断模块24,耦合至创建模块22,设置为判断待传输报文是否属于预设报文类型;第一传输模块26,耦合至第一判断模块24,设置为在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。
优选地,上述创建模块22设置为创建并注册快速通道字符节点;通过快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到快速通道缓冲区;通过快速通道字符节点,用户态应用程序设置预设报文类型。
图3是根据本发明实施例的报文处理装置的优选结构框图一,如图3所示,该装置还包括:第二判断模块32,耦合至第一判断模块24和第一传输模块26之间,设置为判断快速通道缓冲区是否已满;其中,在判断到快速通道缓冲区未满的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。
图4是根据本发明实施例的报文处理装置的优选结构框图二,如图4所示,该装置还包括:丢弃模块42,耦合至第二判断模块32,设置为丢弃待传输报文。
图5是根据本发明实施例的报文处理装置的优选结构框图三,如图5所示,该装置还包括:第二传输模块52,耦合至第一判断模块24,设置为通过网络协议栈在用户态应用程序与网络设备驱动之间传输待传输报文。
优选地,第二传输模块52可以设置为将待传输报文存储到网络协议栈;通过套接字接口从网络协议栈读取待传输报文。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
本发明的实施例还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
本发明的实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S20,在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;
S40,判断待传输报文是否属于预设报文类型;
S60,在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S22,创建并注册快速通道字符节点;
S24,通过快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到快速通道缓冲区;
S26,通过快速通道字符节点,用户态应用程序设置预设报文类型。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S62,判断快速通道缓冲区是否已满。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S622,在判断到快速通道缓冲区未满的情况下,丢弃待传输报文。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S50,在判断到待传输报文不属于预设报文类型的情况下,通过网络协议栈在用户态应用程序与网络设备驱动之间传输待传输报文。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S52,将待传输报文存储到网络协议栈;
S54,通过套接字接口从网络协议栈读取待传输报文。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
为了使本发明实施例的描述更加清楚,下面结合优选实施例进行描述和说明。
本发明优选实施例提供了一种基于Linux操作系统的快速报文处理方法,以解决Linux内核协议栈无法高效处理网卡性能要求高的报文的问题,同时充分发挥Linux协议栈的功能。
本发明优选实施例提供的一种基于Linux操作系统的快速报文处理方案,包括如下模块:
网络设备驱动模块,用于网络设备的探测,数据包的接收和发送。
Linux网络协议栈,Linux提供的标准模块,设置为网络报文处理。
快速通道模块,设置为共享队列(相当于上述快速通道缓冲区)的创建,快速通道注册,报文的接收处理。
用户态接收模块,设置为打开共享队列,将共享队列映射到用户态空间,以及报文的接收处理。
本发明优选实施例提供的一种基于Linux的快速报文处理方法,包括如下步骤:
步骤一,网络设备驱动在探测时注册快速报文处理模块;
步骤二,网络设备驱动,数据报文接收函数挂接快速通道报文处理的回调函数;
步骤三,用户态应用程序,打开快速通道设备节点,创建共享队列,设置待处理的快速报文类型(相当于上述预设报文类型),通过系统调用获取队列的物理地址,映射到用户态地址空间;
步骤四,按照上述步骤初始化以后,网络设备驱动模块接收的数据报文,可以进行正常处理,根据设置的报文类型,确定后续处理方式;
步骤五,对于快速报文,直接存储到快速通道模块的共享队列,应用程序通过映射共享内存的方式,获取数据报文;对于没有匹配的报文,全部上送到Linux网络协议栈,应用程序需要通过套接字接口读取报文。
下面结合附图对本发明优选实施例进行说明。
为了解决Linux网络协议栈处理高速报文性能低的问题,本发明优选实施例提供了一种快速处理报文的方法,同时对于普通报文可以使用Linux网络协议栈。
图6是根据本发明优选实施例的快速报文处理装置的结构框图,如图6所示,该装置包括:在Linux内核态创建的快速通道模块,耦合至应用程序和网络设备驱动模块之间,用于高速报文的处理,应用程序快速报文通过映射共享内存的方式,访问快速通道模块的报文;套接字接口,耦合至应用程序和Linux网络协议栈,用于普通报文通过网络套接字的方式访问Linux网络协议栈;Linux网络协议栈,耦合至套接字接口和网络设备驱动模块之间,用于存储与处理普通报文。
本发明优选实施例中,需要处理的快速报文可以为分片重组报文,普通报文可以为除了分片重组报文以外的其他报文,例如地址解析协议(ARP)请求报文,因特网协议版本4(IPv4)报文。
本发明优选实施例中,快速通道模块用于提供创建共享队列接口,获取共享内存地址,报文接收处理,共享队列的管理。
图7是根据本发明优选实施例的快速通道初始化流程图,如图7所示,该流程包括以下步骤:
步骤S702,网络设备驱动探测,驱动加载;
步骤S704,创建快速通道字符设备,注册设备节点,提供系统调用接口,包括创建共享队列,获取映射关系,设置快速报文类型;
步骤S706,网络设备驱动的报文接收处理函数,挂接快速通道报文的接收函数;
步骤S708,Linux内核启动,加载快速通道模块;
步骤S710,用户程序通过系统调用,创建快速通道缓冲区,设置快速通道的报文类型(相当于上述预设报文类型)。
优选地,上述共享队列是一个先进先出的环形队列,图8是根据本发明优选实施例的内核和用户态共享队列数据交互结构框图,如图8所示,环形队列不需要进行动态的内存释放和分配,可以反复使用固定大小的内存空间;快速通道模块作为写入模块将报文插入队列;用户程序作为读出模块将报文弹出队列;写入模块和读出模块需要进行信息的协调和同步;对于多线程和多进程的写入或读出模块,写入模块间以及读出模块间需要进行临界区处理。
在实际的队列插入和弹出操作中,是不断交叉进行的,当插入(push)操作时,队列头(head)会增加;而弹出(pop)操作时,队列尾(tail)会增加。push的速度快的时候,会追上tail,这个时候说明队列已满,不能再进行push的操作了,需要等待pop操作腾出队列的空间。当pop的操作快,使得tail追上head,这个时候说明队列已空,不能再进行pop操作,需要等待push进来数据。
图9是根据本发明优选实施例的快速报文处理方法流程图,如图9所示,该流程包括以下步骤:
步骤S902,网卡设备驱动从硬件设备获取数据报文;
步骤S904,对数据报文的二层头进行分析,如果匹配快速通道的关键字(即判断是否属于预设报文类型),则执行步骤S906,进入快速通道处理流程,否则,转到步骤S914,报文进入Linux网络协议栈处理;
步骤S906,判断队列的管理节点的读写指针。若环形队列首尾相接,队列已满,则执行步骤S908,否则执行步骤S910;
步骤S908,处理队列满的报文,直接丢掉报文;
步骤S910,将报文存储到环形队列;
步骤S912,调整环形队列的写指针,执行下一空闲的缓冲区;
步骤S914,处理普通报文,对于高性能没有要求,数据报文被送到Linux网络协议栈处理。
综上所述,通过本发明的上述实施例和优选实施例,新增了一种报文处理模式,利用快速通道缓冲区,可以有选择的绕过Linux网络协议栈,简化报文的接收流程,减少中央处理器(Central Processing Unit,简称为CPU)资源的损耗,使接收性能大幅提升,可以满足万兆以太网对性能的要求,同时兼顾了网络协议栈的强大功能,使普通报文可以直接通过Linux网络协议栈处理。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
通过本发明实施例,采用用户态应用程序与网络设备驱动之间创建快速通道缓冲区;判断待传输报文是否属于预设报文类型;在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文的方式,解决了通过套接字接口和网络协议栈无法快速进行报文处理的问题,进而达到了快速进行报文处理的效果。

Claims (10)

  1. 一种报文处理方法,包括:
    在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;
    判断待传输报文是否属于预设报文类型;
    在判断到所述待传输报文属于所述预设报文类型的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。
  2. 根据权利要求1所述的方法,其中,在用户态应用程序与网络设备驱动之间创建所述快速通道缓冲区包括:
    创建并注册快速通道字符节点;
    通过所述快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到所述快速通道缓冲区;
    通过所述快速通道字符节点,用户态应用程序设置所述预设报文类型。
  3. 根据权利要求1所述的方法,其中,在判断到所述待传输报文属于所述预设报文类型的情况下,在通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文之前,所述方法还包括:
    判断所述快速通道缓冲区是否已满;
    其中,在判断到所述快速通道缓冲区未满的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。
  4. 根据权利要求3所述的方法,其中,在判断到所述快速通道缓冲区已满的情况下,所述方法还包括:
    丢弃所述待传输报文。
  5. 根据权利要求1至4中任一项所述的方法,其中,在判断到所述待传输报文不属于所述预设报文类型的情况下,所述方法还包括:
    通过网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文。
  6. 根据权利要求5所述的方法,其中,通过所述网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文包括:
    将所述待传输报文存储到所述网络协议栈;
    通过套接字接口从所述网络协议栈读取所述待传输报文。
  7. 一种报文处理装置,包括:
    创建模块,设置为在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;
    第一判断模块,设置为判断待传输报文是否属于预设报文类型;
    第一传输模块,设置为在判断到所述待传输报文属于所述预设报文类型的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。
  8. 根据权利要求7所述的装置,其中,所述装置还包括:
    第二判断模块,设置为判断所述快速通道缓冲区是否已满;
    其中,在判断到所述快速通道缓冲区未满的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。
  9. 根据权利要求8所述的装置,其中,所述装置还包括:
    丢弃模块,设置为在判断到所述快速通道缓冲区已满的情况下,丢弃所述待传输报文。
  10. 根据权利要求7至9中任一项所述的装置,其中,所述装置还包括:
    第二传输模块,设置为在判断到所述待传输报文不属于所述预设报文类型的情况下,通过网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文。
PCT/CN2016/076793 2015-06-30 2016-03-18 报文处理方法及装置 WO2017000593A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510375763.9A CN106330776A (zh) 2015-06-30 2015-06-30 报文处理方法及装置
CN201510375763.9 2015-06-30

Publications (1)

Publication Number Publication Date
WO2017000593A1 true WO2017000593A1 (zh) 2017-01-05

Family

ID=57607561

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/076793 WO2017000593A1 (zh) 2015-06-30 2016-03-18 报文处理方法及装置

Country Status (2)

Country Link
CN (1) CN106330776A (zh)
WO (1) WO2017000593A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726611A (zh) * 2021-09-01 2021-11-30 深圳市大洲智创科技有限公司 一种基于协议进行流量控制的方法
CN114928597A (zh) * 2022-05-20 2022-08-19 中国联合网络通信集团有限公司 数据传输方法、装置及设备
CN115037798A (zh) * 2022-08-11 2022-09-09 成都金诺信高科技有限公司 一种时统报文数据包分发方法
CN115334156A (zh) * 2021-04-26 2022-11-11 深信服科技股份有限公司 报文的处理方法、装置、设备、存储介质
CN116016295A (zh) * 2022-12-14 2023-04-25 鹏城实验室 以太网性能监控方法、系统、工控设备以及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110098993B (zh) * 2019-04-02 2020-12-18 视联动力信息技术股份有限公司 一种信令报文的处理方法和装置
CN110149262B (zh) * 2019-04-02 2021-03-12 视联动力信息技术股份有限公司 一种信令报文的处理方法和装置、及存储介质
CN110380990A (zh) * 2019-06-03 2019-10-25 湖北微源卓越科技有限公司 一种处理网络数据包的方法及装置
CN110417812B (zh) * 2019-08-23 2021-11-23 极芯通讯技术(南京)有限公司 5g协议报文处理器架构及5g协议报文处理方法
CN114157684B (zh) * 2020-08-18 2024-01-02 华为终端有限公司 一种报文处理的方法、设备以及存储介质
CN115842873A (zh) * 2021-09-18 2023-03-24 华为技术有限公司 一种报文处理方法、网卡及服务器
CN117097815B (zh) * 2023-10-18 2024-02-09 苏州元脑智能科技有限公司 一种报文传输方法、系统、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066804A2 (en) * 2003-12-30 2005-07-21 Intel Corporation Virtual to physical address translation
WO2008038139A2 (en) * 2006-07-10 2008-04-03 Solarflare Communications Incorporated Network stacks
CN101841470A (zh) * 2010-03-29 2010-09-22 东南大学 一种基于Linux的底层数据包的高速捕获方法
CN102638487A (zh) * 2011-03-02 2012-08-15 中国科学院地质与地球物理研究所 大型遥测地震仪高性能数据传输方法
CN103945456A (zh) * 2014-05-12 2014-07-23 武汉邮电科学研究院 一种基于Linux系统的LTE基站用户面高效UDP数据发送优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320373A (zh) * 2014-07-04 2015-01-28 中国兵器工业信息中心 应用服务器与终端之间的协议互通装置及其实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066804A2 (en) * 2003-12-30 2005-07-21 Intel Corporation Virtual to physical address translation
WO2008038139A2 (en) * 2006-07-10 2008-04-03 Solarflare Communications Incorporated Network stacks
CN101841470A (zh) * 2010-03-29 2010-09-22 东南大学 一种基于Linux的底层数据包的高速捕获方法
CN102638487A (zh) * 2011-03-02 2012-08-15 中国科学院地质与地球物理研究所 大型遥测地震仪高性能数据传输方法
CN103945456A (zh) * 2014-05-12 2014-07-23 武汉邮电科学研究院 一种基于Linux系统的LTE基站用户面高效UDP数据发送优化方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334156A (zh) * 2021-04-26 2022-11-11 深信服科技股份有限公司 报文的处理方法、装置、设备、存储介质
CN113726611A (zh) * 2021-09-01 2021-11-30 深圳市大洲智创科技有限公司 一种基于协议进行流量控制的方法
CN114928597A (zh) * 2022-05-20 2022-08-19 中国联合网络通信集团有限公司 数据传输方法、装置及设备
CN114928597B (zh) * 2022-05-20 2023-07-25 中国联合网络通信集团有限公司 数据传输方法、装置及设备
CN115037798A (zh) * 2022-08-11 2022-09-09 成都金诺信高科技有限公司 一种时统报文数据包分发方法
CN116016295A (zh) * 2022-12-14 2023-04-25 鹏城实验室 以太网性能监控方法、系统、工控设备以及存储介质
CN116016295B (zh) * 2022-12-14 2024-04-09 鹏城实验室 以太网性能监控方法、系统、工控设备以及存储介质

Also Published As

Publication number Publication date
CN106330776A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
WO2017000593A1 (zh) 报文处理方法及装置
US11991072B2 (en) System and method for facilitating efficient event notification management for a network interface controller (NIC)
US11372680B2 (en) RDMA (remote direct memory access) data transfer in a virtual environment
KR100992050B1 (ko) 가상화된 네트워크 환경에서 입력/출력 공유를 가지는프로토콜 오프로드 및 다이렉트 입력/출력을 위한 방법 및시스템
TWI332150B (en) Processing data for a tcp connection using an offload unit
US9411775B2 (en) iWARP send with immediate data operations
US7451197B2 (en) Method, system, and article of manufacture for network protocols
KR101018575B1 (ko) Rx fifo 버퍼를 사용하여 고속 네트워크애플리케이션에서 rx 패킷을 프로세싱하는 시스템 및방법
TWI374636B (en) Method, apparatus, host computer system and machine-readable recording medium for distributing traffic across a plurality of trasmitting queues
US10735373B2 (en) Communications over multiple protocol interfaces in a computing environment
US9160659B2 (en) Paravirtualized IP over infiniband bridging
JP6189898B2 (ja) アクティブメッセージによるrmaapiのサポート
US9619272B1 (en) Virtual machine networking
US9288287B2 (en) Accelerated sockets
CN109417507B (zh) 一种通过部分直接内存访问dma访问内存的方法和系统
US20130013755A1 (en) Diskless pc network communication agent system
US20080056263A1 (en) Efficient transport layer processing of incoming packets
US10754661B1 (en) Network packet filtering in network layer of firmware network stack
US20240104045A1 (en) System and method for ghost bridging
US7568013B1 (en) Multiple message send routine for network packets

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16816958

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16816958

Country of ref document: EP

Kind code of ref document: A1