CN117041147B - Intelligent network card equipment, host equipment, method and system - Google Patents

Intelligent network card equipment, host equipment, method and system Download PDF

Info

Publication number
CN117041147B
CN117041147B CN202311287243.3A CN202311287243A CN117041147B CN 117041147 B CN117041147 B CN 117041147B CN 202311287243 A CN202311287243 A CN 202311287243A CN 117041147 B CN117041147 B CN 117041147B
Authority
CN
China
Prior art keywords
flow table
host
rdma
service
flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311287243.3A
Other languages
Chinese (zh)
Other versions
CN117041147A (en
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.)
Jingxin Microelectronics Technology Tianjin Co Ltd
Original Assignee
Jingxin Microelectronics Technology Tianjin Co 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 Jingxin Microelectronics Technology Tianjin Co Ltd filed Critical Jingxin Microelectronics Technology Tianjin Co Ltd
Priority to CN202311287243.3A priority Critical patent/CN117041147B/en
Publication of CN117041147A publication Critical patent/CN117041147A/en
Application granted granted Critical
Publication of CN117041147B publication Critical patent/CN117041147B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • H04L45/655Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (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

The application discloses intelligent network card equipment, host equipment, a method and a system. The intelligent network card device comprises: a flow table component configured to store a flow table; the RDMA component is configured to respond to the received service traffic from the second host, match the service traffic with the flow table, and push the service traffic to the memory of the first host after the matching is successful; and responding to the first host to prepare to send the service data, matching the service data with the flow table, and pushing the service data to the second host after the matching is successful. The intelligent network card device is a hardware device, combines the OpenFlow technology and the RDMA technology, adopts the DMA controller to realize the rapid configuration access to the OpenFlow flow table, and can improve the effective construction rate of the flow table rule; and based on RDMA technology, the direct memory read-write of network data is realized, the network throughput performance can be improved, and the networking scale is enlarged.

Description

Intelligent network card equipment, host equipment, method and system
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to an intelligent network card device, a host device, a method, and a system.
Background
In the fields of ethernet digital communication (data communication) and cloud computing, in order to solve the related problems of traditional network development lag, higher operation and maintenance cost and the like, a Software Defined Network (SDN) technology for decoupling a data plane and a control plane is proposed in the industry. Open Virtual Switch (OVS) technology is a relatively important application in the SDN field. The cloud network can be built and deployed by means of the OVS, but the OVS is realized by adopting a pure software scheme, and when the number of virtual terminals in the cloud computing network environment is relatively large, the network performance is obviously reduced. In order to optimize network performance and improve throughput of virtual terminals in a cloud network, an intelligent network card with common network card functional characteristics and SDN functional characteristics is generally adopted in the industry to achieve the aim of improving network performance.
The unloading function of the intelligent network card is a main means for improving the network performance. The unloading function mainly solves three main problems: 1) Support strength of network characteristics; 2) The flexibility and high timeliness of the rule establishment of the flow table are particularly under the condition of large flow; 3) The manner and granularity of unloading.
According to different service scene demands, the existing intelligent network card devices are quite different in the aspect of supporting granularity of network characteristics, and no unified solution exists. In the construction of the flow table, a scheme of combining an OVS technology and an SDN controller is generally adopted. The scheme has the defects that although the flexibility requirement can be met, the stream table is still constructed through an operating system kernel module, and the high timeliness requirement cannot be met. In the unloading mode and granularity, network data still needs to pass through a host system, and the data throughput performance cannot be effectively improved.
Disclosure of Invention
The application provides intelligent network card equipment, host equipment, a method and a system.
In a first aspect, the present application provides an intelligent network card device, configured to be an additional device of a first host in a software defined network SDN system, where the SDN system further includes a second host and an SDN controller, the intelligent network card device includes: a flow table component configured to store a flow table; an RDMA component configured to match the traffic with the flow table in response to receiving the traffic from the second host, and push the traffic to the memory of the first host after the matching is successful; and responding to the first host to prepare to send service data, matching the service data with the flow table, and pushing the service data to the second host after the matching is successful.
In some alternative embodiments, further comprising: and a DMA controller configured to receive the flow table issued by the first host, write the flow table to the flow table component, and generate and send the flow table to the first host by the SDN controller or be configured on the first host by a user.
In some optional embodiments, the RDMA component is further configured to: discarding the service flow after the matching failure of the service flow and the flow table, or forwarding the service flow to the SDN controller so that the SDN controller builds a flow table rule of a receiving direction and generates or updates the flow table; and discarding sending the service data after the matching of the service data and the flow table fails, or forwarding the service data to the SDN controller so that the SDN controller builds a flow table rule of a sending direction and generates or updates the flow table.
In some alternative embodiments, the flow table component is further configured to initialize a default flow table, the default flow table indicating forwarding of matching failed data to the SDN controller; the RDMA component is further configured to initialize a transmit queue and memory resources, and establish a connection with the second host.
In some optional embodiments, the RDMA component is further configured to, in response to receiving traffic from the second host for the first time, match the traffic received for the first time with the default flow table, and forward the traffic received for the first time to the SDN controller after the matching fails, so that the SDN controller generates the flow table.
In some optional embodiments, the RDMA component is further configured to apply for an idle RDMA queue after the service traffic is matched with the flow table and the matching is successful, fill the service traffic into the RDMA queue, and push the service traffic into the memory of the first host through the RDMA queue.
In some optional embodiments, the RDMA component is further configured to apply for an idle RDMA queue after the service data is matched with the flow table and the matching is successful, fill the service data into the RDMA queue, and push the service data to the second host through the RDMA queue.
In a second aspect, the present application provides a data exchange method of an SDN system, which is applied to an intelligent network card device in the SDN system, where the intelligent network card device is an additional device of a first host in the SDN system, the SDN system further includes a second host and an SDN controller, and the intelligent network card device includes a flow table component and an RDMA component; the method comprises the following steps: the RDMA component is used for responding to the received service flow from the second host, matching the service flow with a flow table stored in the flow table component, and pushing the service flow to the memory of the first host after the matching is successful; and responding to the first host to prepare to send service data, matching the service data with the flow table, and pushing the service data to the second host after the matching is successful.
In a third aspect, the present application provides a host device configured to be a first host in a software defined network SDN system and install an intelligent network card device, where the SDN system further includes a second host and an SDN controller, the host device includes: the processing module is configured to initialize the intelligent network card equipment and write a flow table in a flow table component of the intelligent network card equipment; the RDMA protocol stack module is configured to acquire service flow from the second host in the memory of the first host pushed by the RDMA component of the intelligent network card device according to the flow table, and deliver the service flow to a virtual terminal running on the first host; and when the virtual terminal starts to send service data, the RDMA component is instructed to acquire the service data to be sent from the memory of the first host, and the service data is pushed to the second host according to the flow table.
In some optional embodiments, the processing module is further configured to obtain the flow table from the SDN controller or generate the flow table according to a user's configuration, and write the flow table to the flow table component of the intelligent network card device.
In a fourth aspect, the present application provides a software defined network SDN system, including an intelligent network card device as described in the first aspect and a host device as described in the second aspect.
In order to improve SDN network performance, the application provides intelligent network card equipment, host equipment, a method and a system. The intelligent network card device is a hardware device, combines the OpenFlow technology and the RDMA technology, adopts the DMA controller to realize the rapid configuration access to the OpenFlow flow table, and can improve the effective construction rate of the flow table rule; and based on RDMA technology, the direct memory read-write of network data is realized, the data interaction no longer passes through the CPU and the operating system kernel module, the network throughput performance can be improved, and the networking scale is enlarged.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the detailed description of non-limiting embodiments made with reference to the following drawings. The drawings are only for purposes of illustrating particular embodiments and are not to be construed as limiting the invention. In the drawings:
FIG. 1 is an exemplary system architecture diagram of one embodiment of a Software Defined Network (SDN) system according to the present application;
FIG. 2 is an exemplary system architecture diagram of one embodiment of a smart network card device according to the present application;
FIG. 3 is an exemplary system architecture diagram of one embodiment of a host device according to the present application;
fig. 4 is a flow chart of one embodiment of an SDN system data exchange method in accordance with the present application;
FIG. 5 is a schematic structural diagram of one embodiment of a computer device according to the present application.
Detailed Description
For a more complete understanding of the features and technical content of the embodiments of the present application, reference should be made to the following detailed description of the embodiments of the present application, taken in conjunction with the accompanying drawings, which are for purposes of illustration only and not intended to limit the embodiments of the present application.
To facilitate understanding, some technical terms related to the present application are explained first.
Direct memory access (DMA, direct memory access) is a function provided by some computer bus architecture that enables data to be sent directly from additional devices on the computer motherboard (e.g., disk drives) to the memory of the computer motherboard. DMA is a way of operating where I/O exchanges are performed entirely by hardware. In this way, the DMA controller takes over control of the bus entirely from the CPU, and data exchange takes place directly between the memory and the IO devices without the CPU and without the involvement of the operating system kernel module.
Remote direct memory access (RDMA, remote direct memory access) is a remote direct memory access technique that transfers data directly from the memory of one computer to another computer without the intervention of the two operating systems. RDMA is a network data transfer that acts between two computers, and DMA is a data transfer that acts between the computer memory and additional devices (e.g., disk drives) on the computer motherboard.
Remote Direct Memory Access (RDMA) technology is based on the network concept of traditional ethernet, but differs from the same kind of technology in ethernet networks in that RDMA provides a message service that applications can use to directly access virtual memory on remote computers. RDMA achieves low latency by bypassing the software protocol stack to avoid unnecessary data duplication, reduces CPU (central processing unit) occupancy, reduces memory bandwidth bottlenecks, and improves bandwidth, with the benefits provided by RDMA arising primarily from the manner in which RMDA messaging services are presented to applications, and the underlying technology for transporting and delivering these messages. RDMA provides channel-based I/O (input/output), which allows applications to directly read and write to remote virtual memory using RDMA devices. In a conventional ethernet application scenario, an application program running in a user state requests network resources from an operating system by calling a socket (API), and then performs transceiving data using the API. RDMA applications also rely on the operating system. But only the operating system is used for establishing a channel, and then the user-state program is allowed to directly operate the hardware interaction information without further assistance of the kernel program. These ways of information interaction may be RDMA read, RDMA write, send, recv. RDMA technology is a relatively mature architecture, and is mainly applied to high-performance computing and large-scale data centers.
Referring to fig. 1, fig. 1 illustrates an exemplary system architecture of one embodiment of a Software Defined Network (SDN) system according to the present application.
As shown in fig. 1, SDN system 100 may include at least two host devices 101 and SDN controller 102 and network 103, each host device 101 having an additional device, intelligent network card device 104, connected thereto.
The host device 101, as a network device in the SDN system, may have various applications installed thereon, for example, at least one virtual terminal (VM) may be deployed.
SDN controller 102 is responsible for flow control to ensure the intelligent network. The SDN controller is based on a protocol such as OpenFlow, allowing the server to tell the switch where to send the data packet. SDN controller 102 may be hardware or software. When SDN controller 102 is hardware, it may be implemented as a distributed server cluster formed by a plurality of servers, or as a single server. When SDN controller 102 is software, it may be implemented as multiple software or software modules (e.g., to provide distributed services) or as a single software or software module. The present invention is not particularly limited herein.
The network 103 is used to provide media for communication links including various connection types such as wired, wireless communication links, or fiber optic cables, etc.
The intelligent network card device 104 is a hardware device proposed in the present application to replace an Open Virtual Switch (OVS) in a conventional SDN.
Software Defined Networking (SDN) is a new network innovation architecture, an implementation of network virtualization. The core technology OpenFlow separates the control surface from the data surface of the network equipment, so that flexible control of network flow is realized, the network becomes more intelligent, and a good platform is provided for innovation of the core network and application.
Referring to fig. 2, fig. 2 illustrates an exemplary system architecture according to one embodiment of the intelligent network card device of the present application. The intelligent network card device can be used as an additional device of a first host in an SDN system, and the SDN system can further comprise a second host and an SDN controller. As shown in fig. 2, the intelligent network card device 200 of the present application may include: the flow table component 201, RDMA component 202, DMA controller 203, and other hardware units.
Here, the flow table section 201 configured to store a flow table (OpenFlow flow table);
here, the RDMA component 202 is configured to, in response to receiving the traffic from the second host, match the traffic with the flow table, and push the traffic to the memory of the first host after the matching is successful; and responding to the first host to prepare to send the service data, matching the service data with the flow table, and pushing the service data to the second host after the matching is successful.
Here, the DMA controller 203 is configured to receive a flow table issued by the first host, write the flow table into the flow table part, and generate and send the flow table to the first host by the SDN controller or configure the flow table on the first host by a user.
In some alternative embodiments, the RDMA component 202 is further configured to: discarding the service flow after the failure of matching the service flow with the flow table, or forwarding the service flow to the SDN controller so that the SDN controller builds a flow table rule of the receiving direction and generates or updates the flow table; and discarding sending the service data after the service data and the flow table fail to be matched, or forwarding the service data to the SDN controller so that the SDN controller builds a flow table rule of a sending direction and generates or updates the flow table.
In some alternative embodiments, flow table component 201 is further configured to initialize a default flow table that indicates forwarding data that failed matches to the SDN controller; the RDMA component 202 is further configured to initialize the transmit queues and memory resources, and establish a connection with the second host.
In some optional embodiments, the RDMA component 202 is further configured to, in response to receiving traffic from the second host for the first time, match the traffic received for the first time with a default flow table, and forward the traffic received for the first time to the SDN controller after the match fails, so that the SDN controller generates the flow table.
In some alternative embodiments, the RDMA component 202 is further configured to apply for an idle RDMA queue after the traffic is matched with the flow table and the matching is successful, fill the traffic into the RDMA queue, and push the traffic into the memory of the first host through the RDMA queue.
In some alternative embodiments, the RDMA component 202 is further configured to apply for an idle RDMA queue after matching the service data to the flow table and the matching is successful, fill the service data into the RDMA queue, and push the service data to the second host through the RDMA queue.
Referring to fig. 3, fig. 3 illustrates an exemplary system architecture according to one embodiment of a host device of the present application. The host device can be used as a first host in an SDN system and is provided with an intelligent network card device, and the SDN system further comprises a second host and an SDN controller. As shown in fig. 3, the host device 300 of the present application includes the following software modules:
a processing module 301 configured to initialize the intelligent network card device and write a flow table in a flow table component of the intelligent network card device;
the RDMA protocol stack module 302 is configured to obtain a service flow from the second host pushed to the memory of the first host by the RDMA component of the intelligent network card device according to the flow table, and deliver the service flow to the virtual terminal running on the first host; and when the virtual terminal starts to send the service data, instructing the RDMA component to acquire the service data to be sent from the memory of the first host, and pushing the service data to the second host according to the flow table.
In some alternative embodiments, the processing module 301 is further configured to obtain the flow table from the SDN controller or generate the flow table according to a configuration of a user, and write the flow table to the flow table component of the intelligent network card device.
In summary, the application provides an intelligent network card device, a host device and an SDN system.
The intelligent network card device, the host device and the SDN system combine an OpenFlow technology and an RDMA technology based on an Access Control List (ACL) to solve the existing technical problems. According to the method and the device, an OpenFlow flow table is constructed based on an Access Control List (ACL), and a DMA controller is adopted to realize quick configuration access of the flow table so as to improve the effective construction rate of flow table rules; and based on RDMA technology, the direct memory read-write of network data is realized, so that the network throughput performance is improved, and the networking scale is enlarged.
The flow table component in the intelligent network card device can be internally provided with an ACL resource pool, and the host device can implement quick read-write access to the ACL resource pool through the DMA controller in the intelligent network card device. The RDMA component in the intelligent network card device can realize mapping management of storage resources of the host device and remote data moving operation so as to improve the throughput performance of the network and enlarge the networking scale.
Referring to fig. 4, fig. 4 is a flow chart of one embodiment of an SDN system data exchange method according to the present application. The SDN system data exchange method of the present application may be implemented by an SDN system as shown in fig. 1. The SDN system comprises a plurality of host devices, wherein the host devices comprise a first host and a second host, each host device is also connected with an intelligent network card device serving as additional equipment, each host device (namely a host) can be respectively deployed on one or more virtual terminals, and the SDN system further comprises an SDN controller for managing and controlling each virtual terminal.
The intelligent network card device can be used as an additional device of a first host in an SDN system, and the SDN system can further comprise a second host and an SDN controller.
As shown in fig. 4, the SDN system data exchange method of the present application may include the following steps:
step 401, after each host device completes the startup, the initialization is executed to each intelligent network card device. Optionally, a default flow table may be initialized in the flow table component of the intelligent network card device, where the default flow table is used to indicate that the matching failed data flow is delivered to the SDN controller. Optionally, the RDMA component of the intelligent network card device initializes the transmit queues, memory resources, and establishes a connection with the remote host, e.g., the intelligent network card device of the local first host and the remote second host.
Step 402, taking the intelligent network card device of the first host as an example, the intelligent network card device receives the service flow (for example, from the second host), and can match the default flow table, and after the matching fails, the service flow is forwarded to the SDN controller for analysis, the SDN controller can generate a flow table according to the service flow and inform the first host of the flow table rule, after the first host receives the instruction for updating the flow table, the flow table is written into an ACL resource pool in the intelligent network card device based on the DMA controller, so as to implement the construction of the flow table rule of the receiving direction and the sending direction. At the same time, the first host may establish RDMA contexts, and associated work queues, according to the flow table rules. The flow table may be generated by the SDN controller according to data such as traffic flow forwarded, or may be manually configured and generated by the user on the first host or the SDN controller.
In step 403, the intelligent network card device continuously receives the service traffic, and may complete the application and filling of the RDMA queue (i.e., after the service traffic is successfully matched with the flow table, an idle RDMA queue is applied, and the received service traffic is filled into the idle RDMA queue) according to the flow table rule and the configuration of the RDMA, so that the RDMA component pushes the remote data (i.e., the received service traffic) to a memory (e.g., a certain memory domain (MR) of the memory) corresponding to the first host. In addition, if the matching fails, the service traffic may be discarded according to the rule of the flow table, or the service traffic may be forwarded to the SDN controller. In this step, the RDMA component of the intelligent network card device may directly push the received service flow to the memory of the first host, where the service flow is directly from hardware to hardware, and the middle is not processed by the operating system and other software, so as to meet the high timeliness requirement and improve the data throughput performance.
Step 404, an RDMA protocol stack may be run on the first host that interfaces with and controls the RDMA component on the intelligent network card device. The RDMA protocol stack may be aware of RDMA component push data. After the RDMA protocol stack senses that remote data (i.e., traffic) is being delivered, the data may be retrieved and delivered to the virtual terminal.
In step 405, when a virtual terminal on the first host is ready to start sending service data, a sending queue resource may be applied from an RDMA component of the intelligent network card device. Upon acquiring the available queue resources, pushing of traffic data to a remote host (e.g., a second host) is initiated by the RDMA component.
Step 406, the RDMA component matches the service data to be pushed with the flow table (the rule of the sending direction flow table) in the flow table component, if the matching is successful, the forwarding of the data is completed according to the action indication of the corresponding flow table, and the data is pushed to the second host; if the matching fails, the service data can be discarded, or the service data can be delivered to the SDN controller, so that the SDN controller constructs a flow table rule of the sending direction to generate a corresponding flow table. In this step, the RDMA component of the intelligent network card device may directly push the service data that needs to be pushed by the first host into the memory of the second host, where the service data is directly from hardware to hardware, and the middle is not processed by the operating system and other software, so as to meet the requirement of high timeliness, and improve the data throughput performance.
In summary, the application provides an intelligent network card device, a host device, an SDN system and an SDN system data exchange method. The technical effects realized by the application include: the intelligent network card device combining the OpenFlow and the RDMA is provided, and various OpenFlow protocol flow table rules can be quickly and flexibly constructed according to service scenes and service requirements by adopting ACL and DMA technologies. And based on RDMA technology, the efficient transmission of network data between the remote host and the virtual terminal is realized.
Referring to fig. 5, fig. 5 is a schematic structural diagram of one embodiment of a computer device for implementing a host device according to the present application. As shown in fig. 5, a computer device 500 of the present application may include:
one or more processors 501;
a memory 502 having one or more programs 503 stored thereon;
components such as processor 501 and memory 502 may be coupled together by bus system 504; bus system 504 is used to enable connected communications between these components;
the one or more programs 503, when executed by the one or more processors 501, cause the one or more processors 501 to perform the steps of: initializing the intelligent network card equipment and writing a flow table in a flow table component of the intelligent network card equipment; acquiring service flow from a second host which is pushed to a memory of a first host by an RDMA component according to a flow table, and delivering the service flow to a virtual terminal running on the first host; and when the virtual terminal starts to send the service data, instructing the RDMA component to acquire the service data to be sent from the memory of the first host, and pushing the service data to the second host according to the flow table.
The bus system 504 may include a power bus, a control bus, and a status signal bus in addition to the data bus. The memory 502 may be volatile memory or nonvolatile memory, and may include both volatile and nonvolatile memory. The processor 501 may be an integrated circuit chip with signal processing capabilities, may be a general purpose processor, a digital signal processor (DSP, digital Signal Processor), or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like.
Embodiments of the present application also provide a computer-readable storage medium having stored thereon a computer program which, when executed by one or more processors, performs the steps of: initializing the intelligent network card equipment and writing a flow table in a flow table component of the intelligent network card equipment; acquiring service flow from a second host which is pushed to a memory of a first host by an RDMA component according to a flow table, and delivering the service flow to a virtual terminal running on the first host; and when the virtual terminal starts to send the service data, instructing the RDMA component to acquire the service data to be sent from the memory of the first host, and pushing the service data to the second host according to the flow table.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations 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 apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, 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 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 apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It should be understood that the terms "system" and "network" are often used interchangeably herein. The term "and/or" in this application is merely an association relation describing an associated object, and indicates that three relations may exist, for example, a and/or B may indicate: a exists alone, A and B exist together, and B exists alone. In this application, the character "/" generally indicates that the associated object is an or relationship.
The foregoing description of the preferred embodiments of the present application is not intended to limit the scope of the present application, but is intended to cover any modifications, equivalents, and alternatives falling within the spirit and principles of the present application.

