Data packet retransmission method, apparatus, device, medium and program product

By using preset conditions of cumulative reception time and quantity to send messages indicating lost data packets during data packet retransmission, the problem of low network bandwidth utilization caused by unreasonable retransmission timeout and sliding window size settings in the prior art is solved, and higher throughput and resource utilization are achieved.

CN119011094BActive Publication Date: 2026-05-29CHINA MOBILE COMM LTD RES INST +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE COMM LTD RES INST
Filing Date
2024-08-12
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing packet loss retransmission mechanisms rely on retransmission timeout and sliding window size settings, resulting in low network bandwidth resource utilization and insufficient throughput.

Method used

By sending messages indicating lost data packets based on preset conditions of cumulative reception time and cumulative reception quantity, data packets can be retransmitted, avoiding the limitation of sliding window size and improving the utilization of network bandwidth resources.

Benefits of technology

It improves network throughput and bandwidth utilization, reduces network resource waste, and enhances the accuracy of data packet retransmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119011094B_ABST
    Figure CN119011094B_ABST
Patent Text Reader

Abstract

The application discloses a data packet retransmission method and device, equipment, medium and program product, relates to the technical field of communication, and the method is applied to a first device and specifically comprises the following steps: sending a first message to a second device based on whether a preset condition is met, wherein the preset condition is associated with at least one of an accumulated receiving time and an accumulated receiving quantity of a data packet received from the second device, and the first message is used for indicating a lost data packet; and receiving a to-be-retransmitted data packet sent by the second device, wherein the to-be-retransmitted data packet comprises the data packet indicated by the first message. The embodiment of the application can solve the problem that the utilization rate of network bandwidth resources in the data packet retransmission process is reduced due to the influence of the accuracy of RTO setting or the accuracy of window sliding size setting.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a data packet retransmission method, apparatus, device, medium, and program product. Background Technology

[0002] In related technologies, mechanisms such as timeout retransmission, fast retransmission, and selective acknowledgement (SACK) are commonly used for packet loss retransmission. Since the operation of these mechanisms depends on the setting of the retransmission timeout (RTO) or the sliding window size, the accuracy of the RTO setting or the window size setting can easily reduce the utilization of network bandwidth resources. Summary of the Invention

[0003] To address the problem that existing packet loss retransmission processes can easily reduce network bandwidth resource utilization, embodiments of this application provide a data packet retransmission method, apparatus, device, medium, and program product that can effectively improve network transmission throughput and increase network bandwidth resource utilization.

[0004] In a first aspect, embodiments of this application provide a data packet retransmission method, applied to a first device, the method comprising:

[0005] A first message is sent to the second device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets;

[0006] Receive retransmission data packets sent by the second device, the retransmission data packets including the data packets indicated by the first message.

[0007] Optionally, sending the first message to the second device based on whether a preset condition is met includes:

[0008] Based on the data packet sending rate of the second device, set the cumulative reception time threshold and the cumulative reception quantity threshold;

[0009] If the preset conditions are met, the first message is sent to the second device;

[0010] The preset conditions include any one of the following:

[0011] The cumulative reception time of continuously receiving data packets sent by the second device reaches the cumulative reception time threshold;

[0012] The cumulative number of data packets continuously received from the second device is greater than or equal to the cumulative number of received data packets threshold.

[0013] Optionally, the first message includes an ACK message, which is a message obtained by adding a target fragment to an RDMA format message;

[0014] The target segment is used to store the number of the received data packet.

[0015] Optionally, the target segment may further include the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period;

[0016] When the number of confirmed segments is greater than 1, the target segment includes first number information of data packets received in a first time period, and second number information of at least one data packet received in a second time period, wherein the first time period is earlier than the second time period;

[0017] When the number of acknowledgment segments is equal to 1, the target segment includes the first number information of the data packets received in the first time period.

[0018] Optionally, the first numbering information includes the first number of the data packet that was received within the first time period;

[0019] The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period.

[0020] Secondly, embodiments of this application also provide a data packet retransmission method, applied to a second device, the method comprising:

[0021] The first message is received from the first device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets;

[0022] The data packet to be retransmitted is determined, and the data packet to be retransmitted includes the data packet indicated by the first message;

[0023] The data packet to be retransmitted is sent to the first device.

[0024] Optionally, the first message includes an ACK message, which is a message obtained by adding a target fragment to an RDMA format message;

[0025] The target segment is used to store the number of the received data packet.

[0026] Optionally, the target segment may further include the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period;

[0027] The determination of the data packet to be retransmitted includes:

[0028] If the number of confirmed segments is greater than 1, the data packet to be retransmitted is determined based on the first number information and at least one second number information stored in the target segment; wherein, the first number information is the information of the data packet received in the first time period, the second number information is the information of the data packet received in the second time period, and the first time period is earlier than the second time period;

[0029] If the number of the confirmation segments is equal to 1, and the maximum number of the data packet in the first numbering information is less than the preset number, then the data packet to be retransmitted is determined to be a data packet with a number greater than the maximum number and less than or equal to the preset number.

[0030] Optionally, the first numbering information includes the first number of the data packet that was received within the first time period;

[0031] The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period;

[0032] When the number of acknowledgment segments is greater than 1, determining the data packet to be retransmitted based on the first number information and at least one second number information stored in the target segment includes:

[0033] Based on the first number information and the second number information, the data packets to be retransmitted are determined to be data packets with numbers set between the first number and the second number, and data packets with numbers set between the third number and the fourth number;

[0034] The fourth number is the number of the data packet initially received in the next second time period.

[0035] Optionally, the method further includes:

[0036] If a data packet with a preset number is sent to the first device and the first message is not received after a preset time, the data packet with the preset number is retransmitted to the first device.

[0037] Thirdly, embodiments of this application provide a data packet retransmission device, applied to a first device, the device comprising:

[0038] A first sending module is configured to send a first message to a second device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets;

[0039] The first receiving module is configured to receive retransmission data packets sent by the second device, wherein the retransmission data packets include the data packets indicated by the first message.

[0040] Fourthly, embodiments of this application also provide a data packet retransmission device, applied to a second device, the device comprising:

[0041] The second receiving module is used to receive a first message sent by the first device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets;

[0042] The determination module is used to determine the data packet to be retransmitted, wherein the data packet to be retransmitted includes the data packet indicated by the first message;

[0043] The second sending module is used to send the data packet to be retransmitted to the first device.

[0044] Fifthly, embodiments of this application provide a first device, including: a transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor; the transceiver is used for:

[0045] A first message is sent to the second device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets;

[0046] Receive retransmission data packets sent by the second device, the retransmission data packets including the data packets indicated by the first message.

[0047] Sixthly, embodiments of this application also provide a second device, including: a transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor; the transceiver is used for:

[0048] The first message is received from the first device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets;

[0049] The processor is used for:

[0050] The data packet to be retransmitted is determined, and the data packet to be retransmitted includes the data packet indicated by the first message;

[0051] The transceiver is used for:

[0052] The data packet to be retransmitted is sent to the first device.

[0053] In a seventh aspect, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the data packet retransmission method as described in any one of the first or second aspects.

[0054] Eighthly, embodiments of this application also provide a computer program product, which is stored in a storage medium and executed by at least one processor to implement the steps of the data packet retransmission method as described in any one of the first or second aspects.

[0055] In a specific embodiment of this application, a first device sends a first message to a second device indicating a lost data packet based on whether a preset adjustment is met. Consequently, the first device receives a retransmission data packet from the second device, which includes the lost data packet indicated by the first message. Thus, the first device sends the first message to the second device according to preset conditions, and the second device is not limited by the sliding window size, only sending retransmission data to the first device based on the first message. This solves the bandwidth consumption problem caused by unreasonable sliding window size settings in related technologies, effectively improving network transmission throughput and increasing the utilization rate of network bandwidth resources. Attached Figure Description

[0056] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0057] Figure 1 This is a schematic diagram of a SACK cumulative acknowledgment mechanism in related technologies;

[0058] Figure 2 This is one of the flowcharts of a data packet retransmission method in the embodiments of this application;

[0059] Figure 3 This is a schematic diagram of a SACK cumulative acknowledgment mechanism in an embodiment of this application;

[0060] Figure 4This is a schematic diagram of the RDMA message format corresponding to the ACK message in related technologies;

[0061] Figure 5 This is a schematic diagram of the RDMA message format corresponding to the ACK message in the embodiments of this application;

[0062] Figure 6 yes Figure 5 Example diagram of the message format of the target segment in the image;

[0063] Figure 7 This is the second flowchart of the data packet retransmission method provided in the embodiments of this application;

[0064] Figure 8 This is one of the flowcharts of the data packet retransmission device provided in the embodiments of this application;

[0065] Figure 9 This is the second flowchart of the data packet retransmission device provided in the embodiments of this application;

[0066] Figure 10 This is a structural diagram of the first device provided in the embodiments of this application;

[0067] Figure 11 This is a structural diagram of the second device provided in the embodiments of this application. Detailed Implementation

[0068] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0069] To make the embodiments of this application clearer, the relevant technical knowledge involved in the embodiments of this application will be introduced as follows:

[0070] The packet retransmission mechanisms used in related technologies mainly include the following three types: timeout retransmission mechanism, fast retransmission mechanism, and selective retransmission (SACK) mechanism. The timeout retransmission mechanism sets a time limit after data transmission; if no acknowledgment (ACK) response is received within this time, the data packet is retransmitted (i.e., regardless of whether data packet loss or ACK response loss occurs, data packet retransmission is performed). The RTO can be set to a value slightly larger than the Round-Trip Time (RTT). Because networks are prone to fluctuations, the RTO is also a dynamically changing value.

[0071] The fast retransmission mechanism retransmits lost segments before the timer expires when the receiver receives multiple identical ACK packets after the sender has sent several packets. The SACK mechanism adds a SACK section to the Transmission Control Protocol (TCP) header. This SACK section sends received data back to the sender, allowing the sender to retransmit lost data and improving retransmission efficiency to some extent.

[0072] In the aforementioned data retransmission mechanism, such as Figure 1 As shown, Figure 1 This is a schematic diagram of a SACK cumulative acknowledgment mechanism in related technologies. The sender sends an acknowledgment for each data packet sent, and only sends the next packet after receiving an acknowledgment from the receiver, resulting in low network transmission efficiency. Therefore, TCP in related technologies introduces a sliding window mechanism. A window field is set in the TCP header to indicate the size of the available buffer space for receiving data. For the sender, subtracting the length of data for which no ACK has been received from the window field determines the length of data that can be sent directly. Upon receiving an ACK packet, the sending window can continue to slide forward.

[0073] In addition, the packet loss retransmission mechanisms employed in related technologies also include some innovative retransmission mechanisms used on a smaller scale. For example, in Software Defined Networks (SDN), due to the shared nature of the medium, multiple network nodes may transmit simultaneously on the same channel, leading to collisions and further causing packet loss and retransmission. When the packet loss rate is high, it can cause a large number of retransmissions on the link, resulting in network latency. In this case, a dynamic control method for SDN networks is used, which collects network link information and network node information in real time. The collected information is input into a trained retransmission prediction model based on random forests to obtain the retransmission information of each node in the SDN network, and then the control information of the SDN network is dynamically adjusted.

