CN108322401B - Method and device for controlling network transmission congestion - Google Patents

Method and device for controlling network transmission congestion Download PDF

Info

Publication number
CN108322401B
CN108322401B CN201710037306.8A CN201710037306A CN108322401B CN 108322401 B CN108322401 B CN 108322401B CN 201710037306 A CN201710037306 A CN 201710037306A CN 108322401 B CN108322401 B CN 108322401B
Authority
CN
China
Prior art keywords
network
delay
state
parameter
window
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.)
Expired - Fee Related
Application number
CN201710037306.8A
Other languages
Chinese (zh)
Other versions
CN108322401A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201710037306.8A priority Critical patent/CN108322401B/en
Publication of CN108322401A publication Critical patent/CN108322401A/en
Application granted granted Critical
Publication of CN108322401B publication Critical patent/CN108322401B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

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 device for controlling network transmission congestion. Wherein, the method comprises the following steps: acquiring a network state parameter, wherein the network state parameter represents the delay of a network; determining a network bandwidth detection mode based on the network state parameters; selecting a congestion control algorithm based on the network bandwidth detection mode, and calculating parameters of a congestion window; and sending a data packet to the opposite end according to the parameter of the congestion window. The invention solves the technical problem of low transmission speed of the wireless network.

Description

Method and device for controlling network transmission congestion
Technical Field
The present invention relates to the field of wireless communications, and in particular, to a method and an apparatus for controlling network transmission congestion.
Background
With the popularization and application of the mobile internet, users increasingly access internet website resources through mobile equipment to acquire network information and leisure entertainment, optionally, the mode of accessing the internet by the users is not limited to offices and families, and the users can also select a wireless mode to surf the internet; however, due to the factors of complex environment between the mobile device and the network server, repeated change of wireless communication environment, limited access flow bandwidth, uncertain network environment, etc., the speed of the user is sometimes slow in the process of website access, which easily causes user complaints and user loss of the network application server. In addition, the problem of low speed is also caused by factors such as instability of a wireless network, relatively high retransmission rate of packet loss, asymmetric link bandwidth and the like when a user accesses network server resources in a transmission layer, and the existing congestion control algorithm is based on packet loss or on judgment of whether the network is congested or not based on time delay and influences the problem to different degrees when the information is single.
Specifically, the network server for the user to access the enterprise website has the following disadvantages in the transmission layer scheme: the existing application server is hosted in an IDC machine room, the default configuration of an operating system is mostly adopted, and the application server with the default configuration cannot optimize the congestion control of a wireless environment; the actual performance test effect of the default configured application server on the transmission control algorithm in the wireless environment is not good.
Aiming at the problem of low transmission speed of the wireless network, an effective solution is not provided at present.
Disclosure of Invention
The embodiment of the invention provides a method and a device for controlling network transmission congestion, which at least solve the technical problem of low transmission speed of a wireless network.
According to an aspect of the embodiments of the present invention, there is provided a method for controlling network transmission congestion, including: acquiring a network state parameter, wherein the network state parameter represents the delay of a network; determining a network bandwidth detection mode based on the network state parameters; selecting a congestion control algorithm based on the network bandwidth detection mode, and calculating parameters of a congestion window; and sending a data packet to the opposite end according to the parameter of the congestion window.
Further, the acquiring the network state parameter includes: determining an average delay by a first formula, wherein the first formula is: avgRTT ═ ((scale-1) × avgRTT + rtt)/scale, wherein avgRTT represents average delay, scale represents first delay parameter, and rtt represents current delay; determining a transmission delay based on the current delay; determining a queuing delay based on the average delay and the transmission delay.
Further, determining a network bandwidth detection mode based on the network state parameter includes: detecting whether the state of the network state parameter is a valid state; if the state of the network state parameter is detected to be an effective state, detecting the network bandwidth in a network delay-based mode; if the state of the network state parameter is not detected to be an effective state and the network is detected to be in a normal working state, detecting the network bandwidth in a packet loss detection mode to obtain a window parameter of a congestion window, wherein the detection mode comprises the packet loss detection mode; and if the state of the network state parameter is detected to be not an effective state and the network is detected to be in an abnormal working state, acquiring a window parameter of a preset congestion window.
Further, detecting the network bandwidth by using a packet loss detection method includes: acquiring N pieces of configured connection information, wherein N is a natural number; determining a window parameter of a congestion window of the network bandwidth by a second formula, wherein the second formula is: omegai(t1)=ω+N*ωi(t0) Wherein, the ω isi(t1) Window parameter representing the current congestion window, ω representing congestion window information determined based on information of the N connections, ωi(t0) And the window parameter represents the congestion window obtained by adopting the packet loss detection mode to perform network bandwidth last time.
Further, the detecting the network bandwidth in a network delay-based manner includes: determining a window parameter of the congestion window by a third formula, wherein the third formula is:
Figure BDA0001212016370000021
Figure BDA0001212016370000022
wherein, the ω isi(t1) Window parameter, ω, representing the current congestion windowi(t0) A window parameter representing a congestion window obtained by performing network bandwidth last time based on a network delay mode, wherein gamma is a convergence coefficient, and alpha isiRepresenting the estimated number of queued packets in the network; d represents the queuing delay in the network state parameter, and D represents the transmission delay in the network state parameter.
Further, before determining the window parameter of the congestion window by a third formula, the method further comprises: detecting whether the current delay is less than or equal to historical delay, wherein the historical delay represents the delay of the last time a data packet is received; if the current delay is less than or equal to the historical delay, selecting the value of the convergence coefficient from a first value-taking interval; and if the current delay is greater than the historical delay, selecting the value of the convergence coefficient from a second value interval, wherein the minimum value in the first value interval is greater than the maximum value in the second value interval.
Further, before detecting whether the state of the network state parameter is a valid state, the method further includes: detecting whether a network is in a normal working state, wherein whether a repeatedly sent confirmation instruction is received or not is detected, and if the repeatedly sent confirmation instruction is detected, detecting that the network is in an abnormal working state; and detecting whether an overtime retransmission instruction is received or not, and if the overtime retransmission instruction is detected, detecting that the network is in an abnormal working state.
According to another aspect of the embodiments of the present invention, there is also provided a network transmission congestion control apparatus, including: the device comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring a network state parameter, and the network state parameter represents the delay of a network; the determining unit is used for determining a network bandwidth detection mode based on the network state parameter; a selecting unit, configured to select a congestion control algorithm based on the network bandwidth detection manner; a calculation unit for calculating parameters of a congestion window; and the sending unit is used for sending the data packet to the opposite end according to the parameter of the congestion window.
Further, the acquisition unit includes: a determining module, configured to determine an average delay according to a first formula, where the first formula is: avgRTT ═ ((scale-1) × avgRTT + rtt)/scale, wherein avgRTT represents average delay, scale represents first delay parameter, and rtt represents current delay; a first determining module configured to determine a transmission delay based on the current delay; a second determining module configured to determine a queuing delay based on the average delay and the transmission delay.
Further, the determining unit includes: the first detection module is used for detecting whether the state of the network state parameter is an effective state; the first detection module is used for detecting the network bandwidth in a network delay-based mode if the state of the network state parameter is detected to be an effective state; the second detection module is used for detecting the network bandwidth in a packet loss detection mode if the state of the network state parameter is detected to be not an effective state and the network is detected to be in a normal working state, wherein the detection mode comprises the packet loss detection mode; and the acquisition module is used for acquiring the window parameter of the preset congestion window if the state of the network state parameter is detected to be not an effective state and the network is detected to be in an abnormal working state.
Further, the second detection module comprises: the acquisition submodule is used for acquiring the configured information of N connections, wherein N is a natural number; a first determining submodule, configured to determine a window parameter of a congestion window of the network bandwidth according to a second formula, where the second formula is: omegai(t1)=ω+N*ωi(t0) Wherein, the ω isi(t1) Window parameter representing the current congestion window, ω representing congestion window information determined based on information of the N connections, ωi(t0) And the window parameter represents the congestion window obtained by adopting the packet loss detection mode to perform network bandwidth last time.
Further, the first detection module comprises: a second determining submodule, configured to determine a window parameter of the congestion window according to a third formula, where the third formula is:
Figure BDA0001212016370000031
Figure BDA0001212016370000032
wherein, the ω isi(t1) Window parameter, ω, representing the current congestion windowi(t0) A window parameter representing a congestion window obtained by performing network bandwidth last time based on a network delay mode, wherein gamma is a convergence coefficient, and alpha isiRepresenting the estimated number of queued packets in the network; d represents the queuing delay in the network state parameter, and D represents the transmission delay in the network state parameter.
Further, the apparatus further comprises: a first detecting unit, configured to detect whether the current delay is less than or equal to a historical delay before determining a window parameter of the congestion window according to a third formula, where the historical delay represents a delay of a last received data packet; the first selection unit is used for selecting the value of the convergence coefficient from a first value-taking interval if the current delay is less than or equal to the historical delay; and the second selection unit is used for selecting the value of the convergence coefficient from a second value interval if the current delay is greater than the historical delay, wherein the minimum value in the first value interval is greater than the maximum value in the second value interval.
Further, the apparatus further comprises: the second detection unit is used for detecting whether the network is in a normal working state before detecting whether the state of the network state parameter is in an effective state, wherein the second detection module is used for detecting whether a repeatedly sent confirmation instruction is received, and if the repeatedly sent confirmation instruction is detected, the network is detected to be in an abnormal working state; and the third detection module is used for detecting whether an overtime retransmission instruction is received or not, and if the overtime retransmission instruction is detected, the network is detected to be in an abnormal working state.
Through the embodiment, after the network state parameters are obtained, the network bandwidth detection mode is determined based on the network state parameters, then the congestion control algorithm is selected based on the network bandwidth detection mode, the parameters of the congestion window are calculated, and then the data packet is sent to the opposite terminal according to the parameters of the congestion window. In the above embodiment, when a data packet needs to be transmitted, a detection mode may be determined based on a network state parameter indicating a delay of a network, and a parameter of a congestion window may be determined by using the determined detection mode to perform data transmission.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
fig. 1 is a schematic system structure diagram of a method for controlling network transmission congestion according to an embodiment of the present invention;
fig. 2 is a flow chart of an alternative method for controlling network transmission congestion according to an embodiment of the present invention;
fig. 3 is a normal flow diagram of the congestion control algorithm according to an embodiment of the present invention;
fig. 4 is a flow chart of a congestion control algorithm packet loss work flow according to an embodiment of the present invention;
fig. 5 is a schematic diagram of an alternative network transport congestion control apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
In accordance with an embodiment of the present invention, there is provided a method embodiment of a method for controlling network transport congestion, it is noted that the steps illustrated in the flowchart of the drawings may be performed in a computer system such as a set of computer executable instructions and that, although a logical order is illustrated in the flowchart, in some cases the steps illustrated or described may be performed in an order different than that presented herein.
As shown in fig. 1, includes: terminal 13, communication link 15, operator equipment 17 and application server 19. The user accesses the application server through the terminal via operator equipment, such as base stations and gateway equipment. The terminal and the operator device are connected via a communication link, and the operator device and the application server are also connected via a communication link. The terminal can be a personal computer and a mobile terminal, such as a mobile phone and a tablet computer, and the concrete expression form of the terminal is not limited in the application.
Fig. 2 is a flowchart of a method for controlling network transmission congestion according to an embodiment of the present invention, and as shown in fig. 2, the method includes the following steps:
step S202, obtaining a network state parameter, wherein the network state parameter represents the delay of the network;
step S204, determining a network bandwidth detection mode based on the network state parameters;
step S206, selecting a congestion control algorithm based on a network bandwidth detection mode, and calculating parameters of a congestion window;
and step S208, sending a data packet to the opposite end according to the parameters of the congestion window.
Through the embodiment, after the network state parameters are obtained, the network bandwidth detection mode is determined based on the network state parameters, then the congestion control algorithm is selected based on the network bandwidth detection mode, the parameters of the congestion window are calculated, and then the data packet is sent to the opposite terminal according to the parameters of the congestion window. In the above embodiment, when a data packet needs to be transmitted, a detection mode may be determined based on a network state parameter indicating a delay of a network, and a parameter of a congestion window may be determined by using the determined detection mode to perform data transmission.
In the technical solution provided in step S202, the delaying may include: the time interval between when the operator device receives the data and when it starts sending the data packet to the destination port may also include the time interval between when the server should receive the data packet and when the data packet is actually received. Alternatively, the network state parameter may be used to indicate the delay of the network, and the delay may include the delay duration and the state of whether the network is delayed.
In the technical solution provided in step S204, the network bandwidth refers to the amount of data that can be transmitted in a unit time, and optionally, the unit time may be 1 second.
In the technical solution provided in step S206, the congestion window refers to the maximum number of data packets that can be sent at one time by a source (e.g., a server) under the congestion control condition, and the sending end (e.g., the server) presets a size value according to the congestion degree of the network, where the size value is a window parameter of the congestion window, and the window parameter of the congestion window may indicate the number of data packets sent at one time.
And after determining the window parameter of the congestion window, sending the data packets to the client according to the determined number of the data packets which can be sent at most at one time.
In the above embodiment, in the case that data needs to be transmitted, a network state parameter indicating network delay is determined, network bandwidth detection is performed using the network state parameter to determine the number of data packets that can be transmitted at most at one time, and the data packets are transmitted to the client according to the determined number of data packets that can be transmitted at most at one time.
Wherein, the network state parameters include: the average delay avgRTT, the transmission delay baseRTT and the queuing delay queueRTT are all 0, and optionally, the initial values of the average delay avgRTT, the transmission delay baseRTT and the queuing delay queueRTT are all 0.
Optionally, the obtaining the network status parameter includes: determining an average delay by a first formula, wherein the first formula is: avgRTT ═ ((scale-1) × avgRTT + rtt)/scae, wherein avgRTT represents average delay, scale represents first delay parameter, and rtt represents current delay; determining a transmission delay based on the current delay; the queuing delay is determined based on the average delay and the transmission delay.
Optionally, the queuing delay is a difference between a transmission delay of the network and an average delay of the network.
In an alternative embodiment, the statistical calculation method of the average delay avgRTT is as follows: avgRTT ═ avgRTT + rtt)/scale, where the first delay parameter scale is estimated according to a packet that has not been acknowledged (i.e., the first type of packet) sent in the network, optionally, the scale value is min (256, scale), that is, the minimum value of the first delay parameter is 256, and rtt represents the current delay.
In another alternative embodiment, the estimation method of the transmission delay baseRTT is the minimum rtt (i.e. the current delay) observed, i.e. the transmission delay baseRTT is min (avgRTT, rtt).
In an alternative embodiment, the queuing delay queueRTT is obtained by calculating the difference between the average delay and the transmission delay, i.e. avgRTT-baseRTT.
Before performing step S202, the method further comprises: and detecting the working state of the network, and recording the determined working state, wherein the working state can comprise a normal working state and an abnormal working state, and the abnormal working state comprises a packet loss state and a congestion state. Fig. 3 is a flowchart of normal operation of a congestion control algorithm according to an embodiment of the present invention, and fig. 4 is a flowchart of packet loss operation of the congestion control algorithm according to an embodiment of the present invention.
Optionally, the detecting whether the network is in a normal operating state includes at least one of: detecting whether a repeatedly sent acknowledgement command ack is received or not, and if the repeatedly sent acknowledgement command ack is detected, detecting that the network is in an abnormal working state; and detecting whether an overtime retransmission instruction is received or not, and if the overtime retransmission instruction is detected, detecting that the network is in an abnormal working state.
Optionally, the detecting the network bandwidth according to a detection mode corresponding to the state of the network state parameter includes: detecting whether the state of the network state parameter is an effective state; if the state of the network state parameter is detected to be an effective state, determining a window parameter of a congestion window based on the network state parameter, wherein the detection mode comprises a network delay mode; if the state of the network state parameter is detected to be not an effective state and the network is detected to be in a normal working state, detecting the network bandwidth in a packet loss detection mode to obtain a window parameter of a congestion window, wherein the detection mode comprises a packet loss detection mode; and if the state of the network state parameter is detected to be not an effective state and the network is detected to be in an abnormal working state, acquiring the window parameter of the preset congestion window.
An alternative embodiment of the present application is described in detail below in conjunction with fig. 3 and 4.
As shown in fig. 3, in an alternative embodiment, the following steps may be included:
in step S301, a request or confirmation instruction ack is received.
And if the transmission request or the confirmation command ack is detected, determining that the working state of the network is a normal working state.
Step S302, whether the network state parameter estimation is effective is detected.
If the network status parameter estimation is detected to be valid, step S303 is executed, and if the network status parameter estimation is detected to be invalid, step S304 is executed.
Optionally, in a case that the network status parameter includes a transmission delay and an average delay, detecting whether the status of the network status parameter is a valid status includes: if the transmission delay and the average delay are not detected to be zero, determining that the state of the detected network state parameter is an effective state; and if the transmission delay and the average delay are both zero, determining that the state of the detected network state parameter is not an effective state.
When the acknowledgement command ack is received, the average delay avgRTT, the transmission delay baseRTT and the queuing delay queueRTT are estimated. If the values of the network state parameters are all 0, the network state parameter estimation is not effective; and if the average delay avgRTs and the transmission delay baseRTs are not 0, determining that the acquired network state parameters are valid.
When the network state parameter is effective, detecting the network bandwidth by adopting a network delay-based mode; and when the network state parameter estimation is not effective, detecting the network bandwidth by adopting a packet loss detection mode to obtain the window parameter of the congestion window.
Step S303, sending a window update timer trigger.
The window updating timer is used for recording the updating duration of the congestion window and triggering the updating of the congestion window when the time interval between the updating time of the congestion window and the current time reaches a preset time interval.
Step S305, configuring N links.
Step S306, calculating the size of the target sending window and setting the sending window.
The target sending window size is the window parameter of the congestion window (i.e. the sending window).
Alternatively, in the case of the window update timing trigger, the determination of the window parameter of the congestion window based on the network status parameter may be implemented by the above steps S305 and S306.
Further, the detecting the network bandwidth in a network delay-based manner includes: determining a window parameter of a congestion window by a third formula, wherein the third formula is:
Figure BDA0001212016370000081
Figure BDA0001212016370000082
wherein, ω isi(t1) Window parameter, ω, representing the current congestion windowi(t0) A window parameter representing a congestion window obtained by performing network bandwidth last time based on a network delay mode, wherein gamma is a convergence coefficient, and alpha isiRepresenting the estimated number of queued packets in the network; d represents the queuing delay in the network status parameter, and D represents the transmission delay in the network status parameter.
Optionally, when the network state parameter is predicted to be valid, it needs to be determined whether the window update timer is triggered, and under the condition that the window update timer is triggered, the network bandwidth is calculated in a network delay-based manner, and the window size is estimated according to a FastTCP manner, that is, according to a formula:
Figure BDA0001212016370000083
Figure BDA0001212016370000084
and estimating the window. Where γ is the convergence factor, optionally a fixed constant of 0.5, ω can be taken in FastTcpi(t0) Is the congestion control window, ω, at the last RTT samplei(t1) Is an estimate of the congestion control window, αiThe method is to estimate the queued data packets in the network, D is queuing delay quertt, that is, the difference value between the average delay and the transmission delay quertt is avgRTT-baseRTT, D is transmission delay baseRTT, and the estimation method of the transmission delay baseRTT is observed minimum rtt, where the baseRTT is min (avgRTT, rtt).
Further, before determining the window parameter of the congestion window by the third formula, the method further comprises: detecting whether the current delay is less than or equal to historical delay, wherein the historical delay represents the delay of the last time of receiving the data packet; if the current delay is less than or equal to the historical delay, selecting a convergence coefficient value from the first value-taking interval; and if the current delay is greater than the historical delay, selecting a value of the convergence coefficient from a second value interval, wherein the minimum value in the first value interval is greater than the maximum value in the second value interval.
Optionally, if the window update timer is triggered, if the current RTT (current delay) <srtt (historical delay), and SRTT is RTT calculated for last packet reception, it is considered that the network load is reduced, the window should be increased, γ is [0.6,0.8], and is default to 0.75; otherwise, considering that the network load is increased, and reducing the congestion window, wherein gamma is set to be between [0.3 and 0.5] and is set to be 0.4 by default; then the value of y is [0.4, 0.75], and the target window size is calculated and updated.
Step S304, detecting the bandwidth based on the packet loss.
In step S307, the transmission window size is calculated and set.
Through step S305 and step S307, detecting the network bandwidth by using the packet loss detection method is implemented, and optionally, detecting the network bandwidth by using the packet loss detection method includes: acquiring N pieces of configured connection information, wherein N is a natural number, namely N is a nonnegative integer; determining a window parameter of a congestion window of the network bandwidth by a second formula, wherein the second formula is as follows: omegai(t0)=ω+N*ωi(t0) Wherein, ω isi(t1) Window parameter indicating the current congestion window, ω indicating congestion window information determined based on information of the N connections, ωi(t0) And the window parameter represents the congestion window obtained by adopting the packet loss detection mode to perform network bandwidth last time.
Optionally, if the network bandwidth is detected in a packet loss mode, simulating N FastTCP and one Hybla, and calculating the size of a congestion window; omegai(t0)=ω+N*ωi(t0) Where ω is the size of the congestion window calculated by the hybla algorithm, ωi(t0) Is the window size of the last FastTcp estimate, N is a natural number, i.e., a non-negative integer, and N is 2. The main purpose of such an improvement is to expect that the case of RTT connections can achieve as fast a transmission rate as a wired network. The basic algorithm idea is as follows: a long RTT will result in a slower increase in rate, so a normalized RTT value is introduced. The advantage of Hybla is that the effect of long RTT on TCP congestion control mechanisms is eliminated, so that TCP provides higher transmission rates under long RTT conditions.
The FastTCP is considered to be the most advanced telecommunication TCP/IP protocol unilateral deployment acceleration technology in the world at present, and has obvious effects on TCP traffic on a wide area network and a wireless network, particularly in a TCP network environment with high delay and high packet loss, and the method can be used for the following steps: reduce response time of applications, improve TCP throughput and speed of effective traffic and improve utilization of wireless network and wide area network bandwidth. Hybla is mainly an improvement aiming at long-delay TCP, and simultaneously effectively solves the fairness problem of TCP on different delay links. It consists of a series of procedures including enhanced slow start and congestion avoidance phases, mandatory implementation of SACK strategies and channel bandwidth estimation algorithms, and the use of time stamping and new packing techniques.
Optionally, the application server receives a repeated acknowledgement command ack or detects packet loss after RTO timeout, which indicates that the network is in an abnormal operating state.
Among them, RTO is a TCP Timeout Retransmission mechanism (Retransmission Timeout), which is one of TCP operation timers. To prevent datagram loss, when TCP sends a packet, a retransmission timer is started, which has two cases: 1. if the confirmation of the specific message is received before the timer is overtime, the timer is cancelled; 2. if a particular datagram does not receive an acknowledgement before the timer expires, the datagram is retransmitted and the value of the timer reset RTO is based on the smoothed round trip time and its offset.
Step S308, updating the network state parameters.
Optionally, the network state parameter is updated, the average delay avgRTT, the transmission delay baseRTT, and the queuing delay queueRTT are recalculated, so that the network state parameter can be directly obtained when the window size of the congestion window is determined next time.
Step S309, the data packet is transmitted according to the transmission window.
Optionally, the packet is sent according to the sending window setting size, and the acknowledgement command ack or the new request is continuously waited for.
An alternative embodiment as shown in fig. 4 may comprise the steps of:
step S401, detects packet loss or congestion.
Alternatively, when packet loss or congestion is detected, it may be determined that the network is in an abnormal operating state.
Step S402, whether the network state parameter estimation is effective is detected.
If the network status parameter estimation is detected to be valid, step S403 is executed, and if the network status parameter estimation is detected to be invalid, step S406 is executed.
The implementation manner of this step is consistent with the specific implementation manner of step S302 shown in fig. 3, and is not described herein again.
Step S403, recording the current network status parameter.
Step S404, detecting whether packet loss recovery is completed.
If yes, go to step S405; if not, the step S404 is continued.
Step S405, a sending window is pre-estimated and set according to the current network state parameters.
Optionally, an implementation manner of this step is consistent with the implementation manners of step S305 and step S306 in the foregoing embodiment, and is not described herein again.
Optionally, the congestion control algorithm is selected based on a network bandwidth detection manner, and the calculating the parameter of the congestion window includes: and calculating the parameters of the congestion window under the condition that the network recovers the normal working state.
Specifically, if packet loss recovery is completed, the size of the transmission window is set according to the current network bandwidth estimation (i.e., according to the network state parameter).
In step S406, the transmission window is set to the initial value of the transmission window.
Step S407, the data packet is transmitted according to the transmission window.
Optionally, an implementation manner of this step is consistent with that of step S309 in the foregoing embodiment, and is not described herein again.
The method comprises the steps of obtaining a network state parameter, wherein the network state parameter represents the delay of a network, detecting the bandwidth of the network according to a detection mode corresponding to the state of the network state parameter, selecting a congestion control algorithm corresponding to the detection mode to calculate a window parameter of a congestion window, wherein the state of the network state parameter is used for representing whether the network state parameter is effective, and then sending a data packet to an opposite terminal according to the window parameter of the congestion window. In the above embodiment, multiple TCP connections are realized in a simulated manner based on the hybla congestion control, the bandwidth is fully utilized as much as possible, and the congestion control algorithm rapidly recovers the state before packet loss according to the bandwidth estimation of the network after the packet loss occurs. Meanwhile, two transmission congestion control methods based on packet loss and time delay are used, and on the basis of experimental analysis, a hybla algorithm and a TCP _ FAST algorithm are preferentially selected, but not limited to the combination of the two algorithms, so that the technical problem of low transmission speed of a wireless network is solved.
The following provides the results of the optimization of the embodiments of the present invention, and describes in detail an alternative embodiment of the present invention:
for example, for the signaling data of 5.13, 5.14 and 5.15 days on the line, 106 network element data of lan1 and 203 network element data of lan2 are extracted for comparison, and the test data show that the algorithm is greatly improved, and table 1 shows the corresponding relationship among the mobile internet content information, after optimization, before optimization and after optimization.
TABLE 1
Figure BDA0001212016370000111
Figure BDA0001212016370000121
Figure BDA0001212016370000131
In the embodiment of the invention, a network state parameter is obtained, wherein the network state parameter represents the delay of a network, then the network bandwidth is detected according to a detection mode corresponding to the state of the network state parameter, then a congestion control algorithm corresponding to the detection mode is selected to calculate the window parameter of a congestion window, wherein the state of the network state parameter is used for representing whether the network state parameter is effective, and then a data packet is sent to an opposite terminal according to the window parameter of the congestion window. The congestion control algorithm is easy to transplant various nix operating systems, the systems can be integrated in cdn service nodes and web servers, or can realize functions in a module loading mode, network bandwidth and parameter estimation of the congestion control algorithm is also realized, whether the network is congested or not is judged based on time delay based on the FastTCP congestion control algorithm, parameters of a state equation are improved, and more accurate estimation of a congestion window is realized. Multiple TCP connections are realized in an analog mode on the basis of hybla congestion control, and the bandwidth is fully utilized as far as possible. And after packet loss occurs, the congestion control algorithm can quickly recover the state before packet loss according to the bandwidth estimation of the network. Meanwhile, two transmission congestion control methods based on packet loss and time delay are used, the hybla algorithm and the TCP _ FAST algorithm are preferentially selected on the basis of experimental analysis, but the combination of the two algorithms is not limited, and the technical problem of low transmission speed of a wireless network is solved.
Among them, cdn (Content Delivery Network) is to add a new Network architecture to the existing Internet to distribute the Content of the website to the "edge" of the Network closest to the user, so that the user can obtain the required Content nearby, solve the Internet Network congestion, and improve the response speed of the user to access the website. Technically, the problems of small network bandwidth, large user access amount, uneven distribution of network points and the like are solved, and the fundamental reason that the response speed of the user for accessing the website is low is solved.
According to another embodiment of the present invention, there is also provided an apparatus embodiment for controlling network transmission congestion, as shown in fig. 5, including: an acquisition unit 51, a determination unit 53, a selection unit 55, a calculation unit 57, and a transmission unit 59.
The acquiring unit 51 is configured to acquire a network status parameter, where the network status parameter indicates a delay of a network; a determining unit 53, configured to determine a network bandwidth detection mode based on the network status parameter; a selecting unit 55, configured to select a congestion control algorithm based on a network bandwidth detection manner; a calculating unit 57, configured to calculate a parameter of the congestion window; a sending unit 59, configured to send a data packet to the peer according to the parameter of the congestion window.
Optionally, the obtaining unit includes: a determining module, configured to determine an average delay according to a first formula, where the first formula is: avgRTT ═ ((scale-1) × avgRTT + rtt)/scale, wherein avgRTT represents average delay, scale represents first delay parameter, and rtt represents current delay; a first determining module for determining a transmission delay based on a current delay; and the second determining module is used for determining the queuing delay based on the average delay and the transmission delay.
Optionally, the determining unit includes: the first detection module is used for detecting whether the state of the network state parameter is an effective state; the first detection module is used for detecting the network bandwidth in a network delay-based mode if the state of the network state parameter is detected to be an effective state; the second detection module is used for detecting the network bandwidth in a packet loss detection mode if the state of the network state parameter is detected to be not an effective state and the network is detected to be in a normal working state, wherein the detection mode comprises the packet loss detection mode; and the acquisition module is used for acquiring the window parameter of the preset congestion window if the state of the network state parameter is detected to be not an effective state and the network is detected to be in an abnormal working state.
Optionally, the second detection module comprises: the acquisition submodule is used for acquiring the configured information of N connections, wherein N is a natural number; a first determining submodule, configured to determine a window parameter of a congestion window of a network bandwidth according to a second formula, where the second formula is: omegai(t1)=ω+N*ωi(t0) Wherein, ω isi(t1) Window parameter indicating the current congestion window, ω indicating congestion window information determined based on information of the N connections, ωi(t0) And the window parameter represents the congestion window obtained by adopting the packet loss detection mode to perform network bandwidth last time.
Optionally, the first detection module comprises: a second determining submodule, configured to determine a window parameter of the congestion window according to a third formula, where the third formula is:
Figure BDA0001212016370000151
wherein, ω isi(t1) A window parameter indicating the current congestion window,ωi(t0) A window parameter representing a congestion window obtained by performing network bandwidth last time based on a network delay mode, wherein gamma is a convergence coefficient, and alpha isiRepresenting the estimated number of queued packets in the network; d represents the queuing delay in the network status parameter, and D represents the transmission delay in the network status parameter.
Optionally, the apparatus further comprises: the first detection unit is used for detecting whether the current delay is less than or equal to the historical delay before the window parameter of the congestion window is determined through a third formula, wherein the historical delay represents the delay of the last received data packet; the first selection unit is used for selecting the value of the convergence coefficient from the first value-taking interval if the current delay is less than or equal to the historical delay; and the second selection unit is used for selecting the value of the convergence coefficient from a second value interval if the current delay is greater than the historical delay, wherein the minimum value in the first value interval is greater than the maximum value in the second value interval.
Optionally, the apparatus further comprises: the second detection unit is used for detecting whether the network is in a normal working state before detecting whether the state of the network state parameter is in an effective state, wherein the second detection module is used for detecting whether a repeatedly sent acknowledgement command ack is received, and if the repeatedly sent acknowledgement command ack is detected, the network is detected to be in an abnormal working state; and the third detection module is used for detecting whether an overtime retransmission instruction is received or not, and if the overtime retransmission instruction is detected, detecting that the network is in an abnormal working state.
With the above embodiment, after the network state parameter is determined, the network bandwidth is detected according to the detection mode corresponding to the state of the network state parameter, then the congestion control algorithm is selected based on the detection mode, the congestion window parameter is calculated, and the data packet is sent to the terminal according to the determined window parameter of the congestion window. In the above embodiment, when a data packet needs to be transmitted, a detection mode may be determined based on a network state parameter indicating a delay state of a network, and a parameter of a congestion window may be determined by using the determined detection mode to perform data transmission.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, a division of a unit may be a division of a logic function, and an actual implementation may have another division, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or may not be executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that it is obvious to those skilled in the art that various modifications and improvements can be made without departing from the principle of the present invention, and these modifications and improvements should also be considered as the protection scope of the present invention.