Claims (7)

1. An intelligent network card device for use as an add-on device to a first host in a software defined network, SDN, system, the SDN system further comprising a second host and an SDN controller, the intelligent network card device comprising:
a flow table component configured to store a flow table;
an RDMA component configured to match the traffic with the flow table in response to receiving the traffic from the second host, and push the traffic to the memory of the first host after the matching is successful; and responding to the first host to prepare to send service data, matching the service data with the flow table, and pushing the service data to the second host after the matching is successful;
the RDMA component is further configured to: discarding the service flow after the matching failure of the service flow and the flow table, or forwarding the service flow to the SDN controller so that the SDN controller builds a flow table rule of a receiving direction and generates or updates the flow table; and discarding sending the service data after the matching of the service data and the flow table fails, or forwarding the service data to the SDN controller so that the SDN controller builds a flow table rule of a sending direction and generates or updates the flow table.
2. The intelligent network card device of claim 1, further comprising:
and a DMA controller configured to receive the flow table issued by the first host, write the flow table to the flow table component, and generate and send the flow table to the first host by the SDN controller or be configured on the first host by a user.
3. The intelligent network card device of claim 1, wherein,
the flow table component is further configured to initialize a default flow table, the default flow table indicating forwarding of data that failed to match to the SDN controller;
the RDMA component is further configured to initialize a transmit queue and memory resources, and establish a connection with the second host.
4. The intelligent network card device of claim 3, wherein,
the RDMA component is further configured to match the traffic received first with the default flow table in response to receiving the traffic from the second host for the first time, and forward the traffic received first time to the SDN controller after the matching fails, so that the SDN controller generates the flow table.
5. The intelligent network card device of claim 1, wherein,
the RDMA component is further configured to: after the service flow is matched with the flow table and the matching is successful, an idle RDMA queue is applied, the service flow is filled into the RDMA queue, and the service flow is pushed into the memory of the first host through the RDMA queue; or,
and after the service data is matched with the flow table and the matching is successful, applying for an idle RDMA queue, filling the service data into the RDMA queue, and pushing the service data to the second host through the RDMA queue.
6. The data exchange method of the software defined network SDN system is characterized by being applied to intelligent network card equipment in the SDN system, wherein the intelligent network card equipment is additional equipment of a first host in the SDN system, the SDN system also comprises a second host and an SDN controller, and the intelligent network card equipment comprises a flow table component and an RDMA component;
the method comprises the following steps:
the RDMA component is used for responding to the received service flow from the second host, matching the service flow with a flow table stored in the flow table component, and pushing the service flow to the memory of the first host after the matching is successful; and responding to the first host to prepare to send service data, matching the service data with the flow table, and pushing the service data to the second host after the matching is successful; discarding the service flow after the matching failure of the service flow and the flow table, or forwarding the service flow to the SDN controller so that the SDN controller builds a flow table rule of a receiving direction and generates or updates the flow table; and discarding sending the service data after the matching of the service data and the flow table fails, or forwarding the service data to the SDN controller so that the SDN controller builds a flow table rule of a sending direction and generates or updates the flow table.
7. A software defined networking, SDN, system comprising: the intelligent network card device of claim 1, and a host device.
CN202311287243.3A 2023-10-08 2023-10-08 Intelligent network card equipment, host equipment, method and system Active CN117041147B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311287243.3A CN117041147B (en) 2023-10-08 2023-10-08 Intelligent network card equipment, host equipment, method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311287243.3A CN117041147B (en) 2023-10-08 2023-10-08 Intelligent network card equipment, host equipment, method and system

