[go: up one dir, main page]

CN119814233B - An active packet loss recovery method for weak network environments - Google Patents

An active packet loss recovery method for weak network environments

Info

Publication number
CN119814233B
CN119814233B CN202411851127.4A CN202411851127A CN119814233B CN 119814233 B CN119814233 B CN 119814233B CN 202411851127 A CN202411851127 A CN 202411851127A CN 119814233 B CN119814233 B CN 119814233B
Authority
CN
China
Prior art keywords
packet
packet loss
packets
active
loss rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202411851127.4A
Other languages
Chinese (zh)
Other versions
CN119814233A (en
Inventor
单丹枫
王清楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202411851127.4A priority Critical patent/CN119814233B/en
Publication of CN119814233A publication Critical patent/CN119814233A/en
Application granted granted Critical
Publication of CN119814233B publication Critical patent/CN119814233B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种面向弱网环境的主动丢包恢复方法,包括:(1)由估算丢包率模块和主动重传模块构成的主动丢包恢复框架,估算丢包率模块用来计算丢包率,主动重传模块用来进行主动丢包恢复;(2)服务器端收到一个ACK报文时,估算丢包率模块根据ACK报文的包号和此时的丢包总数计算出丢包率;(3)主动重传模块根据估算丢包率模块计算出的丢包率计算主动重传的包数,并进行主动重传。本发明解决传统的TCP在弱网环境下的性能较差,无法获取到充分的数据传输信息,无法准确地进行丢包检测和丢包恢复等问题,提供一种面向弱网环境的主动丢包恢复方法。

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.

Description

Active packet loss recovery method oriented to weak network environment
Technical Field
The invention belongs to the technical field of network communication, and particularly relates to an active packet loss recovery method for a weak network environment.
Background
With the rapid development of the internet in the 70 s of the 20 th century, the internet has now become a diversified, intelligent and globalized network platform. In the internet, wireless networks have been applied in a large number of scenarios because of their advantages of strong mobility and easy deployment, and there is a trend to gradually replace wired networks in the transmission of the last hop. Users can interact with each other through different wireless network devices of the network service provider.
But the transmission quality of the wireless network is interfered by various factors, such as the number of clients, signal quality, obstacle interference, etc., under the interference of these factors, clients often have scenes in which the quality of the network is weaker when using the wireless network. In a weak network environment, the network needs of the user cannot be satisfied by the wireless network. Since the TCP protocol is the underlying transport protocol, its transmission time is important for wireless network service performance. The significant degradation of TCP transmission performance is mostly caused by packet loss, so access delay is greatly increased. Meanwhile, the traditional TCP has poor performance in a weak network environment and is mainly characterized in that sufficient data transmission information cannot be acquired, so that packet loss detection and packet loss recovery cannot be accurately performed.
In summary, by analyzing the wireless network data, the network packet loss phenomenon is serious in the transmission process, and the transmission time is obviously increased by the TCP low-efficiency packet loss recovery mechanism. Therefore, the invention provides a more efficient active packet loss recovery method by attempting to estimate the packet loss probability in the weak network environment so as to accelerate the packet loss recovery. The method performs active recovery prior to fast recovery or timeout retransmission.
Disclosure of Invention
The invention aims to overcome the defects in the prior art, solve the problems that the traditional TCP has poor performance in the weak network environment, cannot acquire sufficient data transmission information, cannot accurately perform packet loss detection and packet loss recovery and the like, and provide an active packet loss recovery method for the weak network environment.
The invention is realized by adopting the following technical scheme:
The active packet loss recovery method for the weak network environment is characterized by comprising two parts, namely a packet loss estimation module and an active retransmission module. The packet loss rate estimating module estimates the packet loss rate by analyzing and collecting network state parameters, if the packet loss rate is greater than a certain threshold value, the number of the next packet needing one active retransmission is calculated through an active retransmission algorithm, and the packet is transmitted for a plurality of times when the next packet is transmitted;
The method comprises the following steps:
Step1, a server sends a data packet, and at the moment, records the packet number Packetnumber of the data packet and the number totalPacketsSent of the sent data packet when sending the data packet;
step 2, storing the recorded package numbers and package numbers in a structure body, connecting different package numbers by using a linked list, and recording and storing according to the package numbers from small to large;
Step3, waiting for the ACK message of the client, and recording the confirmed maximum packet number largestAckNumber and the total lost packet number lostStart according to the received ACK message;
step 4, waiting for the next ACK message, and recording the confirmed maximum packet number largestAckNumber and the total lost packet number lostEnd again according to the received ACK message;
Step 5, calculating the total lost packet number tempPacketsMarkedLost between two ACK messages received by the server side through the recorded packet numbers and the total lost packet numbers corresponding to the packet numbers;
step 6, the total number of the transmitted packets is calculated when the transmitted packets are searched in sequence in a linked list which records the packet numbers and the total number of the transmitted packets, and the total number TEMPPACKETSSENT of the packets transmitted between the two packets by the server side is calculated;
step 7, calculating a real-time packet loss rate lossrate;
step 8, calculating an average packet loss rate avg_ lossrate;
Step 9, transmitting the estimated packet loss rate to an active retransmission module, wherein the active retransmission module determines how many identical packets are transmitted once and performs active retransmission;
and step 10, the data of the confirmed maximum packet number and the total number of lost packets recorded for the second time are covered to the first time.
The method comprises the following steps:
Step1, a server sends a data packet, and at the moment, records the packet number Packetnumber of the data packet and the number totalPacketsSent of the sent data packet when sending the data packet;
step 2, storing the recorded package numbers and package numbers in a structure body, connecting different package numbers by using a linked list, and recording and storing according to the package numbers from small to large;
Step3, waiting for the ACK message of the client, and recording the confirmed maximum packet number largestAckNumber and the total lost packet number lostStart according to the received ACK message;
step 4, waiting for the next ACK message, and recording the confirmed maximum packet number largestAckNumber and the total lost packet number lostEnd again according to the received ACK message;
Step 5, calculating the total lost packet number tempPacketsMarkedLost between two ACK messages received by the server side through the recorded packet numbers and the total lost packet numbers corresponding to the packet numbers;
step 6, the total number of the transmitted packets is calculated when the transmitted packets are searched in sequence in a linked list which records the packet numbers and the total number of the transmitted packets, and the total number totalPacketsSent of the packets transmitted between the two packets by the server side is calculated;
step 7, calculating a real-time packet loss rate lossrate;
step 8, calculating an average packet loss rate avg_ lossrate;
Step 9, transmitting the estimated packet loss rate to an active retransmission module, wherein the active retransmission module determines how many identical packets are transmitted once and performs active retransmission;
and step 10, the data of the confirmed maximum packet number and the total number of lost packets recorded for the second time are covered to the first time.
Step 2 comprises the following steps:
Step 2.1, initializing a structural body ARlost;
Step 2.2, save packet number Packetnumber and already sent packet number totalPacketsSent;
Step 2.3, pointing the next pointer of the last structure body to the node;
and 2.4, setting a next pointer of the node to NULL.
Step 3 comprises the following steps:
step 3.1, waiting for the ACK message of the client, if not receiving the ACK message, entering the step 3.2, and if receiving the ACK message, entering the step 3.3;
step 3.2, waiting for an ACK message, and normally transmitting a packet in the period;
Step 3.3, recording the confirmed maximum packet number largestAckNumber1;
And 3.4, recording the total packet loss number lostStart at the moment.
Step 4 comprises the steps of:
Step 4.1, waiting for the ACK message of the client, if the ACK message is the first ACK message received by the server, entering step 4.2, and if the ACK message is not the first ACK message received by the server, entering step 4.3;
Step 4.2, waiting for the next ACK message, and normally sending a packet in the period;
step 4.3, recording the confirmed maximum packet number largestAckNumber2;
and 4.4, recording the total packet loss number lostEnd at the moment.
And 5, calculating the difference between the total number of lost packets of the server side and the total number of lost packets recorded twice between the two ACK messages.
Step 6 comprises the steps of:
step 6.1, traversing the linked list, and searching the node where the confirmed maximum packet number largestAckNumber1 recorded by the ACK message is located for the first time;
Step 6.2, obtaining the number totalPacketsSent of transmitted packets saved by the node to be totalPacketsSentStart;
Step 6.3, continuously traversing the linked list, and searching the node where the confirmed maximum packet number largestAckNumber is located, which is recorded by the ACK message received for the first time;
Step 6.4, obtaining the number totalPacketsSent of transmitted packets saved by the node to be totalPacketsSentEnd;
step 6.5, calculating the difference of the total number of the packets sent by the server end between the receipt of two ACK messages and the total number of the packets obtained from the linked list for two times;
And 6.6, releasing nodes smaller than largestAckNumber package numbers.
And 7, calculating the real-time packet loss rate as the ratio of the total number of lost packets to the total number of transmitted packets.
And 8, calculating an average packet loss rate according to different weights by the average packet loss rate and the real-time packet loss rate, wherein w is a set weight parameter, and adjusting the size of the weight parameter according to the sensitivity of different streams to packet loss, and defaulting to 0.5.
Step 9 comprises the steps of:
Step 9.1, judging whether the packet loss rate exceeds a packet loss threshold value threshold, if not, entering step 9.2, and if so, entering step 9.3;
Step 9.2, obtaining the number of the packet waiting to be sent and other related information, constructing the packet and normally sending the packet, and sending the packet only once;
step 9.3, the active recovery module calculates the transmission times of the next packet, and circularly constructs the same packet and transmits the same packet for a plurality of times;
And 9.4, after successful transmission, updating the time measurement (such as round trip time RTT, retransmission timeout time RTO and the like) related to the packet loss timeout.
Aiming at the problems that the traditional TCP has poor performance in the weak network environment and cannot accurately perform packet loss detection, packet loss recovery and the like, the invention provides an active packet loss recovery method for the weak network environment, which can reduce random packet loss in the weak network environment, perform accurate packet loss detection and packet loss recovery and meet the network requirements of users.
Drawings
Fig. 1 is a schematic diagram of an overall frame of an active packet loss recovery method for a weak network environment
Fig. 2 is a schematic diagram of a block diagram of estimating packet loss rate
Fig. 3 is a schematic diagram of an active retransmission module
Detailed Description
In order to make the purpose and technical scheme of the invention clearer and easier to understand. The invention is described in further detail below with reference to the drawings, wherein the specific embodiments are for the purpose of illustrating the invention only and not for the purpose of limiting the same.
The invention provides an active packet loss recovery method for a weak network environment. The basic idea of the invention is to estimate the packet loss rate in advance and actively retransmit, calculate the packet loss rate under the current network according to the wireless network communication parameters to measure the current network state, and actively recover the packet loss before the packet loss, thereby realizing accurate retransmission and not wasting network resources. In the running process, the invention updates the packet loss rate in real time based on the QUIC flow, and instantly adjusts the number of actively retransmitted packets, thereby not affecting network congestion, but also rapidly recovering the actively lost packets before overtime.
The system structure of the invention is as follows
Shown in fig. 1. The invention comprises two parts, namely a packet loss rate estimation module and an active retransmission module. And estimating the packet loss rate by analyzing the collected QUIC flow parameters, calculating the number of packets to be actively retransmitted next according to the packet loss rate, and taking the number as a packet loss threshold value, if the estimated packet loss rate exceeds the threshold value, transmitting the next packet for a plurality of times by an active recovery module, and if the estimated packet loss rate does not exceed the threshold value, transmitting the next packet only once.
1. Module for estimating packet loss rate
In order to realize fast sensing and retransmission of lost packets in a weak network environment, the number of total transmitted packets, the number of total lost packets and the packet number in the transmission process are taken as important bases for estimating the packet loss rate, and the calculation of the packet loss rate is divided into two parts, namely real-time packet loss rate (lossrate) calculation and average packet loss rate (avg_ lossrate) calculation, which are specific details (such as the following (additional information)
Fig. 2):
(1) Real-time packet loss rate
The real-time packet loss rate calculation does not use the fixed packet number as a calculation period, and therefore the fixed packet number is not used as a calculation period, because the sliding window can be adjusted in real time according to the network condition, the maximum acknowledgement packet number received by the opposite terminal returns at an unpredictable interval, and the one-time packet loss rate can not be calculated according to the fixed packet number in some cases. The method is characterized in that when a packet is transmitted, the packet number of each transmitted packet and the total number of transmitted packets when the packet is transmitted are recorded, the packets are stored in a structure body, the structure body is connected into a linked list by a pointer, the packet number confirmed by the opposite terminal is continuously changed in the process of continuously transmitting the packet, the maximum packet number confirmed by the opposite terminal is updated to be a calculation period, when the packet number confirmed by the opposite terminal is updated, the transmitted packet number consistent with the confirmed packet number is found according to the maximum packet number confirmed by the opposite terminal, the total number of transmitted packets when the packet number is transmitted is read (totalPacketsSentStart), and the total number of lost packets at the moment is recorded (lostStart). When the next opposite end confirms that the packet number changes, the sending packet number consistent with the confirmation packet number is found, the total number of the sending packets when the packet number is sent is read (totalPacketsSentEnd), the total number of the sending packets between the two packets is calculated, and the total number of the sending packets between the two packets is subtracted to obtain the total number of the sending packets between the two packets (tempPacketsMarkedLost). Recording the total number of lost packets (lostEnd) at the moment, and calculating the total number of lost packets between two confirmation packet numbers, wherein the ratio of the total number of lost packets to the total number of transmitted packets is the real-time packet loss rate.
The following steps are needed to be executed to estimate the real-time packet loss rate:
step 1, a server sends a data packet, at the moment, records the packet number of the data packet and the number of the data packet sent when the data packet is sent, stores the data packet in a structure body, and records and stores the data packet according to the packet number from small to large;
Step 2, waiting for the ACK message of the client, and recording the confirmed maximum packet number and the total packet loss according to the received ACK message;
Step 3, waiting for the next ACK message, and recording the confirmed maximum packet number and the total lost packet again according to the received ACK message;
step 4, calculating a real-time packet loss rate lossrate;
Further, step1 includes the steps of:
step 1.1, initializing a structural body ARlost;
Step 1.2, saving the number of the packets and the number of the transmitted packets, which are respectively recorded as ARlost-Packetnumber and ARlost-totalPacketSent;
further, ARlost → Packetnumber is derived from the following formula:
ARlost→Packetnumber=conn.Packetnumber (1)
Wherein conn is the identity of the QUIC connection, which is a single session procedure between two QUIC endpoints. The establishment of the QUIC connection involves version negotiation of the encryption algorithm with the transport layer handshake to reduce latency. The QUIC connection provides flow multiplexing, flow and connection level flow control, low latency connection setup, connection migration and NAT rebinding flexibility, and authentication, preserving a number of network basic parameters including packet numbers.
Further, ARlost → totalPacketsSent is derived from the following formula:
ARlost→totalPacketsSent=conn.totalPacketsSent (2)
Step 1.3, pointing the next pointer of the last structure body to the node;
Further, the next pointer of the last structure is updated according to the following formula:
p→next=ARlost (3)
Where p is the pointer to the last node of the linked list.
And 1.4, setting a next pointer of the node to NULL.
Further, the next pointer of the node is updated according to the following formula:
ARlost→next=NULL (4)
further, step2 includes the steps of:
Step 2.1 obtaining the maximum packet number largestAckNumber, largestAckNumber1 that has been confirmed is obtained by:
largestAckNumber1=conn.largstAcked (5)
Step 2.2, obtaining the total number of lost packets lostStart, lostStart, wherein the total number of lost packets is obtained by the following formula:
lostStart=conn.totalPacketsLost (6)
further, step 3 is similarly followed to yield largestAckNumber and LostEnd;
Further, step4 includes the steps of:
step 4.1, calculating the total lost packet tempPacketsMarkedLost, tempPacketsMarkedLost of the server side between two received ACK messages according to the recorded packet numbers and the total lost packet numbers corresponding to the packet numbers, wherein the total lost packet number tempPacketsMarkedLost, tempPacketsMarkedLost is calculated by the following formula:
tempPacketsMarkedLost=lostEnd-lostStart (7)
Step 4.2, the total number of the transmitted packets is calculated when the transmitted packets are searched in sequence in a linked list which records the packet numbers and the total number of the transmitted packets, and the total number TEMPPACKETSSENT, TEMPPACKETSSENT of the packets transmitted by the server end between the two packets is calculated by the following formula:
tempPacketsSent=totalPacketsSentEnd-totalPacketsSentStart (8)
further, totalPacketsSentStart is the total number of transmission packets stored in the node corresponding to the packet number largestAckNumber, and totalPacketsSentEnd is the total number of transmission packets stored in the node corresponding to the packet number largestAckNumber 2.
Step 4.3, calculating a real-time packet loss rate lossrate and lossrate according to the following formula:
(2) Average packet loss rate
And calculating the average packet loss rate of the flow according to the real-time packet loss rate of the flow. The average packet loss rate avg_ lossrate is obtained by iteration according to different weights from the real-time packet loss rate lossrate, wherein w is a set weight parameter, and the size of the average packet loss rate avg_ lossrate is adjusted according to the sensitivity of different streams to packet loss.
Further, avg_ lossrate is obtained by the following formula:
avg_lossrate=(1-w)·avg_lossrate+w·lossrate (10)
2. Active retransmission module
After the average packet loss rate is calculated by the packet loss rate estimation module, the active retransmission module determines how many identical packets (such as attached packets) are to be transmitted once
Fig. 3), active retransmission is performed, requiring the following steps to be performed:
Step 1, when a server sends a data packet, firstly writing data into a socket, and creating a batch writer for convenient writing;
step 2, judging whether the buffer area has data or not, if not, step 3, and if so, entering step 4;
Step 3, proving that no data packet needs to be transmitted, and directly ending the sending flow;
Step 4, sequentially obtaining the packet number of the waiting packet and other related information, judging whether the packet loss rate exceeds a packet loss threshold, if not, entering step 5, and if so, entering step 6;
step 5, obtaining the number of the packet waiting to be sent and other related information, constructing the packet and normally sending the packet, and sending the packet only once;
step 6, the active recovery module calculates the sending times of the next packet, and circularly constructs the same packet and sends the same packet for a plurality of times;
Step 7, judging whether the package is constructed successfully after the transmission is completed, if not, entering step 8, and if so, entering step 9;
Step8, jumping out of circulation after reporting errors;
step 9, updating the connection related state (such as written bit value, total number of transmitted packets, etc.).
Further, the active retransmission module in step 6 determines how many identical packets are to be transmitted at a time according to the following formula:
n=max(logavg_lossratethreshold,1) (11)
wherein n is the number of packets sent at one time, if the threshold is exceeded, the active recovery module sends the next packet n times, and if the threshold is not exceeded, the active recovery module sends the next packet only once.
The foregoing description of the specific embodiments of the invention and the accompanying drawings has been disclosed for illustrative purposes only, and is for the purpose of aiding in the understanding of the invention and its contents and for the practice thereof, it will be understood by those skilled in the art that various alternatives, modifications and variations are possible without departing from the spirit and scope of the invention and the appended claims. The invention should not be limited to the embodiments disclosed in the specification and the drawings, but the scope of the invention is defined by the claims.

