Cross-layer congestion control method based on 5G mobile network
Technical Field
The method relates to the field of transmission layer congestion control method improvement under 5G millimeter wave communication, and divides a data packet retransmission and congestion control method by improving a congestion control framework, and calculates a congestion window by utilizing information of a physical layer.
Background
5G millimeter wave communications provide a very link bandwidth, increasing the throughput of the network, but how to utilize these resources at higher layers remains an open research problem. One related problem is the high variability of the channel due to obstructions and obstructions to the human body, which affects the design of the congestion control mechanism of the transport layer, and the most advanced TCP schemes such as TCP CUBIC, TCPNewReno exhibit suboptimal performance due to the window following an "additive increase, multiplicative decrease" strategy. Meanwhile, the existing congestion control algorithm often regards random packet loss and packet reordering as network congestion in a high-delay bandwidth product network, so that a congestion window is unnecessarily reduced, and bandwidth cannot be fully utilized. A cross-layer method for improving a congestion control framework is provided, which divides a data packet retransmission and congestion control algorithm, and adjusts a TCP congestion window at a mobile device side by using available data rate estimation of a mmWave physical layer based on actual resource allocation and signal-to-interference-and-noise ratio.
Disclosure of Invention
The method provides a unified solution for the problems of data packet reordering and random packet loss, and can effectively distinguish the conditions of network congestion, data packet reordering and random packet loss, so that corresponding measures are taken, and the algorithm provides a cross-layer congestion control method based on a 5G mobile network, and simultaneously updates congestion window values by using data rates provided by millimeter wave links for fully utilizing available resources in a high-bandwidth network.
The invention adopts the technical scheme for solving the technical problems that:
a cross-layer congestion control method based on a 5G mobile network comprises the following steps:
step 1: defining a maximum record length MRRL of a storage RTT (Round Trip Time, loop response Time);
step 2: recording the time M from sending each data packet to returning the ACK confirmation packet, and calculating an estimated RTT;
step 3: defining retransmission estimation timer rde i For judging whether the data packet i needs to be retransmitted;
step 4: defining a congestion response estimate decision timer cde i Judging whether to start the congestion control mechanism;
step 5: since the value of RTT dynamically changes with time, in order to record the latest RTT sample, the oldest sample is discarded every time the total number of RTT samples stored exceeds MRRL, thus ensuring that the latest MRRL RTT samples are stored, and the RTT samples are sampled according to rde i And cde i Judging whether to count in the RTT storage sample;
step 6: each time an ACK acknowledgement is received, the signal-to-interference-and-noise ratio at the moment is obtained and is recorded as SINR, and the physical layer data rate is calculated as erate by utilizing a formula;
step 7: according to whether rde is met i ,cde i And SINR conditions, and calculating the value of the congestion window by using different formulas.
Further, in the step 2, the calculation formula of the estimated RTT is:
RTT(i+1)=αRTT(i)+(1-α)M
where α is a constant between 0 and 1, which controls the rate at which the RTT adapts to the change, RTT (i+1) is the RTT value that needs to be estimated; RTT (i) is the estimated RTT value calculated for the last packet transmission.
Still further, in the step 3, rde is calculated i The formula is:
rde i =max(RTT)
where max (RTT) represents the maximum RTT among all stored samples.
Further, in the step 4, cde is calculated i The formula is:
cde i =min(RTT)+ΔT
where min (RTT) represents the minimum RTT of all stored samples, Δt is a constant value, typically set to 0, and Δt is introduced for fine adjustment, by increasing Δt, the TCP sender can more effectively detect spurious retransmissions.
In the step 5, the process of updating the estimated RTT value is as follows: firstly, sampling the value of RTT and judging whether the RTT meets the condition of record storage, wherein the judging process is as follows: start transmitting packet i and start retransmission estimation timer rde i If at rde i Before expiration, the TCP sender receives the ACK (feedback acknowledgement) of the data packet i, directly stores the record RTT, otherwise retransmits the data packet i, and starts a congestion response estimation decision timer cde i If the time interval from the start of transmitting retransmission packet i to the receipt of ACK for packet i is not greater than β cde i Where β is a system design parameter between 0 and 1, the arriving ACK will be considered as an acknowledgement of the first transmission of packet i, since it is not possible to acknowledge the retransmission of packet i in such a short time interval, where the RTT is updated as the ACK arrival time of packet i minus the time of the first transmission of packet i, the updated RTT is recorded, otherwise the received ACK will ignore the acknowledgement of retransmission of packet i.
Further, in the step 6, the physical layer data rate erate is calculated according to the following formula:
erate=MIMO*rb*12*14*(1-loss)*m rate *1000*rate
wherein MIMO is the code word multiplexing ratio of different MIMO, rb is the rb number corresponding to different bandwidths (the 84 resource units determined by 7 symbols in the time domain and 12 subcarriers in the frequency domain are defined as 1 rb), loss is pilot frequency, channel occupation and other loss, m rate For modulation symbol efficiency, the rate is the code rate under different modulation schemes.
Further, in the step 7, the process of calculating the size of the congestion window is as follows: a new retransmission estimation timer rde is started each time a new packet is injected into the network i . If at rde i The TCP sender receives the ACK, rde, before expiring i Will be cancelled, directly using cwnd=rate min (RTT); otherwise, the packet will be retransmitted and the congestion response estimation timer cde started i The method comprises the steps of carrying out a first treatment on the surface of the If ACK is in cde i Arriving before expiration with SINR greater than 0 (or some threshold), cde i Will be cancelled, congestion window value and rde i The method for calculating the congestion window is the same when canceling; otherwise cde i Expired or SINR < 0, the calculated congestion window is cwnd=λ×rate×min (RTT), λ being a value between 0 and 1.
The beneficial effects of the invention are as follows:
1. the method reduces the occurrence of an error congestion algorithm and can effectively distinguish congestion loss from random packet loss.
2. With sufficient bandwidth resources, the bandwidth of the bottleneck link can be shared fairly and efficiently, and good response capability is shown under the condition that only congestion loss exists.
3. The algorithm uses the information on the SINR and the available resource allocation to adjust the TCP congestion window to the optimal value in the 5G mobile network, thereby minimizing queuing delay in the queue, being capable of quickly reaching and utilizing the complete millimeter wave link bandwidth and improving the throughput and bandwidth utilization rate of the link.
Drawings
Figure 1 is a flow diagram of a 5G mobile network based cross-layer congestion control method;
fig. 2 is a simulated scene graph.
Detailed Description
The following detailed description of the preferred embodiments of the present invention is provided in connection with the accompanying drawings so that the advantages and features of the present algorithm may be more readily understood by those skilled in the art, and thus the scope of the present algorithm is more clearly and clearly defined.
Referring to fig. 1 and 2, a 5G mobile network-based cross-layer congestion control algorithm includes the steps of:
step 1: defining a maximum record length MRRL of a storage RTT (Round Trip Time, loop response Time);
step 2: recording the time M from sending each data packet to returning the ACK confirmation packet, and calculating an estimated RTT;
the calculation formula according to the estimated RTT is:
RTT(i+1)=αRTT(i)+(1-α)M
wherein alpha is a constant between 0 and 1, which controls the speed of adapting RTT to change, RTT (i+1) is the RTT value to be estimated, and RTT (i) is the RTT estimated value when the last data packet is sent;
step 3: defining retransmission estimation timer rde i For judging whether the data packet i needs to be retransmitted;
calculation rde i The formula is:
rde i =max(RTT)
where max (RTT) represents the maximum RTT in all stored samples;
step 4: defining a congestion response estimate decision timer cde i Judging whether to start the congestion control mechanism;
calculating cde i The formula is:
cde i =min(RTT)+ΔT
where min (RTT) represents the minimum RTT in all stored samples, Δt is a constant value, typically set to 0, and Δt is introduced for fine adjustment, by adding Δt, the TCP sender can more effectively detect spurious retransmissions;
step 5: since the value of RTT dynamically changes with time, in order to record the latest RTT sample, the oldest sample is discarded every time the total number of RTT samples stored exceeds MRRL, thus ensuring that the latest MRRL RTT samples are stored, and the RTT samples are sampled according to rde i And cde i Judging whether to count in the RTT storage sample;
step 6: each time an ACK acknowledgement is received, the signal-to-interference-and-noise ratio at the moment is obtained and is recorded as SINR, and the physical layer data rate is calculated as erate by utilizing a formula;
step 7: according to whether rde is met i ,cde i And SINR conditions, and calculating the value of the congestion window by using different formulas.
Further, in the step 5, the process of updating the estimated RTT value is as follows: firstly, sampling the value of RTT and judging whether the RTT meets the condition of record storage, wherein the judging process is as follows: start transmitting packet i and start retransmission estimation timer rde i If at rde i Before expiration, the TCP sender receives the ACK (feedback acknowledgement) of the data packet i, directly stores the record RTT, otherwise retransmits the data packet i, and starts a congestion response estimation decision timer cde i If the time interval from the start of transmitting retransmission packet i to the receipt of ACK for packet i is not greater than β cde i (where β is a system design parameter between 0 and 1), then the arriving ACK will be considered as an acknowledgement of the first transmission of packet i, since it is not possible to acknowledge the retransmission of packet i in such a short time interval, where the RTT is updated as the ACK arrival time of packet i minus the time of the first transmission of packet i, an updated RTT is recorded, otherwise the received ACK will ignore the acknowledgement response of retransmission of packet i.
Further, in the step 6, the physical layer data rate erate is calculated according to the following formula:
erate=MIMO*rb*12*14*(1-loss)*m rate *1000*rate
wherein MIMO is the code word multiplexing ratio of different MIMO, rb is the rb number corresponding to different bandwidths (the 84 resource units determined by 7 symbols in the time domain and 12 subcarriers in the frequency domain are defined as 1 rb), loss is pilot frequency, channel occupation and other loss, m rate For modulation symbol efficiency, the rate is the code rate under different modulation schemes.
Further, in the step 7, the process of calculating the size of the congestion window is as follows: a new retransmission estimation timer rde is started each time a new packet is injected into the network i . If at rde i The TCP sender receives the ACK, rde, before expiring i Will be cancelled, directly using cwnd=rate min (RTT); otherwise, retransmission is performedThe packet is output and a congestion response estimation timer cde is started i The method comprises the steps of carrying out a first treatment on the surface of the If ACK is in cde i Arriving before expiration with SINR greater than 0 (or some threshold), cde i Will be cancelled, congestion window value and rde i The method for calculating the congestion window is the same when canceling; otherwise cde i Expired or SINR < 0, the calculated congestion window is cwnd=λ×rate×min (RTT), λ being a value between 0 and 1.
In this example, the minimum RTO is set to 1 second. The delayed ACK is disabled so that the TCP receiver sends an ACK packet when the packet arrives, MRRL is set to 1000, β is set to 0.8, millimeter wave transmit power is 30dBm, carrier frequency is 28GHz, bandwidth is 1GHz, number of subframes in one frame is 10, length of one subframe is 100us, number of OFDM in each slot is 24, length of each OFDM is 4.16us, number of sub-bandwidths is 72, rlc buffer size is 10MB. When under NLOS conditions, since the capacity provided by the link is insufficient to transmit all packets, the packets are queued in the RLC layer buffer, this algorithm is proportional to the actual rate supported by the channel, keeps a small congestion window, minimizes the queuing delay, and the measured RTT stabilizes around 0.05s, while the CUBIC jumps between 0.25s and 0.5 s. Meanwhile, when the channel is switched from NLOS to LOS, the rate is increased, the full bandwidth utilization rate is recovered faster than that of a common congestion control algorithm, and in actual measurement, the average throughput of the method reaches 1225.21Mbit/s, and compared with the CUBIC average throughput of 342Mbit/s.
Table 1 is the average throughput for different TCPs:
TABLE 1
The foregoing description is only exemplary of the method, and is not intended to limit the scope of the method, and all equivalent structures or equivalent processes using the description of the algorithm and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the algorithm.