CN115883465B - Flow control method, device, server, system and storage medium - Google Patents

Flow control method, device, server, system and storage medium Download PDF

Info

Publication number
CN115883465B
CN115883465B CN202211535910.0A CN202211535910A CN115883465B CN 115883465 B CN115883465 B CN 115883465B CN 202211535910 A CN202211535910 A CN 202211535910A CN 115883465 B CN115883465 B CN 115883465B
Authority
CN
China
Prior art keywords
flow
link
lossy
sink device
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211535910.0A
Other languages
Chinese (zh)
Other versions
CN115883465A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN202211535910.0A priority Critical patent/CN115883465B/en
Publication of CN115883465A publication Critical patent/CN115883465A/en
Application granted granted Critical
Publication of CN115883465B publication Critical patent/CN115883465B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a flow control method, a flow control device, a server, a flow control system and a storage medium, and relates to the field of data communication. The method is applied to a monitoring server in a flow processing system, and receives a report message from sink equipment, wherein the report message carries the cache utilization rate of the sink equipment and the cache utilization rate of network equipment on a link corresponding to the report message; if the flow congestion of the sink device is judged according to the cache utilization rate of the sink device, determining whether the link corresponding to the reported message is an abnormal link causing the flow congestion of the sink device according to the cache utilization rate of the network device on the link corresponding to the reported message; and controlling the flow of the flow server on the abnormal link, thereby avoiding packet loss caused by incapability of relieving the flow congestion condition of the sink device due to the existence of fault devices on the link of the access sink device.

Description