[0074] However, packet loss retransmission mechanisms in related technologies often rely on the settings of RTO and window size. On the one hand, an excessively high RTO setting causes the sender to wait a long time before detecting packet loss, reducing the throughput of connection data transmission. On the other hand, an excessively low RTO setting allows the sender to quickly detect packet loss, but may also mistakenly identify some high-latency packets as lost, resulting in multiple retransmissions and wasting network resources. The size of the sliding window also has a significant impact on network performance. If the sliding window is too small, acknowledgment information needs to be transmitted frequently, consuming a large amount of network bandwidth. If the sliding window is too large, for networks with high utilization and prone to packet loss, duplicate data needs to be sent multiple times, also consuming network bandwidth.

[0075] Therefore, in order to meet the data transmission requirements of wide-area high-throughput networks, improve network bandwidth utilization, enhance network effective throughput, and solve the problems of packet loss sensitivity of the go-back-N packet loss retransmission algorithm used in Remote Direct Memory Access (RDMA) and the need for the receiver to maintain a receiving window in traditional SACK, this application proposes a data packet retransmission method, apparatus, device, medium, and program product.

[0076] The following description, in conjunction with the accompanying drawings, details a data packet retransmission method, apparatus, device, medium, and program product provided in this application through specific embodiments and application scenarios.

[0077] Please see Figure 2 , Figure 2 This is one of the flowcharts of a data packet retransmission method provided in this application embodiment, specifically applied to a first device. The method includes the following steps:

[0078] Step 101: Send a first message to the second device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets.

[0079] It should be noted that the first device in the embodiments of this application can be a receiving end device for receiving data information transmitted by the sender, including terminal devices, network devices, etc., and the second device can be a sending end device for sending data information to the first device, or it can be a terminal device, network device, etc., which are not limited here.

[0080] In a specific embodiment, the preset conditions can be associated with at least one of the cumulative reception time and cumulative reception quantity of data packets. The sending rate of the second device sending data packets, the cumulative reception time of the first device receiving data packets, and the cumulative reception quantity of the first device receiving data packets are set according to the existing network environment and the size of the data file to be sent. For example, starting from receiving the first data packet, the first device calculates the cumulative reception time or the cumulative reception quantity of data packets. When the cumulative reception time of the first device receiving data packets reaches a set time threshold, or when the cumulative reception quantity of the first device receiving data packets reaches a quantity threshold, the first device sends a first message to the second device, notifying the second device of the data packets lost during previous data packet transmission.

[0081] Since the second device sends data packets to the first device at a preset rate, the number of data packets received by the first device within the cumulative reception time is a fixed value, assuming no data packet loss occurs. Alternatively, the time required for the first device to reach a certain threshold number of received data packets is fixed. In one embodiment, if data packet loss occurs and the number of data packets received by the first device within the cumulative reception time is less than the predetermined value, the first device can determine that data packet loss has occurred, trigger a packet loss retransmission mechanism, and send a first message to the second device. In another embodiment, if data packet loss occurs and the time required for the first device to reach the threshold number of received data packets is greater than a fixed time value, the first device can determine that data packet loss has occurred, trigger a packet loss retransmission mechanism, and send a first message to the second device.

[0082] Therefore, in this embodiment, by simply setting preset conditions on the first device and a preset transmission rate on the second device, the first device can determine whether data packets are lost during data transmission based on the cumulative reception time or the cumulative number of received packets, and promptly send a first message to the second device to inform it of the lost data packets. This process eliminates window-less limitations, allowing the second device to continuously send data packets to the first device at the preset transmission rate without being restricted by the sliding window size. This solves the bandwidth consumption problem caused by unreasonable sliding window size settings in related technologies and effectively improves the effective throughput of network transmission.

[0083] It is worth noting that the terminal device involved in the embodiments of this application can be a device that provides voice and / or data connectivity to a user, a handheld device with wireless connectivity, or other processing devices connected to a wireless modem. The name of the terminal device may differ in different systems; for example, in a 5G or 6G system, the terminal device may be called User Equipment (UE). The wireless terminal device can be a USB storage device, other personal computer memory devices, and a dongle. It can also communicate with one or more core networks (CNs) via a Radio Access Network (RAN). The wireless terminal device can be a mobile terminal device, such as a mobile phone (or "cellular" phone) and a computer with a mobile terminal device. For example, it can be a portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile device that exchanges voice and / or data with the radio access network. Examples of such devices include Personal Communication Service (PCS) phones, cordless phones, Session Initiated Protocol (SIP) phones, Wireless Local Loop (WLL) stations, Personal Digital Assistants (PDAs), personal computers, tablets, and Machine-type Communication (MTC) terminal devices. Wireless terminal devices can also be referred to as systems, subscriber units, subscriber stations, mobile stations, mobile devices, remote stations, access points, remote terminals, access terminals, user terminals, user agents, user devices, and wireless access devices and routers / modems that meet the limitations of this definition; however, this application does not limit the scope of the embodiments.

[0084] The network device involved in this application embodiment can be a base station, which may include multiple cells providing services to terminals. Depending on the specific application, the base station may also be called an access point, or a device in the access network that communicates with wireless terminal devices through one or more sectors on the air interface, or other names. The network device can be used to exchange received air frames with Internet Protocol (IP) packets, acting as a router between the wireless terminal device and the rest of the access network, where the rest of the access network may include an Internet Protocol (IP) communication network. The network device can also coordinate the attribute management of the air interface. For example, the network device involved in this application embodiment can be an evolved Node B (eNB or e-NodeB) in a long term evolution (LTE) system, a 5G base station (gNB) in a next generation system, or a Home evolved Node B (HeNB), relay node, femto, pico, network testing equipment, etc., and is not limited in this application embodiment. In some network architectures, network devices may include centralized unit (CU) nodes and distributed unit (DU) nodes, which may also be geographically separated.

[0085] Step 102: Receive the retransmission data packet sent by the second device, wherein the retransmission data packet includes the data packet indicated by the first message.