Claims (6)

1. A method for controlling network transmission, comprising:
acquiring a network state parameter, wherein the network state parameter represents the delay of a network;
determining a network bandwidth detection mode based on the network state parameters;
selecting a congestion control algorithm based on the network bandwidth detection mode, and calculating parameters of a congestion window;
sending a data packet to the opposite end according to the parameter of the congestion window;
wherein determining a network bandwidth detection mode based on the network state parameter comprises:
detecting whether the state of the network state parameter is a valid state;
if the state of the network state parameter is detected to be an effective state, detecting the network bandwidth in a network delay-based mode;
if the state of the network state parameter is detected to be not an effective state and the network is detected to be in a normal working state, detecting the network bandwidth by adopting a packet loss detection mode, wherein the detection mode comprises the packet loss detection mode;
if the state of the network state parameter is detected to be not an effective state and the network is detected to be in an abnormal working state, acquiring a window parameter of a preset congestion window;
wherein, under the condition that the network state parameter includes the transmission delay and the average delay, detecting whether the state of the network state parameter is an effective state includes: if the transmission delay and the average delay are not detected to be zero, determining that the state of the detected network state parameter is an effective state; if the transmission delay and the average delay are both zero, determining that the state of the detected network state parameter is not an effective state;
wherein, detecting the network bandwidth by adopting a packet loss detection mode comprises: acquiring N pieces of configured connection information, wherein N is a natural number; determining a window parameter of a congestion window of the network bandwidth by a second formula, wherein the second formula is: omegai(t1)=ω+N*ωi(t0) Wherein, the ω isi(t1) Window parameter representing the current congestion window, ω representing congestion window information determined based on information of the N connections, ωi(t0) Representing a window parameter of a congestion window obtained by detecting the network bandwidth in a packet loss detection mode at the last time;
wherein, adopting the mode based on network delay to detect the network bandwidth comprises: determining a window parameter of the congestion window by a third formula, wherein the third formula is:
Figure FDA0003342463500000011
Figure FDA0003342463500000021
wherein, the ω isi(t1) Window parameter, ω, representing the current congestion windowi(t0) Window parameter representing the congestion window last detected by network bandwidth based on network delay, gamma being convergenceCoefficient, αiRepresenting the estimated number of queued packets in the network; d represents the queuing delay in the network state parameter, and D represents the transmission delay in the network state parameter.
2. The method of claim 1, wherein obtaining network state parameters comprises:
determining an average delay by a first formula, wherein the first formula is:
avgRTT ═ ((scale-1) × avgRTT + rtt)/scale, wherein avgRTT represents average delay, scale represents first delay parameter, and rtt represents current delay;
determining a transmission delay based on the current delay;
determining a queuing delay based on the average delay and the transmission delay.
3. The method of claim 2, wherein prior to determining the window parameter for the congestion window by a third formula, the method further comprises:
detecting whether the current delay is less than or equal to historical delay, wherein the historical delay represents the delay of the last time a data packet is received;
if the current delay is less than or equal to the historical delay, selecting the value of the convergence coefficient from a first value-taking interval;
and if the current delay is greater than the historical delay, selecting the value of the convergence coefficient from a second value interval, wherein the minimum value in the first value interval is greater than the maximum value in the second value interval.
4. The method of claim 1, wherein prior to detecting whether the state of the network status parameter is a valid state, the method further comprises: it is detected whether the network is in a normal operating state, wherein,
detecting whether a repeatedly sent confirmation instruction is received or not, and if the repeatedly sent confirmation instruction is detected, detecting that the network is in an abnormal working state;
and detecting whether an overtime retransmission instruction is received or not, and if the overtime retransmission instruction is detected, detecting that the network is in an abnormal working state.
5. A control apparatus for network transmission, comprising:
the device comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring a network state parameter, and the network state parameter represents the delay of a network;
the determining unit is used for determining a network bandwidth detection mode based on the network state parameter;
a selecting unit, configured to select a congestion control algorithm based on the network bandwidth detection manner;
a calculation unit for calculating parameters of a congestion window;
a sending unit, configured to send a data packet to an opposite end according to the parameter of the congestion window;
wherein the determination unit includes:
the first detection module is used for detecting whether the state of the network state parameter is an effective state;
the first detection module is used for detecting the network bandwidth in a network delay-based mode if the state of the network state parameter is detected to be an effective state;
the second detection module is used for detecting the network bandwidth in a packet loss detection mode if the state of the network state parameter is detected to be not an effective state and the network is detected to be in a normal working state, wherein the detection mode comprises the packet loss detection mode;
the acquisition module is used for acquiring a preset window parameter of a congestion window if the state of the network state parameter is detected to be not an effective state and the network is detected to be in an abnormal working state;
wherein the first detection module is further configured to: under the condition that the network state parameters comprise transmission delay and average delay, if the transmission delay and the average delay are detected to be not zero, determining that the state of the detected network state parameters is an effective state; if the transmission delay and the average delay are both zero, determining that the state of the detected network state parameter is not an effective state;
wherein the second detection module comprises: the acquisition submodule is used for acquiring the configured information of N connections, wherein N is a natural number; a first determining submodule, configured to determine a window parameter of a congestion window of the network bandwidth according to a second formula, where the second formula is: omegai(t1)=ω+N*ωi(t0) Wherein, the ω isi(t1) Window parameter representing the current congestion window, ω representing congestion window information determined based on information of the N connections, ωi(t0) Representing a window parameter of a congestion window obtained by detecting the network bandwidth in a packet loss detection mode at the last time;
wherein the first detection module comprises: a second determining submodule, configured to determine a window parameter of the congestion window according to a third formula, where the third formula is:
Figure FDA0003342463500000031
Figure FDA0003342463500000032
wherein, the ω isi(t1) Window parameter, ω, representing the current congestion windowi(t0) Representing the window parameter of the congestion window obtained by detecting the network bandwidth in the last time based on the network delay mode, gamma is the convergence coefficient, and alpha isiRepresenting the estimated number of queued packets in the network; d represents the queuing delay in the network state parameter, and D represents the transmission delay in the network state parameter.
6. The apparatus of claim 5, wherein the obtaining unit comprises:
a determining module, configured to determine an average delay according to a first formula, where the first formula is:
avgRTT ═ ((scale-1) × avgRTT + rtt)/scale, wherein avgRTT represents average delay, scale represents first delay parameter, and rtt represents current delay;
a first determining module configured to determine a transmission delay based on the current delay;
a second determining module configured to determine a queuing delay based on the average delay and the transmission delay.
CN201710037306.8A 2017-01-17 2017-01-17 Method and device for controlling network transmission congestion Expired - Fee Related CN108322401B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710037306.8A CN108322401B (en) 2017-01-17 2017-01-17 Method and device for controlling network transmission congestion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710037306.8A CN108322401B (en) 2017-01-17 2017-01-17 Method and device for controlling network transmission congestion