Flow control method, device, server, system and storage medium
Technical Field
The present invention relates to the field of data communications, and in particular, to a flow control method, device, server, system, and storage medium.
Background
The network environment is usually realized by a flow control technology, for a link controlled by the flow control technology, when a downstream device generates flow congestion, an upstream device stops sending the flow of the link or slows down the sending rate of the flow, and when the flow congestion is relieved, the upstream device resumes sending the flow again, thereby realizing zero-packet-loss transmission of the flow.
When the upstream equipment of the equipment with traffic congestion fails, the upstream equipment cannot stop sending traffic or slow down the sending rate of the traffic, so that the traffic congestion condition of the downstream equipment is serious, and the packet loss phenomenon occurs.
Disclosure of Invention
In order to overcome the defects in the prior art, the embodiment of the invention provides a flow control method, a flow control device, a flow control server, a flow control system and a flow control storage medium.
The technical scheme of the embodiment of the invention can be realized as follows:
in a first aspect, an embodiment of the present invention provides a flow control method, applied to a monitoring server in a flow processing system, where the flow processing system includes at least one link, where there is a flow server and a network device on the at least one link, the flow processing system further includes a sink device, where the at least one link is connected to the sink device, the monitoring server is communicatively connected to the flow server on the at least one link, and the monitoring server is communicatively connected to the sink device, where the method includes:
Receiving a report message from the sink device, wherein the report message carries the cache utilization rate of the sink device and the cache utilization rate of the network device on a link corresponding to the report message;
if the sink device is judged to have traffic congestion according to the buffer utilization rate of the sink device, determining whether the link corresponding to the reported message is an abnormal link causing traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the reported message;
And controlling the flow of the flow server on the abnormal link so as to relieve the flow congestion of the sink equipment.
Optionally, the determining, according to the buffer utilization rate of the network device on the link corresponding to the report packet, whether the link corresponding to the report packet is an abnormal link that causes traffic congestion of the sink device includes:
And if the buffer utilization rate of the network equipment on the link corresponding to the report message does not meet the preset condition, the link corresponding to the report message is the abnormal link.
Optionally, the controlling the flow of the flow server on the abnormal link includes:
And sending a flow rate reducing instruction to the flow server on the abnormal link so as to enable the flow server on the abnormal link to reduce the amplitude according to the rate carried in the flow rate reducing instruction and slow down the transmission of the flow.
Optionally, the traffic transmitted on the at least one link includes lossless traffic and lossy traffic, and the sink device is provided with a plurality of lossless queues for buffering the lossless traffic and a plurality of lossy queues for buffering the lossy traffic;
After determining whether the link corresponding to the reported message is an abnormal link causing traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the reported message, the method further includes:
Obtaining the buffer memory use state and the residual buffer memory of each lossy queue;
Determining a lossy queue capable of temporarily occupying a buffer from the plurality of lossy queues according to the buffer use state and the residual buffer of each lossy queue;
and sending a preset buffer adjustment instruction to the sink device, so that the sink device distributes the residual buffer of the lossy queue capable of temporarily occupying the buffer to a lossless queue for buffering the lossless traffic of the abnormal link based on the preset buffer adjustment instruction.
Optionally, the buffer usage state includes an idle state and a non-idle state, and the determining, from the plurality of lossy queues, a lossy queue that can temporarily occupy the buffer according to the buffer usage state and the remaining buffer of each lossy queue includes:
if the lossy queue in the idle state exists, the lossy queue in the idle state with the largest residual buffer is used as the lossy queue capable of temporarily occupying the buffer;
And if each lossy queue is in a non-idle state, taking the lossy queues with residual caches larger than a preset value as lossy queues capable of temporarily occupying caches.
Optionally, the method further comprises:
Obtaining the flow enqueuing rate and the flow dequeuing rate of a lossless queue for caching the lossless flow of the abnormal link;
And if the difference value between the flow enqueuing rate and the flow dequeuing rate is in a preset interval, sending a preset cache recovery instruction to the sink device, so that the sink device reallocates the residual cache of the temporary occupied cache lossy queue occupied by the lossless queue to the temporary occupied cache lossy queue based on the preset cache recovery instruction.
In a second aspect, an embodiment of the present invention provides a flow control apparatus, applied to a monitoring server in a flow processing system, where the flow processing system includes at least one link, and there are a flow server and a network device on the at least one link, the flow processing system further includes a sink device, the at least one link is connected to the sink device, the monitoring server is communicatively connected to the flow server on the at least one link, and the monitoring server is communicatively connected to the sink device, where the apparatus includes:
The receiving module is used for receiving a report message from the sink device, wherein the report message carries the cache utilization rate of the sink device and the cache utilization rate of the network device on a link corresponding to the report message;
The processing module is used for determining whether the link corresponding to the report message is an abnormal link causing the traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the report message if the traffic congestion of the sink device is determined according to the buffer utilization rate of the sink device;
And the control module is used for controlling the flow of the flow server on the abnormal link so as to relieve the flow congestion of the sink equipment.
In a third aspect, an embodiment of the present invention provides a monitoring server, which includes a memory and a processor, where the memory stores a computer program, and the processor implements the flow control method according to the foregoing first aspect when executing the computer program.
In a fourth aspect, the present invention provides a flow processing system comprising a plurality of flow servers, a plurality of network devices, a sink device and a monitoring server as described in the foregoing third aspect.
In a fifth aspect, the present invention provides a computer readable storage medium storing a computer program which, when executed by a processor, implements the flow control method of the first aspect described above.
Compared with the prior art, the flow control method provided by the embodiment of the invention is applied to a monitoring server in a flow processing system, and firstly, a report message from sink equipment is received, wherein the report message carries the cache utilization rate of the sink equipment and the cache utilization rate of network equipment on a link corresponding to the report message; then, if the traffic congestion of the sink device is judged according to the buffer utilization rate of the sink device, determining whether the link corresponding to the reported message is an abnormal link causing the traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the reported message; and finally, performing flow control on the flow server on the abnormal link to relieve the flow congestion of the sink equipment. According to the embodiment of the invention, whether the link corresponding to the reported message is an abnormal link causing traffic congestion of the sink device is determined through the buffer utilization rate of the network device on the link corresponding to the reported message, and then the traffic control is carried out on the traffic server on the determined abnormal link, so that the situation that the traffic congestion of the sink device cannot be relieved and packet loss is caused due to the fact that the link connected to the sink device has fault devices is avoided.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the embodiments will be briefly described below, it being understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and other related drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a network architecture diagram based on PFC technology according to an embodiment of the present invention;
FIG. 2 is a schematic block diagram of a flow processing system according to an embodiment of the present invention;
fig. 3 is a schematic flow chart of a flow control method according to an embodiment of the present invention;
Fig. 4 is an exemplary diagram of a report message generation process according to an embodiment of the present invention;
FIG. 5 is an exemplary diagram of a flow control process provided by an embodiment of the present invention;
FIG. 6 is a second flow chart of a flow control method according to an embodiment of the present invention;
FIG. 7 is an exemplary diagram of a cache adjustment process according to an embodiment of the present invention;
FIG. 8 is a functional block diagram of a flow control device according to an embodiment of the present invention;
fig. 9 is a schematic block diagram of a structure of a monitoring server according to an embodiment of the present invention.
Icon: 100-a flow processing system; 110-a monitoring server; 120-traffic server; 130-a network device; 200-a flow control device; 201-a receiving module; 202-a processing module; 203-a control module; 204-an adjustment module; 111-memory; 112-a processor.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. The components of the embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the invention, as presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
It should be noted that: like reference numerals and letters denote like items in the following figures, and thus once an item is defined in one figure, no further definition or explanation thereof is necessary in the following figures.
It should be noted that the features of the embodiments of the present invention may be combined with each other without conflict.
PFC (priority-based Flow Control ) technology is to notify an upstream device of the device to reduce the rate of forwarding the congestion flow and even notify the upstream device to suspend forwarding the congestion flow when congestion of the flow forwarded on the device is detected, so as to alleviate the flow congestion.
As shown in fig. 1, DUT2, and DUT3 are switches, server1, server2, server3, and Server4 are servers, and all devices have PFC functions turned on. Traffic 1 originates from Server1, through ports 1 and 2 of DUT1, and ports 5 and 6 of DUT3 to Server3; traffic 2 originates from Server2, through ports 4 and 6 of DUT3 to Server3, traffic 3 originates from Server1, through ports 1 and 3 of DUT1, and ports 7 and 8 of DUT2 to Server4.
When traffic 1 and traffic 2 at port 6 of DUT3 are congested and PFC functions are triggered, DU3T generates PFC backpressure notification messages and sends the PFC backpressure notification messages to upstream Server1 and DUT1 from port 4 and port 5 so as to inhibit the rate of sending traffic to DUT3 by Server1 and DUT1, if PFC functions of DUT1 are abnormal, the rate of sending traffic to DUT3 is not reduced, so that traffic congestion at port 6 of DUT3 cannot be relieved, the congested traffic continuously occupies cache of DUT3, and packet loss occurs.
Because the service flow contains the lossy flow and the lossless flow, the lossy flow refers to the flow which can accept packet loss to a certain extent in the forwarding process, and the lossless flow refers to the flow which can not generate any packet loss in the forwarding process, so that when the PFC function of any equipment on a link for transmitting the flow is abnormal, the transmission of the lossless flow can be directly influenced.
In order to overcome the influence of PFC function abnormality of equipment on a link on lossless flow zero-loss packet transmission, the embodiment of the invention provides a flow processing system.
Referring to fig. 2, an example provides a traffic processing system 100 including a monitoring server 110 and n links, each having a traffic server 120 and a network device 130.
The traffic processing system further includes a sink device 140, each link accessing the sink device 140, the sink device 140 forwarding traffic for each link to the Network for access.
Each flow server 120, each network device 130, and sink device 140 start the PFC function, and when the PFC function is started, a Buffer waterline corresponding to the PFC start and PFC stop is set manually.
The monitoring server 110 is communicatively coupled to each of the traffic servers 120 and sink devices 140.
A flow control method applied to the monitoring server 110 in fig. 3 according to an embodiment of the present invention is described in detail below.
Referring to fig. 3, the flow control method includes steps S101 to S103.
S101, receiving a report message from sink equipment.
The report message carries the buffer utilization rate of the sink device and the buffer utilization rate of the network device on the link corresponding to the report message.
In the embodiment of the present invention, each of the flow server 120, the network device 130 and the sink device 140 In the flow processing system 100 has an INT (In-band Network Telemetry ) increment function turned on, and the forming process of the report may be as follows:
As shown in fig. 4, assuming that the traffic Server 120 on one link is Server1, there are two network devices 130 on the link, DUT1 and DUT2 in turn, and the Sink device to which the link is connected is Sink.
Server1 sends a message carrying telemetry instructions (TELEMETRY INSTRUCTIONS) to DUT1, and when the message passes DUT1, the telemetry instructions carried in the message tell DUT1 to insert INT HEADER in the header of the message and write the buffer utilization rate of the message, namely Metadata-1.
DUT1 then sends the message to DUT 2. Similarly, as the message passes DUT2, the telemetry instructions carried in the message tell DUT2 to write INT HEADER its cache utilization, i.e., metadata-2.
DUT2 sends the message to Sink again, similarly, when the message passes through Sink, the telemetry instruction carried in the message tells Sink to write INT HEADER its buffer utilization, i.e. Metadata-3.
And extracting the filled information in INT HEADER of the message header by the Sink, generating a report message, and sending the report message to the monitoring Server3.
Meanwhile, sink will remove INT HEADER message sending destination Server2.
It will be appreciated that the monitoring server may receive multiple reporting messages corresponding to different links simultaneously.
And S102, if the sink device is judged to have traffic congestion according to the buffer utilization rate of the sink device, determining whether the link corresponding to the reported message is an abnormal link causing traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the reported message.
Wherein an abnormal link may be due to PFC dysfunction of network devices and/or traffic servers on the link.
Since the traffic server 120 and the network device 130 on each link have PFC functions turned on, traffic congestion at the sink device 140 does not occur when PFC functions of the devices on each link are normal, but traffic congestion at the sink device 140 may occur when PFC functions of the traffic server 120 and/or the network device 130 on the link are abnormal.
The buffer usage threshold of the sink device 140 is stored on the monitoring server 110, and when the buffer usage of the sink device 140 exceeds the buffer usage threshold, it means that the current sink device 140 has traffic congestion.
The reason why the traffic congestion of the sink device 140 cannot be relieved is that the PFC function of the device on the abnormal link is abnormal, but there are multiple links accessing the sink device 140, and it is necessary to determine the abnormal link causing the traffic congestion of the sink device 140 from the multiple links, that is, determine the link corresponding to each reported message one by one, and determine whether it is the abnormal link.
As a possible implementation manner, the implementation procedure in step S102 may be as follows:
if the buffer memory utilization rate of the network equipment on the link corresponding to the report message does not meet the preset condition, the link corresponding to the report message is an abnormal link.
The buffer usage threshold value of each network device 130 is also stored on the monitoring server 110, and the preset condition means that the buffer usage of the network device 130 is not greater than the corresponding buffer usage threshold value.
For example, assume that there are 3 network devices 130 on the link corresponding to one report, namely DUT1, DUT2, and DUT3, the buffer usage of DUT1 is 35%, the buffer usage of DUT1 is 40%, the buffer usage of DUT2 is 38%, the buffer usage of DUT2 is 45%, the buffer usage of DUT3 is 51%, and the buffer usage of DUT3 is 50%.
Because the buffer utilization rates of the DUT1 and the DUT2 do not exceed the corresponding buffer utilization rate threshold values, and the buffer utilization rate of the DUT3 exceeds the corresponding buffer utilization rate threshold values, the DUT1 and the DUT2 meet the preset conditions, the DUT3 does not meet the preset conditions, and the link corresponding to the report is an abnormal link.
And S103, performing flow control on the flow server on the abnormal link so as to relieve the flow congestion of the sink equipment.
As a possible implementation manner, the implementation procedure of step S103 may be as follows:
and sending a flow rate reducing instruction to the flow server on the abnormal link so as to enable the flow server on the abnormal link to reduce the amplitude according to the rate carried in the flow rate reducing instruction and slow down the transmission of the flow.
Illustratively, as shown in FIG. 5, assume that traffic processing system 100 includes 3 links, link 1, link 2, and link 3, respectively.
The traffic Server 120 on link 1 is Server1, which also includes two network devices, INT Source1 and INT TRANSIT1, respectively.
The traffic Server 120 on link 2 is Server2, which also includes two network devices, INT Source2 and INT TRANSIT2, respectively.
The traffic Server 120 on link 3 is Server3, which also includes two network devices, INT Source3 and INT TRANSIT, respectively.
The Sink device in the traffic processing system 100 is an INT Sink, link 1 is accessed from port 1 of the INT Sink, link 2 is accessed from port 2 of the INT Sink, and link 3 is accessed from port 3 of the INT Sink.
The monitoring Server of the flow processing system 100 is a Server4, and the Server4 is respectively in communication connection with the Server1, the Server2, the Server3 and the INT Sink.
Because the link 1 is an abnormal link, the Server4 sends a flow rate reducing instruction to the Server1, the rate reduction carried in the flow rate reducing instruction is 100KB/s, and the Server1 reduces the rate of sending the flow according to the rate reduction of 100 KB/s.
In the embodiment of the present invention, the traffic transmitted on the link in the traffic processing system 100 includes lossless traffic and lossy traffic, and a sink device is provided with a plurality of lossless queues for buffering the lossless traffic and a plurality of lossy queues for buffering the lossy traffic.
Since the traffic server on the abnormal link needs a certain time to reduce the rate of sending traffic, in order to ensure zero packet loss transmission of the lossless traffic, the lossless queue for buffering the lossless traffic of the abnormal link needs to have enough buffering space.
Therefore, referring to fig. 6, the flow control method further includes steps S104 to S106 executed in synchronization with step S103.
S104, obtaining the buffer use state and the residual buffer of each lossy queue.
In the embodiment of the present invention, the report message sent by the sink device 140 further carries the usage status and the remaining buffer of each lossy queue, so that the monitoring server 110 may obtain the usage status and the remaining buffer of each lossy queue from the report message.
S105, determining the lossy queue capable of temporarily occupying the buffer from a plurality of lossy queues according to the buffer use state and the residual buffer of each lossy queue.
The cache use state comprises an idle state and a non-idle state. The lossy queue in the idle state refers to the lossy queue not buffering lossy traffic for the current period of time, and it is understood that the lossy queue in the non-idle state refers to the lossy queue buffering lossy traffic for the current period of time.
In the embodiment of the invention, the lossless queue for caching the lossless traffic of the abnormal link needs enough buffer space in order to ensure zero packet loss forwarding of the lossless traffic of the abnormal link, so that the residual buffer of the lossy queue can be distributed to the lossless queue for caching the lossless traffic of the abnormal link.
Although the forwarding process of the lossy traffic allows packet loss to a certain extent, in order to reduce the influence of the remaining buffer occupying the lossy queue on the forwarding of the lossy traffic, it is necessary to determine a lossy queue that can temporarily occupy the buffer from a plurality of lossy queues.
Thus, as one possible implementation, the implementation procedure of step S105 may be as follows:
s105-1, if the lossy queue in the idle state exists, taking the lossy queue in the idle state with the largest residual buffer as the lossy queue capable of temporarily occupying the buffer.
Illustratively, assume sink device 140 has 8 lossy queues, lossy queues 0-7, respectively, where lossy queue 3 and lossy queue 5 are both in an idle state, and lossy queue 3 is considered a lossy queue that may temporarily occupy a buffer since the remaining buffer of lossy queue 3 is larger than lossy queue 5.
S105-2, if each lossy queue is in a non-idle state, taking the lossy queue with the residual buffer larger than a preset value as a lossy queue capable of temporarily occupying the buffer.
For example, assuming that sink device 140 has 8 lossy queues, namely lossy queues 0-7, and are all in a non-idle state, lossy queue 5 is regarded as a lossy queue that can temporarily occupy the buffer, since the remaining buffer of lossy queue 5 is greater than a predetermined value and the remaining buffers of the other lossy queues are not greater than the predetermined value.
And S106, sending a preset cache adjustment instruction to the sink device, so that the sink device distributes the residual cache of the lossy queue capable of temporarily occupying the cache to the lossless queue for caching the lossless traffic of the abnormal link based on the preset cache adjustment instruction.
In the embodiment of the invention, the rest of the buffer memory of the lossy queue which can temporarily occupy the buffer memory is not completely used for allocation, but part of the rest of the buffer memory is used for allocation, and the other part is continuously used for buffering the lossy traffic of the corresponding link.
For example, assume that the sink device 140 has 8 lossy queues, namely lossy queues 0 to 7, where the lossy queue that can temporarily occupy the buffer is a lossy queue 5, and the remaining buffer of the lossy queue 5 is 25GB, where the lossy queue 5 needs to reserve 5GB of remaining buffer for buffering the lossy traffic of the corresponding link, and the remaining 20GB of remaining buffer is allocated to the lossless queue that buffers the lossless traffic of the abnormal link.
After the traffic server on the abnormal link successfully reduces the rate of sending traffic, in order to ensure normal forwarding of the lossy traffic, please refer to fig. 6 again, the traffic control method further includes steps S107 to S108.
S107, obtaining the flow enqueuing rate and the flow dequeuing rate of the lossless queue for caching the lossless flow of the abnormal link.
In the embodiment of the present invention, the sink device 140 continuously sends a report message to the monitoring server, where the sent report message also carries the traffic enqueuing rate and the traffic dequeuing rate of each lossless queue.
Therefore, after sending the traffic rate reducing instruction to the traffic server 120 on the abnormal link, the monitoring server 110 may obtain, from the report sent by the sink device 140, the traffic enqueuing rate and the traffic dequeuing rate of the lossless queue for buffering the lossless traffic of the abnormal link, so as to determine whether the traffic congestion situation of the sink device 140 is relieved.
S108, if the difference value between the flow enqueuing rate and the flow dequeuing rate is in the preset interval, a preset cache recovery instruction is sent to the sink device, so that the sink device reallocates the residual cache of the lossy queue which is occupied by the lossless queue and can temporarily occupy the cache to the lossy queue which can temporarily occupy the cache based on the preset cache recovery instruction.
The preset interval can be set according to actual needs.
It will be appreciated that when the traffic rate sent by the traffic server 120 on the abnormal link is not reduced, the traffic enqueuing rate of the lossless queue buffering the lossless traffic of the abnormal link is much greater than the traffic dequeuing rate.
When the traffic rate of the traffic server 120 on the abnormal link decreases, the traffic enqueuing rate of the lossless queue for buffering the lossless traffic of the abnormal link also decreases, and when the difference between the traffic enqueuing rate and the traffic dequeuing rate is smaller, the traffic congestion situation can be relieved.
Because the lossless queue for caching the lossless traffic of the abnormal link occupies the residual cache of the lossy queue capable of temporarily occupying the cache, after the traffic congestion condition is relieved, the residual cache of the lossy queue capable of temporarily occupying the cache occupied by the lossless queue needs to be reassigned to the lossy queue capable of temporarily occupying the cache in order to ensure the forwarding of the lossy traffic.
For example, as shown in fig. 7, assume that the sink device 140 has 8 lossy queues, namely, lossy queues 0 to 7, respectively, wherein the lossy queue that can temporarily occupy the buffer is lossy queue 5, and the sink device 140 also has 8 lossless queues, namely, lossless queues 0 to 7, respectively, wherein the lossless queue 3 buffers the lossless traffic of the abnormal link, and the lossy queue 5 has the remaining buffer with a size of 20GB allocated to the lossless queue 3.
The enqueuing rate of the traffic of the lossless queue 3 is 100KB/s, the dequeuing rate of the traffic is 109KB/s, the difference value of the enqueuing rate and the dequeuing rate is 9KB/s, and the preset interval is 0-15 KB/s, and at the moment, the 20GB residual buffer memory of the lossy queue 5 occupied by the lossless queue 3 is required to be reassigned to the lossy queue 5.
Compared with the prior art, the embodiment of the invention has the beneficial effects that:
(1) The monitoring server acquires the buffer service condition of each device in the whole flow processing system through monitoring the report message sent by the sink device, and determines whether the link corresponding to the report message is an abnormal link causing flow congestion of the sink device according to the buffer service rate of the network device on the link corresponding to the report message.
(2) The monitoring server directly controls the flow of the flow server on the abnormal link, so that packet loss caused by incapability of relieving flow congestion of the sink device due to the fact that PFC (power factor correction) function abnormality exists on the link of the access sink device is avoided.
(3) The monitoring server determines the lossy queues capable of temporarily occupying the buffers according to the buffer use state of each lossy queue and the residual buffer, and distributes the residual buffer of the lossy queues capable of temporarily occupying the buffers to the lossless queues for caching the lossless traffic of the abnormal link, so that the zero packet loss transmission of the lossless traffic is ensured.
In order to perform the corresponding steps of the method embodiments and various possible implementations described above, an implementation of the flow control device 200 is given below.
Referring to fig. 8, the flow control device 200 includes a receiving module 201, a processing module 202, a control module 203, and an adjusting module 204.
The receiving module 201 is configured to receive a report packet from a sink device, where the report packet carries a buffer usage rate of the sink device and a buffer usage rate of a network device on a link corresponding to the report packet.
And the processing module 202 is configured to determine, if it is determined that the sink device is congested according to the buffer usage rate of the sink device, whether the link corresponding to the reported message is an abnormal link that causes the sink device to be congested according to the buffer usage rate of the network device on the link corresponding to the reported message.
And the control module 203 is configured to perform flow control on the flow server on the abnormal link, so as to alleviate flow congestion of the sink device.
Optionally, the processing module 202 is specifically configured to, if the buffer utilization rate of the network device on the link corresponding to the reported message does not meet the preset condition, determine that the link corresponding to the reported message is an abnormal link.
Optionally, the control module 203 is specifically configured to send a flow rate reduction instruction to a flow server on an abnormal link, so that the flow server on the abnormal link reduces the amplitude according to the rate carried in the flow rate reduction instruction, and slows down the transmission of the flow.
Optionally, the traffic transmitted on at least one link includes lossless traffic and lossy traffic, and the sink device is provided with a plurality of lossless queues for buffering the lossless traffic and a plurality of lossy queues for buffering the lossy traffic.
An adjustment module 204, configured to obtain a buffer usage status and a remaining buffer of each lossy queue; determining a lossy queue capable of temporarily occupying the buffer from a plurality of lossy queues according to the buffer use state of each lossy queue and the residual buffer; and sending a preset buffer adjustment instruction to the sink device, so that the sink device distributes the residual buffer of the lossy queue capable of temporarily occupying the buffer to the lossless queue of the lossless flow of the buffer abnormal link based on the preset buffer adjustment instruction.
Optionally, the buffer usage state includes an idle state and a non-idle state, and the adjustment module 204 is configured to, when determining, from the plurality of lossy queues, a lossy queue that can temporarily occupy the buffer according to the buffer usage state and the remaining buffer of each lossy queue, and in particular, if there is a lossy queue in the idle state, use the lossy queue in the idle state with the largest remaining buffer as the lossy queue that can temporarily occupy the buffer; and if each lossy queue is in a non-idle state, taking the lossy queue with the residual buffer larger than a preset value as a lossy queue capable of temporarily occupying the buffer.
Optionally, the adjustment module 204 is further configured to obtain a traffic enqueuing rate and a traffic dequeuing rate of a lossless queue that caches lossless traffic of the abnormal link; if the difference value between the flow enqueuing rate and the flow dequeuing rate is in the preset interval, a preset cache recovery instruction is sent to the sink device, so that the sink device reallocates the residual cache of the lossy queue which is occupied by the lossless queue and can temporarily occupy the cache to the lossy queue which can temporarily occupy the cache based on the preset cache recovery instruction.
It will be clear to those skilled in the art that, for convenience and brevity of description, the specific working process of the flow control device 200 described above may refer to the corresponding process in the foregoing method embodiment, and will not be described in detail herein.
Further, referring to fig. 9, the monitoring server 110 may include a memory 111 and a processor 112.
The processor 112 may be a general-purpose central processing unit (Central Processing Unit, CPU), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the flow control method provided in the above method embodiments.
The MEMory 111 may be, but is not limited to, ROM or other type of static storage device that may store static information and instructions, RAM or other type of dynamic storage device that may store information and instructions, or may be an electrically erasable programmable read-Only MEMory (EEPROM), a compact disk read-Only MEMory (CD-ROM) or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 111 may be stand alone and be coupled to the processor 112 via a communication bus. Memory 111 may also be integrated with processor 112. Wherein the memory 111 is used to store machine executable instructions for performing aspects of the present application. Processor 112 is operative to execute machine executable instructions stored in memory 111 to implement the method embodiments described above.
The present invention also provides a computer readable storage medium containing a computer program which, when executed, is operable to perform the operations associated with the flow control method provided by the method embodiments described above.
In summary, the flow control method provided by the embodiment of the invention is applied to a monitoring server in a flow processing system, and firstly, a report message from sink equipment is received, wherein the report message carries the cache utilization rate of the sink equipment and the cache utilization rate of network equipment on a link corresponding to the report message; then, if the traffic congestion of the sink device is judged according to the buffer utilization rate of the sink device, determining whether the link corresponding to the reported message is an abnormal link causing the traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the reported message; and finally, performing flow control on the flow server on the abnormal link to relieve the flow congestion of the sink equipment. According to the embodiment of the invention, whether the link corresponding to the reported message is an abnormal link causing traffic congestion of the sink device is determined through the buffer utilization rate of the network device on the link corresponding to the reported message, and then the traffic control is carried out on the traffic server on the determined abnormal link, so that the situation that the traffic congestion of the sink device cannot be relieved and packet loss is caused due to the fact that the link connected to the sink device has fault devices is avoided.
The present invention is not limited to the above embodiments, and any changes or substitutions that can be easily understood by those skilled in the art within the technical scope of the present invention are intended to be included in the scope of the present invention. Therefore, the protection scope of the invention is subject to the protection scope of the claims.

