CN112511451B - Method and server for controlling BBR convergence period length - Google Patents
Method and server for controlling BBR convergence period length Download PDFInfo
- Publication number
- CN112511451B CN112511451B CN202011330146.4A CN202011330146A CN112511451B CN 112511451 B CN112511451 B CN 112511451B CN 202011330146 A CN202011330146 A CN 202011330146A CN 112511451 B CN112511451 B CN 112511451B
- Authority
- CN
- China
- Prior art keywords
- convergence
- stage
- gain coefficient
- bbr
- round
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a method and a server for controlling the length of a BBR convergence period, wherein the method comprises the following steps: s100: determining whether to enter a bandwidth detection stage, wherein the bandwidth detection stage is divided into a speed-up stage, a speed-down stage and a convergence stage according to a gain coefficient, the gain coefficient of the speed-up stage is greater than 1, the gain coefficient of the speed-down stage is greater than 0 and less than 1, and the gain coefficient of the convergence stage is equal to 1; s200: sending a data packet and a detection message, calculating the round-trip delay of the data packet, and if the round-trip delay is smaller than the latest minimum round-trip delay, setting a convergence ending identifier with an initial value of 0 as 1; s300: and confirming whether the convergence stage is ended or not according to the convergence ending identifier and the current gain coefficient. The server according to the present invention can implement the method for controlling BBR convergence cycle length in the above technical scheme, flexibly determine the cycle length of the convergence stage according to the round trip delay, improve the utilization rate of the network bandwidth, and improve the throughput of the transmission link.
Description
Technical Field
The invention relates to the field of TCP congestion control, in particular to a method and a server for controlling BBR convergence cycle length.
Background
The BBR algorithm is an open source TCP congestion control algorithm proposed by Google in 2016, and is loaded in a Linux kernel module mode, so that the network throughput of a Linux server can be maximized. Recently, researches show that the BBR algorithm has excellent performance in a large-delay network environment, and cannot achieve the expected effect in a common network bandwidth occupation capacity which is inferior to that of a congestion control algorithm based on packet loss. Therefore, for the increasingly expanded bandwidth resources of the 5G network, the BBR algorithm needs to improve the sensitivity of bandwidth detection to ensure the ideal resource allocation rate and fairness.
Disclosure of Invention
The purpose of the invention is as follows: the invention aims to provide a method for controlling the BBR convergence cycle length, which can flexibly adjust the cycle length of the convergence stage according to the bandwidth delay condition and improve the transmission performance and the bandwidth utilization rate on the premise of considering fairness.
Another objective of the present invention is to provide a server, which can implement the above method for controlling BBR convergence length, so as to improve the utilization rate of bandwidth by the server.
The technical scheme is as follows: the method for controlling the length of the BBR convergence period comprises the following steps:
s100: determining whether to enter a bandwidth detection stage, wherein the bandwidth detection stage is divided into an acceleration stage, a deceleration stage and a convergence stage according to a gain coefficient, the gain coefficient of the acceleration stage is greater than 1, the gain coefficient of the deceleration stage is greater than 0 and less than 1, the gain coefficient of the convergence stage is equal to 1, and the step S100 includes:
s110: setting and starting a monitoring timer for monitoring the convergence end identifier, the monitoring timer being reset at the end of the convergence phase;
s200: sending a data packet and a detection message, calculating the round-trip delay of the data packet, and if the round-trip delay is smaller than the latest minimum round-trip delay, setting a convergence ending identifier with an initial value of 0 as 1;
s300: determining whether to terminate the convergence phase according to the convergence termination identifier and the current gain coefficient, wherein step S300 includes:
s310, if the gain coefficient is 1 and the convergence ending identifier is 1, interrupting the convergence stage, returning to the speed increasing stage, and returning to the step S200;
s320, if the convergence phase identifier continues to be 0 until the bandwidth detection phase is ended, returning to the step S100.
Furthermore, the speed-up stage lasts for 1 time delay detection time, the speed-down stage lasts for 1 time delay detection time, and the convergence stage lasts for 6 time delay detection times at most.
The server according to the present invention has a storage medium storing a program configured to execute the above method of controlling the BBR convergence period length when the program is run.
Has the beneficial effects that: compared with the prior art, the invention has the following advantages: the cycle length of the convergence stage is flexibly adjusted according to the round-trip delay, the utilization rate of the bandwidth is improved, and the network throughput under the ordinary network bandwidth environment is improved.
Drawings
FIG. 1 is a flow chart of a first embodiment of the method of the present invention;
FIG. 2 is a flow chart of a second embodiment of the method of the present invention;
FIG. 3 is a graph comparing I/O traffic when downloading 166M files;
FIG. 4 is a comparison of I/O traffic when a 434M file is downloaded;
FIG. 5 is a comparison of packet lengths when a 166M file is downloaded;
FIG. 6 is a comparison of packet lengths when files 434M are downloaded;
FIG. 7 is a graph of transmission throughput when a file of 166M is downloaded before modification;
FIG. 8 is a diagram of the transfer throughput when a modified file of 166M is downloaded;
FIG. 9 is a graph of transmission throughput for downloading 434M files before modification;
FIG. 10 is a diagram of the transfer throughput when a modified file 434M is downloaded;
FIG. 11 is a round-trip delay diagram of downloading a 166M file before modification;
FIG. 12 is a modified round-trip delay diagram for downloading a 166M file;
FIG. 13 is a round-trip latency diagram for downloading 434M files before modification;
FIG. 14 is a modified round-trip delay diagram for downloading 434M files;
FIG. 15 is a diagram of the transfer window size and transmission bytes for a file of 166M before modification;
FIG. 16 is a diagram of the transmission window size and transmission bytes when a modified file of 166M is downloaded;
FIG. 17 is a diagram of the transfer window size and transmission bytes for a download 434M file before modification;
FIG. 18 is a diagram of the transfer window size and transmission bytes for a modified download 434M file;
fig. 19 is a main performance evaluation chart before and after modification.
Detailed Description
The technical scheme of the invention is further explained by combining the attached drawings.
Referring to fig. 1, the method for controlling the BBR convergence period length according to the embodiment of the present invention specifically includes the following steps:
s100: confirming whether to enter a bandwidth detection stage;
s200: sending a data packet and a detection message, calculating the round-trip delay of the data packet, and if the round-trip delay is smaller than the latest minimum round-trip delay, setting a convergence ending identifier with an initial value of 0 as 1;
s300: and confirming whether the convergence stage is ended or not according to the convergence ending identifier and the current gain coefficient.
The bandwidth detection stage is divided into a speed increasing stage, a speed reducing stage and a convergence stage, and the three stages are sequentially and circularly executed. The gain coefficient of the acceleration stage is larger than 1, the gain coefficient of the deceleration stage is larger than 0 and smaller than 1, and the gain coefficient of the convergence stage is equal to 1. When the device is in the speed increasing stage, the transmission speed is increased; in the deceleration stage, the transmission speed is reduced; in the convergence phase, the transmission speed is maintained at a stable value. If the link state is good, the BBR can converge to the stable state quickly, and does not need to stay for a long time in the convergence stage. By the method for controlling the BBR convergence period length, when the round-trip delay is detected to be smaller than the minimum round-trip delay recorded last time, the link state is good, the usable bandwidth is available, and the convergence ending identifier is set to be 1, so that the subsequent logic judgment is facilitated. And judging whether the convergence stage can be ended or not according to the current stage and the value of the ending identifier, flexibly adjusting the cycle length of the convergence stage according to the round-trip delay, and improving the utilization rate of the bandwidth.
Referring to fig. 2, in some embodiments, step S100 includes:
s110: setting and starting a monitoring timer for monitoring the convergence end identifier, the monitoring timer being reset at the end of the convergence phase.
After entering the bandwidth detection phase, a monitoring timer is set and started for monitoring the change of the convergence end identifier, and the monitoring timer is reset every time the convergence phase is ended due to interruption or after the convergence phase lasts for a preset maximum time. It will be appreciated that in some embodiments the watchdog timer also has a probe message counter and a reset and start function that requires the process control block of TCP to be invoked. The monitoring timer can be understood as a composite timer formed by combining a connection timer, a keep-alive timer and a detection timer.
Referring to fig. 2, in some embodiments, step S300 includes:
if the gain factor is 1 and the convergence completion flag is 1, S310 interrupts the convergence phase and returns to the speed-up phase, and returns to step S200.
S320, if the convergence phase identifier continues to be 0 until the bandwidth detection phase is ended, returning to step S100.
Namely, when the current convergence stage is in the convergence stage and the round-trip delay is smaller than the minimum round-trip delay in the last record, the current convergence stage can be immediately interrupted, and the current convergence stage returns to the acceleration stage, so that the transmission rate is increased, and the utilization rate of the bandwidth is increased. If the round-trip delay is not smaller than the minimum round-trip delay until the bandwidth detection stage is finished, finishing the convergence stage according to the normal flow and waiting for entering the bandwidth detection stage next time.
In this embodiment, the gain factor of the gain stage is 1.25, the gain factor of the deceleration stage is 0.75, the entire bandwidth detection stage lasts for 8 delay detection times, and the value of the delay detection time is taken from 200ms to 10s, i.e. the time range of the monitoring timer is 1.6s to 80s. In the whole bandwidth detection stage, the cyclic period array of the gain coefficient is [1.25,0.75,1,1,1,1,1,1] under normal conditions, that is, the acceleration stage lasts for 1 delay detection time, the deceleration stage lasts for 1 delay detection time, and the convergence stage lasts for 6 delay detection times. Depending on the round trip delay, the convergence phase may last from 1 to 6 delay probe times, i.e., from 200ms to 60s.
In this embodiment, the detection acknowledgement packet replied by the terminal does not carry any data, and the detection packet sent along with the data packet is not retransmitted if it is lost, so that the normal data transmission process is not affected. The number of probe packets equals the number of transmitted packets.
Fig. 3 to 19 are the results of the comparison test of the conventional BBR algorithm before modification and the BBR algorithm after modification according to the above BBR convergence period length control method performed in the same test environment in the local area network. The specific experimental environment is as follows: the operating system is utbuntu16.04, the kernel is 4.15.1, the memory is set to 4GB, the disk is 200GB, and the used processor is an Inter (R) Core (TM) i7-5500U with the CPU frequency of 2.40 GHZ. The HTTP protocol is used for file transfer. Before testing, the mtr command is used at a terminal to test the network environment of the experiment, the influence of the network self-problem on the experiment result is eliminated, the packet loss rate of the tested network is 0%, the maximum detection time is 10s, the time delay measured at the last side is 0.3s, the average time delay is 0.2s, the shortest time delay is 0.1s, the worst time delay is 0.4s, and the standard deviation is 0. The experimental network bandwidth is 1000Mb/s, and the supported link model is half-duplex: 10Mb; full duplex: 10Mb; half duplex: 100Mb; full duplex: 100Mb; full duplex: 1000Mb.
Referring to fig. 3 and 4, I/O flow charts of two experiments reflect the change of the transmission speed during the downloading process, and it can be found by comparison that the implemented algorithm can start downloading more quickly, the transmission speed is mostly above before modification, the minimum speed value is generally lower than that of the unmodified BBR algorithm, and the speed change range is larger. According to the BBR algorithm modified by the method for controlling the BBR convergence period length, the downloading time is shortened, the downloading speed is increased, the faster data flow can occupy more bandwidth, the speed is higher when a large file is downloaded, and the BBR occupies more fierce link bandwidth when downloading the larger file. The up-and-down jitter of the speed curve is aggravated in the modified algorithm, which shows that the convergence period is shortened, the speed curve does not uniformly jitter, and shows that the lengths of the convergence period are different according to real-time network data. Sacrificing some speed stability for large file transfers seeking shorter download times is entirely acceptable.
Referring to fig. 5 and 6, when the modified BBR algorithm downloads the 166M file, the number of packets with a length in the range of 80-639 bytes is reduced from 80 to 24, while the number of packets with a length of no less than 640 bytes is increased from 8653 to 11540, and particularly, the number of packets with a length in the range of 1280-5119 bytes is increased remarkably. When the 434M file is downloaded, the number of data packets with the length in the byte range of 80-159 and 640-1279 is reduced from 21 to 5, the number of data packets with the length not less than 1280 bytes is increased from 11480 to 35636, and particularly the number of data packets with the length in the byte range of 1280-2559 is obviously increased. In summary, the modified BBR reduces the number of small-length packets, increases the number of large-length packets, and improves the download speed as a whole.
Referring to fig. 7 to 10, points in the drawings indicate segment lengths, and the higher the position of a point is, the denser the distribution is, and the more data is transmitted. It can be seen from fig. 8 and 10 that the modified throughput curve spikes become higher and denser, which indicates that the link status is good and the BBR no longer maintains a long settling period, but rather probes the available bandwidth more frequently. Referring to fig. 7 and 8, the modified throughput graph has denser points, but the segment length is not significantly increased, and the points above the graph are sparse, which shows that the acceleration process is mainly obtained by increasing the number of transmitted data packets: 15647 packets were sent after completing the download before modification, and 24281 after modification. Referring to fig. 9 and 10, the modified throughput curve also has a high peak, a dense point distribution, and an increased number of points above the graph. This shows that the acceleration process is accomplished by increasing the amount of transmitted packets and increasing the packet length: the total number of packets transferred before the modification was 40959 and after the modification 65538, where the packets in the 640-1279 byte range were from 2664 to 8215 bursts. This shows that the larger the file transmitted, the better the modified BBR algorithm.
Referring to fig. 11 and 12, in the round trip delay image of the downloaded 166M file: the time for modifying the head-up and the back-down is mostly concentrated in 10 seconds, and the peak exceeding 20 seconds is much; the modified samples were concentrated within 5 seconds, and the 20-second peak was only 6. Referring to fig. 13 and 14, in the image corresponding to 434M, the round trip delay before modification is mostly concentrated within 10 seconds, and after modification, the round trip delay is concentrated on the x-axis, and the delay is very small; before modification, the number of sharp peaks exceeded 10, and after modification, 7. In general, the peak of the round trip delay after modification becomes lower and less, and the delay jitter becomes lower and less. This means that more bandwidth is detected after the modification, the transmission conditions become better and the transmission speed is faster.
Referring to fig. 15 to 18, ideally, when the amount of transmission data is completely equal to the window size, the bandwidth utilization rate is the highest. In the window size and transmission byte map, the more filled the blue is, the better, if a whole blank vertical line appears, it indicates that retransmission or emptying is occurring, i.e. there is no new data transmission. The red circles in the figure indicate the window size and it can be seen that the window curves for all four graphs grow very fast to a maximum. Referring to fig. 15 and 16, before modification, the amount of data sent apparently does not fill the window, and a large margin appears at the upper right. The window is filled as much as possible after modification. Referring to fig. 17 and 18, a large area of whiteout appears at the top left before modification, filling the window as much as possible after modification. The former and latter comparison shows that the modified BBR algorithm accelerates after detecting the available bandwidth, and more data packets are sent.
Referring to fig. 19, the experiment refers to 5 transmission performance indicators: round-trip delay, jitter strength, window size, transmission rate, throughput. The evaluation results are shown in fig. 9: (1) The round-trip delay peak of the modified BBR algorithm becomes lower and less, thereby reducing the transmission time and accelerating the transmission speed. (2) The modified algorithm reduces the length of a convergence period, improves the sensitivity of bandwidth detection and increases the jitter of the transmission speed. But this cost does not affect large file downloads that only seek transmission speed. (3) The BBR algorithm is sensitive to the response of the window size before and after modification, which benefits from the fact that the BBR determines the transmission rate only from real-time data: if the available bandwidth is large, the transmission is accelerated, and if the available bandwidth is small, the transmission rate is slowed. (4) the modified BBR obviously improves the data transmission speed. (5) Due to the fact that the transmission speed is increased, the throughput of the modified data transmission is high. In summary, under the condition of a good link state, the modified BBR algorithm improves the bandwidth detection sensitivity, obtains more available bandwidths, and accelerates the transmission speed. And the larger the file is transmitted, the more obvious the optimization effect is.
According to the server of an embodiment of the present invention, a program is stored in a storage medium of the server, and the program is configured to execute the method for controlling a BBR convergence period length according to an embodiment of the present invention when running. According to the server provided by the embodiment of the invention, by implementing the method for controlling the BBR convergence period length, the utilization rate of the server on the bandwidth is improved, the transmission rate is improved, and the downloading speed of large files is improved.
Claims (3)
1. A method for controlling BBR convergence period length is characterized by comprising the following steps:
s100: confirming whether a bandwidth detection stage is entered, wherein the bandwidth detection stage is divided into an acceleration stage, a deceleration stage and a convergence stage according to a gain coefficient, the gain coefficient of the acceleration stage is greater than 1, the gain coefficient of the deceleration stage is greater than 0 and less than 1, the gain coefficient of the convergence stage is equal to 1,
wherein, step S100 includes:
s110: setting and starting a monitoring timer for monitoring a convergence end identifier, the monitoring timer being reset at the end of the convergence phase;
s200: sending a data packet and a detection message, calculating the round-trip delay of the data packet, and if the round-trip delay is smaller than the latest minimum round-trip delay, setting a convergence ending identifier with an initial value of 0 as 1;
s300: determining whether to end the convergence stage according to the convergence end identifier and the current gain coefficient,
wherein, step S300 includes:
s310, if the gain coefficient is 1 and the convergence ending identifier is 1, interrupting the convergence stage, returning to the speed increasing stage, and returning to the step S200;
s320, if the convergence phase identifier continues to be 0 until the bandwidth detection phase is ended, returning to the step S100.
2. The method of claim 1, wherein the speed-up phase lasts 1 time delay probe time, the speed-down phase lasts 1 time delay probe time, and the convergence phase lasts 6 time delay probe times at most.
3. A server characterized by a storage medium having stored thereon a program arranged such that, when executed, the server performs the method of controlling BBR convergence period length according to claim 1 or 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011330146.4A CN112511451B (en) | 2020-11-24 | 2020-11-24 | Method and server for controlling BBR convergence period length |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011330146.4A CN112511451B (en) | 2020-11-24 | 2020-11-24 | Method and server for controlling BBR convergence period length |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112511451A CN112511451A (en) | 2021-03-16 |
CN112511451B true CN112511451B (en) | 2022-11-08 |
Family
ID=74958276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011330146.4A Active CN112511451B (en) | 2020-11-24 | 2020-11-24 | Method and server for controlling BBR convergence period length |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511451B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125920A (en) * | 2021-10-25 | 2022-03-01 | 中国科学院计算技术研究所 | BBRv2 bandwidth detection method and system based on time delay |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110572333A (en) * | 2019-10-25 | 2019-12-13 | 中南大学 | transmission rate adjusting method and congestion control algorithm in bandwidth detection stage |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991462B (en) * | 2015-03-02 | 2019-05-28 | 华为技术有限公司 | Sending method, sending device and the system of transmission control protocol TCP data packet |
-
2020
- 2020-11-24 CN CN202011330146.4A patent/CN112511451B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110572333A (en) * | 2019-10-25 | 2019-12-13 | 中南大学 | transmission rate adjusting method and congestion control algorithm in bandwidth detection stage |
Also Published As
Publication number | Publication date |
---|---|
CN112511451A (en) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107171969B (en) | Data transmission method, device and system | |
WO2021012869A1 (en) | Transmission rate determination method and device, apparatus, and storage medium | |
CN111654447B (en) | Message transmission method and device | |
EP3128704A1 (en) | Method and apparatus for limiting rate by means of token bucket, and computer storage medium | |
CN109684228B (en) | Performance test method, device, system and storage medium | |
EP2902914B1 (en) | Data transmission method and device | |
CN113411262B (en) | Method and device for setting large-scale receiving and unloading functions | |
CN112054965A (en) | Congestion control method, equipment and computer readable medium | |
US11218413B2 (en) | Congestion control management method derived from packets at a network adapter | |
CN112511451B (en) | Method and server for controlling BBR convergence period length | |
CN104734985A (en) | Data receiving flow control method and system | |
US20140223026A1 (en) | Flow control mechanism for a storage server | |
CN113973085A (en) | Congestion control method and device | |
US10467175B1 (en) | Secure digital (SD) direct command for improving throughput with a reduced memory footprint | |
CN114513472A (en) | Network congestion control method and device | |
US20080225858A1 (en) | Data transferring apparatus and information processing system | |
CN116319569A (en) | Network parameter updating method, network parameter updating device, medium and electronic equipment | |
CN110557341A (en) | Method and device for limiting data current | |
CN115514710B (en) | Weak connection flow management and control method based on self-adaptive sliding window | |
CN114125920A (en) | BBRv2 bandwidth detection method and system based on time delay | |
CN115314439A (en) | Flow control method and related device for data storage IO (input/output) request | |
CN110727518B (en) | Data processing method and related equipment | |
WO2021013260A1 (en) | Network transmission control method and apparatus | |
CN108418656B (en) | LwIP delay ACK timer period self-adaption method based on data statistics | |
CN111526098B (en) | Intelligent scene access flow control method, device and storage medium |
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 |