CN113572582B - Data transmission and retransmission control method and system, storage medium and electronic device - Google Patents
Data transmission and retransmission control method and system, storage medium and electronic device Download PDFInfo
- Publication number
- CN113572582B CN113572582B CN202110799123.6A CN202110799123A CN113572582B CN 113572582 B CN113572582 B CN 113572582B CN 202110799123 A CN202110799123 A CN 202110799123A CN 113572582 B CN113572582 B CN 113572582B
- Authority
- CN
- China
- Prior art keywords
- module
- network
- data packet
- network data
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
Abstract
The invention discloses a data transmission control method, which comprises the following steps: step 1, a sending control module reads data to be sent from a memory module through a system bus module and packages the data to be sent into a network data packet; step 2, the sending control module acquires the current state of the buffer module from the metadata module to judge whether the storage space of the buffer module is full, if yes, step 3 is executed; otherwise, executing step 4; step 3, exchanging the data of the buffer module by the network data packet according to a replacement algorithm; step 4, writing the network data packet into the buffer area module; and 5, pushing the network data packet to a network.
Description
Technical Field
The present invention relates to the field of network communication technologies, and in particular, to a method and a system for controlling data transmission and retransmission, a storage medium, and an electronic device.
Background
Within contemporary data centers, distributed applications carry the vast majority of core traffic, and a wide variety of distributed applications are used to meet the diverse needs of users. However, these applications will perform a lot of network communications during the operation process, and once a packet loss occurs, the performance of the application will be seriously affected. Therefore, how to provide reliable network transmission guarantee for the application is a crucial issue.
At present, there are two types of methods for guaranteeing reliable network transmission: one class of algorithms for realizing data packet retransmission through software has the main advantages that a transport layer protocol can be flexibly changed and can be adapted to different network environments, but because the data retransmission process is participated in by a processor in the whole process, the retransmission delay is higher, and a large amount of processor resources can be consumed; the other type is that a data retransmission algorithm is implemented on a network card chip to reduce the delay overhead of retransmission, and the main advantage is that the retransmission algorithm is implemented as a specific hardware module, the processing delay is lower than that of a processor, and meanwhile, the processor does not participate in the processing of data transmission any more, so that the use efficiency of the processor can be effectively improved.
The following is an analysis of the problems that exist in two conventional dedicated hardware-based retransmission systems.
First, when the processor prepares network data to be sent, the network card sending controller reads the data from the memory, performs data packet encapsulation, and pushes the data into the network. When the data receiver receives the network data packet, a response packet is returned to inform the sender that the data has been successfully received. When the receiving controller of the sender receives a response packet, the receiving controller informs the processor that the processing of the current data packet is completed in an interrupt mode, and the memory buffer occupied by the receiving controller can be released. When the receiving controller of the sender does not receive a response packet for a period of time, it will trigger a retransmission mechanism that will retransmit the oldest sent unacknowledged data packet. The problems with such systems are as follows: when the data packet needs to be retransmitted, the network card needs to acquire data from the memory of the host through the system bus for retransmission, so that retransmission delay is increased.
Secondly, when the processor prepares network data to be sent, the network card sending controller reads the data from the memory, writes the data into the memory cache of the network card, packages the data packet, and pushes the data packet into the network, and once the data packet enters the network, the data buffer area in the memory can be released. When the data receiver receives the network data packet, a response packet is returned to inform the sender that the data has been successfully received. And when the receiving controller of the sender receives a response packet, releasing the buffer area on the network card. When the receiving controller of the sender does not receive the response packet within a period of time, it will trigger the retransmission mechanism, which will read the earliest sent unacknowledged data packet from the network card internal buffer and reset the timer. The problems with such systems are as follows: the release of the buffer area on the network card depends on the arrival of the response packet, when the network delay is higher, the acknowledgement packet cannot arrive in time, and the buffer area cannot be effectively released, so that the transmission of the subsequent data packet is blocked.
Disclosure of Invention
In order to solve the above problems, it is a primary object of the present invention to provide a data transmission method, a data retransmission method, a data transmission and retransmission system, a storage medium, and an electronic device.
In order to achieve the above object, the present invention provides a data transmission method, including the steps of:
step 1, a sending control module reads data to be sent from a memory module through a system bus module and packages the data to be sent into a network data packet;
step 2, the sending control module acquires the current state of the buffer module from the metadata module to judge whether the storage space of the buffer module is full, if yes, step 3 is executed; otherwise, executing step 4;
step 3, exchanging the data of the buffer module by using the network data packet according to a replacement algorithm;
step 4, writing the network data packet into the buffer area module;
and 5, pushing the network data packet to a network.
In order to achieve the above object, the present invention further provides a data retransmission method, including the following steps:
step 6, the receiving control module receives a timer overtime event;
and 7, acquiring buffer module information occupied by the current connection from a metadata module according to the connection information carried in the overtime event of the timer, and acquiring the sequence number of a head network data packet in the buffer module and the sequence number N of a network data packet which is not confirmed currently.
Step 8, the sending control module reads the queue head network data packet in the buffer module and obtains the serial number M of the queue head network data packet, the serial number of the queue head network data packet is compared with the serial number of the unconfirmed network data packet, if M is greater than N, step 9 is executed, and if M < = N, step 10 is executed;
step 9, calculating the position of the unconfirmed network data packet in the memory module according to the serial number of the unconfirmed network data packet, reading the unconfirmed network data packet from the memory module and pushing the unconfirmed network data packet to the network again;
and step 10, reading the head-of-line network data packet from the buffer module and pushing the head-of-line network data packet to a network.
In order to achieve the above object, the present invention further provides a network card device, including: the device comprises a buffer area module, a sending control module, a receiving control module and a metadata module;
the buffer module is used for buffering network data packets which are injected into the network but not confirmed; the sending control module is used for reading and packaging data to be sent from a memory module into the network data packet, writing the network data packet into the buffer area module and pushing the network data packet into a network; the receiving control module comprises a timer inside, and is used for notifying the sending control module of the generated retransmission information to retransmit the network data packet when the timer overtime event occurs; the metadata module is used for using information of the network data packet to the buffer module and a starting address of the network data packet in the memory module which is not confirmed.
In order to achieve the above object, the present invention further provides a data transmission and retransmission system, which is used to implement the above data transmission method and/or the above data retransmission method, and includes:
the system comprises a memory module, a system bus module and the network card equipment;
the memory module is used for storing data to be sent; and the sending control module reads and packages the data to be sent from the memory module into the network data packet through the system bus module, and writes the network data packet into the buffer area module.
In order to achieve the above object, the present invention further provides a computer-readable storage medium storing a computer program, which when executed by a processor, implements the above data transmission method and/or the above data retransmission method.
In order to achieve the above object, the present invention also provides an electronic device comprising: a processor and a memory, in which a computer program is stored, the computer program being executable by the processor and being adapted to implement the above-mentioned data transmission method and/or the above-mentioned data retransmission method when the computer program is executed by the processor.
The invention has the beneficial effects that:
firstly, the network card device can still continue to send network data packets without blocking after the space of the buffer module is occupied, so that the problem of network data packet blocking caused by the fact that the space of the buffer module is occupied due to too high network delay can be effectively avoided;
secondly, data buffer areas are maintained on the network card device and in the memory module at the same time, so that if the network data packet is lost, and the network data packet is temporarily stored in the buffer area module on the network card device, the network data packet can be retransmitted as soon as possible, and retransmission delay can be effectively reduced.
The invention is described in detail below with reference to the drawings and specific examples, but the invention is not limited thereto.
Drawings
Fig. 1 is a block diagram of a data transmission and retransmission control system according to an embodiment of the present invention.
Fig. 2 is a flowchart of a data transmission control method according to an embodiment of the present invention.
Fig. 3 is a flowchart of a data retransmission control method according to an embodiment of the present invention.
Detailed Description
The invention will be described in detail with reference to the following drawings, which are provided for illustration purposes and the like:
the invention aims to solve the problem of reliable network data transmission and retransmission technology in the prior art, and provides a method and a system for accelerating reliability of data transmission and retransmission. As shown in fig. 1, the data transmission and retransmission control system 100 includes: the network card device 10 (including the buffer module 11, the sending control module 12, the receiving control module 13, and the metadata module 14), the memory module 20, and the system bus module 30. The memory module 20 includes a data buffer 21 for storing data to be transmitted, that is, network data to be transmitted.
In the embodiment of the present invention, the buffer module 11 may be a storage module independent of the memory module 20 of the host, and is located between the network card device 10 and the memory module 20 of the host, or may be a cache module attached to the network card device 19, or may be an independent newly added storage module. The buffer module 11 is used to buffer network packets that have been injected into the network but not yet acknowledged by the receiver, and when the network detects a packet loss, the buffer module 11 or the memory module 20 (the data buffer 21 to be transmitted) can retrieve data again for retransmission. In addition, the network packets of the same connection are logically managed in the buffer module 11 in the form of a queue, and the network packet queued first is injected into the network earlier than the network packet queued later. The embodiment of the present invention does not limit the way in which the queue occupies the space of the buffer module 11, and may adopt continuous allocation or discrete allocation. Unlike the buffer module in the second system in the background art, the buffer module 11 in the system provided in the embodiment of the present invention has an alternative capability, that is, when the buffer space is full and new data needs to be written, the buffer module 11 may clear part of the data to obtain the new space for use.
The transmission control module 12 has a function of, when data to be transmitted needs to be transmitted in the memory module 20 of the host, acquiring the data to be transmitted from the memory module 20, performing data segmentation according to the link layer maximum message transmission unit, adding a corresponding packet header to the segmented data segment, and writing the data to be transmitted into the buffer module 11. If the space of the buffer module 11 is already full, part of the data in the buffer module 11 is swapped out according to the replacement algorithm, and then the data to be sent is written into the buffer module 11 and pushed to the network. When packet loss occurs and a data packet needs to be retransmitted, the sending control module selects an appropriate network data packet from the memory module 20 of the host or the buffer module 11 of the network card device 10 for retransmission according to the metadata information in the metadata module 14. The present invention does not limit the type of network transmission protocol, and may be InfiniBand, ethernet, fibre Channel, etc.
The receiving control module 13 is configured to process the received network data packet and detect whether a packet loss occurs during network transmission, so as to notify the sending control module to perform space release or network data packet retransmission by the buffer module 11. Which internally maintains a timer for each communication connection. In the initial state, the timer is set to an off state. The timer is activated after the transmission control module 12 has pushed the network data packet to the network. The receiving control module 13 will then notify the timer to reset each time it receives an acknowledgement of a network data packet. When a timer timeout event occurs, which indicates that the receiving control module 13 has not received the acknowledgement packet for a long time, the receiving control module 13 will generate retransmission information to notify the sending control module 12 to retransmit the network data packet. If the receiving control module 13 receives a valid acknowledgement packet, which represents that a part of network data packets in the current network request have been acknowledged by the correspondent node, at this time, the receiving control module 13 will generate a completion event or interrupt to notify the processor that the processing of the network data packets is completed, notify the sending control module 12 to release the buffer module 11 for the acknowledged network data packets, and update the metadata information of the connection.
The metadata module 14, whose function is to save the current usage status of each connection to the buffer module 11. For each reliable connection, the module maintains two types of metadata information:
1. the space usage information of the buffer module 11. Since the buffer module 11 on the network card device 10 is shared by a plurality of connections, the space usage of each connection to the buffer module 11 needs to be recorded, so that the sending control module 12 applies for using and releasing the space of the buffer module;
2. unacknowledged network packet information in the memory module 20 of the host. Since the network data packet in the buffer module 11 may be replaced by a newly transmitted network data packet, it is necessary to record the start address of each network data packet with unacknowledged connection in the memory module 20, so that when the transmission control module 12 cannot acquire the network data packet from the buffer module 11 of the network card device 10 for retransmission, the data for retransmission can be acquired from the memory module 20 of the host.
The system bus module 30 is used for connecting each functional module in the node, has a routing function, and can forward control information and data information between different modules in the system according to relevant bus protocol fields in a carried network data packet. The present invention is not limited to the type of system bus, and may be PCI, PCI-X, PCIe, AXI, etc.
The memory module 20 is configured to store network data to be transmitted.
The embodiment of the invention also provides a data transmission control method and a data retransmission control method, and the method can be realized by the data transmission and retransmission control system of the embodiment.
As shown in fig. 2, in the present embodiment, a data transmission control method includes:
step S1, the transmission control module 12 reads data to be transmitted from the memory module 20 through the system bus module 30, and encapsulates the data to be transmitted into a network data packet. The transmission control module 12 divides data to be transmitted into a plurality of data segments, and adds a network packet header to each of the plurality of data segments to obtain a plurality of network data packets correspondingly.
S2, the sending control module acquires the current state of the buffer module from the metadata module to judge whether the storage space of the buffer module is full, and if yes, the step S3 is executed; otherwise, step S4 is executed.
And S3, exchanging the data of the buffer module by using the network data packet according to the replacement algorithm. The method comprises the steps of obtaining information of a buffer area module occupied by current connection from a metadata module, writing a new network data packet into a queue head of the buffer area module, covering data of the original queue head, enabling the new network data packet to become a new queue tail, enabling a second network data packet in the original queue to become a new queue head, and updating information of the queue head and the queue tail of a queue in the buffer area module.
And S4, writing the network data packet into a buffer module. And writing the network data packet into the tail of the queue in the buffer module, and updating the tail information of the queue in the buffer module.
And S5, pushing the network data packet to the network.
As shown in fig. 3, in this embodiment, a data retransmission control method includes:
step S6, the receiving control module 13 receives a timer overtime event;
and S7, acquiring information of the buffer area module 11 occupied by the current connection from the metadata module 14 according to the connection information carried in the overtime event of the timer, and acquiring the serial number of the head network data packet in the buffer area module 11, and recording the serial number as M, and the serial number of the current unconfirmed network data packet as N.
Step S8, comparing the size of the serial number M of the head network data packet of the queue with the size of the serial number N of the unconfirmed network data packet, if M is larger than N, executing step S9, and if M < = N, executing step S10;
step S9, calculating the position of the unconfirmed network data packet in the memory module 20 according to the serial number of the unconfirmed network data packet, reading the unconfirmed network data packet from the memory module 20 and re-pushing the unconfirmed network data packet to the network;
and step 10, reading the head-of-line network data packet from the buffer module 11 and pushing the head-of-line network data packet into a network.
In summary, when the transmission control module 12 needs to transmit a network data packet, it first determines whether the current buffer module 11 has free space, and if so, writes the network data packet to be transmitted into the buffer module 11, and pushes the network data packet to the network; if the space of the current buffer module 11 is already full, a part of network data packets are selected from the buffer module 11 according to the connection state information stored in the metadata module 14 to be removed to release a part of space, so as to write the network data packets to be sent. When the sending control module 12 needs to retransmit the network data packet, the location of the current network data packet is determined according to the serial number of the network data packet which is not confirmed and maintained by the sending control module, and if the network data packet is located in the memory module 20 of the host, the network data packet is obtained from the memory module 20 for retransmission; if the network data packet is located in the buffer module 11, the network data packet is read from the buffer module 11 and retransmitted.
The above is further illustrated by the following specific example. The data transmission and retransmission control system of the above embodiment includes: the network card device 10 (including the buffer module 11, the sending control module 12, the receiving control module 13, and the metadata module 14), the memory module 20, and the system bus module 30.
The network card device 10 includes an RDMA (Remote Direct Memory Access) network card implementation, and is a standard PCIe device;
the buffer module 11 is implemented by an on-chip Block RAM of the network card device 10, and other modules may read and write the contents of the buffer module through the high-speed AXI interface. In order to maximize the space utilization efficiency of the buffer area modules, a discrete allocation strategy is adopted for the application of the space of the buffer area modules, different buffer area modules are organized through linked lists, logically, each connected network data packet forms a queue, and each queue has own head pointer and tail pointer information. The available free buffer module information is stored via a queue, the depth of which characterizes the size of the available space of the current buffer module.
The transmission control module 12 may segment data to be transmitted, add a network packet header to the segmented data, and retransmit a data packet when packet loss occurs. Which may be a hardware module in the network card device 10 or a piece of control program running on an embedded processor on the network card device 10. In the present embodiment, the transmission control module 12 is, for example, a hardware module;
and a reception control module 13, which can detect packet loss. Which may be a hardware module in the network card device 10 or a piece of control program running on an embedded processor on the network card device 10. In the present embodiment, the reception control module 13 is, for example, a hardware module;
the metadata module 14 is configured to store relevant metadata information of each connection, and is implemented by an on-chip Block RAM of the network card device 10, and the other modules may read and write the content of the module through the high-speed AXI interface. The metadata information stored by the metadata module 14 includes: queue head and tail pointer information for each connection, sequence number information for unacknowledged packets for each connection, and start address information for packets sent by each connection in memory module 20.
The memory module 20 is configured to store network data to be sent, and specifically, in an RDMA network, each piece of data to be sent belongs to one or more memory regions;
a system bus module 30 employing a PCIe bus;
the following is a specific embodiment of a data transmission control method for reliable transmission, which includes the following steps:
1. the sending control module 12 reads data to be sent from the data buffer area to be sent 21 of the memory module 20 through a PCIe bus (bus module 30), and encapsulates the data to be sent into RDMA network data packets, where a packet header of each RDMA network data packet carries address information, length information, and sequence number information of a communication peer;
2. the sending control module 12 initiates an AXI data read request, reads the state of the current buffer module 11 from the metadata module 14, and if the space of the buffer module 11 is full, executes step 3; otherwise, executing step 4;
3. and writing the new RDMA network data packet into the buffer area pointed by the head pointer, wherein the original head RDMA network data packet is covered. Meanwhile, assigning a head pointer to the current tail pointer, and pointing the head pointer to the next data element pointed by the original head pointer;
4. the RDMA network packet is written to the queue tail of the buffer module 11 and the tail pointer is updated to point to the newly written RDMA network packet.
5. Pushing RDMA network packets into the network.
The following is a specific embodiment of a data retransmission control method for reliable transmission, which includes the following steps:
1. the receiving control module 13 receives the timer timeout event;
2. according to Queue Pair (QP) information (connection information) carried in the event, the information of the buffer module 11 occupied by the current connection is obtained from the metadata module 14, and a Sequence Number (PSN) of a head-of-Queue RDMA network data Packet of the buffer module 11 and a Sequence Number of an RDMA network data Packet not currently acknowledged are obtained, and retransmission control information is transmitted to the transmission control module 12.
3. The sending control module 12 receives the retransmission control information, reads the head-of-queue RDMA network packet from the buffer module 11 according to the QP information, and obtains the sequence number information thereof. The sequence number of the head-of-queue RDMA network packet is compared to the sequence number size of the unacknowledged RDMA network packet. The sequence number of the RDMA network data packet at the head of the queue is M, and the sequence number of the unacknowledged RDMA network data packet is N. If M is larger than N, turning to the step 4; if M < = N, turning to step 5;
4. calculating the position of the RDMA network data packet in the memory module 20 of the host according to the sequence number of the RDMA network data packet, reading the data needing to be retransmitted from the memory module 20 of the host, generating the RDMA network data packet and sending the RDMA network data packet to the network;
5. the head-of-line RDMA network packet is read from the buffer module 11 and sent to the network.
Based on the same inventive concept, an embodiment of the present invention further provides an electronic device, in this embodiment, the electronic device includes a processor and a memory; the processor and the memory are electrically connected directly or indirectly to enable data transmission or interaction. The memory stores therein a computer program executable by the processor, and when the computer program is executed by the processor, the data transmission control method or the data retransmission control method proposed in the above embodiments is implemented.
Based on the same inventive concept, embodiments of the present invention also propose a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the data transmission control method or the data retransmission control method proposed in the above embodiments.
The present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof, and it should be understood that various changes and modifications can be effected therein by one skilled in the art without departing from the spirit and scope of the invention as defined in the appended claims.
Claims (9)
1. A data transmission and retransmission control method is characterized by comprising the following steps:
step 1, a network card sending control module reads data to be sent from a memory module through a system bus module and packages the data to be sent into a network data packet;
step 2, the network card sending control module acquires the current state of a buffer area module from a metadata module to judge whether the storage space of the buffer area module is full, if so, the step 3 is executed; otherwise, executing step 4;
step 3, exchanging the data of the buffer module by the network data packet according to a replacement algorithm;
step 4, writing the network data packet into the buffer area module;
step 5, pushing the network data packet to a network;
step 6, the receiving control module receives a timer overtime event;
step 7, the receiving control module acquires the buffer module information occupied by the current connection from the metadata module according to the connection information carried in the overtime event of the timer, and acquires the sequence number M of the head network data packet in the buffer module and the sequence number N of the network data packet which is not confirmed currently;
step 8, the network card sending control module compares the serial number M of the head-of-line network data packet with the serial number N of the unconfirmed network data packet, if M is greater than N, step 9 is executed, and if M < = N, step 10 is executed;
step 9, calculating the position of the unconfirmed network data packet in a memory module according to the serial number of the unconfirmed network data packet, and reading the unconfirmed network data packet from the memory module to push the unconfirmed network data packet to the network again;
step 10, reading the head-of-line network data packet from a buffer module and pushing the head-of-line network data packet to a network;
the types of network transmission protocols suitable for the data sending and retransmission control method include InfiniBand, ethernet and Fibre Channel.
2. The data transmission and retransmission control method according to claim 1, wherein the encapsulating the data to be transmitted into a network data packet in step 1 comprises:
the network card sending control module divides the data to be sent into a plurality of data segments, and respectively adds network packet headers to the data segments to correspondingly obtain a plurality of network data packets.
3. The data transmission and retransmission control method according to claim 1, wherein the step 3 comprises: and acquiring the information of the buffer area module occupied by the current connection from the metadata module, writing the new network data packet into the head of the queue of the buffer area module, covering the data of the original head of the queue, enabling the new network data packet to become the new tail of the queue, enabling the second network data packet in the original queue to become the new head of the queue, and updating the head of the queue and the tail information of the queue in the buffer area module.
4. The data transmission and retransmission control method according to claim 1, wherein the step 4 comprises: and writing the network data packet into the tail of the queue in the buffer area module, and updating the tail information of the queue in the buffer area module.
5. The method according to any of claims 1-4, wherein the network data packets occupy the buffer module by continuous allocation or discrete allocation.
6. A network card device, comprising: the device comprises a buffer area module, a network card sending control module, a receiving control module and a metadata module;
the buffer module is used for buffering network data packets which are injected into the network but not confirmed; the network card sending control module is used for reading and packaging data to be sent from a memory module into the network data packet, writing the network data packet into the buffer area module and pushing the network data packet into a network; the receiving control module comprises a timer, and is used for notifying the network card sending control module of retransmission information generated when the timer overtime event occurs to retransmit the network data packet; the metadata module is used for using information of the network data packet to the buffer module and starting addresses of the network data packets which are not confirmed in the memory module;
the receiving control module acquires buffer module information occupied by current connection from a metadata module according to the connection information carried in the overtime event of the timer, and acquires a sequence number M of a head network data packet in the buffer module and a sequence number N of a network data packet which is not confirmed currently;
the network card sending control module compares the size of the serial number M of the head-of-line network data packet with the serial number N of the unconfirmed network data packet, if M is larger than N, the position of the unconfirmed network data packet in the memory module is calculated according to the serial number of the unconfirmed network data packet, the unconfirmed network data packet is read from the memory module and is pushed to the network again, and if M < = N, the head-of-line network data packet is read from the buffer module and is pushed to the network;
the types of network transmission protocols suitable for the network card device include InfiniBand, ethernet and Fibre Channel.
7. A data transmission and retransmission control system for implementing the data transmission and retransmission control method according to any one of claims 1 to 5, comprising:
a memory module, a system bus module and the network card device of claim 6;
the memory module is used for storing data to be sent; the network card sending control module reads and packages the data to be sent from the memory module into the network data packet through the system bus module, and writes the network data packet into the buffer area module.
8. A computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the data transmission and retransmission control method according to any one of claims 1 to 5.
9. An electronic device, comprising: a processor and a memory, the memory having stored therein a computer program executable on the processor, the computer program, when executed by the processor, implementing a data transmission and retransmission control method according to any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110799123.6A CN113572582B (en) | 2021-07-15 | 2021-07-15 | Data transmission and retransmission control method and system, storage medium and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110799123.6A CN113572582B (en) | 2021-07-15 | 2021-07-15 | Data transmission and retransmission control method and system, storage medium and electronic device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113572582A CN113572582A (en) | 2021-10-29 |
CN113572582B true CN113572582B (en) | 2022-11-22 |
Family
ID=78164973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110799123.6A Active CN113572582B (en) | 2021-07-15 | 2021-07-15 | Data transmission and retransmission control method and system, storage medium and electronic device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113572582B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114375019A (en) * | 2022-01-18 | 2022-04-19 | 北京智联安科技有限公司 | NB-IoT mobile state data retransmission method and system |
CN114928573A (en) * | 2022-05-20 | 2022-08-19 | 中国科学院计算技术研究所 | Data transmission method and system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425977A (en) * | 2008-11-25 | 2009-05-06 | 北京航空航天大学 | Air-ground data communication control system |
CN102075436A (en) * | 2011-02-10 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | Ethernet, and data transmitting method and device thereof |
CN103647625A (en) * | 2013-11-19 | 2014-03-19 | 中国科学院计算技术研究所 | Link-based data reliable transmission method |
CN104883335A (en) * | 2014-02-27 | 2015-09-02 | 王磊 | Full-hardware TCP protocol stack realizing method |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001296248A1 (en) * | 2000-09-12 | 2002-03-26 | Innovative Communications Technologies, Inc. | Bit synchronizer and internetworking system and method |
CN100442755C (en) * | 2003-11-14 | 2008-12-10 | 华为技术有限公司 | Method for guaranteeing general route package channel transmission reliability |
CN101409715B (en) * | 2008-10-22 | 2012-04-18 | 中国科学院计算技术研究所 | Method and system for communication using InfiniBand network |
CN101867972B (en) * | 2010-06-29 | 2012-12-12 | 中国科学院计算技术研究所 | Data transmission method in unacknowledged mode of wireless link control layer |
JP2012085244A (en) * | 2010-10-15 | 2012-04-26 | Fujitsu Ltd | Serial transmitter, information processing apparatus and serial transmission method |
WO2012078157A1 (en) * | 2010-12-09 | 2012-06-14 | Intel Corporation | Method and apparatus for managing application state in a network interface controller in a high performance computing system |
CN104484295B (en) * | 2014-12-16 | 2017-03-22 | 中国人民解放军国防科学技术大学 | Receiver sliding window-based data transmission method in parallel computer system |
US10069727B2 (en) * | 2015-04-17 | 2018-09-04 | International Business Machines Corporation | Data packet retransmission processing |
CN106878191B (en) * | 2015-12-14 | 2018-11-16 | 华为技术有限公司 | A kind of data transferring method, sending node, receiving node and data communication system |
CN108073527B (en) * | 2016-11-07 | 2020-02-14 | 华为技术有限公司 | Cache replacement method and equipment |
US11172016B2 (en) * | 2017-03-30 | 2021-11-09 | Intel Corporation | Device, method and system to enforce concurrency limits of a target node within a network fabric |
CN110661723B (en) * | 2018-06-29 | 2023-08-22 | 华为技术有限公司 | Data transmission method, computing device, network device and data transmission system |
CN109117386B (en) * | 2018-07-12 | 2021-03-09 | 中国科学院计算技术研究所 | System and method for remotely reading and writing secondary storage through network |
CN112559436B (en) * | 2020-12-16 | 2023-11-03 | 中国科学院计算技术研究所 | Context access method and system of RDMA communication equipment |
-
2021
- 2021-07-15 CN CN202110799123.6A patent/CN113572582B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425977A (en) * | 2008-11-25 | 2009-05-06 | 北京航空航天大学 | Air-ground data communication control system |
CN102075436A (en) * | 2011-02-10 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | Ethernet, and data transmitting method and device thereof |
CN103647625A (en) * | 2013-11-19 | 2014-03-19 | 中国科学院计算技术研究所 | Link-based data reliable transmission method |
CN104883335A (en) * | 2014-02-27 | 2015-09-02 | 王磊 | Full-hardware TCP protocol stack realizing method |
Non-Patent Citations (1)
Title |
---|
"C1-198173_TS 24.5xy rel16 DS-TT initiated exchange of port management capabilities v2".《3GPP tsg_ct\wg1_mm-cc-sm_ex-cn1》.2019, * |
Also Published As
Publication number | Publication date |
---|---|
CN113572582A (en) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11899596B2 (en) | System and method for facilitating dynamic command management in a network interface controller (NIC) | |
CN109936510B (en) | Multi-path RDMA transport | |
CN111786748B (en) | Data retransmission method and system, network card, device, server and storage medium | |
CN113572582B (en) | Data transmission and retransmission control method and system, storage medium and electronic device | |
CN111711566B (en) | Receiving end disorder rearrangement method under multipath routing scene | |
CN103141050B (en) | Data packet retransmission method and node in quick path interconnect system | |
CN104484295A (en) | Receiver sliding window-based data transmission method in parallel computer system | |
CN111970092B (en) | Multi-protocol redundant network asynchronous communication method supporting reliability adjustment | |
CN203590259U (en) | 10-gigabit Ethernet and Rapid IO network switch controller | |
US20080162663A1 (en) | Computer system with network interface retransmit | |
CN111459417A (en) | NVMeoF storage network-oriented lock-free transmission method and system | |
CN112261142B (en) | RDMA network data retransmission method, device and FPGA | |
CN113452591B (en) | Loop control method and device based on CAN bus continuous data frame | |
US9544401B2 (en) | Device and method for data communication using a transmission ring buffer | |
CN110781104A (en) | Data processing system, method and device | |
CN114827300B (en) | Data reliable transmission system, control method, equipment and terminal for hardware guarantee | |
US9450706B2 (en) | Communication apparatus and packet transfer method | |
CN115344405A (en) | Data processing method, network interface card, electronic equipment and storage medium | |
CN111385069A (en) | Data transmission method and computer equipment | |
US20060067311A1 (en) | Method of processing packet data at a high speed | |
JP2014147011A5 (en) | ||
CN113852445A (en) | Method, system, equipment and storage medium for improving data transmission reliability | |
CN113132069A (en) | Communication mechanism for packet loss retransmission and method for realizing same based on FPGA | |
US6711179B1 (en) | Signal processing apparatus with three layer processing sections, and signal processing system with said two signal processing apparatuses | |
CN116915370B (en) | Data retransmission method, device and system based on remote direct data access |
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 |