Data retransmission method and device, chip, network interface card, equipment, medium and program product
By sending packet loss information packets only once on the data receiving end and optimizing the retransmission process on the sending end, network congestion and redundancy problems in traditional methods are solved, and more efficient data retransmission is achieved.
Patent Information
- Application Number
- CN202510877296.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2045-06-27
AI Technical Summary
Traditional data retransmission methods can easily aggravate network congestion when network packet loss, resulting in increased reverse load, and complex implementation and abundant redundant information.
The data receiver generates and sends packet loss information packets only once. The data sender retransmits the lost data based on the message and uses a timeout timer and priority mechanism to optimize the retransmission process.
It reduces the additional bandwidth usage of packet loss information packets, reduces the reverse load, simplifies the implementation process, and improves the retransmission efficiency.
Smart Images

Figure CN120378065A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and in particular, to a data retransmission method, apparatus, chip, network interface card, device, medium, and program product. Background Art
[0002] Due to the instability of the network physical link and improper congestion control, packet loss may occur during the transmission process. To ensure the stability and reliability of the transmission process, it is necessary to retransmit the lost packets.
[0003] In traditional technologies, in the go-back-n scheme, as long as one packet is lost, all subsequent packets need to be retransmitted. A large number of retransmitted packets will exacerbate network congestion, resulting in more likely packet loss, forming a negative feedback. In traditional selective repeat, as long as one packet is detected as lost, a bmp (bitmap) packet will be generated every time a subsequent out-of-order packet is received. Although the bmp packet has a small amount of packet data, it still occupies limited bandwidth, increasing the load in the reverse direction. Summary of the Invention
[0004] Based on this, to address the above technical problems, it is necessary to provide a data retransmission method, apparatus, chip, network interface card, device, medium, and program product that can reduce the reverse load.
[0005] In a first aspect, this application provides a data retransmission method, which is applied to a data sending end. The method includes:
[0006] Sending target data to a data receiving end;
[0007] Receiving a lost packet information message returned by the data receiving end; the lost packet information message is generated for the lost target data when the data receiving end determines that there is packet loss, and only one lost packet information message is sent for each lost target data;
[0008] Based on the lost packet information message, re-sending the lost target data to the data receiving end.
[0009] In one embodiment, after sending the target data to the data receiving end, the method further includes:
[0010] Starting a timeout timer corresponding to the target data, where the timing duration of the timeout timer is the historical maximum RTT;
[0011] When the timeout timer times out and a feedback message returned by the data receiving end is not received, re-sending the target data to the data receiving end, where the feedback message is an acknowledgment message or a lost packet information message.
[0012] In one embodiment, the re - sending the target data to the data receiving end and re - sending the lost target data to the data receiving end includes:
[0013] Set the priority of the target data to be re - transmitted to a first target priority, and re - send the target data to the data receiving end based on the first target priority.
[0014] In one embodiment, after re - sending the target data to the data receiving end and re - sending the lost target data to the data receiving end, it includes:
[0015] Reset the timeout timer corresponding to the re - sent target data.
[0016] In one embodiment, the method further includes:
[0017] When receiving the acknowledgment message, cancel the timeout timer of the target message corresponding to the acknowledgment message.
[0018] In one embodiment, before re - sending the lost target data to the data receiving end, it includes:
[0019] Based on the mode bit of the packet loss information message, determine the mode of the packet loss information message;
[0020] When the mode of the packet loss information message is to identify packet loss through bit positions, read the number of valid bit positions from the packet loss information message, and parse the packet loss information message based on the number of valid bit positions to determine the target data to be re - transmitted.
[0021] In one embodiment, before re - sending the lost target data to the data receiving end, it includes:
[0022] Based on the mode bit of the packet loss information message, determine the mode of the packet loss information message;
[0023] When the mode of the packet loss information message is not to identify packet loss through bit positions, parse the packet loss information message to obtain the minimum identifier and the maximum identifier of the successfully received target data; based on the minimum identifier and the maximum identifier of the successfully received target data, determine the target data to be re - transmitted.
[0024] In one embodiment, the method further includes:
[0025] Based on the reception time of the latest acknowledgment message and the transmission time of the target data corresponding to the latest acknowledgment message, obtain the current RTT;
[0026] Obtain the current smoothed RTT value based on the current RTT and the smoothed value of the previous RTT;
[0027] Determine the maximum RTT based on each historical RTT and the current RTT;
[0028] Obtain the historical maximum RTT based on the current smoothed RTT value and the maximum RTT.
[0029] In a second aspect, the present application further provides a data retransmission method, which is applied to a data receiving end, and the method includes:
[0030] Receive the target data sent by the data sending end;
[0031] When it is determined that a packet loss occurs based on the target data and the lost target data has not been notified to the data sending end, generate a packet loss information message for the lost target data;
[0032] Send the packet loss information message to the data sending end, and send the packet loss information message only once for each lost target data. The packet loss information message is used to instruct the data sending end to resend the lost target data to the data receiving end.
[0033] In one embodiment, the method further includes:
[0034] Receive the retransmitted target data sent by the data sending end. The retransmitted target data is resent to the data receiving end when the data sending end starts a timeout timer when sending the target data last time, and the timeout timer expires and no feedback message corresponding to the target data is received. The timing duration of the timeout timer is the historical maximum RTT, and the feedback message is an acknowledgment message or a packet loss information message.
[0035] In one embodiment, the historical maximum RTT is determined based on the current smoothed RTT value and the maximum RTT. The current smoothed RTT value is determined based on the current RTT and the smoothed value of the previous RTT. The maximum RTT is determined based on each historical RTT and the current RTT. The current RTT is determined based on the receiving time of the latest acknowledgment message and the sending time of the target data corresponding to the latest acknowledgment message.
[0036] In one embodiment, the sending the packet loss information message to the data sending end includes:
[0037] Set the priority of the packet loss information message to the second target priority, and send the packet loss information message to the data sending end based on the second target priority.
[0038] In one embodiment, before sending the packet loss information message to the data sending end, the following steps are further included:
[0039] In the case of congestion packet loss, generating a first mode bit of the packet loss information message corresponding to the congestion packet loss;
[0040] Determining the number of lost packets, and determining the number of valid bit positions based on the number of lost packets;
[0041] Based on the lost data, determining the values of the bit positions of the packet loss information message;
[0042] Based on the first mode bit, the number of valid bit positions, and the values of the bit positions, obtaining the packet loss information message.
[0043] In one embodiment, before sending the packet loss information message to the data sending end, the following steps are further included:
[0044] In the case of fault packet loss, generating a second mode bit of the packet loss information message corresponding to the fault packet loss;
[0045] Based on the lost data, determining the minimum identifier and the maximum identifier of the target data that is successfully received;
[0046] Based on the second mode bit, the minimum identifier and the maximum identifier of the target data that is successfully received, obtaining the packet loss information message.
[0047] In a third aspect, the present application further provides a data retransmission device, which is applied to a data sending end, and the device includes:
[0048] A first sending module, configured to send target data to a data receiving end;
[0049] A first receiving module, configured to receive the packet loss information message returned by the data receiving end; the packet loss information message is generated for the lost target data when the data receiving end determines that there is packet loss, and only one packet loss information message is sent for each lost target data;
[0050] A retransmission module, configured to re-send the lost target data to the data receiving end based on the packet loss information message.
[0051] In a fourth aspect, the present application further provides a data retransmission device, which is applied to a data receiving end, and the device includes:
[0052] A second receiving module, configured to receive the target data sent by the data sending end;
[0053] A lost information message generation module, configured to generate a lost packet information message for lost target data when it is determined based on the target data that a packet is lost and the lost target data has not been notified to the data sender.
[0054] A second sending module, configured to send the lost packet information message to the data sender, and send the lost packet information message only once for each lost target data, where the lost packet information message is used to instruct the data sender to resend the lost target data to the data receiver.
[0055] In a fifth aspect, the present application further provides a chip, including a memory and a processor, where the memory stores a computer program, and when the processor executes the computer program, the steps of the above method are implemented.
[0056] In a sixth aspect, the present application further provides a network interface card, including the above chip and multiple interfaces,
[0057] The chip processes data or communicates externally through the interfaces.
[0058] In a seventh aspect, the present application further provides a computer device, including the above network interface card, where the network interface card is used to process data or communicate externally.
[0059] In an eighth aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above method are implemented.
[0060] In a ninth aspect, the present application further provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the above method are implemented.
[0061] The above data retransmission method, device, chip, network interface card, device, medium, and program product send target data to a data receiver; receive a lost packet information message returned by the data receiver; the lost packet information message is generated for lost target data when the data receiver determines that there is a lost packet, and the lost packet information message for each lost target data is sent only once; based on the lost packet information message, resend the lost target data to the data receiver, so that only one lost packet information message is sent to notify the data sender for the same lost packet, reducing the additional occupation of bandwidth by the lost packet information message and reducing the reverse load. Description of the Drawings
[0062] To more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the following will briefly introduce the accompanying drawings required for the description of the embodiments of the present application or the related art. Obviously, the accompanying drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.
[0063] Figure 1 It is a schematic diagram of the go-back-n retransmission method in the traditional technology;
[0064] Figure 2 It is a schematic diagram of the selective repeat retransmission method in the traditional technology;
[0065] Figure 3 It is an application environment diagram of the data retransmission method in an embodiment;
[0066] Figure 4 It is a schematic flowchart of the data retransmission method in an embodiment;
[0067] Figure 5 It is a schematic diagram of congestion packet loss in an embodiment;
[0068] Figure 6 It is a schematic diagram of fault packet loss in an embodiment;
[0069] Figure 7 It is a schematic flowchart of the data retransmission method in another embodiment;
[0070] Figure 8 It is a framework diagram of data retransmission in an embodiment;
[0071] Figure 9 It is a structural block diagram of the data retransmission device in an embodiment;
[0072] Figure 10 It is a structural block diagram of the data retransmission device in another embodiment;
[0073] Figure 11 It is an internal structure diagram of a computer device in an embodiment. Detailed implementation manners
[0074] In order to make the objectives, technical solutions and advantages of the present application more clear and understandable, the following further details the present application in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0075] It should be noted that the terms "first", "second", etc. used in this application can be used to describe various components, but these components are not limited by these terms. These terms are only used to distinguish the first component from the second component. The terms "including" and "having" used in this application, as well as any variations thereof, are intended to cover non-exclusive inclusion. The term "plurality" used in this application refers to two or more. The term "and / or" used in this application refers to one of the solutions or any combination of multiple solutions.
[0076] Combined with Figure 1 as shown Figure 1 is a schematic diagram of the go-back-n retransmission method in the traditional technology. The go-back-n is the point where the receiving end notifies the sending end of packet loss after detecting packet loss, and the sending end retreats to the point of packet loss and retransmits all packets. The process is as follows:
[0077] a) The sending end numbers each packet and sends the packet sequence number (PSN) together with the data packet.
[0078] b) Suppose the intermediate switch loses a packet (as shown in the figure, the packet with PSN = 3 is discarded by the switch).
[0079] c) The receiving end determines whether the PSN is continuous by detecting the PSN. If the packets with PSN equal to 0, 1, and 2 are continuous, it is considered that there is no packet loss, and an ACK is replied to notify the sending end that the packet has been correctly received. When directly receiving a packet with PSN = 4 after receiving PSN = 2, it is found that the PSN is not continuous, so it is determined that the packet with PSN = 3 has been discarded, and therefore a NAK packet is replied to notify the sending end that the packet with PSN = 3 has been discarded. And all packets with PSN greater than 3 received subsequently are discarded at the receiving end and no longer responded to.
[0080] d) Although the sending end has already sent the packets with PSN = 4 and PSN = 5 at this time, it will still retransmit the packets with PSN = 3, 4, and 5 once.
[0081] Combined with Figure 2 as shown Figure 2 is a schematic diagram of the selective repeat retransmission method in the traditional technology. Like the go-back-n, it is the receiving end that detects the PSN to determine whether there is packet loss. The difference lies in the information returned by the receiving end to the sending end after determining packet loss and the subsequent retransmission behavior of the sending end. The specific process is as follows:
[0082] a) The sending end numbers each packet and sends the packet sequence number (PSN) together with the data packet.
[0083] b) If the intermediate switch drops a packet (for example, the packet with PSN = 3 as shown in the figure is dropped by the switch).
[0084] c) The receiving end determines whether the PSN is continuous by detecting the PSN. If the packets with PSN equal to 0, 1, and 2 are continuous, it is considered that no packet is dropped, and an ACK is sent back to notify the sending end that the packets have been correctly received. When the packet with PSN = 4 is directly received after receiving the packet with PSN = 2, and it is found that the PSN is not continuous, it is determined that the packet with PSN = 3 has been dropped. At this time, the receiving end does not directly send back a NAK packet, but sends back a bitmap (BMP). The bitmap consists of multiple bits, and each bit represents a packet. 0 indicates that the packet has not been received, and 1 indicates that the packet has been received. And a BMP packet needs to be sent back every time a valid packet is received subsequently.
[0085] d) After receiving the BMP packet, the sending end needs to parse the bitmap information of the BMP, retransmit the packets with bit 0, and the packets with bit 1 indicate that the receiving end has correctly received them and do not need to be retransmitted.
[0086] Therefore, in the traditional technology, at least the following problems exist:
[0087] 1) Low efficiency: In the go-back-n scheme, as long as one packet is lost, all subsequent packets need to be retransmitted. A large number of retransmitted packets will exacerbate network congestion, leading to more packet drops, forming a negative feedback. In traditional selective repeat, as long as one packet is detected as lost, a BMP packet will be generated every time a subsequent out-of-order packet is received. Although the data of the BMP packet is not large, it still occupies the limited bandwidth, increasing the load in the reverse direction.
[0088] 2) Information redundancy: In traditional selective repeat, the sending end will receive a large number of BMP packets with the same information, and the information carried by these BMPs is that the same packet is dropped. This requires the sending end to additionally determine whether the packet with bit 0 in the BMP has been retransmitted before.
[0089] 3) Complex implementation: In traditional selective repeat, after receiving a large number of BMPs, it is necessary to rely on historical records to determine whether a packet has been retransmitted, and additional resources are required for recording and calculation. The implementation is relatively complex.
[0090] 4) In traditional selective repeat, the BMP packet uses a bitmap to represent the lost packet information. Continuously losing a large number of packets will waste a large amount of bitmaps, which may lead to insufficient bitmaps or waste a large amount of bandwidth.
[0091] To solve the above at least one technical problem, the data retransmission method provided in the embodiments of the present application can be applied to, for exampleFigure 3 in the application environment shown. Among them, the data sender 102 communicates with the data receiver 104 through a network.
[0092] The data sender 102 sends target data to the data receiver 104. The data receiver 104 receives the target data sent by the data sender 102 and determines whether there is a packet loss based on the target data. In the case of a packet loss and when the lost target data has not been notified to the data sender 102, a packet loss information message is generated for the lost target data, and the packet loss information message is sent to the data sender 102. The data sender 102 re-sends the lost target data to the data receiver 104 based on the packet loss information message. In this way, only one packet loss information message is sent to notify the data sender for the same packet loss, reducing the additional occupancy of the bandwidth by the packet loss information message and reducing the reverse load.
[0093] Among them, the data sender 102 and the data receiver 104 can be terminals or servers. Among them, the terminal can be, but is not limited to, various personal computers, laptop computers, smart phones, tablet computers, drones, low-altitude aircraft, Internet of Things devices, and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, projection devices, etc. The portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The head-mounted device can be a virtual reality (VR) device, an augmented reality (AR) device, smart glasses, etc. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0094] In an exemplary embodiment, as Figure 4 shown, a data retransmission method is provided. Taking the data sender in Figure 3 as an example for description, it includes the following steps 402 to 406. Among them:
[0095] S402: Send target data to the data receiver.
[0096] The target data is the data to be sent to the data receiver. Among them, in this application, each target data to be sent to the data receiver is identified, so as to determine the sending order of the target data. In this way, the data receiver can determine whether there is a packet loss based on the identifiers of the respective target data.
[0097] S404: Receive the packet loss information message returned by the data receiver; the packet loss information message is generated by the data receiver for the lost target data in the case of determining that there is a packet loss, and only one packet loss information message is sent for each lost target data.
[0098] The packet loss information message is generated when it is determined at the data receiving end that there is packet loss and the lost target data has not been notified to the data sending end. The packet loss information message is used to indicate the lost target data. Optionally, the packet loss information message includes an identifier of the lost target data, or the packet loss information message includes an identifier of the non-lost target data, or the packet loss information message includes an identifier of the lost target data and an identifier of the non-lost target data.
[0099] After receiving the target data, the data receiving end first determines whether there is packet loss based on the identifier of the received target data and the identifier of the currently received target data. If there is packet loss and the lost target data has not been notified to the data sending end, a packet loss information message is generated and sent to the data receiving end.
[0100] For ease of understanding, assume that the data sending end sends data 1 to data 10 to the data receiving end, and the data receiving end receives data 1, data 2, and data 5. When the data receiving end receives data 5, it can be determined that there is packet loss for data 3 and data 4, and data 3 and data 4 are lost and not informed to the data sending end. Therefore, a data loss message corresponding to data 3 and data 4 is generated and sent to the data sending end. Subsequently, the data receiving end receives data 6, data 7, and data 10. When receiving data 10, it is determined that there is packet loss for data 8 and data 9, and a packet loss information message corresponding to data 8 and data 9 is generated and sent to the data sending end.
[0101] S406: Based on the packet loss information message, resend the lost target data to the data receiving end.
[0102] After receiving the packet loss information message, the data sending end parses the packet loss information message to determine the lost target data, and then resends the lost target data.
[0103] Optionally, parsing the packet loss information message may include: directly parsing the packet loss information message to obtain the identifier of the lost target data when the packet loss information message includes the identifier of the lost target data; directly parsing the packet loss information message to obtain the non-lost target data and obtaining the lost target data based on the non-lost target data when the packet loss information message includes the identifier of the non-lost target data; and directly parsing to obtain the identifier of the lost target data when the packet loss information message includes the identifier of the lost target data and the identifier of the non-lost target data.
[0104] The above data retransmission method includes: sending target data to a data receiving end; receiving a packet loss information message returned by the data receiving end, where the packet loss information message is generated for the lost target data when the data receiving end determines that there is packet loss, and only one packet loss information message is sent for each lost target data; and re-sending the lost target data to the data receiving end based on the packet loss information message. In this way, only one packet loss information message is sent for the same packet loss to notify the data sending end, reducing the additional occupation of bandwidth by the packet loss information message and reducing the reverse load.
[0105] In one optional embodiment, after sending the target data to the data receiving end, it further includes: starting a timeout timer corresponding to the target data, where the timing duration of the timeout timer is the historical maximum RTT; and re-sending the target data to the data receiving end when the timeout timer times out and a feedback message returned by the data receiving end is not received, where the feedback message is an acknowledgment message or a packet loss information message.
[0106] Among them, for the fast selective retransmission scheme to reduce the flooding of packet loss information messages, the receiving end only sends one packet loss information message each time it detects packet loss. To prevent the packet loss information message from being discarded by the switch, it is necessary to use a timer at the sending end to detect packet loss. The timeout time of the timer has a great impact on performance: setting the timeout time too small will cause misjudgment of network packet loss due to slight jitter of the RTT and perform invalid retransmission; setting the timeout time too large will cause retransmission after a long time of packet loss, and no packets are sent during this period, greatly reducing the bandwidth utilization rate. A more reasonable way is to estimate whether the current packet is discarded based on the historical maximum message round-trip time MAX_RTT (i.e., the maximum RTT).
[0107] In some optional embodiments, the method further includes: obtaining the current RTT based on the reception time of the latest acknowledgment message and the transmission time of the target data corresponding to the latest acknowledgment message; obtaining the current RTT smoothed value based on the current RTT and the previous RTT smoothed value; determining the maximum RTT based on each historical RTT and the current RTT; and obtaining the historical maximum RTT based on the current RTT smoothed value and the maximum RTT.
[0108] Among them, the RTT can be obtained by adding the timestamp TS1 at the time of sending in the data sending end to the message, and recording the current time TS2 when the acknowledgment message ACK is received, and using TS2 - TS1 to obtain the current RTT. The current RTT smoothed value SRTT = α * the previous RTT smoothed value SRTT + (1 - α) * the current RTT, where the value of α is between (0, 1), and the historical maximum RTT = max (the maximum RTT, the current RTT smoothed value).
[0109] The timeout timer is used to avoid the loss of packet loss information messages. If no feedback message returned by the data receiver is received after the timeout of the timeout timer, it is determined that the target data is lost, and thus the data sender needs to resend the target data to the data receiver.
[0110] In one alternative embodiment, after resending the target data to the data receiver and resending the lost target data, it includes: resetting (re - setting) the timeout timer corresponding to the resent target data. Here, resetting the timeout timer means re - setting the timeout timer to make it start timing again.
[0111] In one alternative embodiment, the method further includes: canceling the timeout timer of the target message corresponding to the acknowledgment message when the acknowledgment message is received.
[0112] The feedback message includes an acknowledgment message or a packet loss information message. That is, after each target data is sent, the corresponding timeout timer starts timing. If an acknowledgment message of the target data is received, the target data is successfully sent and the timeout timer is canceled; if a packet loss information message of the target data is received, the timeout timer is reset; if no feedback message is received and the timeout timer times out, the target data corresponding to the timed - out timeout timer is resent and the timeout timer is reset.
[0113] In one alternative embodiment, resending the target data to the data receiver and resending the lost target data to the data receiver includes: setting the priority of the target data to be re - transmitted to the first target priority and resending the target data to the data receiver based on the first target priority.
[0114] After the data sender receives the packet loss information message, it immediately starts re - transmission, raises the priority of the re - transmitted target data to the highest level, and skips the message scheduling queue to directly send the re - transmitted target data.
[0115] In one alternative embodiment, before resending the lost target data to the data receiver, it includes: determining the mode of the packet loss information message based on the mode bit of the packet loss information message; when the mode of the packet loss information message is to identify packet loss through bit positions, reading the number of valid bit positions from the packet loss information message and parsing the packet loss information message based on the number of valid bit positions to determine the target data to be re - transmitted.
[0116] In one of the optional embodiments, before re - sending the lost target data to the data receiving end, it includes: determining the mode of the packet loss information message based on the mode bit of the packet loss information message; when the mode of the packet loss information message is not the case where packet loss is identified by bit positions, parsing the packet loss information message to obtain the minimum identifier and the maximum identifier of the successfully received target data; and determining the target data that needs to be re - transmitted based on the minimum identifier and the maximum identifier of the successfully received target data.
[0117] The packet loss situations of messages are divided into congestion - induced packet loss and fault - induced packet loss: Congestion - induced packet loss generally occurs when the queue length of the switch is greater than the configured packet loss waterline of the switch. However, it doesn't mean that all messages will be discarded after exceeding the waterline. To ensure performance, the switch will randomly discard messages as shown in Figure 5 ; while fault - induced packet loss (such as a loose optical module) will uncontrollably discard a large number of messages within a certain period as shown in Figure 6 ;
[0118] For congestion - induced packet loss, it is okay to use the traditional bitmap message for recording and sending. However, for fault - induced packet loss, since the duration of the fault is uncontrollable, many messages in the middle may have been discarded. At this time, if the traditional bitmap is still used, on the one hand, the bitmap may be very large or even insufficient, and on the other hand, the data sending end also needs to detect each bit of this type of bitmap message to know exactly how many messages have been discarded, resulting in very low efficiency.
[0119] To avoid the above problems, in this application, in addition to the 128 - bit positions of the traditional packet loss information message, two fields, namely the mode bit mode and the valid bit position bmp_len, are also used to further describe the packet loss information message:
[0120] When the mode bit mode is 0: The information represented is the same as the traditional bitmap. One bit position of each bitmap represents one message. A bit position of 0 indicates packet loss, and a bit position of 1 indicates successful reception. The valid bit position bmp_len represents the number of valid bitmaps, avoiding wasting time detecting all bit positions. This mode cannot be presented normally when the continuously discarded messages are greater than the maximum length of the bitmap.
[0121] When the mode bit mode is 1: Bitmap (0~31) represents the minimum PSN of the received messages, and bitmap (32~63) represents the PSN of the largest received message. At this time, no matter how many messages are continuously lost in the middle, it can be presented very conveniently, and it is very easy to identify which messages are lost and which are not when parsing this packet loss information message, without polling one by one, saving a lot of time.
[0122] Table 1: Packet Loss Information Message Format
[0123]
[0124] In an exemplary embodiment, as Figure 7 shown, a data retransmission method is provided. Taking the data receiver in Figure 1 as an example for illustration, the method includes the following steps 702 to 706. Wherein:
[0125] S702: Receive the target data sent by the data sender.
[0126] The data receiver can receive the target data sent by the data sender. The target data may be lost during transmission through the switch.
[0127] S704: When it is determined that a packet is lost based on the target data and the lost target data has not been notified to the data sender, generate a packet loss information message for the lost target data.
[0128] The data sender identifies each target data to be sent to the data receiver, so as to determine the sending order of the target data. In this way, the data receiver can determine whether a packet is lost based on the identifiers of the target data. For example, the data receiver should originally receive the data in the order of data 1, data 2, data 3, but actually the data receiver receives data 1 and data 3. Then when receiving data 3, it is determined that data 2 is lost.
[0129] The packet loss information message is generated when the data receiver determines that there is a packet loss and the lost target data has not been notified to the data sender. The packet loss information message is used to indicate the lost target data. Optionally, the packet loss information message includes the identifier of the lost target data, or the packet loss information message includes the identifier of the non-lost target data, or the packet loss information message includes the identifier of the lost target data and the identifier of the non-lost target data.
[0130] After receiving the target data, the data receiver first determines whether there is a packet loss based on the identifiers of the received target data and the identifier of the currently received target data. If there is a packet loss and the lost target data has not been notified to the data sender, a packet loss information message is generated and sent to the data receiver.
[0131] S706: Send the packet loss information message to the data sender, and send the packet loss information message only once for each lost target data. The packet loss information message is used to instruct the data sender to re-send the lost target data to the data receiver.
[0132] After generating the packet loss information message, the data receiver sends the packet loss information message to the data sender, and sends the packet loss information message only once for each lost target data.
[0133] After receiving the packet loss information message, the data sender parses the packet loss information message to determine the lost target data, and then resends the lost target data.
[0134] In the above embodiment, only one packet loss information message is sent to notify the data sender for the same packet loss, reducing the additional occupancy of the bandwidth by the packet loss information message and reducing the reverse load.
[0135] In one alternative embodiment, the method further includes: receiving the retransmitted target data sent by the data sender, where the retransmitted target data is retransmitted to the data receiver when the timeout timer is started when the data sender last sent the target data, the timeout timer times out, and the feedback message corresponding to the target data is not received. The timing duration of the timeout timer is the historical maximum RTT, and the feedback message is an acknowledgment message or a packet loss information message.
[0136] In one alternative embodiment, the historical maximum RTT is determined based on the current smoothed RTT value and the maximum RTT. The current smoothed RTT value is determined based on the current RTT and the previous smoothed RTT value. The maximum RTT is determined based on each historical RTT and the current RTT. The current RTT is determined based on the reception time of the latest acknowledgment message and the transmission time of the target data corresponding to the latest acknowledgment message.
[0137] The limitation regarding the historical maximum RTT can be referred to above and will not be elaborated here. In this application, to avoid the loss of the packet loss information message, a timeout timer is also introduced. Each time the data sender sends the target data, the corresponding timeout timer is triggered. If the feedback message returned by the data receiver is not received after the timeout timer times out, it is determined that the target data is lost, and thus the data sender needs to resend the target data to the data receiver.
[0138] The feedback message includes an acknowledgment message or a packet loss information message. That is, after each target data is sent, the corresponding timeout timer starts timing. If the acknowledgment message of the target data is received, the target data is successfully sent, and the timeout timer is cancelled. If the packet loss information message of the target data is received, the timeout timer is reset. If no feedback message is received and the timeout timer times out, the target data corresponding to the timed-out timeout timer is resent, and the timeout timer is reset.
[0139] In one alternative embodiment, sending the packet loss information message to the data sender includes: setting the priority of the packet loss information message to the second target priority, and sending the packet loss information message to the data sender based on the second target priority.
[0140] Among them, in this embodiment, after the data receiving end detects a packet loss, it raises the priority of the packet loss information packet to the highest level, skips the packet scheduling queue, and directly sends the packet loss information packet to the data sending end.
[0141] In one alternative embodiment, before sending the packet loss information packet to the data sending end, it further includes: in the case of congestion packet loss, generating a first mode bit of the packet loss information packet corresponding to the congestion packet loss; determining the number of packet losses, and determining the number of valid bit positions based on the number of packet losses; determining the values of the bit positions of the packet loss information packet based on the lost data; and obtaining the packet loss information packet based on the first mode bit, the number of valid bit positions, and the values of the bit positions.
[0142] In one alternative embodiment, before sending the packet loss information packet to the data sending end, it further includes: in the case of fault packet loss, generating a second mode bit of the packet loss information packet corresponding to the fault packet loss; determining the minimum identifier and the maximum identifier of the target data that has been successfully received based on the lost data; and obtaining the packet loss information packet based on the second mode bit, the minimum identifier and the maximum identifier of the target data that has been successfully received.
[0143] For the specific limitations on the format of the packet loss information packet, reference can be made to the above, and details will not be elaborated here.
[0144] To make those skilled in the art understand this application more clearly, in combination with Figure 8 as shown Figure 8 is a framework diagram of data retransmission in an embodiment. In this embodiment, the data retransmission method includes:
[0145] 1) The first transmission doorbell interface module (transmit doorbell interface, TDI, referred to as the first TDI module) of the data sending end schedules one of the QPs (queue pare) from the first management module (HOST Queue Management, HQM, for distinction, referred to as the first HQM module) of the host queue for sending the target data.
[0146] 2) The first sending module (TXP) of the data sending end sorts the target data, marks each target data with a PSN, and updates the timeout timer. The timeout duration of the timeout timer is the historical maximum RTT.
[0147] 3) After receiving the target data, the second receiving module (RXP) of the data receiving end determines whether there is a packet loss by identifying the PSN: if there is no packet loss, it notifies the second management module of the data receiving end that there is an acknowledgment packet ACK to be sent for this QP; otherwise, it directly notifies the second sending module (TXP) to send the packet loss information packet by skipping the second management module and the second transmission doorbell interface module.
[0148] 4) When the first receiving module (RXP) at the data sending end receives a normal message (request message and acknowledgment message ACK sent by the data receiving end), it notifies the first management module to process the response. If a packet loss information message is received, it directly notifies the first sending module (TXP) to retransmit, without queuing in the first management module and waiting for the first transmission doorbell interface module to schedule. Whether an acknowledgment message ACK or a packet loss information message is received, the timer needs to be reset to avoid timeout.
[0149] 5) If no acknowledgment ACK or packet loss information message is received after the timeout timer times out, the corresponding target data is quickly retransmitted.
[0150] For the above data retransmission method, for the target data discarded by the switch, the data receiving end only sends the packet loss information back to the data sending end through a single packet loss information message, reducing the additional bandwidth occupation by a large number of packet loss information messages.
[0151] The packet loss information message is directly sent at the data receiving end by skipping the queue, and when the data sending end retransmits the target data, it also directly skips the queue and sends it directly, reducing the queuing delay of retransmission and providing retransmission efficiency.
[0152] The lost information carried by the packet loss information message will not be repeated. After receiving the packet loss information message, the data sending end does not need to consume additional resources to calculate redundant information, nor does it need to consume additional memory to save historical retransmission information, saving computing and storage resources.
[0153] When the data sending end retransmits, it only needs to extract the information in the packet loss information message to directly perform retransmission, without the need for complex calculation and storage modules. The timer module can reuse the original timeout mechanism, only adding an interface for dynamically configuring the timeout time according to the RTT result; the RTT detection module reuses the RTT detection of the CC (congestion control) congestion algorithm without the need to add complex implementation.
[0154] Different modes of the packet loss information message can easily handle different packet loss modes (congestion packet loss and fault packet loss).
[0155] It should be understood that although the steps in the flowcharts involved in the above embodiments are sequentially shown according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same moment, but can be executed at different moments. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps. It can be understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by the combination fall within the scope of protection of this application.
[0156] Based on the same inventive concept, an embodiment of this application also provides a data retransmission device for implementing the data retransmission method involved above. The solution provided by this device to solve the problem is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the data retransmission device provided below can refer to the limitations on the data retransmission method in the above text, and will not be repeated here.
[0157] In an exemplary embodiment, as Figure 9 shown, a data retransmission device is provided, including: a first sending module 901, a first receiving module 902, and a retransmission module 903, where:
[0158] The first sending module 901 is configured to send target data to the data receiving end;
[0159] The first receiving module 902 is configured to receive a packet loss information message returned by the data receiving end; the packet loss information message is generated for the lost target data when the data receiving end determines that there is a packet loss, and only one packet loss information message is sent for each lost target data;
[0160] The retransmission module 903 is configured to re-send the lost target data to the data receiving end based on the packet loss information message.
[0161] In an optional embodiment, the above device further includes: a timer module, configured to start a timeout timer corresponding to the target data, and the timing duration of the timeout timer is the historical maximum RTT; when the timeout timer times out and a feedback message returned by the data receiving end is not received, the target data is re-sent to the data receiving end, and the feedback message is an acknowledgment message or a packet loss information message.
[0162] In one alternative embodiment, the above-mentioned retransmission module 903 is specifically configured to set the priority of the target data to be retransmitted to a first target priority, and retransmit the target data to the data receiving end based on the first target priority.
[0163] In one alternative embodiment, the above-mentioned timer module is specifically configured to reset the timeout timer corresponding to the retransmitted target data.
[0164] In one alternative embodiment, the above-mentioned timer module is specifically configured to cancel the timeout timer of the target message corresponding to the acknowledgment message when the acknowledgment message is received.
[0165] In one alternative embodiment, the above-mentioned device further includes: a retransmitted data detection module, configured to determine the mode of the packet loss information message based on the mode bit of the packet loss information message; in the case where the mode of the packet loss information message is to identify packet loss through bit positions, read the number of valid bit positions from the packet loss information message, and parse the packet loss information message based on the number of valid bit positions to determine the target data to be retransmitted.
[0166] In one alternative embodiment, the above-mentioned device further includes: a retransmitted data detection module, configured to determine the mode of the packet loss information message based on the mode bit of the packet loss information message; in the case where the mode of the packet loss information message is not to identify packet loss through bit positions, parse the packet loss information message to obtain the minimum identifier and the maximum identifier of the successfully received target data; determine the target data to be retransmitted based on the minimum identifier and the maximum identifier of the successfully received target data.
[0167] In one alternative embodiment, the above-mentioned device further includes: an RTT update module, configured to obtain the current RTT based on the reception time of the latest acknowledgment message and the transmission time of the target data corresponding to the latest acknowledgment message; obtain the current RTT smoothed value based on the current RTT and the previous RTT smoothed value; determine the maximum RTT based on each historical RTT and the current RTT; obtain the historical maximum RTT based on the current RTT smoothed value and the maximum RTT.
[0168] In an exemplary embodiment, as Figure 10 shown, there is provided a data retransmission device, including: a second receiving module 1001, a lost information message generating module 1002, and a second sending module 1003, where:
[0169] The second receiving module 1001 is configured to receive the target data sent by the data sending end;
[0170] The lost information message generating module 1002 is configured to generate a packet loss information message for the lost target data in the case where packet loss is determined based on the target data and the lost target data has not been notified to the data sending end;
[0171] A second sending module 1003 is configured to send a packet loss information message to a data sending end, and send a packet loss information message only once for each lost target data. The packet loss information message is used to instruct the data sending end to resend the lost target data to the data receiving end again.
[0172] In one alternative embodiment, the above-mentioned second receiving module 1001 is further configured to receive the retransmitted target data sent by the data sending end. The retransmitted target data is retransmitted to the data receiving end when the data sending end starts a timeout timer when sending the target data last time, and when the timeout timer expires and no feedback message corresponding to the target data is received. The timing duration of the timeout timer is the historical maximum RTT, and the feedback message is an acknowledgment message or a packet loss information message.
[0173] In one alternative embodiment, the historical maximum RTT is determined based on the current RTT smoothed value and the maximum RTT. The current RTT smoothed value is determined based on the current RTT and the previous RTT smoothed value. The maximum RTT is determined based on each historical RTT and the current RTT. The current RTT is determined based on the receiving time of the latest acknowledgment message and the sending time of the target data corresponding to the latest acknowledgment message.
[0174] In one alternative embodiment, the above-mentioned second sending module 1003 is specifically configured to set the priority of the packet loss information message to a second target priority, and send the packet loss information message to the data sending end based on the second target priority.
[0175] In one alternative embodiment, the above-mentioned lost information message generating module 1002 is further configured to generate a first mode bit of the packet loss information message corresponding to the congestion packet loss in the case of congestion packet loss; determine the number of lost packets, and determine the number of valid bit positions based on the number of lost packets; determine the value of the bit position of the packet loss information message based on the lost data; and obtain the packet loss information message based on the first mode bit, the number of valid bit positions, and the value of the bit position.
[0176] In one alternative embodiment, the above-mentioned lost information message generating module 1002 is further configured to generate a second mode bit of the packet loss information message corresponding to the fault packet loss in the case of fault packet loss; determine the minimum identifier and the maximum identifier of the target data that is successfully received based on the lost data; and obtain the packet loss information message based on the second mode bit, the minimum identifier, and the maximum identifier of the target data that is successfully received.
[0177] Each module in the above data retransmission device can be implemented in whole or in part by software, hardware, or a combination thereof. Each of the above modules can be embedded in the processor of the computer device in hardware form or independent thereof, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each of the above modules.
[0178] In an exemplary embodiment, a chip is provided, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method described in any one of the above embodiments are implemented.
[0179] In an exemplary embodiment, a network interface card is provided, including a chip as described in any one of the above embodiments and a plurality of interfaces. The chip processes data or communicates externally through the interfaces.
[0180] In an exemplary embodiment, a computer device is provided. The computer device can be a terminal, and its internal structure diagram can be as Figure 11 shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. Among them, the processor, the memory, and the input / output interface are connected through a system bus. The communication interface, the display unit, and the input device are connected to the system bus through the input / output interface. The communication interface can also process data or communicate externally through a network interface card. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used for exchanging information between the processor and external devices. The communication interface of the computer device is used for communicating with external terminals in a wired or wireless manner. The wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (NFC), or other technologies. When the computer program is executed by the processor, a data retransmission method is implemented. The display unit of the computer device is used to form a visually visible picture, which can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer covering the display screen, or a button, a trackball, or a touchpad provided on the housing of the computer device, or an external keyboard, touchpad, or mouse, etc.
[0181] Those skilled in the art can understand that Figure 11The structure shown is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.
[0182] In one embodiment, a computer device is further provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, the steps in the above method embodiments are implemented.
[0183] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.
[0184] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.
[0185] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with relevant regulations.
[0186] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in this application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in this application can be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, data processing logics based on quantum computing, artificial intelligence (AI) processors, etc., without limitation.
[0187] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered to be within the scope recorded in this application.
[0188] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation to the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.
Claims
1. A data retransmission method, characterized in that, Applied to the data sender, the method includes: Sending target data to the data receiver; Receiving a packet loss information message returned by the data receiver; the packet loss information message is generated for the lost target data when the data receiver determines that there is packet loss, and only one packet loss information message is sent for each lost target data; Based on the packet loss information message, re-sending the lost target data to the data receiver.
2. The method according to claim 1, characterized in that, After sending the target data to the data receiver, it further includes: Starting a timeout timer corresponding to the target data, and the timing duration of the timeout timer is the historical maximum RTT; When the timeout timer times out and no feedback message returned by the data receiver is received, re-sending the target data to the data receiver, and the feedback message is an acknowledgment message or a packet loss information message.
3. The method according to claim 1 or 2, characterized in that The re-sending the target data to the data receiver and re-sending the lost target data to the data receiver includes: Setting the priority of the target data to be retransmitted to the first target priority, and re-sending the target data to the data receiver based on the first target priority.
4. The method according to claim 2, wherein After re-sending the target data to the data receiver and re-sending the lost target data to the data receiver, it includes: Resetting the timeout timer corresponding to the re-sent target data.
5. The method according to claim 2, characterized in that, The method further includes: When the acknowledgment message is received, canceling the timeout timer of the target message corresponding to the acknowledgment message.
6. The method according to claim 2, characterized in that Before re-sending the lost target data to the data receiver, it includes: Determining the mode of the packet loss information message based on the mode bit of the packet loss information message; When the mode of the packet loss information message is to identify packet loss through bit positions, reading the number of valid bit positions from the packet loss information message, and parsing the packet loss information message based on the number of valid bit positions to determine the target data to be retransmitted.
7. The method according to claim 2, wherein Before re-sending the lost target data to the data receiver, it includes: Determining the mode of the packet loss information message based on the mode bit of the packet loss information message; When the mode of the packet loss information message is not to identify packet loss through bit positions, parsing the packet loss information message to obtain the minimum identifier and the maximum identifier of the successfully received target data; based on the minimum identifier and the maximum identifier of the successfully received target data, determining the target data to be retransmitted.
8. The method according to claim 2, characterized in that The method further includes: Obtaining the current RTT based on the reception time of the latest acknowledgment message and the transmission time of the target data corresponding to the latest acknowledgment message; Obtaining the current RTT smoothed value based on the current RTT and the previous RTT smoothed value; Determining the maximum RTT based on each historical RTT and the current RTT; Obtaining the historical maximum RTT based on the current RTT smoothed value and the maximum RTT.
9. A data retransmission method, characterized in that, Applied to the data receiver, the method includes: Receiving target data sent by the data sender; When determining packet loss based on the target data and the lost target data has not been notified to the data sender, a packet loss information message is generated for the lost target data; The packet loss information message is sent to the data sender, and only one packet loss information message is sent for each lost target data. The packet loss information message is used to instruct the data sender to resend the lost target data to the data receiver.
10. The method according to claim 9, characterized in that The method further includes: Receiving the retransmitted target data sent by the data sender. The retransmitted target data is sent to the data receiver again when the data sender starts a timeout timer when sending the target data last time, and the timeout timer expires and no feedback message corresponding to the target data is received. The timing duration of the timeout timer is the historical maximum RTT, and the feedback message is an acknowledgment message or a packet loss information message.
11. The method according to claim 10, wherein The historical maximum RTT is determined based on the current RTT smoothed value and the maximum RTT. The current RTT smoothed value is determined based on the current RTT and the previous RTT smoothed value. The maximum RTT is determined based on each historical RTT and the current RTT. The current RTT is determined based on the reception time of the latest acknowledgment message and the transmission time of the target data corresponding to the latest acknowledgment message.
12. The method according to claim 9, wherein The sending the packet loss information message to the data sender includes: Setting the priority of the packet loss information message to the second target priority and sending the packet loss information message to the data sender based on the second target priority.
13. The method according to claim 9, wherein Before sending the packet loss information message to the data sender, it further includes: Generating a first mode bit of the packet loss information message corresponding to the congestion packet loss when the packet loss situation is congestion packet loss; Determining the number of packet losses and determining the number of valid bit positions based on the number of packet losses; Determining the value of the bit position of the packet loss information message based on the lost data; Obtaining the packet loss information message based on the first mode bit, the number of valid bit positions, and the value of the bit position.
14. The method according to claim 9, wherein Before sending the packet loss information message to the data sender, it further includes: Generating a second mode bit of the packet loss information message corresponding to the fault packet loss when the packet loss situation is fault packet loss; Determining the minimum identifier and the maximum identifier of the target data that has been successfully received based on the lost data; Obtaining the packet loss information message based on the second mode bit, the minimum identifier and the maximum identifier of the target data that has been successfully received.
15. A data retransmission device, characterized in that, Applied to the data sender, the device includes: A first sending module for sending target data to the data receiver; A first receiving module for receiving the packet loss information message returned by the data receiver. The packet loss information message is generated for the lost target data when the data receiver determines that there is packet loss, and only one packet loss information message is sent for each lost target data; A retransmission module for re-sending the lost target data to the data receiver based on the packet loss information message.
16. A data retransmission device, characterized in that, Applied to the data receiver, the device includes: A second receiving module, configured to receive target data sent by a data sending end; A lost information message generating module, configured to generate a lost packet information message for lost target data when it is determined that a packet is lost based on the target data and the lost target data has not been notified to the data sending end; A second sending module, configured to send the lost packet information message to the data sending end, and send the lost packet information message only once for each lost target data, where the lost packet information message is used to instruct the data sending end to resend the lost target data to a data receiving end.
17. A chip, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 14 are implemented.
18. A network interface card, characterized in that, Comprising a chip as claimed in claim 17 and a plurality of interfaces, The chip processes data or communicates externally through the interfaces.
19. A computer device, characterized in that, Comprising a network interface card as claimed in claim 18, the network interface card being configured to process data or communicate externally.
20. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.
21. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.
Citation Information
Patent Citations
Method for transmitting messages, network component and computer readable storage medium
CN109510690A
TCP (Transmission Control Protocol) retransmission method and device
CN109560897A
Method, system and device for retransmission and error correction of communication packet loss and storage medium
CN119109559A
Packet loss retransmission method and device, computer equipment, readable storage medium and program product
CN119341704A
Cited By
Multi-path data retransmission method, device, chip, network interface card, equipment, medium and program product
CN121907414A
Data message retransmission method and device, chip, network interface card, equipment, medium and program product
CN122204246A
Text transmission method and device, equipment and medium
CN122226121A