An active packet loss recovery method for weak network environments

Through the packet loss rate estimation module and the active retransmission module, the packet loss detection and recovery problems of traditional TCP in weak network environments are solved, and fast and accurate packet loss recovery is achieved in wireless networks to meet user needs.

CN119814233BActive Publication Date: 2025-09-30XI AN JIAOTONG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411851127.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-16
Publication Date
2025-09-30
Estimated Expiration
2044-12-16

AI Technical Summary

Technical Problem

Traditional TCP performs poorly in weak network environments and cannot accurately detect and recover packet loss, resulting in increased transmission time and failure to meet user network needs.

Method used

The packet loss rate estimation module and the active retransmission module are used to estimate the packet loss rate by analyzing the network status parameters, and actively retransmit before the packet is lost. The packet loss rate is updated in real time using the QUIC stream to adjust the number of actively retransmitted packets to achieve accurate retransmission.

Benefits of technology

Reduce random packet loss in weak network environments, achieve accurate packet loss detection and recovery, meet users' network needs, and reduce network resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814233B_ABST
    Figure CN119814233B_ABST
Patent Text Reader

Abstract

The present invention discloses an active packet loss recovery method for a weak network environment, comprising: (1) an active packet loss recovery framework consisting of a packet loss rate estimation module and an active retransmission module, wherein the packet loss rate estimation module is used to calculate the packet loss rate, and the active retransmission module is used to perform active packet loss recovery; (2) when a server receives an ACK message, the packet loss rate estimation module calculates the packet loss rate based on the packet number of the ACK message and the total number of lost packets at that time; (3) the active retransmission module calculates the number of packets to be actively retransmitted based on the packet loss rate calculated by the packet loss rate estimation module, and performs active retransmission. The present invention solves the problems of poor performance of traditional TCP in a weak network environment, inability to obtain sufficient data transmission information, inability to accurately perform packet loss detection and packet loss recovery, and provides an active packet loss recovery method for a weak network environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of network communications, and in particular relates to an active packet loss recovery method for a weak network environment. Background Art

[0002] With the rapid development of the internet in the 1970s, it has now become a diverse, intelligent, and global network platform. Wireless networks, due to their advantages such as high mobility and ease of deployment, have been applied in a wide range of scenarios and are gradually replacing wired networks in last-hop transmission. Users can interact with each other through different wireless network devices provided by Internet service providers.

[0003] However, wireless network transmission quality is affected by a variety of factors, such as the number of clients, signal quality, and obstruction interference. These factors often cause clients to experience poor network quality when using wireless networks. In weak network environments, users' network needs cannot be met by the wireless network. Because TCP is the underlying transmission protocol, its transmission time is crucial to wireless network service performance. Significant degradation in TCP transmission performance is often caused by packet loss, significantly increasing access latency. Furthermore, traditional TCP performs poorly in weak network environments, primarily due to an inability to obtain sufficient data transmission information, resulting in inaccurate packet loss detection and recovery.

[0004] In summary, analysis of wireless network data reveals significant packet loss during transmission, and TCP's inefficient packet loss recovery mechanism significantly increases transmission time. Therefore, this paper attempts to estimate the probability of packet loss in weak network environments to accelerate packet loss recovery, and proposes a more efficient active packet loss recovery method. This method performs active recovery before fast recovery or timeout retransmission. Summary of the Invention

[0005] The purpose of the present invention is to overcome the above-mentioned deficiencies in the prior art, to speed up packet loss recovery, to solve the problems of poor performance of traditional TCP in weak network environments, inability to obtain sufficient data transmission information, inability to accurately perform packet loss detection and packet loss recovery, and so on, and to provide an active packet loss recovery method for weak network environments.

[0006] The present invention is implemented by the following technical solutions:

[0007] A method for active packet loss recovery in weak network environments, characterized by comprising two components: a packet loss rate estimation module and an active retransmission module. The packet loss rate estimation module estimates the packet loss rate by analyzing collected network status parameters. If the packet loss rate exceeds a certain threshold, an active retransmission algorithm is used to calculate the number of active retransmissions required for the next packet, and the next packet is sent multiple times.

[0008] The following steps are involved:

[0009] Step 1: The server sends a data packet and records the packet number Packetnumber and the total number of packets sent when sending this packet.