Publications (2)

Publication Number Publication Date
CN117041147A CN117041147A (en) 2023-11-10
CN117041147B true CN117041147B (en) 2024-02-23

Family

ID=88641450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311287243.3A Active CN117041147B (en) 2023-10-08 2023-10-08 Intelligent network card equipment, host equipment, method and system

Country Status (1)

Country Link
CN (1) CN117041147B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104509073A (en) * 2012-09-11 2015-04-08 惠普发展公司,有限责任合伙企业 Discovering ip multicast group memberships in software defined networks
CN106664261A (en) * 2014-06-30 2017-05-10 华为技术有限公司 Method, device, and system for configuring flow entries
CN111628999A (en) * 2020-05-27 2020-09-04 网络通信与安全紫金山实验室 SDN-based FAST-CNP data transmission method and system
CN112929299A (en) * 2021-01-27 2021-06-08 广州市品高软件股份有限公司 SDN cloud network implementation method, device and equipment based on FPGA accelerator card
CN113891107A (en) * 2021-09-30 2022-01-04 中国电信股份有限公司 Method, system, equipment and storage medium for wireless access of interactive network television
CN113992569A (en) * 2021-09-29 2022-01-28 新华三大数据技术有限公司 Multi-path service convergence method and device in SDN network and storage medium
KR20220029142A (en) * 2020-09-01 2022-03-08 아토리서치(주) Sdn controller server and method for analysing sdn based network traffic usage thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104509073A (en) * 2012-09-11 2015-04-08 惠普发展公司,有限责任合伙企业 Discovering ip multicast group memberships in software defined networks
CN106664261A (en) * 2014-06-30 2017-05-10 华为技术有限公司 Method, device, and system for configuring flow entries
CN111628999A (en) * 2020-05-27 2020-09-04 网络通信与安全紫金山实验室 SDN-based FAST-CNP data transmission method and system
KR20220029142A (en) * 2020-09-01 2022-03-08 아토리서치(주) Sdn controller server and method for analysing sdn based network traffic usage thereof
CN112929299A (en) * 2021-01-27 2021-06-08 广州市品高软件股份有限公司 SDN cloud network implementation method, device and equipment based on FPGA accelerator card
CN113992569A (en) * 2021-09-29 2022-01-28 新华三大数据技术有限公司 Multi-path service convergence method and device in SDN network and storage medium
CN113891107A (en) * 2021-09-30 2022-01-04 中国电信股份有限公司 Method, system, equipment and storage medium for wireless access of interactive network television