[0086] It is understandable that the retransmission data packets sent by the second device to the first device can be determined based on the first message. After receiving the first message, the second device can determine the data packets to be retransmitted based on the sequence number of the lost data packets indicated in the first message. During this process, the second device continuously sends data packets to the first device at a preset sending rate. The first device continuously receives data packets within the range before the cumulative acknowledgment time reaches a time threshold or the cumulative received data reaches a quantity threshold, and can arrange the data packets in order according to their sequence numbers. When either the cumulative acknowledgment time reaches the time threshold or the cumulative received data reaches the quantity threshold, the first device determines the sequence number of the lost data packets based on the sequence number of the received data packets. Subsequently, the first device can send the sequence number of the lost data packets to the second device in the form of a first message. The second device then determines the lost data packets based on this and retransmits them to the first device.

[0087] Thus, this embodiment of the application, through a two-dimensional packet loss retransmission mechanism designed with timing or counting, can be flexibly applied to different network conditions, improving data transmission throughput and efficiency. Furthermore, the first message used in this embodiment can accurately report lost data packet information, enabling the second device to avoid retransmitting already received data packets, thereby reducing the waste of network resources.

[0088] Optionally, sending the first message to the second device based on whether a preset condition is met includes:

[0089] Based on the data packet sending rate of the second device, set the cumulative reception time threshold and the cumulative reception quantity threshold;

[0090] If the preset conditions are met, the first message is sent to the second device;

[0091] The preset conditions include any one of the following:

[0092] The cumulative reception time of continuously receiving data packets sent by the second device reaches the cumulative reception time threshold;

[0093] The cumulative number of data packets continuously received from the second device is greater than or equal to the cumulative number of received data packets threshold.

[0094] In some embodiments, preset conditions are set for the first device to send a first message to the second device, including two items: cumulative reception time and cumulative reception quantity. These can be calculated simultaneously, and retransmission can be triggered as long as either the cumulative reception time threshold or the cumulative reception quantity threshold is met. Furthermore, the preset conditions in the embodiments of this application can also be set to require both the cumulative reception time threshold and the cumulative reception quantity threshold of data packets to be met simultaneously; this application does not impose any restrictions on this.

[0095] Specifically, such as Figure 3As shown, the second device can continuously send data packets to the first device at a preset data packet sending rate. For example, the second device sends data packets with sequence numbers between 100 and 199 to the first device, and the first device receives the data packets with sequence numbers between 100 and 199. Subsequently, the second device continuously sends data packets with sequence numbers between 200 and 299, between 500 and 399, between 600 and 499, and between 500 and 599 to the first device. During the continuous transmission of data packets by the second device, the first device receives each data packet sequentially. If a data packet with sequence numbers between 200 and 299 is lost, the first device can wait until a preset condition is met before sending the sequence number information of the data packets with sequence numbers between 200 and 299 to the second device again, or it can send the sequence number information of the already received data packets, including the sequence numbers of data packets 100 to 199 and 500 to 599. In this way, when the second device receives the first message containing the sequence number information, it can accurately determine that the sequence number of the lost data packet is between 200 and 299, and thus send the retransmission data packet to the first device with the sequence number between 200 and 299.

[0096] In this way, the first message used in this embodiment can also accurately reflect the information of lost data packets, so that the second device can avoid retransmitting the data packets that have already been received, thereby reducing the waste of network resources.

[0097] Optionally, the first message includes an ACK message, which is a message obtained by adding a target fragment to an RDMA format message;

[0098] The target segment is used to store the number of the received data packet.

[0099] In some embodiments, the first message may specifically be an ACK message. In the embodiments of this application, the first message may be an RDMA message format of an existing ACK message (such as...). Figure 4 Based on the above, the target segment is added to the ETH segment of the RDMA message. Specifically, as shown... Figure 5 As shown, in the ETH fragment, the target fragment can be set between the AETH fragment and the Atomic ACKETH fragment. The target fragment can be a T / C AETH fragment, and its size can be set to 30 bytes.

[0100] In this way, by adding a target segment to the existing ACK message, the number, sequence number and other information of the received data packets can be recorded and stored. This makes it easier for the first device to send a first message containing the number information of the received data packets to the second device, so that the second device can avoid retransmitting the received data packets and thus reduce the waste of network resources.

[0101] Optionally, the target segment may further include the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period;

[0102] When the number of confirmed segments is greater than 1, the target segment includes first number information of data packets received in a first time period, and second number information of at least one data packet received in a second time period, wherein the first time period is earlier than the second time period;

[0103] When the number of acknowledgment segments is equal to 1, the target segment includes the first number information of the data packets received in the first time period.

[0104] In some embodiments of this application, the target segment may be a buffer area set in the ACK packet, used to store information such as the number and sequence number of data packets received by the first device in multiple time periods. Specifically, the target segment may store the first number information of data packets received in the first time period, and the second number information of multiple data packets received in the second time period. Please refer to [link to relevant documentation]. Figure 6 The target fragment may include first number information (corresponding to...) Figure 6 (continuous confirmation segment in the middle), second number information within the first second time period (corresponding to) Figure 6 The confirmed segment 1), followed by the second number information within a second time period (corresponding to...) Figure 6 (Confirmed segment 2 in the first segment). Since there is a numbering information corresponding to a data packet that was not received by the first device between the first numbering information and the second numbering information, the target segment can have an unconfirmed segment 1 between the first numbering information and the second numbering information, and an unconfirmed segment 2 between the previous second numbering information and the next second numbering information.

[0105] Furthermore, the target segment also includes the number of acknowledgment segments for receiving data packets. When the number of acknowledgment segments is equal to 1, it indicates that the first device has received the complete and continuous data packets sent by the second device. The second device has sent the data packet with the maximum number or the maximum sequence number, and the first device has completely received all data packets. At this time, there is no need to retransmit the data packets.