[0010] Step 2: Save the recorded packet number and number of packets in a structure, connect different packet numbers with a linked list, and save them in ascending order of packet number;

[0011] Step 3: Wait for the client's ACK message. Based on the received ACK message, record the largest confirmed packet number (largestAckNumber1) and the total number of lost packets (lostStart).

[0012] Step 4: Wait for the next ACK message. Based on the received ACK message, record the largest confirmed packet number (largestAckNumber2) and the total number of lost packets (lostEnd).

[0013] Step 5: Calculate the total number of packets lost between receiving two ACK messages on the server side (tempPacketsMarkedLost) by recording the packet number and the total number of lost packets corresponding to the packet number.

[0014] Step 6: Search the linked list that records the packet number and the total number of packets sent in sequence, and calculate the total number of packets sent by the server between the two packets, tempPacketsSent;

[0015] Step 7: Calculate the real-time packet loss rate lossrate;

[0016] Step 8: Calculate the average packet loss rate avg_lossrate;

[0017] Step 9: The estimated packet loss rate is transmitted to the active retransmission module, which determines how many identical packets to send at a time and performs active retransmission;

[0018] Step 10: Overwrite the data of the maximum confirmed packet number and total number of lost packets recorded for the second time with the data recorded for the first time.

[0019] The following steps are involved:

[0020] Step 1: The server sends a data packet and records the packet number Packetnumber and the total number of packets sent when sending this packet.

[0021] Step 2: Save the recorded packet number and number of packets in a structure, connect different packet numbers with a linked list, and save them in ascending order of packet number;

[0022] Step 3: Wait for the client's ACK message. Based on the received ACK message, record the largest confirmed packet number (largestAckNumber1) and the total number of lost packets (lostStart).

[0023] Step 4: Wait for the next ACK message. Based on the received ACK message, record the largest confirmed packet number (largestAckNumber2) and the total number of lost packets (lostEnd).

[0024] Step 5: Calculate the total number of packets lost between receiving two ACK messages on the server side (tempPacketsMarkedLost) by recording the packet number and the total number of lost packets corresponding to the packet number.

[0025] Step 6: Search the linked list that records the packet number and the total number of packets sent in sequence when sending the packet, and calculate the total number of packets sent by the server between sending the two packets (totalPacketsSent);

[0026] Step 7: Calculate the real-time packet loss rate lossrate;

[0027] Step 8: Calculate the average packet loss rate avg_lossrate;

[0028] Step 9: The estimated packet loss rate is transmitted to the active retransmission module, which determines how many identical packets to send at a time and performs active retransmission;

[0029] Step 10: Overwrite the data of the maximum confirmed packet number and total number of lost packets recorded for the second time with the data recorded for the first time.

[0030] Step 2 includes the following steps:

[0031] Step 2.1: Initialize a structure ARlost;

[0032] Step 2.2: Save the packet number Packetnumber and the number of packets sent totalPacketsSent;

[0033] Step 2.3: Set the next pointer of the previous structure to point to this node;

[0034] Step 2.4: Set the next pointer of this node to NULL.

[0035] Step 3 includes the following steps:

[0036] Step 3.1: Wait for the client's ACK message. If no ACK message is received, proceed to step 3.2. If an ACK message is received, proceed to step 3.3.

[0037] Step 3.2: Wait for the ACK message and send packets normally during this period;

[0038] Step 3.3: Record the largest confirmed packet number, largestAckNumber1;

[0039] Step 3.4: Record the total number of lost packets at this time, lostStart.

[0040] Step 4 includes the following steps:

[0041] Step 4.1: Wait for the client's ACK message. If the ACK message is the first ACK message received by the server, proceed to step 4.2. If the ACK message is not the first ACK message received by the server, proceed to step 4.3.

[0042] Step 4.2: Wait for the next ACK message and send packets normally during this period;

[0043] Step 4.3: Record the largest confirmed packet number, largestAckNumber2;

[0044] Step 4.4: Record the total number of lost packets at this point (lostEnd).

[0045] In step 5, the total number of packets lost by the server between receiving two ACK messages is calculated as the difference between the total number of packet losses recorded in the two times.

[0046] Step 6 includes the following steps:

[0047] Step 6.1: Traverse the linked list and find the node where the largest confirmed packet number largestAckNumber1 is recorded when the ACK message is received for the first time;

[0048] Step 6.2: Get the number of packets sent by the node, totalPacketsSent, and set it to totalPacketsSentStart;

[0049] Step 6.3: Continue traversing the linked list and find the node where the largest confirmed packet number, largestAckNumber2, is recorded when the ACK message is first received;

[0050] Step 6.4: Get the number of packets sent saved by the node, totalPacketsSent, and set it to totalPacketsSentEnd;

[0051] Step 6.5: Calculate the total number of packets sent by the server between receiving the two ACK messages as the difference between the total number of packets sent twice obtained from the linked list;

[0052] Step 6.6: Release the node with a packet number smaller than largestAckNumber2.

[0053] The real-time packet loss rate calculated in step 7 is the ratio of the total number of lost packets to the total number of sent packets.

[0054] The average packet loss rate calculated in step 8 is obtained by calculating the average packet loss rate itself and the real-time packet loss rate according to different weights. w is the set weight parameter, which is adjusted according to the sensitivity of different flows to packet loss. The default value is 0.5.

[0055] Step 9 includes the following steps:

[0056] Step 9.1: Determine whether the packet loss rate exceeds the packet loss threshold. If it does not exceed the threshold, proceed to step 9.2. If it exceeds the threshold, proceed to step 9.3.

[0057] Step 9.2: Get the packet number and other related information of the packet waiting to be sent, build the packet and send it normally, only once;

[0058] Step 9.3: The active recovery module will calculate the number of times the next packet is sent, loop to build the same packet and send it multiple times at a time;

[0059] Step 9.4: After successful transmission, update the time metrics related to packet loss timeout (such as round-trip time RTT, retransmission timeout RTO, etc.).

[0060] Aiming at the problems that traditional TCP has poor performance in weak network environments and cannot accurately perform packet loss detection and packet loss recovery, the present invention makes improvements in packet loss recovery and proposes an active packet loss recovery method for weak network environments. This method can reduce random packet loss in weak network environments, perform accurate packet loss detection and packet loss recovery, and meet users' network needs. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] Figure 1 Schematic diagram of the overall framework of an active packet loss recovery method for weak network environments

[0062] Figure 2 Schematic diagram of the packet loss rate estimation module

[0063] Figure 3Schematic diagram of the active retransmission module DETAILED DESCRIPTION

[0064] In order to make the purpose and technical solution of the present invention clearer and easier to understand, the present invention is further described in detail below with reference to the accompanying drawings. The specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0065] The present invention proposes a method for active packet loss recovery in weak network environments. The basic idea of ​​the present invention is to estimate the packet loss rate in advance and actively retransmit. The packet loss rate under the current network is calculated based on the wireless network communication parameters to measure the current network status. The packet loss recovery is actively performed before the packet is lost, thereby achieving accurate retransmission without wasting network resources. During operation, the present invention updates the packet loss rate in real time based on the QUIC stream and instantly adjusts the number of packets actively retransmitted. This does not affect network congestion and can quickly perform active packet loss recovery before timeout.

[0066] The system structure of the present invention is shown in the attached

[0067] Figure 1 The present invention consists of two parts: a packet loss rate estimation module and an active retransmission module. By analyzing the collected QUIC stream parameters, the packet loss rate is estimated. Based on the packet loss rate, the number of packets to be actively retransmitted next time is calculated as the packet loss threshold. If the estimated packet loss rate exceeds the threshold, the active recovery module will send the next packet multiple times; if it does not exceed the threshold, it will only send it once.

[0068] 1. Packet loss rate estimation module

[0069] In order to achieve rapid perception and retransmission of packet loss in a weak network environment, the total number of packets sent, the total number of lost packets and the packet number during the transmission process are used as important basis for estimating the packet loss rate. The packet loss rate calculation will be divided into two parts: real-time packet loss rate (lossrate) calculation and average packet loss rate (avg_lossrate) calculation. The following are the specific details (see Appendix

[0070] Figure 2 shown):

[0071] (1) Real-time packet loss rate