Also Published As

Publication number Publication date
CN117041147A (en) 2023-11-10

Similar Documents

Publication Publication Date Title
US10986171B2 (en) Method for unified communication of server, baseboard management controller, and server
US10095645B2 (en) Presenting multiple endpoints from an enhanced PCI express endpoint device
US10880235B2 (en) Remote shared server peripherals over an ethernet network for resource virtualization
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US10621138B2 (en) Network communications using pooled memory in rack-scale architecture
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
US9678912B2 (en) Pass-through converged network adaptor (CNA) using existing ethernet switching device
US8838864B2 (en) Method and apparatus for improving the efficiency of interrupt delivery at runtime in a network system
CN109445905B (en) Virtual machine data communication method and system and virtual machine configuration method and device
US20080155154A1 (en) Method and System for Coalescing Task Completions
US10452570B1 (en) Presenting physical devices to virtual computers through bus controllers emulated on PCI express endpoints
CN113645047B (en) Out-of-band management system and server based on intelligent network card
CN112291293A (en) Task processing method, related equipment and computer storage medium
CN109194589B (en) MDC (media data center) implementation method and device
CN113472624A (en) Method for realizing virtual network data packet forwarding based on vDPA and application
US11044210B2 (en) Technologies for performing switch-based collective operations in distributed architectures
US6965911B1 (en) Efficiently exporting local device access onto a system area network using a direct-call interface
CN113535319A (en) Method, equipment and storage medium for realizing multiple RDMA network card virtualization
CN113691466A (en) Data transmission method, intelligent network card, computing device and storage medium
CN117041147B (en) Intelligent network card equipment, host equipment, method and system
US20220283866A1 (en) Job target aliasing in disaggregated computing systems
WO2021022947A1 (en) Method for deploying virtual machine and related device
WO2022267909A1 (en) Method for reading and writing data and related apparatus
CN117971526A (en) Interrupt trigger equipment determining method and device
CN111240845A (en) Data processing method, device 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
GR01 Patent grant
GR01 Patent grant