[0106] Additionally, when the target segment is greater than 1, it indicates that the first device received multiple data packets, the second device sent multiple data packets, but the data packets received by the first device were discontinuous, indicating data packet loss. For example, in Figure 6 There are lost data packets between consecutive acknowledgment segments and acknowledgment segment 1, and there are also lost data packets between acknowledgment segment 1 and acknowledgment segment 2.

[0107] In this way, the first device can quickly and accurately analyze the received data packets and the unreceived / lost data packets, and send a first message to the second device containing information such as the received data packet number and sequence number, or send a first message to the second device containing information such as the number and sequence number of the unreceived / lost data packets. It is evident that the first message effectively reduces the number of ACKs required in related technologies, effectively improving network throughput. Furthermore, the second device can avoid retransmitting already received data packets, improving the accuracy of data packet retransmission, and thus reducing the waste of network resources.

[0108] Optionally, the first numbering information includes the first number of the data packet that was received within the first time period;

[0109] The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period.

[0110] In some other embodiments, Figure 6 The first and second number information in the target segment can include the contents of Table 1 below:

[0111] Table 1

[0112] Number of confirmed segments (Segment Num) First Number (Last Finished PSN) Second number (Segment 1 Left) Third number (Segment 1 Right) Fourth number (Segment 2 Left) Fifth number (Segment 2 Right)

[0113] The Segment Num value can be set to 24 bits, representing the number of data packet sequence number segments contained in the target segment. Considering the size of T / CAETH segments in actual applications, the value of Segment Num can be 1 to 4.

[0114] The first sequence number (Last Finished PSN) can also be set to 24 bits, and can be the maximum sequence number or maximum number of data packets received by the first device in the first time period. The second sequence number (Segment1 Left) can also be set to 24 bits, and can be the minimum sequence number or minimum number of data packets received by the first device in the second time period. If the second device sends data packets in sequence order, then the second sequence number is the sequence number or number corresponding to the first device's initial data packet received in the second time period. The third sequence number (Segment1 Right) can also be set to 24 bits, and can be the maximum sequence number or maximum number of data packets received by the first device in the second time period. If the second device sends data packets in sequence order, then the second sequence number is the sequence number or number corresponding to the last data packet received by the first device when it ends receiving data packets in the second time period. Furthermore, the fourth sequence number (Segment2 Left) and the fifth sequence number (Segment2 Right) are the sequence numbers corresponding to the initially received data packets and the last received data packets in the next second time period, respectively. For details on the settings of the third and fourth sequence numbers, please refer to the documentation; this application does not impose specific limitations on them.

[0115] Please see Figure 7 , Figure 7 This is a second flowchart of a data packet retransmission method provided in this application embodiment, applied to a second device, and specifically includes the following steps:

[0116] Step 201: Receive a first message sent by the first device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets;

[0117] Step 202: Determine the data packet to be retransmitted, wherein the data packet to be retransmitted includes the data packet indicated by the first message;

[0118] Step 203: Send the data packet to be retransmitted to the first device.

[0119] In a specific embodiment of this application, the first device can determine whether data packets have been lost during data transmission based on the cumulative reception time or the cumulative number of received packets, and promptly send a first message to the second device to inform the second device of the lost data packets. After receiving the first message, the second device can determine the data packets that need to be retransmitted based on the sequence number of the lost data packets indicated in the first message. During this process, the second device continuously sends data packets to the first device at a preset transmission rate. The first device continuously receives data packets within the range before the cumulative acknowledgment time reaches a time threshold or the cumulative received data reaches a quantity threshold, and can arrange the data packets in order according to their sequence numbers. When the cumulative acknowledgment time reaches the time threshold or the cumulative received data reaches the quantity threshold, the first device determines the sequence number of the lost data packets based on the sequence number of the received data packets. Subsequently, the first device can send the sequence number of the lost data packets to the second device in the form of a first message. The second device then determines the lost data packets based on this and retransmits the lost data packets to the first device.

[0120] It is understood that the above embodiments remove the window limitation for the second device to send data packets, so that the second device is not limited by the sliding window size and can continuously send data packets to the first device at a preset sending rate. This solves the bandwidth consumption problem caused by unreasonable sliding window size settings in related technologies, effectively improves the effective throughput of network transmission, and enables the second device to avoid retransmitting data packets that have already been received, thereby improving the accuracy of data packet retransmission.

[0121] Optionally, the first message includes an ACK message, which is a message obtained by adding a target fragment to an RDMA format message;

[0122] The target segment is used to store the number of the received data packet.

[0123] Optionally, the target segment may further include the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period;

[0124] The determination of the data packet to be retransmitted includes:

[0125] If the number of confirmed segments is greater than 1, the data packet to be retransmitted is determined based on the first number information and at least one second number information stored in the target segment; wherein, the first number information is the information of the data packet received in the first time period, the second number information is the information of the data packet received in the second time period, and the first time period is earlier than the second time period;

[0126] If the number of the confirmation segments is equal to 1, and the maximum number of the data packet in the first numbering information is less than the preset number, then the data packet to be retransmitted is determined to be a data packet with a number greater than the maximum number and less than or equal to the preset number.

[0127] Optionally, the first numbering information includes the first number of the data packet that was received within the first time period;

[0128] The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period;

[0129] When the number of acknowledgment segments is greater than 1, determining the data packet to be retransmitted based on the first number information and at least one second number information stored in the target segment includes:

[0130] Based on the first number information and the second number information, the data packets to be retransmitted are determined to be data packets with numbers set between the first number and the second number, and data packets with numbers set between the third number and the fourth number;

[0131] The fourth number is the number of the data packet initially received in the next second time period.