[0072] The real-time packet loss rate calculation is not based on a fixed number of packets as the calculation period. This is because the sliding window adjusts in real time based on network conditions. The maximum confirmed packet number received by the peer end is returned at an unpredictable interval, and sometimes the packet loss rate cannot be calculated based on a fixed number of packets. The present invention solves the problem of being unable to predict the maximum confirmed packet number recorded by the peer end. The present invention solves this problem by recording the packet number of each sent packet and the total number of packets sent when the packet is sent. The records are stored in a structure, and the structures are connected to form a linked list using pointers. As packets are continuously sent, the packet number confirmed by the peer end changes continuously. The calculation period is based on the update of the maximum confirmed packet number by the peer end. When the packet number confirmed by the peer end is updated, the sending packet number that is consistent with the confirmed packet number is found based on the maximum confirmed packet number, the total number of packets sent when the packet number is sent (totalPacketsSentStart), and the total number of lost packets at this time (lostStart) is recorded. Wait until the next time the peer's confirmation packet number changes, then find the sent packet number that matches the confirmation packet number. Read the total number of packets sent when sending that packet number (totalPacketsSentEnd). First calculate the total number of packets sent between the two packets. Subtract the total number of packets sent between the two packets to get the total number of packets sent between the two packets (tempPacketsMarkedLost). Record the total number of lost packets at this time (lostEnd), then calculate the total number of lost packets between the two confirmation packet numbers. The ratio of the total number of lost packets to the total number of sent packets is the real-time packet loss rate.

[0073] Estimating the real-time packet loss rate requires the following steps:

[0074] Step 1: The server sends a data packet, records the packet number and the number of packets sent when sending this packet, and saves them in a structure, recording them in ascending order of packet number;

[0075] Step 2: Wait for the client's ACK message. Based on the received ACK message, record the maximum confirmed packet number and the total number of lost packets.

[0076] Step 3: Wait for the next ACK message. Based on the received ACK message, record the maximum confirmed packet number and the total number of lost packets again.

[0077] Step 4: Calculate the real-time packet loss rate lossrate;

[0078] Furthermore, step 1 includes the following steps:

[0079] Step 1.1: Initialize a structure ARlost;

[0080] Step 1.2: Save the packet number and the number of packets sent, recording them as ARlost→Packetnumber and ARlost→totalPacketSent respectively;

[0081] Furthermore, ARlost→Packetnumber is obtained from the following formula:

[0082] ARlost→Packetnumber=conn.Packetnumber (1)

[0083] "conn" identifies a QUIC connection, a single session between two QUIC endpoints. Establishing a QUIC connection involves negotiating the encryption algorithm version and performing a transport layer handshake to minimize latency. QUIC connections offer features such as stream multiplexing, stream and connection-level flow control, low-latency connection establishment, resilience to connection migration and NAT rebinding, and authentication. They also preserve several essential network parameters, including packet numbers.

[0084] Furthermore, ARlost→totalPacketsSent is obtained as follows:

[0085] ARlost→totalPacketsSent=conn.totalPacketsSent (2)

[0086] Step 1.3: Set the next pointer of the previous structure to point to this node;

[0087] Furthermore, the next pointer of the previous structure is updated as follows:

[0088] p→next=ARlost (3)

[0089] Here, p is a pointer to the last node in the linked list.

[0090] Step 1.4: Set the next pointer of this node to NULL.

[0091] Furthermore, the next pointer of this node is updated as follows:

[0092] ARlost→next=NULL (4)

[0093] Furthermore, step 2 includes the following steps:

[0094] Step 2.1: Get the largest confirmed packet number, largestAckNumber1. largestAckNumber1 is obtained by the following formula:

[0095] largestAckNumber1=conn.largstAcked (5)

[0096] Step 2.2: Get the total number of lost packets lostStart, which is obtained by the following formula:

[0097] lostStart=conn.totalPacketsLost (6)

[0098] Furthermore, in step 3, largestAckNumber2 and LostEnd are obtained in the same way;

[0099] Furthermore, step 4 includes the following steps:

[0100] Step 4.1: Calculate the total number of packets lost between receiving two ACK messages on the server side using the recorded packet numbers and the total number of lost packets corresponding to the packet numbers, tempPacketsMarkedLost. tempPacketsMarkedLost is calculated using the following formula:

[0101] tempPacketsMarkedLost=lostEnd-lostStart (7)

[0102] Step 4.2: Search the linked list that records the packet number and the total number of packets sent in sequence, and calculate the total number of packets sent by the server between the two packets, tempPacketsSent. tempPacketsSent is calculated by the following formula:

[0103] tempPacketsSent=totalPacketsSentEnd-totalPacketsSentStart (8)

[0104] Furthermore, totalPacketsSentStart is the total number of sent packets stored by the node corresponding to the packet number largestAckNumber1; similarly, totalPacketsSentEnd is the total number of sent packets stored by the node corresponding to the packet number largestAckNumber2.

[0105] Step 4.3: Calculate the real-time packet loss rate lossrate, which is obtained by the following formula:

[0106]

[0107] (2) Average packet loss rate

[0108] Based on the real-time packet loss rate of a flow, calculate the average packet loss rate of the flow. The average packet loss rate avg_lossrate is derived by iteratively adding itself and the real-time packet loss rate lossrate with different weights. Where w is the set weight parameter, which is adjusted according to the sensitivity of different flows to packet loss.

[0109] Furthermore, avg_lossrate is obtained as follows:

[0110] avg_lossrate=(1-w)·avg_lossrate+w·lossrate (10)

[0111] 2. Active retransmission module

[0112] After the estimated packet loss rate module calculates the average packet loss rate, the active retransmission module determines how many identical packets to send at a time (such as the attached

[0113] Figure 3 ), to perform active retransmission, the following steps need to be performed:

[0114] Step 1: When the server sends a data packet, it first writes the data to the socket and creates a batch writer to facilitate writing;

[0115] Step 2: Determine whether there is data in the buffer, if not, proceed to step 3, if yes, proceed to step 4;

[0116] Step 3: If there is no data packet to be transmitted, the sending process ends directly;

[0117] Step 4: Sequentially obtain the packet numbers and other related information of the packets waiting to be sent, and determine whether the packet loss rate exceeds the packet loss threshold. If it does not exceed the threshold, proceed to step 5; if it exceeds the threshold, proceed to step 6.

[0118] Step 5: Get the package number and other related information of the package waiting to be sent, build the package and send it normally, only once;

[0119] Step 6: The active recovery module will calculate the number of times the next packet is sent, cyclically construct the same packet and send it multiple times at a time;

[0120] Step 7: After sending, determine whether the package is built successfully. If not, proceed to step 8. If successful, proceed to step 9.

[0121] Step 8: Jump out of the loop after reporting an error;

[0122] Step 9: Update the connection related status (such as the bit value written, the total number of packets sent, etc.).

[0123] Furthermore, in step 6, the active retransmission module determines how many identical packets to send at a time according to the following formula:

[0124] n=max(log avg_lossrate threshold,1) (11)

[0125] Where n is the number of packets sent at one time. If it exceeds the threshold, the active recovery module will send the next packet n times. If it does not exceed the threshold, it will only send it once.

[0126] The above content discloses the specific embodiments and drawings of the present invention for illustrative purposes only, and its purpose is to help understand the content of the present invention and implement it accordingly. However, those skilled in the art should understand that various substitutions, changes and modifications are possible without departing from the spirit and scope of the present invention and the appended claims. The present invention should not be limited to the contents disclosed in the embodiments and drawings of this specification. The scope of protection claimed by the present invention shall be based on the scope defined in the claims.

Claims

1. A method for active packet loss recovery in a weak network environment, characterized in that It consists of two parts: a packet loss rate estimation module and an active retransmission module. The packet loss rate estimation module estimates the packet loss rate by analyzing the collected network status parameters. If the packet loss rate is greater than a certain threshold, the active retransmission algorithm calculates the number of active retransmissions required for the next packet and sends the packet multiple times when sending the next packet. The following steps are involved: Step 1: The server sends a data packet and records the packet number Packetnumber and the total number of packets sent when sending this packet. Step 2: Save the recorded packet number and number of packets in a structure, connect different packet numbers with a linked list, and save them in ascending order of packet number; Step 3: Wait for the client's ACK message. Based on the received ACK message, record the largest confirmed packet number (largestAckNumber1) and the total number of lost packets (lostStart). Step 4: Wait for the next ACK message. Based on the received ACK message, record the largest confirmed packet number (largestAckNumber2) and the total number of lost packets (lostEnd). Step 5: Calculate the total number of packets lost between receiving two ACK messages on the server side (tempPacketsMarkedLost) by recording the packet number and the total number of lost packets corresponding to the packet number. Step 6: Search the linked list that records the packet number and the total number of sent packets in order, and calculate the total number of packets sent by the server between the two packets, tempPacketsSent; Step 7: Calculate the real-time packet loss rate lossrate; Step 8: Calculate the average packet loss rate avg_lossrate. The average packet loss rate is calculated by weighting the average packet loss rate itself and the real-time packet loss rate. w is the set weight parameter, which is adjusted according to the sensitivity of different flows to packet loss. The default value is 0.