Claims (8)

1.一种面向弱网环境的主动丢包恢复方法,其特征于包括两个部分:估算丢包率模块和主动重传模块,估算丢包率模块通过分析收集到网络状态参数估计丢包率,如果丢包率大于某个阈值,则经主动重传算法计算算出下一个包需要一次主动重传的个数,在下一个包发送时将该包发送多次;1. An active packet loss recovery method for 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. 包括以下步骤:The following steps are involved: 步骤1:服务器端发送一个数据包,此时记录该包包号Packetnumber和发送此包时已经发送的包数totalPacketsSent;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. 步骤2:将记录的包号和包数保存在一个结构体里,不同包号之间用链表连接,按包号从小到大记录保存;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; 步骤3:等待客户端的ACK报文,根据收到的ACK报文,记录已经确认的最大包号largestAckNumber1和丢包总数lostStart;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). 步骤4:等待下一个ACK报文,根据收到的ACK报文,再次记录已经确认的最大包号largestAckNumber2和丢包总数lostEnd;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). 步骤5:通过记录的包号和与包号对应的丢包总数,计算出服务器端在收到两个ACK报文之间所丢失的包总数tempPacketsMarkedLost;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. 步骤6:记录了包号和发送包总数的链表里按序查找发送包时发送包总数,计算出服务器端在发送这两个包之间所发送的包的总数tempPacketsSent;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; 步骤7:计算实时丢包率lossrate;Step 7: Calculate the real-time packet loss rate lossrate; 步骤8:计算平均丢包率avg_lossrate;计算平均丢包率由平均丢包率本身和实时丢包率按不同权重计算得出,w为设定的权重参数,根据不同流对丢包的敏感程度调整其大小,默认为0.5;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. 步骤9:将平均丢包率传输到主动重传模块,主动重传模块确定一次要发送多少个相同的包,进行主动重传;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; 步骤10:将第二次记录的已经确认的最大包号和丢包总数的数据覆盖至第一次。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. 2.根据权利要求1所述的面向弱网环境的主动丢包恢复方法,其特征在于步骤2包括以下步骤:2. The active packet loss recovery method for a weak network environment according to claim 1, wherein step 2 comprises the following steps: 步骤2.1:初始化一个结构体ARlost;Step 2.1: Initialize a structure ARlost; 步骤2.2:保存包号Packetnumber和已经发送的包数totalPacketsSent;Step 2.2: Save the packet number Packetnumber and the number of packets sent totalPacketsSent; 步骤2.3:将上一个结构体的next指针指向本节点;Step 2.3: Set the next pointer of the previous structure to point to this node; 步骤2.4:将本节点的next指针设置为NULL。Step 2.4: Set the next pointer of this node to NULL. 3.根据权利要求1所述的面向弱网环境的主动丢包恢复方法,其特征在于步骤3包括以下步骤:3. The active packet loss recovery method for a weak network environment according to claim 1, wherein step 3 comprises the following steps: 步骤3.1:等待客户端的ACK报文,若未收到ACK报文,则进入步骤3.2,若收到ACK报文,则进入步骤3.3;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. 步骤3.2:等待ACK报文,在此期间正常发包;Step 3.2: Wait for the ACK message and send packets normally during this period; 步骤3.3:记录已经确认的最大包号largestAckNumber1;Step 3.3: Record the largest confirmed packet number, largestAckNumber1; 步骤3.4:记录此时的丢包总数lostStart。Step 3.4: Record the total number of lost packets at this time, lostStart. 4.根据权利要求1所述的面向弱网环境的主动丢包恢复方法,其特征在于步骤4包括以下步骤:4. The active packet loss recovery method for a weak network environment according to claim 1, wherein step 4 comprises the following steps: 步骤4.1:等待客户端的ACK报文,若该ACK报文是服务器端收到的第一个ACK报文,则进入步骤4.2,若该ACK报文不是服务器端收到的第一个ACK报文,则进入步骤4.3;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. 步骤4.2:等待下一个ACK报文,在此期间正常发包;Step 4.2: Wait for the next ACK message and send packets normally during this period; 步骤4.3:记录已经确认的最大包号largestAckNumber2;Step 4.3: Record the largest confirmed packet number, largestAckNumber2; 步骤4.4:记录此时的丢包总数lostEnd。Step 4.4: Record the total number of lost packets at this point (lostEnd). 5.根据权利要求1所述的面向弱网环境的主动丢包恢复方法,其特征在于步骤5计算服务器端在收到两个ACK报文之间所丢失的包总数为两次记录的丢包总数之差。5. The active packet loss recovery method for a 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.根据权利要求1所述的面向弱网环境的主动丢包恢复方法,其特征在于步骤6包括以下步骤:6. The active packet loss recovery method for a weak network environment according to claim 1, wherein step 6 comprises the following steps: 步骤6.1:遍历链表,查找第一次收到ACK报文所记录的已经确认的最大包号largestAckNumber1所在的节点;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; 步骤6.2:获得该节点所保存的已经发送的包数totalPacketsSent,使其为totalPacketsSentStart;Step 6.2: Get the number of packets sent by the node, totalPacketsSent, and set it to totalPacketsSentStart; 步骤6.3:继续遍历链表,查找第一次收到ACK报文所记录的已经确认的最大包号largestAckNumber2所在的节点;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; 步骤6.4:获得该节点所保存的已经发送的包数totalPacketsSent,使其为totalPacketsSentEnd;Step 6.4: Get the number of packets sent saved by the node, totalPacketsSent, and set it to totalPacketsSentEnd; 步骤6.5:计算服务器端在收到两个ACK报文之间所发送的包总数为两次从链表中获得的发送总数之差;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; 步骤6.6:释放比largestAckNumber2包号数小的节点。Step 6.6: Release the node with a packet number smaller than largestAckNumber2. 7.根据权利要求1所述的面向弱网环境的主动丢包恢复方法,其特征在于步骤7计算实时丢包率为丢包总数与发送包总数之比。7. The active packet loss recovery method for a weak network environment according to claim 1, wherein 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.根据权利要求1所述的面向弱网环境的主动丢包恢复方法,其特征在于步骤9包括以下步骤:8. The active packet loss recovery method for a weak network environment according to claim 1, wherein step 9 comprises the following steps: 步骤9.1:判断丢包率是否超过丢包阈值threshold,若未超过阈值,则进入步骤9.2,若超过阈值,则进入步骤9.3;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. 步骤9.2:获得等待发送包的包号及其他相关信息,将包构建并正常发送,仅发送一次;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; 步骤9.3:主动恢复模块将计算下一个包发送次数,循环构建同一个包并一次发送多次;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; 步骤9.4:成功发送后,更新与丢包超时相关的时间度量,往返时间RTT,重传超时时间RTO。Step 9.4: After successful transmission, update the time metrics related to packet loss timeout, round-trip time RTT, and retransmission timeout RTO.
CN202411851127.4A 2024-12-16 2024-12-16 An active packet loss recovery method for weak network environments Active CN119814233B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411851127.4A CN119814233B (en) 2024-12-16 2024-12-16 An active packet loss recovery method for weak network environments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411851127.4A CN119814233B (en) 2024-12-16 2024-12-16 An active packet loss recovery method for weak network environments