[0132] In some embodiments, the second device can determine the data packets to be retransmitted based on the first message. If the number of acknowledgment segments in the target segment of the first message is greater than 1, it indicates that there are lost data packets. By sequentially checking the values ​​of the first number (LastFinised PSN), the second number (Segment1 Left), the third number (Segment1 Right), and the fourth number (Segment2 Left), the data packets to be retransmitted can be determined to be data packets with numbers set between the first and second numbers, and data packets with numbers set between the third and fourth numbers. In addition, if there are more acknowledgment segments in the target segment, the data packets to be retransmitted can be determined sequentially and sent to the first device.

[0133] Therefore, the embodiments of this application can accurately identify lost data packets and send the data packets to be retransmitted from the second device to the first device, thereby improving the accuracy of data packet retransmission.

[0134] Optionally, the method further includes:

[0135] If a data packet with a preset number is sent to the first device and the first message is not received after a preset time, the data packet with the preset number is retransmitted to the first device.

[0136] In other embodiments, if the second device sends a data packet to the first device but fails to receive the first message after a preset time, the second device cannot confirm whether the first device has received the data packet. The second device can then directly send the last data packet to the first device and wait for feedback again. The preset-numbered data packet can be the data packet with the highest number or the highest sequence number during this data transmission process. If the first message is still not received after twice the cumulative reception time threshold, multiple data packets, including the preset-numbered data packet, can be used as retransmission data. The second device can then directly send the retransmission data to the first device, improving data transmission efficiency and saving network transmission resources.

[0137] Furthermore, if the number of acknowledgment segments in the first message received by the second device is 1, and the first number matches the number of the data packet initially received by the first device, it indicates that the first device only received one data packet, resulting in tail packet loss. In this case, the second device can directly retransmit data packets with numbers between the first and maximum numbers to the first device to improve data transmission efficiency and save network transmission resources.

[0138] It should be noted that the above optional implementation methods can be found in [reference needed]. Figure 2 The relevant descriptions in the embodiments shown are not repeated here to avoid repetition.

[0139] Please see Figure 8 This application provides a data packet retransmission device, applied to a first device, the device comprising:

[0140] The first sending module 301 is used to send a first message to the second device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets;

[0141] The first receiving module 302 is used to receive retransmission data packets sent by the second device, wherein the retransmission data packets include the data packets indicated by the first message.

[0142] Optionally, the first sending module 301 includes:

[0143] The setting unit is used to set the cumulative reception time threshold and the cumulative reception quantity threshold according to the data packet sending rate of the second device;

[0144] The sending unit is configured to send the first message to the second device when the preset conditions are met;

[0145] The preset conditions include any one of the following:

[0146] The cumulative reception time of continuously receiving data packets sent by the second device reaches the cumulative reception time threshold;

[0147] The cumulative number of data packets continuously received from the second device is greater than or equal to the cumulative number of received data packets threshold.

[0148] Optionally, the first message includes an ACK message, which is a message obtained by adding a target fragment to an RDMA format message;

[0149] The target segment is used to store the number of the received data packet.

[0150] Optionally, the target segment may further include the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period;

[0151] When the number of confirmed segments is greater than 1, the target segment includes first number information of data packets received in a first time period, and second number information of at least one data packet received in a second time period, wherein the first time period is earlier than the second time period;

[0152] When the number of acknowledgment segments is equal to 1, the target segment includes the first number information of the data packets received in the first time period.

[0153] Optionally, the first numbering information includes the first number of the data packet that was received within the first time period;

[0154] The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period.

[0155] It should be noted that the data packet retransmission device provided in this application embodiment can achieve the above-mentioned... Figure 2 All method steps implemented in the method embodiment shown are capable of achieving the same technical effect. Therefore, the parts that are the same as those in the method embodiment and their beneficial effects will not be described in detail here.

[0156] Please refer to Figure 9 This application also provides a data packet retransmission device, applied to a second device, the device comprising:

[0157] The second receiving module 401 is used to receive a first message sent by the first device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets;

[0158] The determining module 402 is used to determine the data packet to be retransmitted, wherein the data packet to be retransmitted includes the data packet indicated by the first message;

[0159] The second sending module 403 is used to send the data packet to be retransmitted to the first device.

[0160] Optionally, the first message includes an ACK message, which is a message obtained by adding a target fragment to an RDMA format message;

[0161] The target segment is used to store the number of the received data packet.

[0162] Optionally, the target segment may further include the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period;

[0163] The determining module 402 includes:

[0164] The first determining unit is configured to determine the data packet to be retransmitted based on a first numbering information and at least one second numbering information stored in the target segment when the number of the acknowledgment segments is greater than 1; wherein the first numbering information is information of a data packet received in a first time period, the second numbering information is information of a data packet received in a second time period, and the first time period is earlier than the second time period.

[0165] The second determining unit is configured to determine, when the number of the confirmation segments is equal to 1 and the maximum number of the data packet in the first numbering information is less than the preset number, that the data packet to be retransmitted is a data packet with a number greater than the maximum number and less than or equal to the preset number.

[0166] Optionally, the first numbering information includes the first number of the data packet that was received within the first time period;

[0167] The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period;

[0168] The first determining unit is used for:

[0169] Based on the first number information and the second number information, the data packets to be retransmitted are determined to be data packets with numbers set between the first number and the second number, and data packets with numbers set between the third number and the fourth number;

[0170] The fourth number is the number of the data packet initially received in the next second time period.

[0171] Optionally, the data packet retransmission device further includes:

[0172] The data packet retransmission module is used to retransmit the data packet with the preset number to the first device if the first message is not received after a preset time.

[0173] It should be noted that the data packet retransmission device provided in this application embodiment can achieve the above-mentioned... Figure 7 All method steps implemented in the method embodiment shown are capable of achieving the same technical effect. Therefore, the parts that are the same as those in the method embodiment and their beneficial effects will not be described in detail here.

[0174] This application also provides a first device. See [link to relevant documentation]. Figure 10 , Figure 10 This is a structural diagram of the first device provided in an embodiment of this application. Since the principle by which the first device solves the problem is similar to the data packet retransmission method applied to the first device in the embodiments of this application, the implementation of this first device can be found as follows: Figure 2 The implementation of the method shown will not be repeated here.

