CN113746749A - Network connection device - Google Patents

Network connection device Download PDF

Info

Publication number
CN113746749A
CN113746749A CN202010478545.9A CN202010478545A CN113746749A CN 113746749 A CN113746749 A CN 113746749A CN 202010478545 A CN202010478545 A CN 202010478545A CN 113746749 A CN113746749 A CN 113746749A
Authority
CN
China
Prior art keywords
module
processing module
virtual machine
network
message
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
Application number
CN202010478545.9A
Other languages
Chinese (zh)
Inventor
李枫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010478545.9A priority Critical patent/CN113746749A/en
Publication of CN113746749A publication Critical patent/CN113746749A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

An embodiment of the present application provides a network connection device, including: a network processing module and at least one virtual machine interface module; the network processing module comprises at least two physical ports; the virtual machine interface module is connected with the physical port; the network processing module is used for acquiring a physical address from the first message data under the condition that the first message data is received on one physical port; forwarding the first message data to a virtual machine interface module through a target physical port corresponding to the physical address; the virtual machine interface module is used for sending out the received first message data. In the embodiment of the application, when the network connection device processes the forwarding of the message, the message data can be directly forwarded to the corresponding virtual machine through the network processing module and the virtual machine interface module, and the network card processor and the main processor do not participate in the forwarding process of the message data, so that the self load and the network delay of the network card processor and the main processor are reduced, and the forwarding efficiency is improved.

Description