5. Step 9: The average packet loss rate is transmitted to the active retransmission module, which determines how many identical packets to send at a time and performs active retransmission; Step 10: Overwrite the data of the maximum confirmed packet number and total number of packet losses recorded for the second time with the data recorded for the first time.

2. The active packet loss recovery method for weak network environment according to claim 1 is characterized in that Step 2 includes the following steps: Step 2.1: Initialize a structure ARlost; Step 2.2: Save the packet number Packetnumber and the number of packets sent totalPacketsSent; Step 2.3: Set the next pointer of the previous structure to point to this node; Step 2.4: Set the next pointer of this node to NULL.

3. The active packet loss recovery method for weak network environment according to claim 1 is characterized in that Step 3 includes the following steps: Step 3.1: Wait for the client's ACK message. If no ACK message is received, proceed to step 3.

2. If an ACK message is received, proceed to step 3.

3. Step 3.2: Wait for the ACK message and send packets normally during this period; Step 3.3: Record the largest confirmed packet number, largestAckNumber1; Step 3.4: Record the total number of lost packets at this time, lostStart.

4. The active packet loss recovery method for weak network environment according to claim 1 is characterized in that Step 4 includes the following steps: Step 4.1: Wait for the client's ACK message. If the ACK message is the first ACK message received by the server, proceed to step 4.

2. If the ACK message is not the first ACK message received by the server, proceed to step 4.

3. Step 4.2: Wait for the next ACK message and send packets normally during this period; Step 4.3: Record the largest confirmed packet number, largestAckNumber2; Step 4.4: Record the total number of lost packets at this point (lostEnd).

5. The active packet loss recovery method for weak network environment according to claim 1 is characterized in that Step 5 calculates the total number of packets lost by the server between receiving two ACK messages as the difference between the total number of packet losses recorded in the two times.

6. The active packet loss recovery method for weak network environment according to claim 1 is characterized in that Step 6 includes the following steps: Step 6.1: Traverse the linked list and find the node where the largest confirmed packet number largestAckNumber1 is recorded when the ACK message is received for the first time; Step 6.2: Get the number of packets sent by the node, totalPacketsSent, and set it to totalPacketsSentStart; Step 6.3: Continue traversing the linked list and find the node where the largest confirmed packet number, largestAckNumber2, is recorded when the ACK message is first received; Step 6.4: Get the number of packets sent saved by the node, totalPacketsSent, and set it to totalPacketsSentEnd; Step 6.5: Calculate the total number of packets sent by the server between receiving the two ACK messages as the difference between the total number of packets sent twice obtained from the linked list; Step 6.6: Release the node with a packet number smaller than largestAckNumber2.

7. The active packet loss recovery method for weak network environment according to claim 1 is characterized in that Step 7 calculates the real-time packet loss rate as the ratio of the total number of lost packets to the total number of sent packets.

8. The active packet loss recovery method for weak network environment according to claim 1 is characterized in that Step 9 includes the following steps: Step 9.1: Determine whether the packet loss rate exceeds the packet loss threshold. If it does not exceed the threshold, proceed to step 9.

2. If it exceeds the threshold, proceed to step 9.

3. Step 9.2: Get the packet number and other related information of the packet waiting to be sent, build the packet and send it normally, only once; Step 9.3: The active recovery module will calculate the number of times the next packet is sent, loop to build the same packet and send it multiple times at a time; Step 9.4: After successful transmission, update the time metrics related to packet loss timeout, round-trip time RTT, and retransmission timeout RTO.