[0175] like Figure 10 As shown, the user equipment includes: a processor 500, used to read a program from the memory 520 and execute the following procedures:

[0176] Based on whether a preset condition is met, a first message is sent to the second device via transceiver 510, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets;

[0177] The transceiver 510 receives retransmission data packets sent by the second device, the retransmission data packets including the data packets indicated by the first message;

[0178] Transceiver 510 is used to receive and send data under the control of processor 500.

[0179] Among them, Figure 10 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by processor 500 and memory represented by memory 520 together. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides the interface.

[0180] Optionally, the processor 500 is also used to read the program from the memory 520 and perform the following steps:

[0181] Based on the data packet sending rate of the second device, set the cumulative reception time threshold and the cumulative reception quantity threshold;

[0182] If the preset conditions are met, the first message is sent to the second device;

[0183] The preset conditions include any one of the following:

[0184] The cumulative reception time of continuously receiving data packets sent by the second device reaches the cumulative reception time threshold;

[0185] The cumulative number of data packets continuously received from the second device is greater than or equal to the cumulative number of received data packets threshold.

[0186] Optionally, the first message includes an ACK message, which is a message obtained by adding a target fragment to an RDMA format message;

[0187] The target segment is used to store the number of the received data packet.

[0188] Optionally, the target segment may further include the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period;

[0189] When the number of confirmed segments is greater than 1, the target segment includes first number information of data packets received in a first time period, and second number information of at least one data packet received in a second time period, wherein the first time period is earlier than the second time period;

[0190] When the number of acknowledgment segments is equal to 1, the target segment includes the first number information of the data packets received in the first time period.

[0191] Optionally, the first numbering information includes a first number of the data packets initially received within the first time period and a second number of the data packets that were ended being received.

[0192] The second numbering information includes the first number of the data packet initially received within the second time period and the second number of the data packet at the end of the receiving period.

[0193] The first device provided in this application embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, so it will not be described again here.

[0194] This application also provides a second device. Since the principle by which the second device solves the problem is similar to the data packet retransmission method performed by the second device in this application embodiment, the implementation of the second device can be referred to the implementation of the method, and repeated details will not be repeated. Figure 11 As shown, the second device in this embodiment includes a processor 600, configured to read a program from a memory 620 and execute the following processes:

[0195] The transceiver 610 receives a first message sent by the first device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets.

[0196] The data packet to be retransmitted is determined, and the data packet to be retransmitted includes the data packet indicated by the first message;

[0197] The data packet to be retransmitted is sent to the first device via transceiver 610;

[0198] Transceiver 610 is used to receive and send data under the control of processor 600.

[0199] Among them, Figure 11 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits of one or more processors represented by processor 600 and memory represented by memory 620 together. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides the interface.

[0200] Optionally, the first message includes an ACK message, which is a message obtained by adding a target fragment to an RDMA format message;

[0201] The target segment is used to store the number of the received data packet.

[0202] Optionally, the target segment may further include the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period;

[0203] Processor 600 is also used to read programs from memory 620 and perform the following steps:

[0204] If the number of confirmed segments is greater than 1, the data packet to be retransmitted is determined based on the first number information and at least one second number information stored in the target segment; wherein, the first number information is the information of the data packet received in the first time period, the second number information is the information of the data packet received in the second time period, and the first time period is earlier than the second time period;

[0205] If the number of the confirmation segments is equal to 1, and the maximum number of the data packet in the first numbering information is less than the preset number, then the data packet to be retransmitted is determined to be a data packet with a number greater than the maximum number and less than or equal to the preset number.

[0206] Optionally, the first numbering information includes the first number of the data packet that was received within the first time period;

[0207] The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period;

[0208] When the number of acknowledgment segments is greater than 1, determining the data packet to be retransmitted based on the first number information and at least one second number information stored in the target segment includes:

[0209] Based on the first number information and the second number information, the data packets to be retransmitted are determined to be data packets with numbers set between the first number and the second number, and data packets with numbers set between the third number and the fourth number;

[0210] The fourth number is the number of the data packet initially received in the next second time period.

[0211] Optionally, the processor 600 is also used to read the program from the memory 620 and perform the following steps:

[0212] If a data packet with a preset number is sent to the first device and the first message is not received after a preset time, the data packet with the preset number is retransmitted to the first device.

[0213] The second device provided in this application embodiment can perform the above-described... Figure 7 The method embodiments shown are similar in principle and technical effect, and will not be described again here.

[0214] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the above-described... Figure 1 or Figure 2 The various processes in the embodiments of the data packet retransmission method can achieve the same technical effect, and will not be described again here to avoid repetition. The computer-readable storage medium mentioned herein includes, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0215] This application embodiment also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the above. Figure 1 or Figure 2 The various processes of the data packet retransmission method embodiment are all described above and can achieve the same technical effect. To avoid repetition, they will not be described again here.

[0216] In the several embodiments provided in this application, it should be understood that the disclosed methods and apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0217] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can be physically included separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in the form of hardware plus software functional units.

[0218] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute some steps of the transmission and reception methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0219] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principles described in this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A data packet retransmission method, characterized in that, Applied to a first device, the method includes: A first message is sent to a second device based on whether a preset condition is met, wherein the first device receives data packets sent by the second device at a preset rate, and the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets; Receive retransmission data packets sent by the second device, wherein the retransmission data packets include the data packets indicated by the first message; The first message includes an ACK message, which is a message obtained by adding a target segment to the ETH segment in the RDMA format message; the target segment also includes the number of acknowledgment segments of the received data packet, and one acknowledgment segment corresponds to a time period.