Claims (10)

1. A flow control method, applied to a monitoring server in a flow processing system, where the flow processing system includes at least one link, where there is a flow server and a network device on the at least one link, and where the flow processing system further includes a sink device, where the at least one link is connected to the sink device, where the monitoring server is communicatively connected to the flow server on the at least one link, and where the monitoring server is communicatively connected to the sink device, the method includes:
Receiving a report message from the sink device, wherein the report message carries the cache utilization rate of the sink device and the cache utilization rate of the network device on a link corresponding to the report message;
if the sink device is judged to have traffic congestion according to the buffer utilization rate of the sink device, determining whether the link corresponding to the reported message is an abnormal link causing traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the reported message;
And controlling the flow of the flow server on the abnormal link so as to relieve the flow congestion of the sink equipment.
2. The method of claim 1, wherein the determining whether the link corresponding to the reported message is an abnormal link causing traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the reported message comprises:
And if the buffer utilization rate of the network equipment on the link corresponding to the report message does not meet the preset condition, the link corresponding to the report message is the abnormal link.
3. The method of claim 1, wherein said flow controlling the flow server on the abnormal link comprises:
And sending a flow rate reducing instruction to the flow server on the abnormal link so as to enable the flow server on the abnormal link to reduce the amplitude according to the rate carried in the flow rate reducing instruction and slow down the transmission of the flow.
4. The method of claim 1, wherein the traffic transmitted on the at least one link comprises lossless traffic and lossy traffic, the sink device being provided with a plurality of lossless queues for buffering the lossless traffic and a plurality of lossy queues for buffering the lossy traffic;
After determining whether the link corresponding to the reported message is an abnormal link causing traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the reported message, the method further includes:
Obtaining the buffer memory use state and the residual buffer memory of each lossy queue;
Determining a lossy queue capable of temporarily occupying a buffer from the plurality of lossy queues according to the buffer use state and the residual buffer of each lossy queue;
and sending a preset buffer adjustment instruction to the sink device, so that the sink device distributes the residual buffer of the lossy queue capable of temporarily occupying the buffer to a lossless queue for buffering the lossless traffic of the abnormal link based on the preset buffer adjustment instruction.
5. The method of claim 4, wherein the cache usage state includes an idle state and a non-idle state, wherein the determining a lossy queue from among the plurality of lossy queues that can temporarily occupy the cache based on the cache usage state and the remaining cache of each of the lossy queues comprises:
if the lossy queue in the idle state exists, the lossy queue in the idle state with the largest residual buffer is used as the lossy queue capable of temporarily occupying the buffer;
And if each lossy queue is in a non-idle state, taking the lossy queues with residual caches larger than a preset value as lossy queues capable of temporarily occupying caches.
6. The method of claim 4, wherein the method further comprises:
Obtaining the flow enqueuing rate and the flow dequeuing rate of a lossless queue for caching the lossless flow of the abnormal link;
And if the difference value between the flow enqueuing rate and the flow dequeuing rate is in a preset interval, sending a preset cache recovery instruction to the sink device, so that the sink device reallocates the residual cache of the temporary occupied cache lossy queue occupied by the lossless queue to the temporary occupied cache lossy queue based on the preset cache recovery instruction.
7. A flow control apparatus for use with a monitoring server in a flow processing system, the flow processing system including at least one link on which a flow server and a network device are present, the flow processing system further including a sink device to which the at least one link is connected, the monitoring server being communicatively coupled to the flow server on the at least one link, the monitoring server being communicatively coupled to the sink device, the apparatus comprising:
The receiving module is used for receiving a report message from the sink device, wherein the report message carries the cache utilization rate of the sink device and the cache utilization rate of the network device on a link corresponding to the report message;
The processing module is used for determining whether the link corresponding to the report message is an abnormal link causing the traffic congestion of the sink device according to the buffer utilization rate of the network device on the link corresponding to the report message if the traffic congestion of the sink device is determined according to the buffer utilization rate of the sink device;
And the control module is used for controlling the flow of the flow server on the abnormal link so as to relieve the flow congestion of the sink equipment.
8. A monitoring server, characterized in that it comprises a memory and a processor, the memory storing a computer program, the processor implementing the flow control method according to any of claims 1-6 when executing the computer program.
9. A traffic processing system comprising a plurality of traffic servers, a plurality of network devices, a sink device, and a monitoring server according to claim 8.
10. A computer readable storage medium, characterized in that it stores a computer program, which, when executed by a processor, implements the flow control method according to any one of claims 1-6.
CN202211535910.0A 2022-12-01 2022-12-01 Flow control method, device, server, system and storage medium Active CN115883465B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211535910.0A CN115883465B (en) 2022-12-01 2022-12-01 Flow control method, device, server, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211535910.0A CN115883465B (en) 2022-12-01 2022-12-01 Flow control method, device, server, system and storage medium