Publications (2)

Publication Number Publication Date
CN108322401A CN108322401A (en) 2018-07-24
CN108322401B true CN108322401B (en) 2022-01-25

Family

ID=62892024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710037306.8A Expired - Fee Related CN108322401B (en) 2017-01-17 2017-01-17 Method and device for controlling network transmission congestion

Country Status (1)

Country Link
CN (1) CN108322401B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061925B (en) * 2019-04-22 2022-06-07 深圳市瑞云科技有限公司 Cloud server-based image congestion avoiding and transmission accelerating method
CN112312467A (en) * 2019-07-25 2021-02-02 中兴通讯股份有限公司 Network transmission control method and device
CN110856214B (en) * 2019-10-29 2023-01-10 广东省电信规划设计院有限公司 TCP congestion control method and device
CN111212126B (en) * 2019-12-27 2023-05-26 百度在线网络技术(北京)有限公司 Data transmission method, device, equipment and medium of block chain network
CN111404823A (en) * 2020-03-05 2020-07-10 广东睿江云计算股份有限公司 Method and system for tcp dynamic selection of congestion algorithm
CN111371692B (en) * 2020-03-13 2020-11-27 中科驭数(北京)科技有限公司 Window control method and device based on TCP (Transmission control protocol) and electronic equipment
CN113556213B (en) * 2020-04-23 2022-12-06 华为技术有限公司 Method for determining time-out Retransmission Time (RTO) and related device
CN114389975B (en) * 2022-02-08 2024-03-08 北京字节跳动网络技术有限公司 Network bandwidth estimation method, device and system, electronic equipment and storage medium
CN115086235B (en) * 2022-05-31 2024-03-26 北京达佳互联信息技术有限公司 Network congestion detection method, device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917342A (en) * 2010-08-25 2010-12-15 天津理工大学 Pervasive service-oriented adaptive network congestion control method
CN105227484A (en) * 2015-10-16 2016-01-06 中国人民解放军国防科学技术大学 A kind of data transfer control method towards satellite network
CN106059950A (en) * 2016-05-25 2016-10-26 四川大学 Adaptive network congestion control method based on SCPS-TP
CN106131208A (en) * 2016-08-09 2016-11-16 中南大学 A kind of HTTP height concurrent data transfer method in data center network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5146725B2 (en) * 2007-09-19 2013-02-20 日本電気株式会社 Communication apparatus and communication method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917342A (en) * 2010-08-25 2010-12-15 天津理工大学 Pervasive service-oriented adaptive network congestion control method
CN105227484A (en) * 2015-10-16 2016-01-06 中国人民解放军国防科学技术大学 A kind of data transfer control method towards satellite network
CN106059950A (en) * 2016-05-25 2016-10-26 四川大学 Adaptive network congestion control method based on SCPS-TP
CN106131208A (en) * 2016-08-09 2016-11-16 中南大学 A kind of HTTP height concurrent data transfer method in data center network

