A network congestion management method and related apparatus
By adjusting rate values among network devices to identify and control network congestion, the problems of reduced throughput and deadlock caused by network congestion were solved, thereby optimizing network performance and improving bandwidth utilization.
Patent Information
- Application Number
- CN202080107851.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-16
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2040-12-16
AI Technical Summary
Existing technologies are not ideal for network congestion control, leading to reduced network throughput and potential network deadlocks. Existing methods have failed to effectively solve the network congestion problem.
Network congestion is identified and controlled by adjusting the rate values between the first and second network devices. The first network device sends a expected rate value and adjusts the rate value according to the actual rate value to alleviate congestion. The second network device adjusts its sending rate according to the received rate value, thereby achieving the identification and control of network congestion.
It improves network bandwidth utilization, flexibly responds to network congestion, avoids packet loss and network performance degradation, and reduces the implementation cost of the solution.
Smart Images

Figure CN116601932B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the field of communication, and in particular, to a network congestion management method and related apparatus. BACKGROUND
[0002] Network congestion refers to a phenomenon that when network load reaches a certain degree, the throughput of the network no longer increases linearly with the increase of the network load, and even the throughput of the network can rapidly decrease with the increase of the network load, eventually leading to network deadlock. In order to maximize the overall performance of the network, it is necessary to control network congestion to ensure that the network load remains in a reasonable state.
[0003] Transmission Control Protocol (TCP) is a widely used network transmission protocol, which guarantees end-to-end reliable transmission through acknowledgement messages and retransmission mechanisms, and performs flow control according to the receiving capacity of the receiving end to avoid network congestion. The flow control method of TCP reduces the sending rate of data packets when network transmission devices such as switches and routers are congested and the buffer is full and packet loss occurs.
[0004] However, reducing the sending rate of data packets when packet loss occurs can further cause packet loss and retransmission, and reduce the network transmission rate. The existing network congestion control method is not ideal. SUMMARY
[0005] Embodiments of the present application provide a network congestion management method and related apparatus for identifying and controlling network congestion.
[0006] The first aspect of the embodiments of the present application provides a network congestion management method. A first network device needs to receive data sent by a second network device. The first network device can send a first rate value to the second network device, the first rate value being an expected rate value, which is used to instruct the second network device to send data to the first network device at the first rate value. After sending the first rate value to the second network device, the first network device can obtain an actual rate value, that is, an actual rate value at which the first network device receives data sent by the second network device. If the actual rate value is less than the first rate value, it indicates that network congestion occurs, resulting in a slow rate of receiving data by the first network device. At this time, the first network device can send a second rate value to the second network device, the second rate value also being an expected rate value, which is used to instruct the second network device to send data to the first network device at the second rate value. In order to control network congestion, the second rate value needs to be less than the first rate value.
[0007] In the embodiments of the present application, the first network device sends a first rate value required by data transmission to the second network device, and obtains an actual rate value, so as to identify whether network congestion occurs. When network congestion occurs, the first network device sends a second rate value to the second network device, the second rate value being less than the first rate value, so as to control network congestion.
[0008] With reference to the first aspect, in a first implementation of the first aspect of the embodiments of the present application, in order to obtain maximum broadband utilization, the first network device can send the first rate value to the second network device according to the data transmission rate threshold.
[0009] In the embodiments of the present application, the first network device determines the first rate value according to the data transmission rate threshold of the first network device, and sends the first rate value to the second network device, thereby saving the step of bandwidth detection.
[0010] With reference to the first aspect or the first implementation of the first aspect, in a second implementation of the first aspect of the embodiments of the present application, after the first network device sends the second rate value to the second network device, when the actual rate value is equal to the second rate value, it indicates that network congestion disappears, at this time, the first network device can send a third rate value to the second network device according to the data transmission rate threshold, the third rate value also being the expected rate value, which is used to instruct the second network device to send data to the first network device at the third rate value, the third rate value being greater than the second rate value.
[0011] In the embodiments of the present application, the first network device can adjust the expected data transmission rate according to network congestion, and when network congestion disappears, the expected data transmission rate can be increased, thereby improving the flexibility of the scheme.
[0012] With reference to the first aspect or the first implementation of the first aspect, in the second implementation of the first aspect of the embodiments of the present application, when the actual rate value is less than the second rate value, it indicates that network congestion has not disappeared, and the second network device needs to be speed-limited, therefore, at this time, the first network device can send a fourth rate value to the second network device, the fourth rate value being used to instruct the second network device to send data to the first network device at the fourth rate value, the fourth rate value being less than the second rate value.
[0013] The second aspect of the embodiment of the present application provides a network congestion management method. A second network device needs to send data to a first network device. The second network device can first receive a first rate value sent by the first network device, where the first rate value is used to instruct the second network device to send data to the first network device at the first rate value. After that, when the first network device determines that an actual rate value is less than the first rate value, the second network device can receive a second rate value sent by the first network device. The actual rate value represents a rate at which the first network device receives data sent by the second network device. If the actual rate value is less than the first rate value, it indicates that network congestion occurs, and therefore, the rate at which the second network device sends data to the first network device needs to be lowered, that is, the second rate value is less than the first rate value.
[0014] In the embodiment of the present application, the second network device sends data to the first network device at an expected rate. When network congestion occurs, the second network device can timely lower the rate at which data is sent to the first network device, thereby avoiding packet loss caused by deterioration of network congestion and ensuring network performance.
[0015] With reference to the second aspect, in a first implementation manner of the second aspect of the embodiment of the present application, the second network device can receive the first rate value sent by the first network device according to the data transmission rate threshold.
[0016] In the embodiment of the present application, the second network device receives the first rate value sent by the first network device according to the data transmission rate threshold, and therefore, maximum bandwidth utilization can be obtained.
[0017] With reference to the second aspect or the first implementation manner of the second aspect, in a second implementation manner of the second aspect of the embodiment of the present application, after the second network device receives the second rate value sent by the first network device, if the actual rate value is equal to the second rate value, it indicates that network congestion disappears, and the rate of data transmission can be increased. At this time, the second network device can receive a third rate value sent by the first network device according to the data transmission rate threshold, where the third rate value is used to instruct the second network device to send data to the first network device at the third rate value, and the third rate value is greater than the second rate value.
[0018] In a third implementation form of the second aspect or the first implementation form of the second aspect, after receiving the second rate value sent by the first network device, if the actual rate value is less than the second rate value, it indicates that the congestion in the network has not disappeared, and thus the second network device needs to reduce the rate of sending data to the first network device. In this case, the second network device can receive a fourth rate value sent by the first network device, where the fourth rate value is used to instruct the second network device to send data to the first network device at the fourth rate value, and the fourth rate value is less than the second rate value.
[0019] In the embodiments of the present application, the second network device can flexibly select the sending rate of data according to the network congestion situation, and the flexibility of the scheme is improved.
[0020] The third aspect of the embodiments of the present application provides a first network device, which has the function of the first network device in the first aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware includes one or more modules corresponding to the above functions.
[0021] The fourth aspect of the embodiments of the present application provides a second network device, which has the function of the second network device in the second aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware includes one or more modules corresponding to the above functions.
[0022] The fifth aspect of the embodiments of the present application provides a computer readable storage medium, which stores instructions, and when the instructions are executed on a computer, the computer executes the method in the above aspects.
[0023] The sixth aspect of the embodiments of the present application provides a computer program product, when the computer program product is executed on a computer, the computer executes the method in the above aspects. BRIEF DESCRIPTION OF DRAWINGS
[0024] Figure 1 FIG. 1 is a schematic diagram of a network transmission system in the embodiments of the present application;
[0025] Figure 2 FIG. 2 is a flowchart of a network congestion management method in the embodiments of the present application;
[0026] Figure 3 FIG. 3 is another flowchart of a network congestion management method in the embodiments of the present application;
[0027] Figure 4 FIG. 4 is a structural diagram of a first network device in the embodiments of the present application;
[0028] Figure 5 Fig. 1 is a schematic diagram of another structure of the first network device in the embodiments of the present application. DETAILED DESCRIPTION
[0029] The embodiments of the present application provide a network congestion management method and related device, which are used for identifying and controlling network congestion.
[0030] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all of the embodiments of the present application.
[0031] The terms "first", "second", "third", "fourth" and the like (if any) in the description and claims of the present application and the above drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments described herein can be implemented in other than the order illustrated or described herein. In addition, the terms "comprise" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to include only those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to the process, method, product or device.
[0032] Referring to Figure 1 In a network transmission system, including a sending device, a switching network and a receiving device, the sending device sends data to the receiving device through the switching network. When the load of the network reaches a certain degree, the throughput of the network may rapidly decrease, and even cause network deadlock. Therefore, when network congestion occurs, the rate of the sending device sending data to the receiving device needs to be limited to avoid further deterioration of the network congestion.
[0033] It should be noted that in the embodiments of the present application, the first network device can be a receiving device, and the second network device can be a sending device.
[0034] Referring to Figure 2 The flow of the network congestion management method in the embodiments of the present application includes the following steps.
[0035] 201. The second network device sends a transmission request to the first network device.
[0036] Before network data transmission, the second network device sends a transmission request to the first network device.
[0037] 202. The first network device sends a first rate value to the second network device according to a data transmission rate threshold of the second network device.
[0038] After receiving the transmission request sent by the second network device, the first network device can send a first rate value to the second network device according to the data transmission rate threshold of the second network device, and the first rate value is the data transmission rate threshold of the second network device at this time. For example, the second network device can determine the data transmission rate threshold in the following manner: the first network device determines a total data transmission rate threshold according to the maximum forwarding capability thereof, and then determines the data transmission rate threshold of the second network device according to the proportion of the total data transmission rate threshold occupied by the second network device. It should be noted that the data transmission rate threshold of the second network device is also related to the service processing capability of the first network device. When the number of network devices that need to send data to the first network device increases, and the sum of the data transmission rate thresholds of all network devices including the second network device is greater than the total data transmission rate threshold, the data transmission rate thresholds of all network devices will decrease, and thus the data transmission rate threshold of the second network device will also decrease.
[0039] 203. The second network device sends data to the first network device at the first rate value;
[0040] After receiving the first rate value sent by the first network device, the second network device sends data to the first network device at the first rate value.
[0041] 204. The first network device determines that the actual rate value is less than the first rate value;
[0042] After sending the first rate value to the second network device, the first network device can count the total traffic sent by the second network device received in a time window, and the ratio of the total traffic to the time window is the actual rate value of the data sent by the second network device received by the first network device. If the actual rate value is less than the first rate value, the first network device can determine that there is network congestion.
[0043] 205. The first network device sends a second rate value to the second network device;
[0044] After determining that there is network congestion, the first network device can send a second rate value to the second network device, and the second rate value is less than the first rate value, so as to further alleviate the network congestion.
[0045] 206. The second network device sends data to the first network device at the second rate value;
[0046] After receiving the first rate value sent by the first network device, the second network device sends data to the first network device at the second rate value.
[0047] 207、the first network device determines that the actual rate value is equal to the second rate value;
[0048] The first network device can count the total traffic sent by the second network device received in the time window, and the ratio of the total traffic to the time window is the actual rate value of the data sent by the second network device received by the first network device. If the actual rate value is equal to the second rate value, it indicates that the current network congestion situation disappears.
[0049] 208、the first network device sends a third rate value to the second network device according to the data transmission rate threshold of the second network device;
[0050] When the first network device determines that the actual rate value is equal to the second rate value, it indicates that the network congestion situation disappears, and therefore the first network device can appropriately increase the rate of the data sent by the second network device. At this time, the first network device can send a third rate value to the second network device according to the data transmission rate threshold of the second network device. The third rate value is equal to the data transmission rate threshold of the second network device at this time, and the third rate value is greater than the second rate value. In the case where the data transmission rate threshold is large, the third rate value can also be greater than the first rate value. For example, when the first rate value is determined, the sum of the data transmission rate thresholds of all network devices including the second network device is greater than the total data transmission rate threshold, and when the third rate value is determined, the sum of the data transmission rate thresholds of all network devices including the second network device is less than or equal to the total data transmission rate threshold. Therefore, the third rate value is greater than the first rate value.
[0051] 209、the second network device sends data to the first network device at the third rate value.
[0052] The second network device sends data to the first network device at the third rate value.
[0053] It should be noted that in the embodiments of the present application, the rate value sent by the first network device to the second network device can be an average data rate, or can also be a credit amount sent by the first network device to the second network device in a unit of time.
[0054] In the embodiments of the present application, the first network device can compare the actual rate value with the rate value sent to the second network device, and then identify whether there is a network congestion situation. If there is a network congestion situation, the first network device controls the network congestion situation by sending a reduced rate value to the second network device. When the network congestion situation is controlled, the first network device can send an increased rate value to the second network device, thereby obtaining greater data transmission efficiency. Moreover, the control of the network congestion can be realized by relying on the receiving device and the sending device, without improving the switching network, thereby saving the cost of the scheme implementation.
[0055] Please see Figure 3 Another step in the network congestion management method in this application embodiment includes:
[0056] In this embodiment, steps 301 to 306 are the same as those described above. Figure 2 Steps 201 to 206 in the corresponding embodiments are similar and will not be repeated here.
[0057] 307. The first network device determines that the actual speed value is less than the second speed value;
[0058] The first network device can count the total traffic received from the second network device within a time window. The ratio of this total traffic to the time window is the actual rate at which the first network device receives data sent by the second network device. If this actual rate is less than the second rate, the first network device can determine that the network congestion has not been alleviated.
[0059] 308. The first network device sends a fourth rate value to the second network device;
[0060] When the first network device determines that there is network congestion, the first network device can continue to reduce the rate value sent to the second network device to further control the network congestion. Therefore, the first network device can send a fourth rate value to the second network device, which is less than the second rate value.
[0061] 309. The second network device sends data to the first network device at the fourth rate value.
[0062] After receiving the fourth rate value sent by the first network device, the second network device can send data to the first network device at the fourth rate value.
[0063] It should be noted that, in this embodiment of the application, after the second network device sends data to the first network device at the fourth rate value, if network congestion still exists, the first network device can continue to send data to the second network device at a rate value smaller than the fourth rate value until the network congestion disappears. These smaller rate values can also be referred to as the fourth rate value.
[0064] It should be noted that after the network congestion disappears, the first network device can continue to send a third rate value to the second network device, thereby increasing the sending rate of the second network device. This third rate value is greater than the fourth rate value and less than or equal to the first rate value.
[0065] It should be noted that, in this embodiment of the application, the rate value sent by the first network device to the second network device can be the average data rate, or it can be the amount of credits sent by the first network device to the second network device per unit time.
[0066] The first network device in the embodiments of the present application is described below. Please refer to Figure 4 The first network device 400 in the embodiments of the present application includes a sending unit 401 and an obtaining unit 402.
[0067] The sending unit 401 is configured to send a first rate value to a second network device, the first rate value being used to instruct the second network device to send data to the first network device at the first rate value.
[0068] The sending unit 401 is further configured to send a second rate value to the second network device when the actual rate value is less than the first rate value, the second rate value being used to instruct the second network device to send data to the first network device at the second rate value, the second rate value being less than the first rate value.
[0069] The sending unit 401 is specifically configured to send the first rate value to the second network device according to a data transmission rate threshold of the second network device.
[0070] The sending unit 401 is further configured to send a third rate value to the second network device according to the data transmission rate threshold of the second network device when the actual rate value is equal to the second rate value, the third rate value being used to instruct the second network device to send data to the first network device at the third rate value, the third rate value being greater than the second rate value.
[0071] The sending unit 401 is further configured to send a fourth rate value to the second network device when the actual rate value is less than the second rate value, the fourth rate value being used to instruct the second network device to send data to the first network device at the fourth rate value, the fourth rate value being less than the second rate value.
[0072] The obtaining unit 402 is configured to obtain an actual rate value, the actual rate value being a rate value at which the first network device receives data sent by the second network device.
[0073] Figure 5 FIG. 1 is a structural schematic diagram of a first network device provided by the embodiments of the present application. The first network device 500 can include one or more central processing units (CPUs) 501 and a memory 505, and the memory 505 stores one or more application programs or data.
[0074] The memory 505 can be volatile storage or persistent storage. The programs stored in the memory 505 can include one or more modules, and each module can include a series of instruction operations in the server. Furthermore, the central processing unit 501 can be configured to communicate with the memory 505 and execute the series of instruction operations in the memory 505 on the first network device 500.
[0075] The first network device 500 can also include one or more power supplies 502, one or more wired or wireless network interfaces 503, one or more input / output interfaces 504, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0076] The central processing unit 501 can perform the operations of the first network device described in the embodiments shown above, which will not be described here in detail. Figures 2 to 3 The central processing unit 501 can perform the operations of the first network device described in the embodiments shown above, which will not be described here in detail.
[0077] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the system, device and unit described above can refer to the corresponding processes in the foregoing method embodiments, which will not be described here in detail.
[0078] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division, and actual implementation can have another division manner. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.
[0079] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e. can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.
[0080] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.
[0081] The integrated unit, if implemented in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application or the entire or part of the technical solutions that essentially contribute to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and various media that can store program codes.
[0082] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method of network congestion management, characterized by, The method comprises: The first network device sends a first rate value to the second network device, the first rate value being used to instruct the second network device to send data to the first network device at the first rate value, the first rate value being a data transmission rate threshold of the second network device, the data transmission rate threshold of the second network device being related to a traffic processing capability of the first network device; The first network device obtains an actual rate value, the actual rate value being a rate value at which the first network device receives data sent by the second network device; When the actual rate value is less than the first rate value, the first network device sends a second rate value to the second network device, the second rate value being used to instruct the second network device to send data to the first network device at the second rate value, the second rate value being less than the first rate value.
2. The method of claim 1, wherein, The first network device sending the first rate value to the second network device comprises: The first network device sends the first rate value to the second network device according to the data transmission rate threshold of the second network device.
3. The method according to claim 1 or 2, characterized in that, After the first network device sends the second rate value to the second network device, the method further comprises: When the actual rate value is equal to the second rate value, the first network device sends a third rate value to the second network device according to the data transmission rate threshold of the second network device, the third rate value being used to instruct the second network device to send data to the first network device at the third rate value, the third rate value being greater than the second rate value; Or, the third rate value is greater than the first rate value.
4. The method according to claim 1 or 2, characterized in that, After the first network device sends the second rate value to the second network device, the method further comprises: When the actual rate value is less than the second rate value, the first network device sends a fourth rate value to the second network device, the fourth rate value being used to instruct the second network device to send data to the first network device at the fourth rate value, the fourth rate value being less than the second rate value.
5. A first network device, comprising: The method comprises: A sending unit is configured to send a first rate value to a second network device, the first rate value being used to instruct the second network device to send data to the first network device at the first rate value, the first rate value being a data transmission rate threshold of the second network device, the data transmission rate threshold of the second network device being related to a traffic processing capability of the first network device; An obtaining unit is configured to obtain an actual rate value, the actual rate value being a rate value at which the first network device receives data sent by the second network device; The sending unit is configured to send a second rate value to the second network device when the actual rate value is less than the first rate value, the second rate value being used to instruct the second network device to send data to the first network device at the second rate value, the second rate value being less than the first rate value.
6. The first network device according to claim 5, wherein The sending unit is specifically configured to send the first rate value to the second network device according to a data transmission rate threshold of the second network device.
7. The first network device according to claim 5 or 6, characterized in that, The sending unit is further configured to send a third rate value to the second network device according to a data transmission rate threshold of the second network device when the actual rate value is equal to the second rate value, the third rate value being used to instruct the second network device to send data to the first network device at the third rate value, the third rate value being greater than the second rate value.
8. The first network device according to claim 5 or 6, characterized in that, The sending unit is further configured to send a fourth rate value to the second network device when the actual rate value is less than the second rate value, the fourth rate value being used to instruct the second network device to send data to the first network device at the fourth rate value, the fourth rate value being less than the second rate value.
9. A first network device, comprising: comprising: a processor, a memory, an input / output device, and a bus; the processor, the memory, the input / output device, and the bus are connected; the processor is configured to execute the method in any one of claims 1 to 4.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium has a program saved therein, and when the computer executes the program, the method in any one of claims 1 to 4 is executed.
11. A computer program product, characterised in that, When the computer program product is executed on the computer, the computer executes the method in any one of claims 1 to 4.
Citation Information
Patent Citations
Stream media document transmission method based on network bandwidth
CN102684995A