Publications (2)

Publication Number Publication Date
CN115883465A CN115883465A (en) 2023-03-31
CN115883465B true CN115883465B (en) 2024-04-19

Family

ID=85765491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211535910.0A Active CN115883465B (en) 2022-12-01 2022-12-01 Flow control method, device, server, system and storage medium

Country Status (1)

Country Link
CN (1) CN115883465B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03283940A (en) * 1990-03-30 1991-12-13 Nec Corp Link congestion control system
US6170022B1 (en) * 1998-04-03 2001-01-02 International Business Machines Corporation Method and system for monitoring and controlling data flow in a network congestion state by changing each calculated pause time by a random amount
WO2021012902A1 (en) * 2019-07-24 2021-01-28 华为技术有限公司 Method for processing network congestion, and related apparatus
CN112437017A (en) * 2020-11-17 2021-03-02 锐捷网络股份有限公司 Data flow control system, method, device, equipment and medium
CN112953842A (en) * 2021-04-28 2021-06-11 中国工商银行股份有限公司 Method, device, equipment and medium for processing RDMA network congestion
CN113328956A (en) * 2021-06-07 2021-08-31 新华三技术有限公司 Message processing method and device
CN113742055A (en) * 2020-05-29 2021-12-03 中国电信股份有限公司 Method, device and system for adjusting memory management unit waterline
CN113973085A (en) * 2020-07-22 2022-01-25 华为技术有限公司 Congestion control method and device
US11258719B1 (en) * 2020-08-24 2022-02-22 Keysight Technologies, Inc. Methods, systems and computer readable media for network congestion control tuning
CN114866475A (en) * 2022-04-06 2022-08-05 中山大学 Network-on-chip congestion control method, system, device and storage medium
CN115118663A (en) * 2022-06-27 2022-09-27 西安电子科技大学 Method for acquiring network congestion information by combining in-band network telemetry

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7349416B2 (en) * 2002-11-26 2008-03-25 Cisco Technology, Inc. Apparatus and method for distributing buffer status information in a switching fabric
US8325602B2 (en) * 2008-12-18 2012-12-04 Cisco Technology, Inc. Method and system to manage network traffic congestion in networks with link layer flow control

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03283940A (en) * 1990-03-30 1991-12-13 Nec Corp Link congestion control system
US6170022B1 (en) * 1998-04-03 2001-01-02 International Business Machines Corporation Method and system for monitoring and controlling data flow in a network congestion state by changing each calculated pause time by a random amount
WO2021012902A1 (en) * 2019-07-24 2021-01-28 华为技术有限公司 Method for processing network congestion, and related apparatus
CN113742055A (en) * 2020-05-29 2021-12-03 中国电信股份有限公司 Method, device and system for adjusting memory management unit waterline
CN113973085A (en) * 2020-07-22 2022-01-25 华为技术有限公司 Congestion control method and device
US11258719B1 (en) * 2020-08-24 2022-02-22 Keysight Technologies, Inc. Methods, systems and computer readable media for network congestion control tuning
CN112437017A (en) * 2020-11-17 2021-03-02 锐捷网络股份有限公司 Data flow control system, method, device, equipment and medium
CN112953842A (en) * 2021-04-28 2021-06-11 中国工商银行股份有限公司 Method, device, equipment and medium for processing RDMA network congestion
CN113328956A (en) * 2021-06-07 2021-08-31 新华三技术有限公司 Message processing method and device
CN114866475A (en) * 2022-04-06 2022-08-05 中山大学 Network-on-chip congestion control method, system, device and storage medium
CN115118663A (en) * 2022-06-27 2022-09-27 西安电子科技大学 Method for acquiring network congestion information by combining in-band network telemetry

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Breaking One-RTT Barrier:Ultra-Precise and Efficent Congestion Control in Datacenter Nerworks;Guoyuan Yang;《2021 International Conference on Computer Communicaitons and Networks》;20210831;全文 *
基于网络遥测的无损数据中心网络传输协议研究;张文杰;《中国优秀硕士学位论文全文数据库》;20220115;全文 *