2. The method according to claim 1, characterized in that, The step of sending the first message to the second device based on whether preset conditions are met includes: Based on the data packet sending rate of the second device, set the cumulative reception time threshold and the cumulative reception quantity threshold; If the preset conditions are met, the first message is sent to the second device; The preset conditions include any one of the following: The cumulative reception time of continuously receiving data packets sent by the second device reaches the cumulative reception time threshold; The cumulative number of data packets continuously received from the second device is less than or equal to the cumulative number of received data packets threshold.

3. The method according to claim 1 or 2, characterized in that, in, The target segment is used to store the number of the received data packet.

4. The method according to claim 3, characterized in that, The target segment also includes the number of acknowledgment segments for receiving data packets, with one acknowledgment segment corresponding to one time period; When the number of confirmed segments is greater than 1, the target segment includes first number information of data packets received in a first time period, and second number information of at least one data packet received in a second time period, wherein the first time period is earlier than the second time period; When the number of acknowledgment segments is equal to 1, the target segment includes the first number information of the data packets received in the first time period.

5. The method according to claim 4, characterized in that, The first number information includes the first number of the data packet that was received within the first time period; The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period.

6. A data packet retransmission method, characterized in that, Applied to a second device, the method includes: The first device receives a first message based on whether a preset condition is met, wherein the second device sends data packets to the first device at a preset rate, and the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets; The data packet to be retransmitted is determined, and the data packet to be retransmitted includes the data packet indicated by the first message; The data packet to be retransmitted is sent to the first device; the first message includes an ACK message, which is a message obtained by adding a target segment to the ETH segment in the RDMA format message; the target segment also includes the number of acknowledgment segments of the received data packet, and one acknowledgment segment corresponds to a time period.

7. The method according to claim 6, characterized in that, The target segment is used to store the number of the received data packet.

8. The method according to claim 7, characterized in that, The determination of the data packet to be retransmitted includes: If the number of confirmed segments is greater than 1, the data packet to be retransmitted is determined based on the first number information and at least one second number information stored in the target segment; wherein, the first number information is the information of the data packet received in the first time period, the second number information is the information of the data packet received in the second time period, and the first time period is earlier than the second time period; If the number of the confirmation segments is equal to 1, and the maximum number of the data packet in the first numbering information is less than the preset number, then the data packet to be retransmitted is determined to be a data packet with a number greater than the maximum number and less than or equal to the preset number.

9. The method according to claim 8, characterized in that, The first number information includes the first number of the data packet that was received within the first time period; The second numbering information includes the second number of the data packet initially received within the second time period and the third number of the data packet at the end of the receiving period; When the number of acknowledgment segments is greater than 1, determining the data packet to be retransmitted based on the first number information and at least one second number information stored in the target segment includes: Based on the first number information and the second number information, the data packets to be retransmitted are determined to be data packets with numbers set between the first number and the second number, and data packets with numbers set between the third number and the fourth number; The fourth number is the number of the data packet initially received in the next second time period.

10. The method according to any one of claims 6 to 9, characterized in that, The method further includes: If a data packet with a preset number is sent to the first device and the first message is not received after a preset time, the data packet with the preset number is retransmitted to the first device.

11. A data packet retransmission device, characterized in that, An apparatus for use in a first device, which receives data packets sent by a second device at a preset rate, comprising: A first sending module is configured to send a first message to a second device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets; The first receiving module is configured to receive retransmission data packets sent by the second device, wherein the retransmission data packets include the data packets indicated by the first message; The first message includes an ACK message, which is a message obtained by adding a target segment to the ETH segment in the RDMA format message; the target segment also includes the number of acknowledgment segments of the received data packet, and one acknowledgment segment corresponds to a time period.

12. A data packet retransmission device, characterized in that, Applied to a second device, the second device sends data packets to the first device at a preset rate, the apparatus comprising: The second receiving module is used to receive a first message sent by the first device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets; The determination module is used to determine the data packet to be retransmitted, wherein the data packet to be retransmitted includes the data packet indicated by the first message; The second sending module is used to send the data packet to be retransmitted to the first device; The first message includes an ACK message, which is a message obtained by adding a target segment to the ETH segment in the RDMA format message; the target segment also includes the number of acknowledgment segments of the received data packet, and one acknowledgment segment corresponds to a time period.

13. A first device, comprising: A transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor; characterized in that the transceiver is used for: a first device to receive data packets transmitted by a second device at a preset rate; A first message is sent to the second device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received from the second device, and the first message is used to indicate lost data packets; Receive retransmission data packets sent by the second device, wherein the retransmission data packets include the data packets indicated by the first message; The first message includes an ACK message, which is a message obtained by adding a target segment to the ETH segment in the RDMA format message; the target segment also includes the number of acknowledgment segments of the received data packet, and one acknowledgment segment corresponds to a time period.

14. A second device, comprising: A transceiver, a memory, a processor, and a computer program stored in the memory and executable on the processor; characterized in that the transceiver is used for: a second device to send data packets to a first device at a preset rate; The first message is received from the first device based on whether a preset condition is met, wherein the preset condition is associated with at least one of the cumulative reception time and cumulative reception quantity of data packets received by the first device, and the first message is used to indicate lost data packets; The processor is used for: The data packet to be retransmitted is determined, and the data packet to be retransmitted includes the data packet indicated by the first message; The transceiver is used for: Send the data packet to be retransmitted to the first device; The first message includes an ACK message, which is a message obtained by adding a target segment to the ETH segment in the RDMA format message; the target segment also includes the number of acknowledgment segments of the received data packet, and one acknowledgment segment corresponds to a time period.

15. A computer-readable storage medium for storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the data packet retransmission method as described in any one of claims 1 to 5, or implements the steps of the data packet retransmission method as described in any one of claims 6 to 10.

16. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of the data packet retransmission method as described in any one of claims 1 to 5, or implement the steps of the data packet retransmission method as described in any one of claims 6 to 10.