Publications (2)

Publication Number Publication Date
CN119814233A CN119814233A (en) 2025-04-11
CN119814233B true CN119814233B (en) 2025-09-30

Family

ID=95267472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411851127.4A Active CN119814233B (en) 2024-12-16 2024-12-16 An active packet loss recovery method for weak network environments

Country Status (1)

Country Link
CN (1) CN119814233B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297346A (en) * 2013-06-12 2013-09-11 北京航空航天大学 TCP (Transmission Control Protocol) friendly rate control method based on ECN (Explicit Congestion Notification) mechanism
CN103391603A (en) * 2013-07-04 2013-11-13 苏州博联科技有限公司 Low power consumption transmission method for large data information in wireless sensor network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036101B2 (en) * 2006-05-08 2011-10-11 Samsung Electronics Co., Ltd Retransmission apparatus and method for high-speed data processing
CN102355462B (en) * 2011-10-09 2015-05-20 大唐移动通信设备有限公司 Method and device for realizing TCP (Transmission Control Protocol) transmission
CN105450357B (en) * 2014-09-24 2019-02-01 中兴通讯股份有限公司 Coding parameter adjustment, feedback information processing method and device
CN107204834B (en) * 2017-05-25 2020-07-07 复旦大学 A control method for reliable transmission of high-speed network based on UDT protocol
CN110247736B (en) * 2019-06-27 2022-04-22 北京奇艺世纪科技有限公司 Data transmission method and device
CN111200761B (en) * 2019-12-31 2025-09-16 上海悠络客电子科技股份有限公司 Method for retransmitting lost packet in real-time streaming media transmission system
CN113037440B (en) * 2021-05-25 2021-08-06 腾讯科技(深圳)有限公司 Data retransmission processing method, apparatus, computer equipment and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297346A (en) * 2013-06-12 2013-09-11 北京航空航天大学 TCP (Transmission Control Protocol) friendly rate control method based on ECN (Explicit Congestion Notification) mechanism
CN103391603A (en) * 2013-07-04 2013-11-13 苏州博联科技有限公司 Low power consumption transmission method for large data information in wireless sensor network