Also Published As

Publication number Publication date
CN115883465A (en) 2023-03-31

Similar Documents

Publication Publication Date Title
CN107404443B (en) Queue cache resource control method and device, server and storage medium
US7773504B2 (en) Bandwidth allocation for network packet traffic
US9491105B2 (en) Method and apparatus for adaptive fast start in link aggregation
US8174980B2 (en) Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets
US10419370B2 (en) Hierarchical packet buffer system
EP4175232A1 (en) Congestion control method and device
EP3907944A1 (en) Congestion control measures in multi-host network adapter
CN113411263B (en) Data transmission method, device, equipment and storage medium
US7603475B2 (en) Method for flow control in a communication system
CN109379246B (en) Memory detection method and device
CN114189477B (en) Message congestion control method and device
CN116233018A (en) Message processing method and device, electronic equipment and storage medium
US7453808B2 (en) Throttling network management and element management system messaging
CN115883465B (en) Flow control method, device, server, system and storage medium
WO2018228323A1 (en) Service level control method and system for on-line service system, and readable storage medium
CN115378955A (en) Data processing method and related equipment
CN111464453A (en) Message forwarding method and device
CN115514708B (en) Congestion control method and device
CN107623638B (en) Fault processing method and device for load balancing path
US20190044872A1 (en) Technologies for targeted flow control recovery
CN111314432B (en) Message processing method and device
CN112118275B (en) Overload processing method, internet of things platform and computer readable storage medium
CN113849129B (en) IO request forwarding method, device and equipment among storage controllers
CN114064362B (en) Data recovery method, system and computer readable storage medium for distributed storage
CN115378885B (en) Virtual machine service network bandwidth management method and device under super fusion architecture

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