Network congestion control method, electronic equipment and storage medium
The network controller receives the information of the target network element and queries the target service path, and sends a pause command to the starting network element, which solves the problem of innocent data flow being blocked, achieves precise control of the data flow, and significantly improves the quality of network transmission. .
Patent Information
- Application Number
- CN202411444138.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-16
- Publication Date
- 2025-01-21
AI Technical Summary
In the prior art, innocent data streams that have not passed through the blocked source will also be blocked, resulting in deterioration of network transmission quality.
The network controller receives the target port information, service queue information to be paused, and pause duration sent by the target network element, queries and determines the target service path, and sends a pause command to the starting network element to accurately pause the data flow through the target port.
It achieves precise pausing of data flows through the target port, avoiding innocent data flows from being blocked, significantly improving network transmission quality, and avoiding PFC storms and PFC deadlocks.
Smart Images

Figure CN119341989A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a network congestion control method, an electronic device and a storage medium. Background Art
[0002] With the explosive growth of network data, the requirements for network transmission performance are becoming higher and higher, and lossless networks have come into being.
[0003] Currently, data stream transmission is usually based on the Priority Flow Control (PFC) protocol. By dividing the physical link into 8 virtual channels, each channel represents a priority queue. The network element can send pause frames and resume frames to the upstream node according to the congestion of a specific channel to pause or resume the data transmission of a specific priority queue.
[0004] However, based on the above transmission suspension mechanism, innocent data flows that have not passed through the blocking source will also be blocked, which deteriorates the network transmission quality. Summary of the invention
[0005] In view of this, embodiments of the present application provide a network congestion control method, an electronic device, and a storage medium to solve the problem that innocent data flows that have not passed through the blocking source may also be blocked, thereby deteriorating the network transmission quality.
[0006] In a first aspect, an embodiment of the present application provides a network congestion control method, which is applied to a network controller, and the method includes:
[0007] Receive information of a target port, information of a service queue to be suspended corresponding to the target port, and a suspension duration sent by a target network element;
[0008] According to the information of the target port and the information of the service queue to be suspended, query and determine the target service path, where the target service path is used to indicate information of network elements through which the data flow in the service queue to be suspended is transmitted to the target port;
[0009] According to the pause duration, a pause command is sent to a starting network element among the passed network elements, so that the starting network element pauses data flow transmission with the target port within the pause duration.
[0010] In an optional embodiment, the method further comprises:
[0011] The information of the target port, the information of the target service path, the information of the service queue to be suspended and the suspension duration are saved in a preset storage space.
[0012] In an optional implementation manner, after sending a pause command to a starting network element among the passed network elements, the method further includes:
[0013] Within the pause duration, receiving information of the port to be restored sent by the target network element and information of the service queue to be restored corresponding to the port to be restored;
[0014] Reading the information of the target port and the information of the service queue to be suspended from the preset storage space;
[0015] If the port to be restored matches the target port, and the service queue to be restored matches the service queue to be suspended, then reading the information of the target service path from the preset storage space;
[0016] According to the information of the target service path, a recovery command is sent to the starting network element, so that the starting network element recovers the data flow transmission between the starting network element and the target port.
[0017] In an optional embodiment, the method further comprises:
[0018] When the pause duration is reached, the information of the target port, the information of the target service path, the information of the service queue to be paused, and the pause duration are removed from the preset storage space.
[0019] In a second aspect, an embodiment of the present application further provides a network congestion control method, which is applied to a target network element, and the method includes:
[0020] Performing congestion detection on the data port of the target network element;
[0021] If it is detected that the target port of the target network element triggers a transmission suspension mechanism, information of the target port, information of the service queue to be suspended corresponding to the target port, and a suspension duration are obtained;
[0022] The information of the target port, the information of the service queue to be suspended, and the pause duration are sent to the network controller, so that the network controller queries and determines the target service path according to the information of the target port and the information of the service queue to be suspended, wherein the target service path is used to indicate information of network elements through which the data flow in the service queue to be suspended is transmitted to the target port, and a pause command is sent to the starting network element among the passing network elements, so that the starting network element suspends the data flow transmission between the starting network element and the target port within the pause duration.
[0023] In an optional implementation manner, the acquiring the information of the target port, the information of the to-be-suspended service queue corresponding to the target port, and the suspension duration includes:
[0024] Monitoring a pause frame sent by the target network element and directed to the target port;
[0025] The information of the target port, the information of the service queue to be suspended and the pause duration are extracted from the pause frame.
[0026] In an optional embodiment, the method further comprises:
[0027] Within the pause duration, obtaining information of the port to be restored and information of the service queue to be restored corresponding to the port to be restored;
[0028] The information of the port to be restored and the information of the service queue to be restored are sent to the network controller, so that the network controller reads the information of the target port and the information of the service queue to be suspended from the preset storage space; if the port to be restored matches the target port, and the service queue to be restored matches the service queue to be suspended, the information of the target service path is read from the preset storage space; according to the information of the target service path, a recovery command is sent to the starting network element, so that the starting network element resumes the data flow transmission between the starting network element and the target port.
[0029] In an optional implementation manner, the acquiring information of the port to be restored and information of the service queue to be restored corresponding to the port to be restored includes:
[0030] Monitoring a recovery frame sent by the target network element for the port to be recovered;
[0031] The information of the port to be restored and the information of the service queue to be restored are extracted from the restoration frame.
[0032] In a third aspect, an embodiment of the present application further provides an electronic device, comprising: a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the memory through the bus, and the processor executes the machine-readable instructions to execute any one of the methods described in the first aspect.
[0033] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the method described in any one of the first aspects is executed.
[0034] The present application provides a network congestion control method, an electronic device and a storage medium, wherein the method comprises: a network controller receives information of a target port sent by a target network element, information of a service queue to be suspended corresponding to the target port and a suspension duration, the network controller inquires and determines a target service path according to the information of the target port and the information of the service queue to be suspended, the target service path is used to indicate information of network elements through which a data stream in the service queue to be suspended is transmitted to the target port, and the network controller sends a pause command to a starting network element in the passing network elements according to the suspension duration, so that the starting network element suspends the data stream transmission between the starting network element and the target port within the suspension duration. The present application can accurately pause the data stream passing through the target port and allow the innocent data stream to continue to be transmitted through data stream-level congestion control, thereby significantly improving the quality of network transmission. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0036] Figure 1 This is a schematic diagram of the existing congestion control scenario;
[0037] Figure 2 Schematic diagram of the network congestion control method provided in the embodiment of the present application Figure 1 ;
[0038] Figure 3 Schematic diagram of the network congestion control method provided in the embodiment of the present application Figure 2 ;
[0039] Figure 4 Schematic diagram of the network congestion control method provided in the embodiment of the present application Figure 3 ;
[0040] Figure 5 Schematic diagram of the network congestion control method provided in the embodiment of the present application Figure 4 ;
[0041] Figure 6 A schematic diagram of a specific congestion control process provided in an embodiment of the present application;
[0042] Figure 7 A schematic diagram of the structure of the network congestion control device provided in the embodiment of the present application Figure 1 ;
[0043] Figure 8A schematic diagram of the structure of the network congestion control device provided in the embodiment of the present application Figure 2 ;
[0044] Fig. 9 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0045] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application generally described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.
[0046] First, the relevant concepts involved in this application are explained:
[0047] Priority Flow Control (PFC) protocol: The physical link of the port is divided into 8 virtual channels, each of which represents a priority queue. The downstream node sends PAUSE and RESUME frames to the upstream node according to the congestion of the specific channel to suspend or resume the data transmission of the specific priority queue.
[0048] The specific implementation method is that when the length of the receiving queue (i.e., the priority queue) of the downstream node exceeds a certain threshold, the PFC protocol's pause transmission mechanism is triggered. At this time, a PFC pause frame will be sent to the upstream node. After the upstream node receives the pause frame, it will block the queue, and other queues will not be affected and send data as usual. Among them, the pause frame carries the queue information and pause time that need to be paused. The upstream node will stop sending data according to the time set in the pause frame. When the length of the receiving queue is lower than a certain threshold, a PFC recovery frame will be sent. After receiving the recovery frame, the upstream node will immediately resume data transmission.
[0049] With the rapid development of 5G communication technology, the PFC protocol, as an important traffic management and congestion control technology, is also widely used in 5G networks built based on Slicing Packet Network (SPN) technology.
[0050] Based on the working principle and process of the PFC protocol, it can be seen that before the receiving queue overflows, the PFC protocol suppresses data transmission by sending pause frames to the upstream node. After the upstream node receives the pause frame, it is blocked and its sending queue gradually grows. When the length of the sending queue continues to grow until it exceeds its set threshold, the PFC pause transmission mechanism is also triggered and a pause frame is sent to its upstream node, thereby triggering a chain diffusion of pause frames, namely a pause frame storm.
[0051] Since pause frames are continuously transmitted upstream, upstream nodes are blocked, and even deadlock is caused in certain specific cases of circular dependencies. In the most extreme cases, the transmission performance of the entire network will be greatly reduced. In addition, the PFC transmission pause mechanism is based on the priority queue of each port rather than on each flow. If multiple data flows share a priority queue, all data flows in the queue will be paused. Even if only one of the data flows passes through the source of the blockage, it may cause the blockage to spread, causing innocent flows to be blocked, and accelerating the deterioration of network transmission quality.
[0052] Figure 1 It is a schematic diagram of the existing congestion control scenario, such as Figure 1 As shown, P1, P2, and P3 are all data ports of network element 1, P4, P5, P6, P7, and P8 are all data ports of network element 2, S1 and S2 are data ports of network element 3, S3 and S4 are data ports of network element 4, and R1 and R2 are data ports of network element 5.
[0053] S1 sends data stream to R1, S2, S3, and S4 send data stream to R2, S1 and S2 use the same priority queue (i.e., the data stream sent is in the priority queue of a channel of P3), and S2, S3, and S4 all use the same priority queue (i.e., the data stream sent is in the priority queue of a channel of port P8). S1 and S2 share a link P3-P4. When the length of the receiving queue of P8 of network element 2 (i.e., the downstream node) exceeds the threshold, the data stream cannot be sent, and the data stream then blocks the entire priority queue.
[0054] When the receiving queue of P8 grows to the threshold value and triggers the transmission suspension mechanism of the PFC protocol, P4 sends a pause frame to network element 1 (i.e., the upstream node) to inhibit network element 1 from continuing to send data streams. P3 is blocked after receiving the pause frame. At this time, the data stream from S1 reaches R1 through P7 and does not pass through the blocked source port P8, but is also blocked. Therefore, the data stream from S1 is an innocent stream. In this scheme, once congestion occurs, the innocent stream will be blocked, and its sending speed will be reduced under the action of the blocking control algorithm. The completion time of the innocent stream will increase with the blocking time and frequency of the port. At the same time, the blocking causes the sending queue of the upstream node to grow and triggers the PFC transmission suspension mechanism. The pause frame will continue to flood upstream, continuously deteriorating the network transmission quality.
[0055] This application considers building a 5G network based on SPN technology, and based on the characteristics of the SPN network, optimizes the PFC-based congestion control mechanism to alleviate the deadlock, unfairness, head-of-line blocking and pause frame flooding caused by the PFC pause transmission mechanism. The congestion control method using data flow control (i.e., flow-by-flow control) can accurately pause the data flow passing through the target port and allow the innocent data flow to continue to be transmitted, which significantly improves the network transmission quality. At the same time, it also avoids PFC storms and PFC deadlocks, significantly increases network throughput, and reduces transmission delays.
[0056] Figure 2 Schematic diagram of the network congestion control method provided in the embodiment of the present application Figure 1 , the execution subject of this embodiment is a network controller, such as a software defined network (Software Defined Network, SDN).
[0057] like Figure 2 As shown, the method may include:
[0058] S101 : Receive information of a target port, information of a to-be-suspended service queue corresponding to the target port, and a suspension duration sent by a target network element.
[0059] The target network element can be any network element in the 5G network, such as Figure 1 In the network element 1 and the network element 2, the target network element has multiple data ports, such as the data ports P1, P2, and P3 of the network element 1, and the data ports P4, P5, P6, P7, and P8 of the network element 2.
[0060] Based on the PFC protocol, each data port of the target network element is divided into 8 virtual channels, each channel represents a priority queue, and the target port is a data port whose priority queue (i.e., receiving queue, service queue) corresponding to the channel among multiple data ports has a length exceeding a preset threshold, such as P8 of network element 2.
[0061] If the length of the service queue corresponding to the target channel under the target port exceeds the preset threshold, the service queue triggers the pause transmission mechanism, and the service queue serves as the service queue to be suspended corresponding to the target port. The target network element obtains the information of the sending target port, the information of the service queue to be suspended corresponding to the target port, and the pause duration, and sends the information of the target port, the information of the service queue to be suspended corresponding to the target port, and the pause duration to the network controller.
[0062] Correspondingly, the network controller receives information about the target port sent by the target network element, information about the service queue to be suspended corresponding to the target port, and the suspension duration, wherein the information about the target port may include the port identifier of the target port, such as P8, and the information about the service queue to be suspended may include the identifier of the corresponding channel under the target port, and the information about the service queue to be suspended may, for example, be the queue corresponding to the first channel of the target port.
[0063] The pause duration may be, for example, 1 second or 2 seconds, which may be determined according to the PFC protocol, and is not particularly limited in this embodiment.
[0064] S103: query and determine the target service path according to the information of the target port and the information of the service queue to be suspended.
[0065] A correspondence between multiple data ports, service queues corresponding to each channel under each data port, and service paths passed by the service queues corresponding to each channel is pre-configured, wherein the service path is used to indicate information about network elements through which data streams in the service queues corresponding to each channel are transmitted to each data port, wherein the information about the network elements passed through may include identifiers of data ports of the network elements passed through.
[0066] For example, the service queue includes: the data stream sent by S2, the data stream sent by S3, and the data stream sent by S4. The information of the network elements through which the data stream sent by S2 is transmitted to the target port P8 includes: S2 of network element 3, P2 and P3 of network element 1, and P4 of network element 2. The information of the network elements through which the data stream sent by S3 is transmitted to the target port includes: S3 of network element 4 and P5 of network element 2. The information of the network elements through which the data stream sent by S4 is transmitted to the target port includes: S4 of network element 4 and P6 of network element 2.
[0067] The network controller queries the preconfigured correspondence according to the information of the target port and the information of the service queue to be suspended, and determines the target service path, which is used to indicate the information of the network element through which the data flow in the service queue to be suspended passes to reach the target port.
[0068] S104: Send a pause command to a starting network element among the passed network elements according to the pause duration, so that the starting network element pauses data flow transmission with the target port within the pause duration.
[0069] The starting network element is determined from the passed network elements, and the starting network element is the starting sending network element of the data flow in the service queue to be suspended.
[0070] The network controller sends a pause command to the starting network element according to the pause duration. When the starting network element receives the pause command, it suspends the data flow transmission between the network element 3 and the target port within the pause duration. For example, the network controller sends a pause command to network element 3 so that network element 3 suspends the data flow transmission through P2, P3 of network element 1, P4 of network element 2, and P8 within the pause duration, and sends a pause command to network element 4 so that network element 4 suspends the data flow transmission through P5 of network element 2 and P8 within the pause duration, and suspends the data flow transmission through P6 of network element 2 and P8 within the pause duration.
[0071] That is, by sending a pause command to the starting network element, the starting network element no longer sends data flow to the target port via the network elements on the target service path, and the service queue to be paused no longer receives new data flow.
[0072] In this embodiment, a congestion control method using data flow control (i.e., flow-by-flow control) can accurately pause the data flow passing through the target port and allow the innocent data flow to continue to be transmitted, which significantly improves the network transmission quality. At the same time, it also avoids PFC storms and PFC deadlocks, significantly improves network throughput, and reduces transmission delays.
[0073] Figure 3 Schematic diagram of the congestion control method provided in the embodiment of the present application Figure 2 ,like Figure 3 As shown, in an optional implementation, the method may further include:
[0074] S201, saving information of a target port, information of a target service path, information of a service queue to be suspended, and a suspension duration in a preset storage space.
[0075] Among them, the network controller maintains a preset storage space, which can be a stack. The information of the target port, the information of the target service path, the information of the service queue to be suspended, and the pause duration are saved in the preset storage space. When the pause duration is reached, the information of the target port, the information of the target service path, the information of the service queue to be suspended, and the pause duration are removed from the preset storage space. In other words, the network controller removes the records that exceed the pause duration from the preset storage space by maintaining the preset storage space.
[0076] In an optional implementation manner, after the above step S103, sending a pause command to the starting network element among the passed network elements, the method may further include:
[0077] S202: within the pause time, receiving information of the port to be restored and information of the service queue to be restored corresponding to the port to be restored sent by the target network element.
[0078] During the temporary period, if the target network element detects that the length of the service queue corresponding to a channel under a data port does not exceed the preset threshold, that is, the congestion is relieved, the data port will be used as the port to be restored, and the service queue corresponding to the data port will be used as the service queue to be restored corresponding to the port to be restored.
[0079] The target network element obtains information about the port to be restored and information about the service queue to be restored corresponding to the port to be restored, and sends information about the port to be restored and information about the service queue to be restored corresponding to the port to be restored to the network controller. Accordingly, the network controller receives information about the port to be restored and information about the service queue to be restored sent by the target network element within the pause period, wherein the information about the port to be restored may include an identifier of the port to be restored, and the information about the service queue to be restored may include an identifier of a corresponding channel under the port to be restored, and the information about the service queue to be restored may, for example, be a queue corresponding to the first channel of the port to be restored.
[0080] S203: Read the target port information and the information of the service queue to be suspended from the preset storage space.
[0081] S204: If the port to be restored matches the target port, and the service queue to be restored matches the service queue to be suspended, information of the target service path is read from a preset storage space.
[0082] The information of the target port and the information of the service queue to be suspended are read from the preset storage space. If the port to be restored is consistent with the target port, the port to be restored and the target port match. If the service queue to be restored is consistent with the service queue to be suspended, the service queue to be restored and the service queue to be suspended match. When the port to be restored and the target port match, and the service queue to be restored and the service queue to be suspended match, the information of the target service path is read from the preset storage space.
[0083] S205. Send a recovery command to the starting network element according to the information of the target service path, so that the starting network element recovers the data flow transmission between the starting network element and the target port.
[0084] The starting network element is determined according to the information of the target service path, and a recovery command is sent to the starting network element so that the starting network element resumes data flow transmission with the target port, that is, the service queue to be suspended continues to receive new data flows.
[0085] In this embodiment, a congestion control method using data flow control (ie, flow-by-flow control) can accurately restore the data flow passing through the target port, thereby significantly improving the network transmission quality.
[0086] Figure 4 Schematic diagram of the network congestion control method provided in the embodiment of the present application Figure 3 , the execution subject of this embodiment may be the target network element.
[0087] like Figure 4 As shown, the method may include:
[0088] S301: Perform congestion detection on a data port of a target network element.
[0089] The target network element performs congestion detection on multiple data ports of the target network element. If the length of the priority queue (i.e., the receiving queue, the service queue) corresponding to a channel under the target port exceeds the preset threshold, it is determined that the target port is congested. If the lengths of the priority queues (i.e., the receiving queue, the service queue) corresponding to multiple channels under the target port do not exceed the preset threshold, it is determined that the target port is not congested.
[0090] S302: If it is detected that the target port of the target network element triggers a transmission suspension mechanism, information of the target port, information of the to-be-suspended service queue corresponding to the target port, and suspension duration are obtained.
[0091] If it is detected that the length of the priority queue (i.e., the receiving queue, the business queue) corresponding to a channel under the target port exceeds the preset threshold, it is determined that the target port is congested, and the target port triggers the transmission suspension mechanism, determines that the priority queue corresponding to the channel under the target port is the business queue to be suspended corresponding to the target port, and obtains the information of the target port, the information of the business queue to be suspended corresponding to the target port, and the suspension duration.
[0092] S303, sending the target port information, the service queue to be suspended information and the pause duration to the network controller, so that the network controller can query and determine the target service path according to the target port information and the service queue to be suspended information, the target service path is used to indicate the information of the network element through which the data flow in the service queue to be suspended is transmitted to the target port, and sending a pause command to the starting network element among the passed network elements, so that the starting network element suspends the data flow transmission between the starting network element and the target port within the pause duration.
[0093] The target network element sends the target port information, the target port information, the target port corresponding service queue to be suspended information and the pause duration to the network controller. The network controller receives the target port information, the target port corresponding service queue to be suspended information and the pause duration sent by the target network element, and queries and determines the target service path according to the target port information and the service queue to be suspended information. According to the pause duration, the pause command is sent to the starting network element among the passing network elements, so that the starting network element suspends the data flow transmission between the starting network element and the target port within the pause duration.
[0094] In this embodiment, a congestion control method using data flow control (i.e., flow-by-flow control) can accurately pause the data flow passing through the target port and allow the innocent data flow to continue to be transmitted, which significantly improves the network transmission quality. At the same time, it also avoids PFC storms and PFC deadlocks, significantly improves network throughput, and reduces transmission delays.
[0095] In an optional implementation, the above step S301, obtaining the information of the target port, the information of the service queue to be suspended corresponding to the target port, and the suspension duration, may include:
[0096] Monitor the pause frame sent by the target network element to the target port;
[0097] The information of the target port, the information of the service queue to be suspended and the suspension duration are extracted from the pause frame.
[0098] If it is detected that the target port of the target network element triggers the pause transmission mechanism, a pause frame for the target port sent by the target network element is monitored, and information of the target port, information of the service queue to be paused, and the pause duration are extracted from the pause frame.
[0099] In this embodiment, without affecting the normal operation of the PFC protocol, a new network congestion control method applicable to the SPN network is proposed as a supplement to the PFC protocol, thereby alleviating many problems caused by the PFC transmission suspension mechanism.
[0100] Figure 5 Schematic diagram of the network congestion control method provided in the embodiment of the present application Figure 4 ,like Figure 5 As shown, in an optional implementation, the method may further include:
[0101] S401. Within the pause time, obtain information of the port to be restored and information of the service queue to be restored corresponding to the port to be restored.
[0102] During the pause period, if the target network element detects that the length of the service queue corresponding to a channel under a data port does not exceed the preset threshold, that is, the congestion is relieved, the data port will be used as the port to be restored, and the service queue corresponding to the data port will be used as the service queue to be restored corresponding to the port to be restored.
[0103] In an optional implementation, the above step S401, obtaining information of the port to be restored and information of the service queue to be restored corresponding to the port to be restored, includes:
[0104] Monitor the recovery frame sent by the target network element for the port to be recovered;
[0105] The information of the port to be restored and the information of the service queue to be restored are extracted from the restoration frame.
[0106] If it is detected that a data port of the target network element triggers the recovery transmission mechanism, that is, the congestion is relieved, the data port is determined to be the port to be recovered, and the recovery frame for the port to be recovered sent by the target network element is monitored, and the information of the port to be recovered and the information of the service queue to be recovered are extracted from the recovery frame.
[0107] S402. Send information about the port to be restored and the service queue to be restored to the network controller, so that the network controller reads the information about the target port and the service queue to be suspended from the preset storage space. If the port to be restored matches the target port, and the service queue to be restored matches the service queue to be suspended, read the information about the target service path from the preset storage space, and send a recovery command to the starting network element based on the information about the target service path, so that the starting network element resumes data flow transmission with the target port.
[0108] The target network element obtains the information of the port to be restored and the information of the service queue to be restored corresponding to the port to be restored, and sends the information of the port to be restored and the information of the service queue to be restored corresponding to the port to be restored to the network controller. Accordingly, the network controller receives the information of the port to be restored and the information of the service queue to be restored sent by the target network element within the pause period.
[0109] The network controller reads the information of the target port and the information of the service queue to be suspended from the preset storage space. If the port to be restored matches the target port, and the service queue to be restored matches the service queue to be suspended, the information of the target service path is read from the preset storage space, and a recovery command is sent to the starting network element so that the starting network element resumes data flow transmission with the target port.
[0110] In this embodiment, a congestion control method using data flow control (ie, flow-by-flow control) can accurately restore the data flow passing through the target port, thereby significantly improving the network transmission quality.
[0111] Based on the above embodiments, the congestion control method of the present application is described below in conjunction with a specific embodiment.
[0112] Figure 6 A schematic diagram of a specific congestion control process provided in an embodiment of the present application is shown as follows: Figure 6 As shown, the following steps are included:
[0113] Step 1: Monitor network element messages.
[0114] Step 2: Determine whether a pause frame sent by the network element is monitored.
[0115] Step 3: If a pause frame is detected, determine whether a matching target service path can be found.
[0116] Step 4: If no pause frame is detected, return to step 1; if a pause frame is detected and the target service path is found, send a pause command to the starting network element to cause the starting network element to pause sending data streams; if a pause frame is detected but the target service path is not found, return to step 1.
[0117] Step 5: Determine whether the recovery frame sent by the network element is monitored.
[0118] Step 6: If no recovery frame is detected, return to step 1; if a recovery frame is detected and a matching port and queue for the pause are found, send a recovery command to the starting network element; if a recovery frame is detected but a matching port and queue for the pause are not found, return to step 1.
[0119] Step 7: Send a recovery command to the starting network element so that the starting network element continues to send data streams.
[0120] In this embodiment, when the network controller receives a message from the network element that a certain port-specific priority queue is blocked, it can quickly lock the corresponding affected data flow, that is, the blocked flow, and the network controller sends a command to the starting network element of the blocked flow to suspend the data flow transmission. When it is detected that the congestion condition is eliminated, the network controller searches for the relevant port and queue in the blocked flow that is suspended, and if found, the starting network element sends a command to continue sending the data flow. Thus, the congestion control method using data flow control (i.e., flow-by-flow control) can accurately suspend the data flow passing through the target port and allow the innocent data flow to continue to be transmitted, which significantly improves the network transmission quality. At the same time, it also avoids PFC storms and PFC deadlocks, significantly improves the network throughput, and reduces transmission delay.
[0121] Figure 7 A schematic diagram of the structure of the network congestion control device provided in the embodiment of the present application Figure 1 , the device can be integrated in a network controller.
[0122] like Figure 7 As shown, the device may include:
[0123] The receiving module 501 is used to receive the target port information, the information of the service queue to be suspended corresponding to the target port and the suspension duration sent by the target network element;
[0124] A query module 502, configured to query and determine a target service path according to information of a target port and information of a service queue to be suspended, wherein the target service path is used to indicate information of network elements through which a data flow in the service queue to be suspended is transmitted to the target port;
[0125] The sending module 503 is used to send a pause command to a starting network element among the passed network elements according to the pause duration, so that the starting network element pauses the data flow transmission between the starting network element and the target port within the pause duration.
[0126] For descriptions of the processing flow of each module in the device and the interaction flow between each module, reference may be made to the relevant descriptions in the above method embodiment, which will not be described in detail here.
[0127] Figure 8 A schematic diagram of the structure of the network congestion control device provided in the embodiment of the present application Figure 2 , the device can be integrated in the target network element.
[0128] like Figure 8 As shown, the device may include:
[0129] The detection module 601 is used to perform congestion detection on the data port of the target network element;
[0130] An acquisition module 602 is used to acquire information of the target port, information of the service queue to be suspended corresponding to the target port, and the suspension duration if it is detected that the target port of the target network element triggers the suspension transmission mechanism;
[0131] The sending module 603 is used to send the information of the target port, the information of the service queue to be suspended and the pause duration to the network controller, so that the network controller can query and determine the target service path according to the information of the target port and the information of the service queue to be suspended. The target service path is used to indicate the information of the network element through which the data flow in the service queue to be suspended is transmitted to the target port, and send a pause command to the starting network element among the passing network elements, so that the starting network element suspends the data flow transmission between the starting network element and the target port within the pause duration.
[0132] For descriptions of the processing flow of each module in the device and the interaction flow between each module, reference may be made to the relevant descriptions in the above method embodiment, which will not be described in detail here.
[0133] Fig. 9 This is a structural diagram of an electronic device provided in an embodiment of the present application, and the device can be implemented by the above-mentioned network controller or target network element.
[0134] like Fig. 9 As shown, the device may include: a processor 701, a memory 702 and a bus 703. The memory 702 stores machine-readable instructions executable by the processor 701. When the electronic device is running, the processor 701 communicates with the memory 702 through the bus 703, and the processor 701 executes the machine-readable instructions to perform the above method.
[0135] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the processor executes the above method.
[0136] In the embodiment of the present application, the computer program can also execute other machine-readable instructions when run by the processor to execute other methods described in the embodiment. For the specific execution method steps and principles, please refer to the description of the embodiment, which will not be repeated here.
[0137] It should be noted that similar numbers and letters represent similar items in the following figures. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are only used to distinguish the description and are not to be understood as indicating or implying relative importance.
[0138] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The protection scope of the present application is not limited thereto. Although the present application is described in detail with reference to the above-mentioned embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-mentioned embodiments within the technical scope disclosed in the present application, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes 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. They should all be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A network congestion control method, characterized in that: Applied to a network controller, the method comprises: Receive information of a target port, information of a service queue to be suspended corresponding to the target port, and a suspension duration sent by a target network element; According to the information of the target port and the information of the service queue to be suspended, query and determine the target service path, where the target service path is used to indicate information of network elements through which the data flow in the service queue to be suspended is transmitted to the target port; According to the pause duration, a pause command is sent to a starting network element among the passed network elements, so that the starting network element pauses data flow transmission with the target port within the pause duration.
2. The method according to claim 1, characterized in that The method further comprises: The information of the target port, the information of the target service path, the information of the service queue to be suspended and the suspension duration are saved in a preset storage space.
3. The method according to claim 2, characterized in that After sending the pause command to the starting network element among the passed network elements, the method further includes: Within the pause duration, receiving information of the port to be restored sent by the target network element and information of the service queue to be restored corresponding to the port to be restored; Reading the information of the target port and the information of the service queue to be suspended from the preset storage space; If the port to be restored matches the target port, and the service queue to be restored matches the service queue to be suspended, then reading the information of the target service path from the preset storage space; According to the information of the target service path, a recovery command is sent to the starting network element, so that the starting network element recovers the data flow transmission between the starting network element and the target port.
4. The method according to claim 2, characterized in that: The method further comprises: When the pause duration is reached, the information of the target port, the information of the target service path, the information of the service queue to be paused, and the pause duration are removed from the preset storage space.
5. A network congestion control method, characterized in that: Applied to a target network element, the method comprises: Performing congestion detection on the data port of the target network element; If it is detected that the target port of the target network element triggers a transmission suspension mechanism, information of the target port, information of the service queue to be suspended corresponding to the target port, and a suspension duration are obtained; The information of the target port, the information of the service queue to be suspended, and the pause duration are sent to the network controller, so that the network controller queries and determines the target service path according to the information of the target port and the information of the service queue to be suspended, wherein the target service path is used to indicate information of network elements through which the data flow in the service queue to be suspended is transmitted to the target port, and a pause command is sent to the starting network element among the passing network elements, so that the starting network element suspends the data flow transmission between the starting network element and the target port within the pause duration.
6. The method according to claim 5, characterized in that The acquiring the information of the target port, the information of the service queue to be suspended corresponding to the target port, and the suspension duration includes: Monitoring a pause frame sent by the target network element and directed to the target port; The information of the target port, the information of the service queue to be suspended and the pause duration are extracted from the pause frame.
7. The method according to claim 5, characterized in that The method further comprises: Within the pause duration, obtaining information of the port to be restored and information of the service queue to be restored corresponding to the port to be restored; The information of the port to be restored and the information of the service queue to be restored are sent to the network controller, so that the network controller reads the information of the target port and the information of the service queue to be suspended from the preset storage space; if the port to be restored matches the target port, and the service queue to be restored matches the service queue to be suspended, the information of the target service path is read from the preset storage space; according to the information of the target service path, a recovery command is sent to the starting network element, so that the starting network element resumes the data flow transmission between the starting network element and the target port.
8. The method according to claim 7, characterized in that The obtaining the information of the port to be restored and the information of the service queue to be restored corresponding to the port to be restored includes: Monitoring a recovery frame sent by the target network element for the port to be recovered; The information of the port to be restored and the information of the service queue to be restored are extracted from the restoration frame.
9. An electronic device, characterized in that: include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate via the bus, and the processor executes the machine-readable instructions to execute the method described in any one of claims 1 to 4 or any one of claims 5 to 8.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 4 or any one of claims 5 to 8 is executed.
Citation Information
Cited By
Data traffic control method and device, electronic equipment, medium and program product
CN120639704A