Also Published As

Publication number Publication date
CN108322401A (en) 2018-07-24

Similar Documents

Publication Publication Date Title
CN108322401B (en) Method and device for controlling network transmission congestion
EP3694160B1 (en) Date transmission method, apparatus and device
US10659367B2 (en) System and method for rate-based packet transmission over a network
US10868770B2 (en) System for early system resource constraint detection and recovery
KR102016446B1 (en) Tcp congestion control for large latency networks
US9929956B2 (en) System for bandwidth optimization with initial congestion window determination
US8171123B2 (en) Network bandwidth detection and distribution
Chen et al. On bufferbloat and delay analysis of multipath TCP in wireless networks
EP2959645B1 (en) Dynamic optimization of tcp connections
EP3761591B1 (en) Tcp link configuration method, apparatus, and computer program product
JP5867160B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
US20050213507A1 (en) Dynamically provisioning computer system resources
JP5867188B2 (en) Information processing apparatus, congestion control method, and congestion control program
US8081644B2 (en) Method and device for controlling a queue buffer
JP2018531552A6 (en) System and method for rate-based packet transmission over a network
CN110809288B (en) Network congestion control method, device, equipment and medium
JP5832335B2 (en) Communication apparatus and communication system
Huang et al. Packet slicing for highly concurrent TCPs in data center networks with COTS switches
Jaiswal et al. A comparative performance analysis of TCP congestion control algorithm: elastic TCP vs. e-Elastic TCP
Rahmani et al. Adaptive active queue management in heterogeneous networks
Jahre Fighting fire with fire: Eliminating standing queues with large UDP packet floods
Lee et al. On window control algorithm over wireless cellular networks with large delay variation
Taank et al. An experimental evaluation of sender-side tcp enhancements for wired-to-wireless paths: A real-world home wlan case study
Khalid et al. Performance Evaluation of TCP Incast Protocols in Data Center Network

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220125