Network connection device
Technical Field
The present application relates to the field of computer technologies, and in particular, to a network connection device.
Background
With the development of virtual network technology, more and more applications are migrated to a virtual network and implemented in a virtual machine form, and in the implementation process, a server needs to perform message forwarding operation to the virtual machine.
At present, there are two schemes for implementing a message forwarding operation from a server to a Virtual machine, where in the first scheme, a forwarding parameter in a message forwarding process is determined by Virtual Switch (vSwitch) software executed based on a HOST processor (HOST CPU) in the server, and a forwarding operation for sending a message to a corresponding Virtual machine according to the forwarding parameter is implemented by using the HOST processor of the server. And in the second scheme, the forwarding operation performed on the original main processor is unloaded (offload) to the network card processor of the network card, forwarding parameters in the message forwarding process are determined through virtual switch software executed based on the network card processor, and the forwarding operation of sending the message to the corresponding virtual machine according to the forwarding parameters is realized by using the network card processor, so that the message forwarding performance is accelerated by using network card hardware, and the load pressure of the main processor is reduced.
In the current scheme, the problem of performance bottleneck exists in the main processor in the first scheme, the limit of the single-core forwarding speed of the processor is 3-4 mbits/second, which cannot meet the increasing network requirements, and in addition, the network delay of message transmission can be obviously increased every time a message passes through the main processor, so that the scheme cannot meet the requirements of high-performance application and high-performance transmission technology which have higher requirements on transmission speed and network delay. In the second scheme, because the network card processor also has the problem of performance bottleneck, although the second scheme can reduce the load pressure of the main processor, the self load of the network card processor can be increased, so that the self performance of the network card processor is limited.
Disclosure of Invention
The embodiment of the application provides a network connection device, which is used for improving the performance of message data transmission and reducing the load of a main processor and a network card processor.
In order to solve the above problem, an embodiment of the present application discloses a network connection device, where the device includes:
a network processing module and at least one virtual machine interface module;
the network processing module comprises at least two physical ports; the virtual machine interface module is connected with the physical port;
the network processing module is used for acquiring a physical address from first message data under the condition that the first message data is received on one physical port; forwarding the first message data to the virtual machine interface module through a target physical port corresponding to the physical address;
the virtual machine interface module is used for sending out the received first message data.
Compared with the prior art, the embodiment of the application has the following advantages:
in the embodiment of the application, because the network connection device is provided with the network processing module and the virtual machine interface module, which are implemented based on a hardware circuit, when the network connection device processes message forwarding, the network connection device can directly forward message data to the corresponding virtual machine through the network processing module and the virtual machine interface module, and the network card processor of the network connection device and the main processor of the host device do not participate in the forwarding process of the message data, so that the self load of the network card processor and the main processor is reduced, and the self performance of the network card processor and the main processor is improved. In addition, because the message data is specially sent directly through the network processing module and the virtual machine interface module, the network connection device does not depend on a software program running in an operating system of the host device when processing the message data forwarding, and the software system overhead is reduced. The speed of forwarding the message data through the network processing module and the virtual machine interface module is greatly improved, the increasing network requirements can be met, and the data link does not pass through the network card processor and the main processor when the message data are forwarded, so that the network delay of message data transmission is reduced, and the forwarding efficiency is improved.
The message Data is specially forwarded through the Network processing module and the virtual machine interface module, the forwarding speed of the message Data can reach 30 times of that of the main processor, the Network delay of the message Data is lower than one tenth of that of the main processor, and the requirements of high-performance applications (such as Data Plane Development Kit (DPDK) applications, Network Function Virtualization (NFV) applications and the like) with high requirements on transmission speed and Network delay can be met. For a high performance transmission technology (e.g., a Remote Direct Memory Access (RDMA) technology), the high performance transmission technology has high requirements for network latency and performance, and if a high performance transmission function is deployed on a main processor, in order to ensure the performance of the main processor, virtual machines often cannot be started at the same time, so as to avoid that the virtual machines occupy too many resources of the main processor, thereby affecting the performance of the high performance transmission function. In the embodiment of the present application, the high performance transmission function may be directly implemented by the network processing module and the virtual machine interface module of the network connection device, and the normal operation of the virtual machine in the main processor is not affected, so that the implementation of the high performance transmission function is not affected by the virtual machine.
Drawings
Fig. 1 is a system architecture diagram of a network connection device according to an embodiment of the present application;
FIG. 2 is a schematic data interaction diagram of a network connection device according to an embodiment of the present application;
FIG. 3 is an architecture diagram of a network processing module of the present application;
FIG. 4 is a port architecture diagram of a network connection device of the present application;
FIG. 5 is an architecture diagram of a virtual machine interface module of the present application.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, the present application is described in further detail with reference to the accompanying drawings and the detailed description.
Referring to fig. 1, a system architecture of an embodiment of the present application is shown, which may include:
host device and network connection device that sets up in host device, network connection device includes: a network processing module and at least one virtual machine interface module; the network processing module comprises a plurality of physical ports; the virtual machine interface module is connected with a first physical port of the at least two physical ports. As shown in fig. 1, an input/output module 1 is connected to a physical interface 1, and an input/output module 2 is connected to a physical interface 2.
The operating system of the host device is divided into a user layer and a kernel layer, the user layer is constructed based on a user mode, the kernel layer is constructed based on a kernel mode, the user layer is an activity space of an upper application program, and execution of the application program must depend on resources provided by the kernel layer, so that the kernel layer controls hardware resources of a computer and provides an environment for the upper application program to run, and the application program running in the kernel layer can access the computer resources in the kernel layer through system call.
It should be noted that the application program refers to a computer program that is executed on the user layer, can interact with a user, can have a visual user interface, and can also be executed in the background to perform one or more specific tasks.
The hardware layer is provided with a network connection device connected to a network, the network connection device is a generic name of various hardware devices connecting communication lines in the network, and is used for receiving data transmitted in the network and transmitting the data to the network, for a single computer or a server, the network connection device may be a network card (NIC), an FPGA (Field-Programmable Gate Array) having a network card function, and the like, and the network connection device is inserted on a motherboard of the host device through a motherboard interface.
Specifically, the network connection device may include a network processing module, which may be disposed on an integrated circuit of the network connection device in a form of a hardware circuit, the network processing module operates in a data link layer in an Open System Interconnection (OSI) reference model, and a physical port included in the network processing module is a visible port, and may be, for example, a connector for connecting an ethernet cable.
The virtual machine interface module operates at the data link layer in the OSI reference model for forwarding packets to the network layer. In this embodiment, the virtual machine interface modules and the virtual machines may be set to have a one-to-one correspondence relationship.
The network processing module is specifically configured to, when first packet data is received at one physical port and a target physical port corresponding to a physical address in the first packet data exists, forward the first packet data to the target physical port, and when the target physical port is connected to the virtual machine interface module, forward the first packet data to the virtual machine interface module connected to the target physical port through the target physical port; the virtual machine interface module is configured to send the received first packet data, specifically, forward the first packet data to a virtual machine corresponding to the virtual machine interface module. The first message data may be sent from the external device to a physical port (physical interface m in fig. 1) of the network processing module via the network.
It should be noted that, at the data link layer, the message data includes a source physical address and a destination physical address, and the destination physical address is an address to which the message data is to arrive. Therefore, in this embodiment of the present application, a destination physical address may be obtained from the first packet data, then the network processing module queries whether the destination physical address has a corresponding destination physical port, if there is a destination physical port corresponding to the destination physical address, the first packet data is forwarded to the destination physical port, and then the destination physical port sends the first packet data to the network layer.
For example, referring to fig. 1, after the network processing module receives first message data sent by an external device through a physical interface (physical interface m in fig. 1), and determines that a target physical port (physical interface 2 in fig. 1) corresponding to the first message data is correspondingly connected to the virtual machine interface module 2, the network processing module may repackage the first message data into second message data, and send the second message data to the virtual machine 2 through the virtual machine interface module 2.
Further, referring to fig. 2, which shows a data interaction schematic diagram of a network connection device according to an embodiment of the present application, in the embodiment of the present application, a virtual machine interface module may further be configured to receive message data from a virtual machine corresponding to the virtual machine interface module, and forward the message data to a physical port connected to the virtual machine interface, and then a network processing module may perform a locking forwarding process of the message, so that a process of transmitting the message data from one virtual machine to another virtual machine may be completed.
For example, referring to fig. 2, a virtual machine a and a virtual machine B run in a kernel layer, the virtual machine a may send a generated message 1 to be sent to the virtual machine B to its corresponding virtual machine interface module a, after the virtual machine interface module a sends the message 1 to the corresponding physical interface a, the network processing module receives the message 1, and then the network processing module sends the message 1 to the virtual machine B through a path from the physical interface B to the virtual machine interface module B to the virtual machine B according to a physical address of the physical interface B in the message 1, thereby implementing a flow of transmitting message data from the virtual machine a to another virtual machine B.
It should be noted that the external device may send the message 2 to the external physical interface C of the network processing module through the network, and the network processing module sends the message 2 to the virtual machine B through the path from the physical interface B to the virtual machine interface module B to the virtual machine B according to the physical address of the physical interface B in the message 2, thereby implementing a process of transmitting message data to one virtual machine B by the external device.
In this embodiment of the present application, referring to fig. 3, which shows an architecture diagram of a network processing module according to an embodiment of the present application, the network processing module may specifically include: the device comprises an input processing module, an analysis module, a forwarding table processing module, an editing module, an output processing module and a first cache module.
The forwarding table processing module comprises a hash processing module and a flow table searching module, and the first cache module comprises a first cache unit and a second cache unit; the input processing module, the analysis module, the forwarding table processing module, the editing module and the output processing module are connected in sequence; and the first message data is forwarded to the virtual machine interface module corresponding to the target physical port through the input processing module, the analysis module, the forwarding table processing module, the editing module and the output processing module. The input processing module and the output processing module are respectively connected with the first cache unit, the analysis module and the editing module are respectively connected with the second cache unit, the first cache unit caches the message content information, and the second cache unit caches the message header information.
In the embodiment of the application, the external device performs related operations such as encryption and compression on data to be sent, then performs Transmission Control Protocol (TCP) encapsulation of a transport layer, and adds a source physical port and a destination physical port field in a header of a TCP packet obtained by encapsulation; after the external device completes the transport layer encapsulation, it generally performs network layer data encapsulation on the TCP packet to obtain an Internet Protocol (IP) packet, and when the IP packet is used for encapsulation, it needs to specify a source IP address and a destination IP address of the IP packet, and then the external device may obtain routing information of the network connection device by searching for a route, and send the IP packet (first packet data) to a physical port of a network processing module of the network connection device according to the routing information and the network.
The network processing module transmits the first message data based on the forwarding logic of the data link layer, and the forwarding logic comprises the following steps:
when a physical port of the network processing module receives the first message data, the input processing module sends the first message data to the parsing module and the first cache module respectively.
The parsing module parses the first packet data to obtain packet header information and packet content information of the first packet data, where the packet header information includes information segments (e.g., source physical port information of an external device and destination physical port information of a network connection device) added in transmission processes of different layers of the first packet data, and sends a physical Address (also referred to as a Media Access Control Address (MAC)) in the packet header information to a hash processing module in the forwarding table processing module, sends the packet header information to the second cache unit, and sends the packet content information to the first cache unit. The physical address in the message header information may include source physical port information of the external device and destination physical port information of the network connection device.
The hash processing module may convert the physical address in the message header information to a hash value.
The flow table searching module can search a corresponding target physical port according to the hash value by using a preset forwarding table; the forwarding table includes a corresponding relationship between the hash value and the physical port.
Specifically, the forwarding table is also called a forwarding database or a routing directory. Switches may rely on forwarding tables to forward messages. When a network processing module receives a packet data through a physical port, the network processing module may record and maintain a corresponding relationship between hash values of a source physical port and a source physical port in packet header information of the packet data in a forwarding table, which is called as learning of the forwarding table. Referring to fig. 1, a forwarding table may be set by a first target application running in a user layer in a host device.
After receiving the first packet data, the network processing module may extract destination physical port information in packet header information of the first packet data, obtain a hash value of the destination physical port information through the hash processing module, then check whether a hash value corresponding to the destination physical port information exists in the forwarding table through the flow table lookup module, and if so, the network processing module may send a target physical port (i.e., a port corresponding to the destination physical port information) to the editing module. If not, the message is not sent.
The editing module may determine new packet header information according to the old packet header information in the target physical port and the second cache unit, that is, remove the old packet header information, repackage the old packet header information according to the encapsulation logic of the data link layer to obtain new packet header information including information of the target physical port and information of the source physical port (physical address of the network connection device), and send the new packet header information to the output processing module.
The output processing module may extract the message content information from the first cache unit, add new message header information to the message content information, obtain second message data (ethernet message), and send the second message data to the corresponding virtual machine interface module through the target physical port.
The virtual machine interface module operating in the data link layer may remove the ethernet packet header information segment of the second packet data after receiving the second packet data (ethernet packet), obtain new IP packet data, and send the IP packet data to the corresponding virtual machine through the network layer.
In the embodiment of the application, when the network connection device processes the forwarding of the packet, the packet data can be directly forwarded to the corresponding virtual machine through the network processing module and the virtual machine interface module, and the network card processor of the network connection device and the main processor of the host device do not participate in the forwarding process of the packet data, so that the self load of the network card processor and the main processor is reduced, and the self performance of the network card processor and the main processor is improved. In addition, because the message data is specially sent directly through the network processing module and the virtual machine interface module, the network connection device does not depend on a software program running in an operating system of the host device when processing the message data forwarding, and the software system overhead is reduced. The speed of forwarding the message data through the network processing module and the virtual machine interface module is greatly improved, the increasing network requirements can be met, and the data link does not pass through the network card processor and the main processor when the message data are forwarded, so that the network delay of message data transmission is reduced, and the forwarding efficiency is improved.
The message Data is specially forwarded through the Network processing module and the virtual machine interface module, the forwarding speed of the message Data can reach 30 times of that of the main processor, the Network delay of the message Data is lower than one tenth of that of the main processor, and the requirements of high-performance applications (such as Data Plane Development Kit (DPDK) applications, Network Function Virtualization (NFV) applications and the like) with high requirements on transmission speed and Network delay can be met. For a high performance transmission technology (e.g., a Remote Direct Memory Access (RDMA) technology), the high performance transmission technology has high requirements for network latency and performance, and if a high performance transmission function is deployed on a main processor, in order to ensure the performance of the main processor, virtual machines often cannot be started at the same time, so as to avoid that the virtual machines occupy too many resources of the main processor, thereby affecting the performance of the high performance transmission function. In the embodiment of the present application, the high performance transmission function may be directly implemented by the network processing module and the virtual machine interface module of the network connection device, and the normal operation of the virtual machine in the main processor is not affected, so that the implementation of the high performance transmission function is not affected by the virtual machine.
Referring to fig. 1, an embodiment of the present application provides a network connection device, including: a network processing module and at least one virtual machine interface module; the network processing module comprises at least two physical ports; the virtual machine interface module is connected with the physical port; the network processing module is used for acquiring a physical address from the first message data under the condition that the first message data is received on one physical port; forwarding the first message data to a virtual machine interface module through a target physical port corresponding to the physical address; the virtual machine interface module is used for sending out the received first message data.
In the embodiment of the present application, the network processing module and the virtual machine interface module may be provided on an integrated circuit of the network connection device in the form of hardware circuits, the network processing module operates in a data link layer in the OSI reference model, and the physical port included in the network processing module is a visible port, and may be a connector for connecting an ethernet cable, for example.
The virtual machine interface module operates at the data link layer in the OSI reference model for forwarding packets to the network layer. In the embodiment of the present application, there is a one-to-one correspondence between the virtual machine interface modules and the virtual machines.
Specifically, when receiving first packet data sent by an external device through a network, a physical port of the network processing module may parse a physical address (destination physical port information) information segment from packet header information of the first packet data (IP packet), and determine that a destination physical port corresponding to the physical address exists in the forwarding table by searching the forwarding table, and add a destination physical port information segment to the packet header information of the first packet data again, and forward the repackaged first packet data (ethernet packet) to a virtual machine interface module corresponding to the destination physical port, thereby completing a data link layer transmission process of the packet data.
The virtual machine interface module operating in the data link layer may remove the ethernet packet header information segment of the first packet data after receiving the repackaged first packet data (ethernet packet), obtain new IP packet data, and send the IP packet data to the corresponding virtual machine through the network layer.
Optionally, the virtual machine interface module includes at least one of a virtual I/O driver circuit module and a virtual function circuit module.
In the embodiment of the application, a virtual I/O driver (Virtio) circuit module is an integrated circuit of a set of general I/O devices, and provides a set of communication framework and programming interface between a network connection device and each virtual machine, and the virtual I/O driver circuit module can solve the problem of incompatibility between the network connection device and each virtual machine by providing a set of general communication framework standards, and improve the smoothness of data transmission between the network connection device and each virtual machine.
Specifically, the virtual I/O driver circuit module may be divided into four layers, including a front-end driver layer, a handler layer on a back-end virtual machine, a virtual I/O layer and a virtual I/O ring (virtual-ring) layer in the middle for front-end and back-end communication, where the virtual I/O layer implements a virtual queue interface and may be used as a bridge for front-end and back-end communication, and the virtual I-ring implements the bridge specifically, and implements two ring buffers for storing information executed by the front-end driver and the back-end handler, respectively.
The virtual function circuit module is a circuit for realizing the virtual network card function of the network connection device, that is, a computing circuit for realizing the network card processor function, a storage circuit for realizing the network card memory function and a related physical interface are added in the network connection device by directly utilizing the hardware resources of the network connection device, and the set of the computing circuit, the storage circuit and the physical interface is taken as the virtual function circuit module to realize the virtual network card function in a hardware form.
To sum up, the embodiments of the present application provide a network connection device, when the network connection device processes packet forwarding, the network connection device may directly forward packet data to a corresponding virtual machine through a network processing module and a virtual machine interface module, and a network card processor of the network connection device and a main processor of a host device do not participate in a packet data forwarding process, so that a load of the network card processor and the main processor is reduced, and performances of the network card processor and the main processor are improved. In addition, because the message data is specially sent directly through the network processing module and the virtual machine interface module, the network connection device does not depend on a software program running in an operating system of the host device when processing the message data forwarding, and the software system overhead is reduced. The speed of forwarding the message data through the network processing module and the virtual machine interface module is greatly improved, the increasing network requirements can be met, and the data link does not pass through the network card processor and the main processor when the message data are forwarded, so that the network delay of message data transmission is reduced, and the forwarding efficiency is improved.
The message Data is specially forwarded through the Network processing module and the virtual machine interface module, the forwarding speed of the message Data can reach 30 times of that of the main processor, the Network delay of the message Data is lower than one tenth of that of the main processor, and the requirements of high-performance applications (such as Data Plane Development Kit (DPDK) applications, Network Function Virtualization (NFV) applications and the like) with high requirements on transmission speed and Network delay can be met. For a high performance transmission technology (e.g., a Remote Direct Memory Access (RDMA) technology), the high performance transmission technology has high requirements for network latency and performance, and if a high performance transmission function is deployed on a main processor, in order to ensure the performance of the main processor, virtual machines often cannot be started at the same time, so as to avoid that the virtual machines occupy too many resources of the main processor, thereby affecting the performance of the high performance transmission function. In the embodiment of the present application, the high performance transmission function may be directly implemented by the network processing module and the virtual machine interface module of the network connection device, and the normal operation of the virtual machine in the main processor is not affected, so that the implementation of the high performance transmission function is not affected by the virtual machine.
Optionally, referring to fig. 3, the network processing module further includes: the system comprises an input processing module, an analysis module, a forwarding table processing module, an editing module, an output processing module and a first cache module; the input processing module, the analysis module, the forwarding table processing module, the editing module and the output processing module are connected in sequence; the input processing module, the analysis module, the editing module and the output processing module are respectively connected with the first cache module; the input processing module and the output processing module are respectively connected with the at least two physical ports; the first message data is forwarded to the target physical port through the input processing module, the analysis module, the forwarding table processing module, the editing module and the output processing module.
Optionally, referring to fig. 3, the input processing module is configured to send the first packet data to the parsing module and the first cache module respectively when the first packet data is received through the physical port;
the analysis module is used for analyzing the message header information and the message content information of the first message data, sending the physical address in the message header information to the forwarding table processing module, and sending the message header information and the message content information to the first cache module;
the forwarding table processing module is used for searching a target physical port corresponding to a physical address in at least two physical ports according to the physical address and sending information of the target physical port to the editing module;
the editing module is used for determining new message header information according to the information of the target physical port and the message header information in the first cache module and sending the new message header information to the output processing module;
and the output processing module is used for packaging the new message header information and the message content information in the first cache module into second message data and sending the second message data to the corresponding virtual machine interface module through the target physical port.
Optionally, referring to fig. 3, the first cache module includes a first cache unit and a second cache unit, the input processing module and the output processing module are respectively connected to the first cache unit, and the parsing module and the editing module are respectively connected to the second cache unit; the first cache unit caches the message content information, and the second cache unit caches the message header information.
Optionally, referring to fig. 3, the forwarding table processing module includes: the hash processing module and the flow table searching module; the hash processing module is respectively connected with the analysis module and the flow table searching module, and the flow table searching module is connected with the editing module; the hash processing module is used for determining the hash value of the physical address; the flow table searching module is used for searching a corresponding target physical port in a preset forwarding table according to the hash value; the forwarding table includes a corresponding relationship between the hash value and the physical port.
Specifically, in this embodiment of the present application, the forwarding logic of the network processing module to the first packet data based on the data link layer includes:
when first message data (IP message) is received at one physical port of the network processing module, the first message data is respectively sent to the analysis module and the first cache module through the input processing module.
The analysis module analyzes the first message data to obtain message header information and message content information of the first message data, wherein the message header information comprises information segments (such as source physical port information of external equipment and destination physical port information of network connection equipment) added in the transmission process of different layers of the first message data, the analysis module sends a physical address (also called MAC address) in the message header information to the forwarding table processing module, sends the message header information to the second cache unit, and sends the message content information to the first cache module. The physical address in the message header information may include source physical port information of the external device and destination physical port information of the network connection device.
The hash processing module may convert the physical address in the message header information to a hash value.
The flow table lookup module may check whether a hash value corresponding to the physical address (destination physical port information) exists in the forwarding table by using a preset forwarding table, and if so, the network processing module may send the target physical port (i.e., the port corresponding to the destination physical port information) to the editing module. If not, not sending; the forwarding table includes a corresponding relationship between the hash value and the physical port.
The editing module may determine new packet header information according to the old packet header information in the target physical port and the second cache unit, that is, remove the old packet header information, repackage the old packet header information according to the encapsulation logic of the data link layer to obtain new packet header information including information of the target physical port and information of the source physical port (physical address of the network connection device), and send the new packet header information to the output processing module.
The output processing module may extract the message content information from the first cache unit, add new message header information to the message content information, obtain second message data (ethernet message), and send the second message data to the corresponding virtual machine interface module through the target physical port.
The virtual machine interface module operating in the data link layer may remove the ethernet packet header information segment of the second packet data after receiving the second packet data (ethernet packet), obtain new IP packet data, and send the IP packet data to the corresponding virtual machine through the network layer.
It should be noted that the first cache module may be divided into two different sections, that is, one section is a first cache unit, and the other section is a second cache unit. The first cache unit is only used for storing message content information obtained by analyzing the message data, the second cache unit is only used for storing message header information obtained by analyzing the message data, the message header information and the message content information are respectively and independently stored in the storage module, so that the subsequent editing module can directly extract the message header information from the second cache unit, new message header information is determined according to the message header information, the output processing module can directly extract the message content information from the first cache unit, and new message header information is added to the message content information, and the management efficiency of the message header information and the message content information is improved.
Optionally, referring to fig. 1, the forwarding table is set by a first target application in the host device to which the network connection device is connected, where the first target application may be a computer program that performs a function of importing the forwarding table, and the computer program runs in the user layer, may interact with a user, may have a visual user interface, and may also run in the background.
It should be noted that, in another implementation manner, the forwarding table may be generated by an empty forwarding table through physical address learning, that is, when the network processing module receives a packet data through a physical port, the network processing module may record and maintain a corresponding relationship between hash values of a source physical port and a source physical port in packet header information of the packet data in the forwarding table.
Optionally, referring to fig. 1, the apparatus further includes at least one on-chip module, where the on-chip module is respectively connected to a second physical port (e.g., the physical interface 2 in fig. 1) of the at least two physical ports; the network processing module is further configured to forward the first packet data to the on-chip module through a target physical port corresponding to the physical address; the on-chip module is used for sending the first message data.
It should be noted that the on-chip module may send the first message data to the virtual machine to which the physical address of the first message data points.
In this embodiment of the application, the on-chip module operates on a data link layer, the on-chip module may be disposed on a main integrated circuit of a network connection device, the on-chip module may include a network card processor and a network card memory, and a system on chip running on a kernel layer may be constructed based on resources provided by the on-chip module, the network processing module receives first packet data through one physical port, if a forwarding table is searched for, and a target physical port for connecting with the on-chip module corresponding to a physical address in the first packet data is found in the forwarding table, the network processing module forwards the first packet data to the target physical port, and then forwards the first packet data to the on-chip module through the target physical port, and then the on-chip module may forward the first packet data to a virtual machine corresponding to the target physical port. In this embodiment, the target physical port may be a physical address of one on-chip module.
Specifically, in the system on chip established based on the module on chip, a Virtual network handler (vSwitch, Virtual Switch) and a Virtual input/output interface program may be run, where the Virtual network handler operates in a two-layer data network, and implements a two-layer (and partial three-layer) network function of the physical Switch in a software manner. The virtual network processing program provides two-layer network access and partial three-layer network functions for the virtual machine on the host device, the virtual machine is connected with the network through the virtual network processing program, and the virtual network processing program is connected with the external network through the network connection device as an uplink.
Optionally, the network processing module is further configured to search for a target physical port corresponding to the physical address, and forward the first packet data to the virtual machine interface module through the target physical port when the target physical port is connected to the virtual machine interface module; and forwarding the first packet data to the on-chip module through the target physical port under the condition that the target physical port is connected with the on-chip module.
In this embodiment of the present application, the network processing module may query, according to a physical address in the first packet data, whether a target physical port connected to the virtual machine interface module and corresponding to the physical address exists in a forwarding table, and if the target physical port exists, forward the first packet data to the virtual machine interface module through the target physical port corresponding to the physical address; if not, inquiring whether a target physical port corresponding to the physical address and connected with the on-chip module exists in a forwarding table, and if so, forwarding the first message data to the on-chip module through the target physical port connected with the on-chip module; and the on-chip module sends the first message data.
Optionally, each virtual machine has a corresponding virtual input/output interface program, where the virtual input/output interface program includes at least one of a virtual I/O driver (Virtio) program and a Virtual Function (VF) program, the virtual function program may also be referred to as a virtual network card, each virtual machine may have a corresponding virtual network card, each virtual network card has its own MAC address and IP address, and the virtual network processing program is connected to the virtual network card and the network connection device, and is configured to forward a data packet on the virtual machine from the network connection device or forward a packet received from the network connection device to the corresponding virtual network card.
Specifically, the process of forwarding the first packet data to the virtual machine corresponding to the target physical port through the on-chip module includes: by running a virtual network processing program in a system on chip constructed on the basis of a module on chip, a buffer area is allocated in a network card memory as a queue, a data structure in the queue is called a descriptor (descriptor), which is an interface for software and hardware interaction, and in addition, a memory pool (memory pool) is also allocated in the network card memory, and the memory pool stores a data buffer area with a fixed size and is used for bearing first message data sent by the network processing module.
After the memory pool receives the first message data, the virtual network processing program determines a physical port corresponding to a physical address in message header information of the first message data from a preset forwarding table according to the same logic as the network processing module, and sends the physical port corresponding to the physical address in the message header information of the first message data to a virtual input/output interface program corresponding to the physical port, and the virtual input/output interface program sends the first message data to a corresponding virtual machine.
Optionally, referring to fig. 4, which shows a port architecture diagram of a network connection device according to an embodiment of the present application, the device further includes a first external port and a switch module a, and at least two physical ports of the network processing module include: a second pair of external ports; the first pair of external ports is used for receiving first message data sent by external equipment; the switch module is respectively connected with the first pair of external ports, the second pair of external ports and the on-chip module, and is used for conducting the first pair of external ports and the on-chip module under the condition of receiving a fast channel closing instruction and conducting the first pair of external ports and the second pair of external ports under the condition of receiving a fast channel starting instruction.
In this embodiment, the network processing module may independently maintain a first forwarding table of its own, and the on-chip module may independently maintain a second forwarding table of its own.
The first pair of external ports may obtain first packet data sent by the external device from the network layer, and the switch module a may control the first packet data to implement two transmission paths.
In the transmission path 1, under the condition that a fast channel starting instruction is received, the switch module a is conducted with the second external port of the network processing module, at this time, the first message data can be transmitted to the network processing module, and the network processing module and the virtual machine interface module realize the operation of transmitting the first message data to the corresponding virtual machine according to the first forwarding table. The network processing module and the virtual machine interface module under the transmission path are realized in a hardware circuit form in the network connection equipment, so that the self load of the network card processor and the main processor is reduced, the speed of the network processing module and the virtual machine interface module for forwarding the message data is greatly improved, the network time delay of message data transmission is reduced, and the forwarding efficiency is improved.
In the transmission path 2, when a fast channel closing instruction is received, the switch module a is turned on with the on-chip module, at this time, the first message data may be transmitted to the on-chip module, and the on-chip module sends the first message data to the corresponding virtual machine according to the second forwarding table based on the message forwarding logic of the on-chip module in the above embodiment, and the transmission path has a full forwarding table and the capability of forwarding logic processing more types of messages because the table entry capacity of the second forwarding table stored in the on-chip module is greater than the table entry capacity of the first forwarding table (the table entry capacity of the first forwarding table is smaller due to the memory size limitation of the network processing module).
Optionally, referring to fig. 4, the at least two physical ports include: at least two intra-pair ports; the virtual machine interface module is connected with the internal port; and where the apparatus further comprises at least one on-chip module, the on-chip module is connected to the intra-pair port.
In this embodiment, the internal ports of the network processing module, which are connected to the virtual machine interface module, may serve as a first pair of internal ports, and the internal ports connected to the on-chip module may serve as a second pair of internal ports. The first pair of internal ports can realize intranet transmission between the network processing module and the virtual machine interface module, and the second pair of internal ports can realize intranet transmission between the network processing module and the on-chip module. In an embodiment of the present application, the second pair of internal ports may be target physical ports connected to the on-chip module.
Specifically, the function of the second inner pair of ports may be further described with reference to the transmission path 3, where the transmission path 3 includes: under the condition of receiving a fast channel starting instruction, the switch module A is conducted with a second external port of the network processing module, at the moment, first message data can be transmitted to the network processing module, the network processing module and the virtual machine interface module determine a target physical port corresponding to the first message data according to a first forwarding table, but due to the limitation that the table entry capacity of the first forwarding table is small, the target physical port corresponding to the first message data and connected with the virtual machine interface module cannot be found, under the condition, the network processing module can transmit the first message data to the on-chip module through a second internal port, the on-chip module achieves the operation of sending the first message data to a corresponding virtual machine according to the second forwarding table, and because the capacity of the second table entry is larger than the table entry capacity of the first forwarding table, the on-chip module sends the first message data to the corresponding virtual machine with higher power, the success rate of message sending is improved.
It should be noted that, after the on-chip module successfully sends the first packet data to the corresponding virtual machine according to the second forwarding table, the on-chip module may further update the corresponding relationship between the destination physical port corresponding to the first packet data in the second forwarding table and the hash value of the destination physical port to the first forwarding table, so as to increase the success rate of sending the packet by the network processing module according to the first forwarding table.
Optionally, the first pair of external ports and the second pair of external ports are WAN ports, and the pair of internal ports are LAN ports or WLAN ports.
In the embodiment of the present application, a Wide Area Network (WAN) port is also referred to as an external Network port, and is a remote Network port for connecting local Area networks or metropolitan Area networks in different areas to communicate with a computer, and external data can be obtained from an internet environment. In this embodiment, the LAN port and the WLAN port may implement data transmission between the network processing module and the input/output module or data transmission between the network processing module and the on-chip device.
Optionally, referring to fig. 1, the fast channel enabling instruction or the fast channel closing instruction is sent by a second target application program in the host device to which the network connection device is connected.
In this embodiment, the second target application may be a computer program with a fast channel on/off command sending function, which runs on the user layer, may interact with the user, may have a visual user interface, and may also run in the background.
Optionally, referring to fig. 4, the apparatus further includes: and the physical interface transceiver is used for coding the link layer message data according to the coding rule of the physical layer and then sending the link layer message data to external equipment under the condition of receiving the link layer message data sent by the network processing module or the on-chip module, and decoding the physical layer message data according to the coding rule of the physical layer and then sending the physical layer message data to the network processing module or the on-chip module under the condition of receiving the physical layer message data sent by the external equipment.
In this embodiment of the application, a Physical interface transceiver is also called a Physical layer (PHY) interface, and operates in a Physical layer, defines electrical and optical signals, a line state, a clock reference, a data coding and circuit, and the like required for data transmission and reception, and provides a standard interface for a data link layer device, and before a network connection device sends data to an external device through a first external port, the network connection device needs to encode link layer packet data sent by a network processing module or an on-chip module according to a coding rule of the Physical layer through the Physical interface transceiver, and after the link layer packet data is changed into Physical layer data of an analog signal type, the Physical layer packet data is transmitted through the first external port, so that the external device can normally read the received data.
When the network connection device receives physical layer message data sent by external equipment through the first pair of external ports, the network connection device decodes the physical layer message data according to the coding rule of the physical layer to obtain link layer data and sends the link layer data to the network processing module or the on-chip module, so that the network processing module or the on-chip module can read the received data normally. It should be noted that the coding rule of the physical layer may include a non Return to Zero (NRZ) coding rule of 10 base-T or a Manchester coding rule of 100 base-T.
Optionally, referring to fig. 5, which shows an architecture diagram of a virtual machine interface module according to an embodiment of the present application, the virtual machine interface module includes a direct memory access controller and a second cache module, where the direct memory access controller is connected to the second cache module and a third cache module corresponding to the virtual machine respectively; the output processing module is also used for storing the second message data to a second cache module; the direct memory controller is used for copying the second message data in the second cache module to the third cache module.
In this embodiment of the present application, the process of sending the message data to the virtual machine by the virtual machine interface module may be specifically implemented by a Direct Memory Access (DMA) technology, and the DMA technology may enable the network connection device to directly Access the Memory through the DMA controller to transmit the data.
In this embodiment of the application, the specific process of sending the second packet data to the switch by the virtual machine interface module is as follows: after the direct memory access controller of the virtual machine interface module obtains the bus control right, the direct memory access controller outputs a read-write command, the second message data stored in the second cache module by the output processing module is extracted and copied into the third cache module, so that the virtual machine can directly obtain the required second message data from the third cache module, the transmission process of the second message data does not need the participation of a main processor and a network card processor, and the load of the main processor and the network card processor is further reduced.
Optionally, the virtual machine interface module is further configured to send the received third packet data sent by the virtual machine to the physical port corresponding to the virtual machine interface module. And then the network processing module transmits the third message data.
To sum up, an embodiment of the present application provides a network connection device, which includes: a network processing module and at least one virtual machine interface module; the network processing module comprises at least two physical ports; the virtual machine interface module is connected with the physical port; the network processing module is used for acquiring a physical address from first message data under the condition that the first message data is received on one physical port; forwarding the first message data to the virtual machine interface module through a target physical port corresponding to the physical address; the virtual machine interface module is used for sending out the received first message data. In the embodiment of the application, when the network connection device processes the forwarding of the packet, the packet data can be directly forwarded to the corresponding virtual machine through the network processing module and the virtual machine interface module, and the network card processor of the network connection device and the main processor of the host device do not participate in the forwarding process of the packet data, so that the self load of the network card processor and the main processor is reduced, and the self performance of the network card processor and the main processor is improved. In addition, because the message data is specially sent directly through the network processing module and the virtual machine interface module, the network connection device does not depend on a software program running in an operating system of the host device when processing the message data forwarding, and the software system overhead is reduced. The speed of forwarding the message data through the network processing module and the virtual machine interface module is greatly improved, the increasing network requirements can be met, and the data link does not pass through the network card processor and the main processor when the message data are forwarded, so that the network delay of message data transmission is reduced, and the forwarding efficiency is improved.
The message Data is specially forwarded through the Network processing module and the virtual machine interface module, the forwarding speed of the message Data can reach 30 times of that of the main processor, the Network delay of the message Data is lower than one tenth of that of the main processor, and the requirements of high-performance applications (such as Data Plane Development Kit (DPDK) applications, Network Function Virtualization (NFV) applications and the like) with high requirements on transmission speed and Network delay can be met. For a high performance transmission technology (e.g., a Remote Direct Memory Access (RDMA) technology), the high performance transmission technology has high requirements for network latency and performance, and if a high performance transmission function is deployed on a main processor, in order to ensure the performance of the main processor, virtual machines often cannot be started at the same time, so as to avoid that the virtual machines occupy too many resources of the main processor, thereby affecting the performance of the high performance transmission function. In the embodiment of the present application, the high performance transmission function may be directly implemented by the network processing module and the virtual machine interface module of the network connection device, and the normal operation of the virtual machine in the main processor is not affected, so that the implementation of the high performance transmission function is not affected by the virtual machine.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, host devices (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing host device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing host device, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing host apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing host device to cause a series of operational steps to be performed on the computer or other programmable host device to produce a computer implemented process such that the instructions which execute on the computer or other programmable host device provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present application have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including the preferred embodiment and all such alterations and modifications as fall within the true scope of the embodiments of the application.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or host apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or host apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or host device that comprises the element.
The network connection device provided by the present application is introduced in detail above, and a specific example is applied in the present application to explain the principle and the implementation of the present application, and the description of the above embodiment is only used to help understand the method and the core idea of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (16)

1. A network connection device, the device comprising:
a network processing module and at least one virtual machine interface module;
the network processing module comprises at least two physical ports; the virtual machine interface module is connected with the physical port;
the network processing module is used for acquiring a physical address from first message data under the condition that the first message data is received on one physical port; forwarding the first message data to the virtual machine interface module through a target physical port corresponding to the physical address;
the virtual machine interface module is used for sending out the received first message data.
2. The apparatus of claim 1,
the network processing module further comprises:
the system comprises an input processing module, an analysis module, a forwarding table processing module, an editing module, an output processing module and a first cache module;
the input processing module, the analysis module, the forwarding table processing module, the editing module and the output processing module are connected in sequence; the input processing module, the analysis module, the editing module and the output processing module are respectively connected with the first cache module; the input processing module and the output processing module are respectively connected with the at least two physical ports;
the first message data is forwarded to the target physical port through the input processing module, the parsing module, the forwarding table processing module, the editing module and the output processing module.
3. The apparatus of claim 2,
the input processing module is used for respectively sending first message data to the analysis module and the first cache module under the condition of receiving the first message data through the physical port;
the analysis module is used for analyzing the message header information and the message content information of the first message data, sending a physical address in the message header information to the forwarding table processing module, and sending the message header information and the message content information to the first cache module;
the forwarding table processing module is used for searching a target physical port corresponding to the physical address in at least two physical ports according to the physical address and sending the information of the target physical port to the editing module;
the editing module is used for determining new message header information according to the information of the target physical port and the message header information in the first cache module, and sending the new message header information to the output processing module;
and the output processing module is used for packaging the new message header information and the message content information in the first cache module into second message data and sending the second message data to a corresponding virtual machine interface module through the target physical port.
4. The device according to claim 3, wherein the first cache module comprises a first cache unit and a second cache unit, the input processing module and the output processing module are respectively connected with the first cache unit, and the parsing module and the editing module are respectively connected with the second cache unit; the first cache unit caches the message content information, and the second cache unit caches the message header information.
5. The apparatus of claim 2 or 3, wherein the forwarding table processing module comprises:
the hash processing module and the flow table searching module; the hash processing module is respectively connected with the analysis module and the flow table searching module, and the flow table searching module is connected with the editing module;
the hash processing module is used for determining a hash value of the physical address;
the flow table searching module is used for searching a corresponding target physical port in a preset forwarding table according to the hash value; wherein the forwarding table includes a corresponding relationship between the hash value and the physical port.
6. The device of claim 5, wherein the forwarding table is set by a first target application in a host device to which the network connection device has access.
7. The apparatus of any of claims 2-6, further comprising at least one on-chip module, the on-chip module connected to the physical port;
the network processing module is further configured to forward the first packet data to the on-chip module through a target physical port corresponding to the physical address; the on-chip module is used for sending the first message data.
8. The apparatus of claim 7, further comprising a first pair of outward ports and a switch module, the at least two physical ports comprising: a second pair of external ports; the first pair of external ports is used for receiving first message data sent by external equipment;
the switch module is respectively connected with the first pair of external ports, the second pair of external ports and the on-chip module, and is used for conducting the first pair of external ports and the on-chip module under the condition of receiving a fast channel closing instruction and conducting the first pair of external ports and the second pair of external ports under the condition of receiving a fast channel starting instruction.
9. The apparatus of claim 8, further comprising:
the physical interface transceiver is connected between the first external port and the switch module, and is configured to, under the condition that link layer packet data sent by the network processing module or the on-chip module is received, encode the link layer packet data according to a coding rule of a physical layer and send the encoded link layer packet data to an external device, and under the condition that physical layer packet data sent by the external device is received, decode the physical layer packet data according to the coding rule of the physical layer and send the decoded physical layer packet data to the network processing module or the on-chip module.
10. The device of claim 8, wherein the fast channel enable instruction or the fast channel close instruction is sent by a second target application in a host device to which the network connection device is connected.
11. The apparatus of claim 8, wherein the at least two physical ports comprise: at least two intra-pair ports; the virtual machine interface module is connected with the internal port;
and in the case where the apparatus further comprises at least one on-chip module, the on-chip module is connected with the pair of internal ports.
12. The device of claim 10, wherein the first pair of external ports and the second pair of external ports are WAN ports and the pair of internal ports are LAN ports or WLAN ports.
13. The device according to claim 3, wherein the virtual machine interface module comprises a direct memory access controller and a second cache module, and the direct memory access controller is respectively connected with the second cache module and a third cache module corresponding to the virtual machine;
the output processing module is further configured to store the second packet data to the second cache module;
the direct memory controller is configured to copy the second packet data in the second cache module to the third cache module.
14. The apparatus of any of claims 1-3, wherein the virtual machine interface module comprises at least one of a virtual I/O driver circuit module, a virtual function circuit module.
15. The device according to claim 1, wherein the virtual machine interface module is further configured to send the received third packet data sent by the virtual machine to the physical port corresponding to the virtual machine interface module.
16. The device according to claim 7, wherein the network processing module is further configured to find a target physical port corresponding to the physical address, and forward the first packet data to the virtual machine interface module through the target physical port when the target physical port is connected to the virtual machine interface module; and forwarding the first packet data to the on-chip module through the target physical port under the condition that the target physical port is connected with the on-chip module.
CN202010478545.9A 2020-05-29 2020-05-29 Network connection device Pending CN113746749A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010478545.9A CN113746749A (en) 2020-05-29 2020-05-29 Network connection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010478545.9A CN113746749A (en) 2020-05-29 2020-05-29 Network connection device

Publications (1)

Publication Number Publication Date
CN113746749A true CN113746749A (en) 2021-12-03

Family

ID=78724952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010478545.9A Pending CN113746749A (en) 2020-05-29 2020-05-29 Network connection device

Country Status (1)

Country Link
CN (1) CN113746749A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114050998A (en) * 2022-01-07 2022-02-15 阿里巴巴(中国)有限公司 Method, device, electronic equipment and medium for realizing remote direct memory access
CN114640557A (en) * 2022-03-18 2022-06-17 阿里云计算有限公司 Gateway and cloud network system
CN114785714A (en) * 2022-03-01 2022-07-22 阿里巴巴(中国)有限公司 Message transmission delay detection method, storage medium and equipment
CN116996332A (en) * 2023-09-28 2023-11-03 无锡沐创集成电路设计有限公司 Network message filter, filtering method and network message filter set
CN117112044A (en) * 2023-10-23 2023-11-24 腾讯科技(深圳)有限公司 Instruction processing method, device, equipment and medium based on network card
WO2024067336A1 (en) * 2022-09-26 2024-04-04 杭州阿里云飞天信息技术有限公司 Packet processing method, programmable network card device, physical server, and storage medium
WO2024195151A1 (en) * 2023-03-23 2024-09-26 日立Astemo株式会社 Vehicle control apparatus

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247337A (en) * 2008-02-18 2008-08-20 华为技术有限公司 Packet forwarding method and equipment
CN102571613A (en) * 2012-03-09 2012-07-11 华为技术有限公司 Method and network device for message forwarding
CN103401797A (en) * 2013-07-24 2013-11-20 杭州华三通信技术有限公司 Message processing method and equipment
CN104518935A (en) * 2013-09-27 2015-04-15 华为技术有限公司 Method for realizing virtual network communication, device, and system
CN105591867A (en) * 2015-07-01 2016-05-18 杭州华三通信技术有限公司 ICT fusion equipment and ICT fusion method
CN107360096A (en) * 2017-08-14 2017-11-17 北京优帆科技有限公司 A kind of retransmission method and system of VXLAN messages
CN107786437A (en) * 2016-08-24 2018-03-09 华为技术有限公司 Message forwarding method and device
CN107995129A (en) * 2017-11-30 2018-05-04 锐捷网络股份有限公司 A kind of NFV message forwarding methods and device
CN108683616A (en) * 2018-04-20 2018-10-19 全球能源互联网研究院有限公司 A kind of network configuration device of virtual switch queue
CN110213170A (en) * 2018-02-28 2019-09-06 华为技术有限公司 A kind of method and device of message transmissions
CN110417573A (en) * 2019-05-20 2019-11-05 华为技术有限公司 A kind of method and system of data transmission

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247337A (en) * 2008-02-18 2008-08-20 华为技术有限公司 Packet forwarding method and equipment
WO2009103225A1 (en) * 2008-02-18 2009-08-27 华为技术有限公司 A packet forwarding method and equipment
CN102571613A (en) * 2012-03-09 2012-07-11 华为技术有限公司 Method and network device for message forwarding
CN103401797A (en) * 2013-07-24 2013-11-20 杭州华三通信技术有限公司 Message processing method and equipment
CN104518935A (en) * 2013-09-27 2015-04-15 华为技术有限公司 Method for realizing virtual network communication, device, and system
CN105591867A (en) * 2015-07-01 2016-05-18 杭州华三通信技术有限公司 ICT fusion equipment and ICT fusion method
CN107786437A (en) * 2016-08-24 2018-03-09 华为技术有限公司 Message forwarding method and device
CN107360096A (en) * 2017-08-14 2017-11-17 北京优帆科技有限公司 A kind of retransmission method and system of VXLAN messages
CN107995129A (en) * 2017-11-30 2018-05-04 锐捷网络股份有限公司 A kind of NFV message forwarding methods and device
CN110213170A (en) * 2018-02-28 2019-09-06 华为技术有限公司 A kind of method and device of message transmissions
CN108683616A (en) * 2018-04-20 2018-10-19 全球能源互联网研究院有限公司 A kind of network configuration device of virtual switch queue
CN110417573A (en) * 2019-05-20 2019-11-05 华为技术有限公司 A kind of method and system of data transmission

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114050998A (en) * 2022-01-07 2022-02-15 阿里巴巴(中国)有限公司 Method, device, electronic equipment and medium for realizing remote direct memory access
CN114785714A (en) * 2022-03-01 2022-07-22 阿里巴巴(中国)有限公司 Message transmission delay detection method, storage medium and equipment
CN114785714B (en) * 2022-03-01 2023-08-22 阿里巴巴(中国)有限公司 Message transmission delay detection method, storage medium and equipment
CN114640557A (en) * 2022-03-18 2022-06-17 阿里云计算有限公司 Gateway and cloud network system
WO2024067336A1 (en) * 2022-09-26 2024-04-04 杭州阿里云飞天信息技术有限公司 Packet processing method, programmable network card device, physical server, and storage medium
WO2024195151A1 (en) * 2023-03-23 2024-09-26 日立Astemo株式会社 Vehicle control apparatus
CN116996332A (en) * 2023-09-28 2023-11-03 无锡沐创集成电路设计有限公司 Network message filter, filtering method and network message filter set
CN116996332B (en) * 2023-09-28 2023-12-26 无锡沐创集成电路设计有限公司 Network message filter, filtering method and network message filter set
CN117112044A (en) * 2023-10-23 2023-11-24 腾讯科技(深圳)有限公司 Instruction processing method, device, equipment and medium based on network card
CN117112044B (en) * 2023-10-23 2024-02-06 腾讯科技(深圳)有限公司 Instruction processing method, device, equipment and medium based on network card

Similar Documents

Publication Publication Date Title
CN113746749A (en) Network connection device
CN102104541B (en) Header processing engine
CN111131037B (en) Data transmission method, device, medium and electronic equipment based on virtual gateway
CN110022264B (en) Method for controlling network congestion, access device and computer readable storage medium
US20140022894A1 (en) Network system, switch and connected terminal detection method
US9356844B2 (en) Efficient application recognition in network traffic
CN113285931B (en) Streaming media transmission method, streaming media server and streaming media system
CN116074131B (en) Data processing method, intelligent network card and electronic equipment
CN115202573A (en) Data storage system and method
CN113691466B (en) Data transmission method, intelligent network card, computing device and storage medium
CN116599892B (en) Server system, routing method, routing device, electronic equipment and storage medium
CN112019492B (en) Access control method, device and storage medium
US9559857B2 (en) Preprocessing unit for network data
CN116032837A (en) Flow table unloading method and device
CN115941630A (en) DPU-based cross-network card forwarding method, system, medium, CPU processor and intelligent network card
CN114066707A (en) General graphic processing system, computing device and distributed system
EP4102784A1 (en) Data stream processing method and device
CN117527689B (en) Stream table unloading method, system, device, cluster and medium
CN117714398B (en) Data transmission system, method, electronic equipment and storage medium
US20230185624A1 (en) Adaptive framework to manage workload execution by computing device including one or more accelerators
CN112737915B (en) Intranet tunnel cross-domain gateway forwarding method, system, equipment and medium based on intelligent network card
CN113746802B (en) Method in network function virtualization and VNF device with full storage of local state and remote state
US20230421500A1 (en) Method and device for storing and forwarding content, electronic apparatus and storage medium using the same
US20230043461A1 (en) Packet processing configurations
CN118590566A (en) Message forwarding device and method applied to DPU, DPU equipment and storage medium

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40062891

Country of ref document: HK