Also Published As

Publication number Publication date
CN119814233A (en) 2025-04-11

Similar Documents

Publication Publication Date Title
US11558302B2 (en) Data transmission method and apparatus
US7496036B2 (en) Method and apparatus for determining client-perceived server response time
CN107508655B (en) An Adaptive End-to-End Network Coding Transmission Method
JP5108244B2 (en) Communication terminal and retransmission control method
CN103986548B (en) A kind of method and terminal for determining packet loss reason
US20030023746A1 (en) Method for reliable and efficient support of congestion control in nack-based protocols
US20070223529A1 (en) Methods and apparatus for estimating bandwidth of a data network
CN108234087B (en) Data transmission method and sending end
US7593338B2 (en) Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol
TWI225349B (en) Methodology for improving TCP throughput over lossy communication links
KR100912178B1 (en) Congestion Control Method and Recording Media in Wireless Environment
CN114726933B (en) QUIC-based data transmission control method, system and equipment
CN110519175A (en) Information processing method and device and computer readable storage medium
WO2019144802A1 (en) Data transmission method and related device
CN119697100A (en) A data transmission method and system based on QUIC
US7168022B2 (en) Transmission control method and system
CN103647727A (en) Audio and video transmission control method and audio and video transmission control device
CN119814233B (en) An active packet loss recovery method for weak network environments
CN103891207A (en) Systems and methods for network quality estimation, connectivity detection, and load management
CN112203328B (en) Congestion control method and device based on DCCP (distributed control protocol) and electronic equipment
CN113424578A (en) Transmission control protocol acceleration method and device
Rohrer et al. Performance and disruption tolerance of transport protocols for airborne telemetry networks
Bassil TCP congestion control scheme for wireless networks based on tcp reserved field and snr ratio
CN118381839A (en) Computer device and transmission control protocol message processing method thereof
JP3741421B2 (en) Data communication method and communication terminal device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant