Network congestion control method and device, storage medium and program product

By identifying and processing the congestion status of the first node and its neighbor node in the network, and formulating and implementing corresponding congestion control schemes, the problem of insufficient network congestion control in the prior art is solved, and the network performance is significantly improved.

CN119996315APending Publication Date: 2025-05-13CHINA UNITED NETWORK COMM GRP CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510240584.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

Existing network congestion control technology cannot achieve rapid mitigation of network congestion, resulting in low network utilization and service quality.

Method used

By determining the congestion status of the first node and its neighbor node, a network congestion control plan is formulated, including temporary storage of traffic data, reducing forwarding rate, changing forwarding paths, etc., congestion control is performed directly on the node or neighbor node to reduce the delay in notification information.

Benefits of technology

It achieves rapid relief of network congestion, improves network utilization and service quality, and avoids insufficient congestion control due to delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119996315A_ABST
    Figure CN119996315A_ABST
Patent Text Reader

Abstract

The invention provides a network congestion control method, device and equipment and a storage medium, and relates to the technical field of network communication, and the method can sense the congestion state of upstream and downstream network equipment based on a network forwarding node, and achieves the quick alleviation of network congestion. The method comprises the following steps: determining congestion states of a first node and a neighbor node of the first node; the first node and the neighbor node are nodes on the same forwarding path; determining a network congestion control scheme at least based on the congestion states of the first node and the neighbor node; the network congestion control scheme is used for relieving the congestion degree of the first node and / or the neighbor node; and executing the network congestion control scheme.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network communication technology, and in particular to a network congestion control method, device, storage medium and program product. Background Art

[0002] In the AI ​​intelligent computing center scenario, it is necessary to process massive and diverse data, and the data volume often reaches PB level or even larger. The data transmission speed often needs to reach tens or even hundreds of gigabits per second. This requires the network to not only be able to quickly handle massive data transmission and adapt to large-scale data migration and sharing, but also to ensure that there is no loss or error during the data transmission process.

[0003] Network congestion control technology monitors and adjusts network traffic through a series of algorithm mechanisms and strategies to prevent network overload and congestion. However, existing network congestion control technology cannot quickly alleviate network congestion, resulting in low network utilization and network service quality. Summary of the invention

[0004] The present application provides a network congestion control method, device, storage medium and program product, which can achieve rapid relief of network congestion.

[0005] In a first aspect, the present application provides a network congestion control method, comprising:

[0006] Determine the congestion status of a first node and a neighboring node of the first node; the first node and the neighboring node are nodes on the same forwarding path; determine a network congestion control scheme based at least on the congestion status of the first node and the neighboring node; the network congestion control scheme is used to alleviate the congestion level of the first node and / or the neighboring node; and execute the network congestion control scheme.

[0007] It is understandable that the existing network congestion control technology analyzes and regulates network congestion based on the end-side device of data transmission, which is affected by the delay of notification information and cannot achieve rapid relief of network congestion. The network congestion control method provided by the present application determines the network congestion control scheme based on at least the congestion status of the first node and the neighboring node on the forwarding path, and can directly control the network congestion at the node or neighboring node where the network congestion is located. Compared with the existing technology, the present application does not require the end-side device to monitor or send notifications to the end-side, which reduces the impact of the notification information delay and can achieve rapid relief of network congestion.

[0008] In a possible implementation, the neighboring node includes a second node, and the second node is an upstream node of the first node; based on the congestion status of the first node and the neighboring node, a network congestion control scheme is determined, including: when the first node is in a congested state and the second node is not in a congested state, determining that the congestion control scheme includes at least one of the following: requesting the second node to temporarily store traffic data to be forwarded; requesting the second node to reduce the data forwarding rate; temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the second node to change the forwarding path; the forwarding path after the change does not include the first node.

[0009] In another possible implementation, the neighbor node includes a second node, and the second node is an upstream node of the first node; based on the congestion status of the first node and the neighbor node, a network congestion control scheme is determined, including: when the first node and the second node are both in a congested state, determining that the congestion control scheme includes at least one of the following: temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the second node to temporarily store the traffic data in the cache queue to the second backup node; the second backup node is a node adjacent to the second node and not on the forwarding path; requesting the second node to change the forwarding path; the forwarding path after the change does not include the first node.

[0010] In another possible implementation, the neighboring node includes a third node, which is a downstream node of the first node; based on the congestion status of the first node and the neighboring node, a network congestion control scheme is determined, including: when the first node is not in a congested state and the third node is in a congested state, determining that the congestion control scheme includes at least one of the following: the first node temporarily stores traffic data to be forwarded; the first node reduces the data forwarding rate; the first node changes the forwarding path; the changed forwarding path does not include the third node.

[0011] In another possible implementation, the neighboring node includes a third node, and the third node is a downstream node of the first node; based on the congestion status of the first node and the neighboring node, a network congestion control scheme is determined, including: when the first node and the third node are both in a congested state, determining that the congestion control scheme includes at least one of the following: temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the third node to temporarily store the traffic data in the cache queue to the third backup node; the third backup node is a node adjacent to the third node and not on the forwarding path; the first node changes the forwarding path; the changed forwarding path does not include the third node.

[0012] Another possible implementation method is to determine a network congestion control scheme based at least on the congestion status of the first node and the neighboring nodes, including: determining a network congestion control scheme based on the congestion status of the first node and the neighboring nodes and the priority of traffic data.

[0013] In another possible implementation, a forwarding path passing through a first node includes a first traffic data forwarding path and a second traffic data forwarding path; the neighboring nodes of the first node include a first upstream node of the first node on the first forwarding path, and a second upstream node of the first node on the second forwarding path; based on the congestion status of the first node and the neighboring nodes and the priority of the traffic data, a network congestion control scheme is determined, including: when the first node is in a congested state and both the first upstream node and the second upstream node are not in a congested state, if the priority of the first traffic data is higher than the priority of the second traffic data, then the network congestion scheme includes: requesting the second upstream node to reduce the forwarding rate of the second traffic data; requesting the second upstream node to temporarily store the second traffic data to be forwarded.

[0014] In another possible implementation, determining the congestion state of the first node includes: when a remaining capacity of a cache queue of the first node is less than or equal to a first preset threshold, determining that the first node is in a congestion state.

[0015] Another possible implementation method is to determine the congestion state of a neighbor node of a first node, including: in response to receiving a congestion notification message from the neighbor node, determining that the neighbor node is in a congested state; wherein the congestion notification message is used to indicate that the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold.

[0016] Another possible implementation method determines the congestion state of a neighbor node of a first node, including: sending a measurement message to the neighbor node, the measurement message is used to instruct the neighbor node to measure the remaining capacity of the cache queue of the neighbor node; receiving a measurement response message sent by the neighbor node, the measurement response message includes the remaining capacity of the cache queue of the neighbor node; and determining that the neighbor node is in a congested state when the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold.

[0017] In a second aspect, the present application provides a network congestion control device, which is applied to a network device for transmitting data, and the device includes: a measurement perception module and an analysis and processing module. The measurement perception module is used to: determine the congestion status of a first node and a neighboring node of the first node; the first node and the neighboring node are nodes on the same forwarding path; the analysis and processing module is used to: determine a network congestion control scheme based at least on the congestion status of the first node and the neighboring node; the network congestion control scheme is used to alleviate the congestion level of the first node and / or the neighboring node; and execute the network congestion control scheme.

[0018] In a possible implementation, the neighbor node includes a second node, and the second node is an upstream node of the first node; the analysis and processing module is used to specifically: when the first node is in a congested state and the second node is not in a congested state, determine that the congestion control scheme includes at least one of the following: requesting the second node to temporarily store traffic data to be forwarded; requesting the second node to reduce the data forwarding rate; temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the second node to change the forwarding path; the forwarding path after the change does not include the first node.

[0019] In another possible implementation, the neighbor node includes a second node, and the second node is an upstream node of the first node; the analysis and processing module is specifically used to: when the first node and the second node are both in a congested state, determine that the congestion control scheme includes at least one of the following: temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the second node to temporarily store the traffic data in the cache queue to the second backup node; the second backup node is a node adjacent to the second node and not on the forwarding path; requesting the second node to change the forwarding path; the forwarding path after the change does not include the first node.

[0020] In another possible implementation, the neighbor node includes a third node, which is a downstream node of the first node; the analysis and processing module is specifically used to: when the first node is not in a congested state and the third node is in a congested state, determine that the congestion control scheme includes at least one of the following: the first node temporarily stores the traffic data to be forwarded; the first node reduces the data forwarding rate; the first node changes the forwarding path; the changed forwarding path does not include the third node.

[0021] In another possible implementation, the neighbor node includes a third node, and the third node is a downstream node of the first node; the analysis and processing module is specifically used to: when the first node and the third node are both in a congested state, determine that the congestion control scheme includes at least one of the following: temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the third node to temporarily store the traffic data in the cache queue to the third backup node; the third backup node is a node adjacent to the third node and not on the forwarding path; the first node changes the forwarding path; the changed forwarding path does not include the third node.

[0022] In another possible implementation, the analysis and processing module is specifically used to: determine a network congestion control solution based on the congestion status of the first node and the neighboring nodes and the priority of the traffic data.

[0023] In another possible implementation, the forwarding path flowing through the first node includes a first traffic data forwarding path and a second traffic data forwarding path; the neighbor nodes of the first node include a first upstream node of the first node on the first forwarding path, and a second upstream node of the first node on the second forwarding path; the analysis and processing module is specifically used for: when the first node is in a congested state and the first upstream node and the second upstream node are not in a congested state, if the priority of the first traffic data is higher than the priority of the second traffic data, then the network congestion solution includes: requesting the second upstream node to reduce the forwarding rate of the second traffic data; requesting the second upstream node to temporarily store the second traffic data to be forwarded.

[0024] In another possible implementation, the measurement perception module is specifically used to: when the remaining capacity of the cache queue of the first node is less than or equal to a first preset threshold, determine that the first node is in a congested state.

[0025] In another possible implementation, the measurement perception module is specifically used to: in response to receiving a congestion notification message from a neighbor node, determine that the neighbor node is in a congested state; wherein the congestion notification message is used to indicate that the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold.

[0026] In another possible implementation, the measurement perception module is specifically used to: send a measurement message to a neighbor node, the measurement message is used to instruct the neighbor node to measure the remaining capacity of the cache queue of the neighbor node; receive a measurement response message sent by the neighbor node, the measurement response message includes the remaining capacity of the cache queue of the neighbor node; when the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold, determine that the neighbor node is in a congested state.

[0027] In a third aspect, the present application provides an electronic device, comprising: a processor and a memory; the memory stores instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the method of the first aspect above.

[0028] In a fourth aspect, the present application provides a readable storage medium, which includes: software instructions; when the software instructions are executed in an electronic device, the electronic device implements the method of the first aspect above.

[0029] In a fifth aspect, the present application provides a chip system, which is applied to a congestion control device; the chip system includes one or more interface circuits and one or more processors. The interface circuit and the processor are interconnected through a line; the interface circuit is used to receive a signal from a memory of the congestion control device and send a signal to the processor, the signal including a computer instruction stored in the memory. When the processor executes the computer instruction, the electronic device executes the method of the first aspect above.

[0030] In a sixth aspect, the present application provides a computer program product. When the computer program product is run on an electronic device, the electronic device executes the steps of the related method described in the first aspect above to implement the method of the first aspect above.

[0031] The beneficial effects of the second to sixth aspects mentioned above refer to the corresponding description of the first aspect and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 A flowchart of a network congestion control method provided by this application;

[0033] Figure 2 A schematic diagram of a traffic data forwarding path provided for this application;

[0034] Figure 3 Schematic diagram of another traffic data forwarding path provided for this application

[0035] Figure 4 A schematic diagram of another traffic data forwarding path provided by this application;

[0036] Figure 5 A schematic diagram of another traffic data forwarding path provided by this application;

[0037] Figure 6 A schematic diagram of the composition of a network congestion control device provided by the present application;

[0038] Figure 7 A schematic diagram of the composition of an electronic device provided in this application. DETAILED DESCRIPTION

[0039] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0040] It should be noted that, in the embodiments of the present application, words such as "exemplarily" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplarily" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplarily" or "for example" is intended to present related concepts in a specific way.

[0041] In addition, the terms "including" and "having" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.

[0042] In order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second", etc. are used to distinguish the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second", etc. are not limiting the quantity and execution order.

[0043] Avoiding network packet loss has always been a hot topic in industry research, and it is also a difficult problem, especially in long-distance massive data transmission scenarios. In AI intelligent computing center scenarios, it is necessary to process massive and diverse data, the data volume often reaches PB level or even larger, and the data transmission speed often needs to reach tens or even hundreds of gigabits per second. This requires the network to not only be able to quickly process massive data transmission, adapt to large-scale data migration and sharing, but also ensure that there is no loss or error during the data transmission process.

[0044] Traditional network congestion control technologies can be roughly divided into two categories: one is the source-based Transmission Control Protocol (TCP) congestion control method, which dynamically adjusts the window size by monitoring network congestion signals to match the data transmission rate with the degree of network congestion. However, the long delay caused by long-distance transmission will affect the TCP packet loss retransmission mechanism and aggravate network congestion. The other is the congestion control method based on Explicit Congestion Notification (ECN), in which network devices mark congestion in the congestion flag bit of the data packet. After receiving the data packet, the receiving end notifies the sending end to adjust the rate, but it is also limited by the delay and cannot achieve fast congestion control.

[0045] In summary, there is an urgent need for a method to quickly control congestion. Based on this, an embodiment of the present application provides a congestion control method, the idea of ​​which is to determine a network congestion control scheme based at least on the congestion status of the first node and the neighboring nodes, so that the node or neighboring node where the network congestion is located can directly perform network congestion control. Compared with the prior art, the present application does not require the sender to monitor or receive notifications to adjust the rate, which effectively reduces the impact of latency. It is more effective in long-distance and massive data transmission, and can achieve rapid relief of network congestion.

[0046] The network congestion control method provided by the present application is applied to a network device in a data transmission network, for example, any network device on a traffic forwarding path.

[0047] Exemplarily, the network device may be a server, for example, a single server, or a server cluster composed of multiple servers. In some implementations, the server cluster may also be a distributed cluster.

[0048] Exemplarily, the network device may also be any of the following forms: router, switch, hub, bridge, firewall, gateway, modem, wireless access point, network interface card, fiber optic transceiver, optical terminal, etc. The embodiment of the present application does not impose any special restrictions on the specific form of the network device.

[0049] Figure 1 A flowchart of a network congestion control method provided in an embodiment of the present application. Figure 1 As shown, the network congestion control method provided by the present application specifically includes the following steps:

[0050] S101: Determine a congestion state of a first node and neighboring nodes of the first node.

[0051] The first node and the neighboring node are nodes on the same forwarding path.

[0052] In some embodiments, determining the congestion state of the first node includes: when the remaining capacity of the cache queue of the first node is less than or equal to a first preset threshold, determining that the first node is in a congestion state.

[0053] Exemplarily, when the data forwarding rate of the first node reaches the maximum forwarding rate of the node, the node will be congested, and the data to be forwarded will be queued and cached at the node according to priority; when it is monitored that the remaining capacity of the cache queue of the node is less than or equal to the first preset threshold, it is judged that the node is about to lose packets, thereby determining that the node is in a congested state.

[0054] In some embodiments, determining the congestion state of a neighbor node of a first node includes: in response to receiving a congestion notification message from the neighbor node, determining that the neighbor node is in a congested state; wherein the congestion notification message is used to indicate that the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold.

[0055] Exemplarily, when the remaining capacity of the cache queue of the neighbor node of the first node is less than or equal to the first preset threshold, the neighbor node of the first node sends a congestion notification message to the first node.

[0056] Exemplarily, the notification of congestion information is implemented through an Internal Gateway Protocol (IGP) protocol extension, including implementing the notification of congestion information through an Intermediate System to Intermediate System (IS-IS) protocol or an Open Shortest Path First (OSPF) protocol extension type-length-value (TLV).

[0057] For example, based on the IS-IS protocol extension TLV to implement the notification of congestion information, according to the format of the IS-IS router capability TLV [RFC7981], the TLV used to notify congestion information consists of three fields: an octet type field, an octet length field and a variable length value field. The content usage format sample is shown in Table 1, where the type field (Type) is used to indicate that the type of the TLV is congestion information, the length field (Length) is used to indicate the length of the value field, and the value field includes specific congestion information (Congestion information), and the specific congestion information includes: queue length, device identification number (Identification, ID), interface ID, etc.

[0058] Table 1 Congestion information notification message

[0059]

[0060] In some embodiments, determining the congestion state of a neighbor node of a first node includes: sending a measurement message to the neighbor node, the measurement message is used to instruct the neighbor node to measure the remaining capacity of the cache queue of the neighbor node; receiving a measurement response message sent by the neighbor node, the measurement response message includes the remaining capacity of the cache queue of the neighbor node; when the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold, determining that the neighbor node is in a congested state.

[0061] Exemplarily, by active measurement, based on an Acknowledge character (ACK) mechanism, the remaining capacity value of the cache queue of the neighbor node is returned to the first node.

[0062] For example, the first node sends a measurement request to a neighboring node, and the request includes the identification information of the first node and the remaining capacity of the cache queue to be measured and other related parameters; after receiving the measurement request, the neighboring node parses the parameters in the request and calculates the remaining capacity value according to the actual situation of the current cache queue; the neighboring node encapsulates the calculated remaining capacity value in an ACK response and sends it to the first node. The ACK response includes the identification information of the neighboring node, the remaining capacity value of the cache queue, etc.

[0063] S102: Determine a network congestion control solution based at least on the congestion status of the first node and the neighboring nodes.

[0064] The network congestion control scheme is used to alleviate the congestion level of the first node and / or neighboring nodes.

[0065] S103: Execute a network congestion control solution.

[0066] Exemplarily, when the first node is in a congested state and the upstream node among the neighboring nodes is not in a congested state, the first node executes a network congestion control scheme, including: temporarily storing the traffic data in the cache queue of the first node to a backup node that is adjacent to the first node and is not on the forwarding path and / or the first node sends a request message to the neighboring node, the request message includes at least one of the following: a request to temporarily store the traffic data to be forwarded; a request to reduce the data forwarding rate; a request to change the forwarding path, and the neighboring node executes the network congestion control scheme based on the request.

[0067] Exemplarily, when the upstream nodes of the first node and the neighboring nodes are both in a congested state, the first node executes a network congestion control scheme, including: temporarily storing the traffic data in the cache queue of the first node to a backup node that is adjacent to the first node and is not on the forwarding path; and / or the first node sends a request message to the neighboring node, and the request message includes at least one of the following: requesting the neighboring node to temporarily store the traffic data in the cache queue to a backup node that is adjacent to the neighboring node and is not on the forwarding path; requesting the neighboring node to change the forwarding path, and the neighboring node executes the network congestion control scheme based on the request.

[0068] Exemplarily, when the first node is not in a congested state and a downstream node among neighboring nodes is in a congested state, the first node executes at least one of the following network congestion control schemes: temporarily storing traffic data to be forwarded; reducing the data forwarding rate; changing the forwarding path.

[0069] Exemplarily, when a first node and a downstream node among neighboring nodes are both in a congested state, the first node executes at least one of the following network congestion control schemes: temporarily storing the traffic data in the cache queue of the first node to a backup node that is adjacent to the first node and is not on the forwarding path; changing the forwarding path; sending a request message to the neighboring node, wherein the request message includes: requesting the neighboring node to temporarily store the traffic data in the cache queue to a backup node that is adjacent to the neighboring node and is not on the forwarding path, and the neighboring node executes the network congestion control scheme based on the request.

[0070] In some embodiments, the neighbor node includes a second node, and the second node is an upstream node of the first node; step S102 may be implemented as follows: when the first node is in a congested state and the second node is not in a congested state, determining that the congestion control scheme includes at least one of the following:

[0071] Request the second node to temporarily store the traffic data to be forwarded;

[0072] Requesting the second node to reduce the data forwarding rate;

[0073] temporarily storing the traffic data in the cache queue of the first node to a first standby node; the first standby node is a node adjacent to the first node and not on a forwarding path;

[0074] The second node is requested to change the forwarding path; wherein the changed forwarding path does not include the first node.

[0075] For example, Figure 2 It is a schematic diagram of the traffic data forwarding path. Figure 2 As shown in the figure, the traffic data forwarding path of service A is: ingress-P1-P6-egress. When the P6 node determines that the node is congested and detects that the upstream node P1 of the P6 node is not in a congested state, in order to ensure that the traffic data of service A is not lost during the forwarding process and to quickly alleviate the congestion of the P6 node, the P6 node sends a request message to the P1 node. The request message is used by the P1 node to request to reduce the data forwarding rate and temporarily store some of the traffic data to be forwarded.

[0076] In some embodiments, the neighbor node includes a second node, and the second node is an upstream node of the first node; the above step S102 can be implemented as follows: when both the first node and the second node are in a congested state, determining the congestion control scheme includes at least one of the following:

[0077] temporarily storing the traffic data in the cache queue of the first node to a first standby node; wherein the first standby node is a node adjacent to the first node and not on a forwarding path;

[0078] Requesting the second node to temporarily store the traffic data in the cache queue to the second standby node; wherein the second standby node is a node adjacent to the second node and not on the forwarding path;

[0079] The second node is requested to change the forwarding path; the changed forwarding path does not include the first node.

[0080] For example, Figure 3 It is a schematic diagram of the traffic data forwarding path. Figure 3 As shown, the traffic data forwarding path of service A is: ingress-P1-P6-egress. When the P6 node finds that the node is congested, the upstream node of the P6 node is the P1 node, and the nodes adjacent to the P6 node and not on the forwarding path include: the P2 node, the P3 node, the P4 node, and the P5 node. When the P1 node is detected to be in a congested state, in order to ensure that the traffic data of service A is not lost during the forwarding process and to quickly alleviate the congestion of the P6 node, the P6 node sends a notification to the P2 node, the P3 node, the P4 node, or the P5 node, requesting that the congested traffic data queue of the P6 node be temporarily stored in the P2 node, the P3 node, the P4 node, or the P5 node. For example, when it is detected that the P4 node is not in a congested state and has the closest transmission path to the P6 node, the P6 node sends a notification to the P4 node, requesting that the congested traffic data queue of the P6 node be temporarily stored in the P4 node.

[0081] It is understandable that in the above embodiments provided by the present application, the concept of sharing storage modules of adjacent nodes is innovatively proposed. When both the current node and the upstream node of the service forwarding path are congested, the congested traffic data queue can be taken out and temporarily stored in a node adjacent to the current node and not on the forwarding path, so as to quickly alleviate network congestion.

[0082] In some embodiments, the neighbor node includes a third node, and the third node is a downstream node of the first node; the above step S102 can be implemented as follows: when the first node is not in a congested state and the third node is in a congested state, determining the congestion control scheme includes at least one of the following:

[0083] The first node temporarily stores the traffic data to be forwarded;

[0084] The first node reduces the data forwarding rate;

[0085] The first node changes the forwarding path; the changed forwarding path does not include the third node.

[0086] For example, Figure 4 It is a schematic diagram of the traffic data forwarding path. Figure 4As shown in the figure, the traffic data forwarding path of service B is: ingress-P1-P4-P6-egress. When the P1 node is not in a congested state, the downstream node of the P1 node is the P4 node. When the P4 node is detected to be in a congested state, in order to ensure that the traffic data of service B is not lost during the forwarding process and to quickly alleviate the congestion of the P4 node, the P1 node reduces the forwarding rate to the P4 node and caches part of the traffic data to be forwarded (according to the service priority order) in the P1 node.

[0087] For example, Figure 4 As shown, when the P1 node is not in a congested state, the downstream node of the P1 node is the P4 node. When the P4 node is detected to be in a congested state, in order to ensure that the traffic data of service B is not lost during the forwarding process and to quickly alleviate the congestion of the P4 node, the P1 node can change the forwarding path, and the replaced forwarding path does not include the P4 node. For example, the new forwarding path can be R1: ingress-P1-P3-P5-egress or R2: ingress-P1-P2-P6-egress. The specific path selected as the new forwarding path can be based on the path cost value or based on user needs. For example, according to user needs, the service must pass through the P6 node when forwarding, so R2 is selected as the new forwarding path.

[0088] It can be understood that in the above embodiments provided by the present application, the nodes located on the forwarding path can actively measure and perceive the congestion status of the downstream nodes, and perform network rerouting based on the congestion status of the downstream nodes, so as to quickly alleviate the congestion level of the downstream nodes.

[0089] In some embodiments, the neighbor node includes a third node, and the third node is a downstream node of the first node; based on the congestion status of the first node and the neighbor node, determining a network congestion control scheme includes: when both the first node and the third node are in a congested state, determining that the congestion control scheme includes at least one of the following:

[0090] temporarily storing the traffic data in the cache queue of the first node to a first standby node; wherein the first standby node is a node adjacent to the first node and not on a forwarding path;

[0091] Requesting the third node to temporarily store the traffic data in the cache queue to the third standby node; the third standby node is a node adjacent to the third node and not on the forwarding path;

[0092] The first node changes the forwarding path; the changed forwarding path does not include the third node.

[0093] In some embodiments, the above step S102 may be implemented as follows: determining a network congestion control scheme based on the congestion status of the first node and the neighboring nodes and the priority of the traffic data.

[0094] In some embodiments, a forwarding path flowing through a first node includes a first traffic data forwarding path and a second traffic data forwarding path; a neighboring node of the first node includes a first upstream node of the first node on the first forwarding path, and a second upstream node of the first node on the second forwarding path; based on the congestion state of the first node and the neighboring node and the priority of the traffic data, a network congestion control scheme is determined, including: when the first node is in a congested state and both the first upstream node and the second upstream node are not in a congested state, if the priority of the first traffic data is higher than the priority of the second traffic data, then the network congestion scheme includes at least one of the following:

[0095] Requesting the second upstream node to reduce the forwarding rate of the second traffic data;

[0096] Request the second upstream node to temporarily store the second flow data to be forwarded.

[0097] For example, Figure 5 It is a flow data forwarding path diagram, such as Figure 5 As shown, the traffic data forwarding path of service C is: ingress-P3-P4-P6-egress, and the traffic data forwarding path of service D is: ingress-P2-P4-P6-egress. The traffic data forwarding paths of the two services both pass through the P4 node. The upstream nodes of the P4 node are the P3 node and the P2 node. When the P4 node is in a congested state and the P3 node and the P2 node are not in a congested state, if the priority of the traffic data forwarded by the P2 node is higher than the priority of the traffic data forwarded by the P3 node, in order to ensure that the traffic data of the high-priority service is forwarded at a normal speed during the forwarding process and to quickly alleviate the congestion of the P4 node, the P4 node can send a notification to the P3 node, requesting to reduce the data forwarding rate of the P3 node; and requesting to temporarily store some of the traffic data to be forwarded at the P3 node.

[0098] It can be understood that in the above embodiments provided by the present application, when it is monitored that the current node is in a congested state, network congestion analysis and regulation can be performed based on the measurement and perception results of the congestion states of multiple upstream nodes adjacent to the current node and located on the forwarding path, combined with the priority of the traffic data, so as to quickly alleviate the network congestion.

[0099] The above mainly introduces the scheme of the embodiment of the present disclosure from the perspective of the method. It can be understood that in order to realize the above functions, the network congestion control device includes at least one of the hardware structure and software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiment disclosed in this article, the embodiment of the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the embodiment of the present disclosure.

[0100] The embodiments of the present disclosure may divide the network congestion control device into functional modules according to the above method embodiments. For example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one functional module. The above integrated modules may be implemented in the form of hardware or software. It should be noted that the division of modules in the embodiments of the present disclosure is schematic and is only a logical function division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function.

[0101] For example, Figure 6 A schematic diagram of the composition of a network congestion control device provided in an embodiment of the present application. Figure 6 As shown, the network congestion control device 600 is applied to a network device, and includes: a data storage module 601 , a measurement perception module 602 and an analysis and processing module 603 .

[0102] The data storage module 601 is used to store the congested data flow passing through the first node, including: marking the priority of the congested data flow according to different service level agreements (SLA) requirements, and arranging and storing the congested data flow in descending order of priority.

[0103] The data storage module 601 is also used to store data requested by the neighboring nodes of the first node to be temporarily stored in the node.

[0104] The measurement perception module 602 is used to determine the congestion status of the first node and the neighboring nodes of the first node.

[0105] The analysis and processing module 603 is used to determine a network congestion control scheme based at least on the congestion status of the first node and the neighboring nodes; the network congestion control scheme is used to alleviate the congestion level of the first node and / or the neighboring nodes; and execute the network congestion control scheme.

[0106] In one possible implementation, the neighbor node includes a second node, and the second node is an upstream node of the first node; the analysis and processing module 603 is specifically used to: when the first node is in a congested state and the second node is not in a congested state, determine that the congestion control scheme includes at least one of the following: requesting the second node to temporarily store the traffic data to be forwarded; requesting the second node to reduce the data forwarding rate; temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the second node to change the forwarding path; the forwarding path after the change does not include the first node.

[0107] In another possible implementation, the neighbor node includes a second node, and the second node is an upstream node of the first node; the analysis and processing module 603 is specifically used to: when the first node and the second node are both in a congested state, determine that the congestion control scheme includes at least one of the following: temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the second node to temporarily store the traffic data in the cache queue to the second backup node; the second backup node is a node adjacent to the second node and not on the forwarding path; requesting the second node to change the forwarding path; the forwarding path after the change does not include the first node.

[0108] In another possible implementation, the neighbor node includes a third node, and the third node is a downstream node of the first node; the analysis and processing module 603 is specifically used to: when the first node is not in a congested state and the third node is in a congested state, determine that the congestion control scheme includes at least one of the following: the first node temporarily stores the traffic data to be forwarded; the first node reduces the data forwarding rate; the first node changes the forwarding path; the changed forwarding path does not include the third node.

[0109] In another possible implementation, the neighbor node includes a third node, and the third node is a downstream node of the first node; the analysis and processing module 603 is specifically used to: when the first node and the third node are both in a congested state, determine that the congestion control scheme includes at least one of the following: temporarily storing the traffic data in the cache queue of the first node to the first backup node; the first backup node is a node adjacent to the first node and not on the forwarding path; requesting the third node to temporarily store the traffic data in the cache queue to the third backup node; the third backup node is a node adjacent to the third node and not on the forwarding path; the first node changes the forwarding path; the changed forwarding path does not include the third node.

[0110] In another possible implementation, the analysis and processing module 603 is specifically used to determine a network congestion control solution based on the congestion status of the first node and the neighboring nodes and the priority of the traffic data.

[0111] In another possible implementation, the forwarding path flowing through the first node includes a first traffic data forwarding path and a second traffic data forwarding path; the neighbor nodes of the first node include a first upstream node of the first node on the first forwarding path, and a second upstream node of the first node on the second forwarding path; the analysis and processing module 603 is specifically used for: when the first node is in a congested state and the first upstream node and the second upstream node are not in a congested state, if the priority of the first traffic data is higher than the priority of the second traffic data, then the network congestion solution includes: requesting the second upstream node to reduce the forwarding rate of the second traffic data; requesting the second upstream node to temporarily store the second traffic data to be forwarded.

[0112] In another possible implementation, the measurement perception module 602 is specifically used to: when the remaining capacity of the cache queue of the first node is less than or equal to a first preset threshold, determine that the first node is in a congested state.

[0113] In another possible implementation, the measurement perception module 602 is specifically used to: in response to receiving a congestion notification message from a neighbor node, determine that the neighbor node is in a congested state; wherein the congestion notification message is used to indicate that the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold.

[0114] In another possible implementation, the measurement perception module 602 is specifically used to: send a measurement message to a neighbor node, the measurement message is used to instruct the neighbor node to measure the remaining capacity of the cache queue of the neighbor node; receive a measurement response message sent by the neighbor node, the measurement response message includes the remaining capacity of the cache queue of the neighbor node; when the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold, determine that the neighbor node is in a congested state.

[0115] In an exemplary embodiment, the embodiment of the present application further provides an electronic device, which may be the network congestion control device in the above method embodiment. Figure 7 The following is a schematic diagram of the composition of an electronic device provided in an embodiment of the present application. Figure 7 As shown, the electronic device may include: a processor 701 and a memory 702; the memory 702 stores instructions executable by the processor 701; when the processor 701 is configured to execute the instructions, the electronic device or network device or manager implements the method described in the aforementioned method embodiment.

[0116] In an exemplary embodiment, the present application also provides a readable storage medium on which program instructions are stored; when the program instructions are executed by an electronic device, the electronic device implements the method described in the aforementioned embodiment. The readable storage medium may be a non-temporary readable storage medium, for example, a non-temporary readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device.

[0117] In an exemplary embodiment, the embodiment of the present application further provides a computer program product. When the computer program product is run on a computer, the computer executes the above-mentioned related method steps to implement the network congestion control method in the above-mentioned embodiment.

[0118] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A network congestion control method, characterized in that: The method comprises: Determine a congestion state of a first node and a neighboring node of the first node; the first node and the neighboring node are nodes on the same forwarding path; Determine a network congestion control scheme based at least on the congestion status of the first node and the neighboring node; the network congestion control scheme is used to alleviate the congestion level of the first node and / or the neighboring node; The network congestion control scheme is executed.

2. The method according to claim 1, characterized in that The neighboring node includes a second node, and the second node is an upstream node of the first node; and determining a network congestion control scheme based on the congestion status of the first node and the neighboring node includes: When the first node is in a congested state and the second node is not in a congested state, determining the congestion control scheme includes at least one of the following: Requesting the second node to temporarily store the traffic data to be forwarded; Requesting the second node to reduce the data forwarding rate; temporarily storing the traffic data in the cache queue of the first node in a first standby node; the first standby node is a node adjacent to the first node and not on the forwarding path; The second node is requested to change a forwarding path; the changed forwarding path does not include the first node.

3. The method according to claim 1, characterized in that The neighboring node includes a second node, and the second node is an upstream node of the first node; and determining a network congestion control scheme based on the congestion status of the first node and the neighboring node includes: In a case where both the first node and the second node are in a congested state, determining the congestion control scheme includes at least one of the following: temporarily storing the traffic data in the cache queue of the first node in a first standby node; the first standby node is a node adjacent to the first node and not on the forwarding path; Requesting the second node to temporarily store the traffic data in the cache queue to a second standby node; the second standby node is a node adjacent to the second node and not on the forwarding path; The second node is requested to change a forwarding path; the changed forwarding path does not include the first node.

4. The method according to claim 1, characterized in that The neighboring node includes a third node, and the third node is a downstream node of the first node; and determining a network congestion control scheme based on the congestion status of the first node and the neighboring node includes: In a case where the first node is not in a congested state and the third node is in a congested state, determining the congestion control scheme includes at least one of the following: The first node temporarily stores the traffic data to be forwarded; The first node reduces the data forwarding rate; The first node changes the forwarding path; the changed forwarding path does not include the third node.

5. The method according to claim 1, characterized in that The neighboring node includes a third node, and the third node is a downstream node of the first node; and determining a network congestion control scheme based on the congestion status of the first node and the neighboring node includes: When both the first node and the third node are in a congested state, determining the congestion control scheme includes at least one of the following: temporarily storing the traffic data in the cache queue of the first node in a first standby node; the first standby node is a node adjacent to the first node and not on the forwarding path; Requesting the third node to temporarily store the traffic data in the cache queue to a third standby node; the third standby node is a node adjacent to the third node and not on the forwarding path; The first node changes the forwarding path; the changed forwarding path does not include the third node.

6. The method according to claim 1, characterized in that The determining of a network congestion control scheme based at least on the congestion status of the first node and the neighboring node includes: A network congestion control scheme is determined based on the congestion status of the first node and the neighboring node and the priority of the traffic data.

7. The method according to claim 6, characterized in that The forwarding path flowing through the first node includes a first traffic data forwarding path and a second traffic data forwarding path; the neighboring nodes of the first node include a first upstream node of the first node on the first forwarding path, and a second upstream node of the first node on the second forwarding path; The determining of a network congestion control scheme based on the congestion status of the first node and the neighboring node and the priority of the traffic data includes: When the first node is in a congested state and both the first upstream node and the second upstream node are not in a congested state, if the priority of the first traffic data is higher than the priority of the second traffic data, the network congestion solution includes: Requesting the second upstream node to reduce the forwarding rate of the second traffic data; Request the second upstream node to temporarily store the second traffic data to be forwarded.

8. The method according to claim 1, characterized in that The determining the congestion state of the first node includes: When the remaining capacity of the cache queue of the first node is less than or equal to a first preset threshold, it is determined that the first node is in a congested state.

9. The method according to claim 1, characterized in that: The determining a congestion state of a neighboring node of the first node includes: In response to receiving a congestion notification message from the neighbor node, it is determined that the neighbor node is in a congested state; wherein the congestion notification message is used to indicate that the remaining capacity of the cache queue of the neighbor node is less than or equal to a first preset threshold.

10. The method according to claim 1, characterized in that The determining a congestion state of a neighboring node of the first node includes: Sending a measurement message to the neighboring node, where the measurement message is used to instruct the neighboring node to measure the remaining capacity of the cache queue of the neighboring node; receiving a measurement response message sent by the neighboring node, wherein the measurement response message includes a remaining capacity of a cache queue of the neighboring node; When the remaining capacity of the cache queue of the neighboring node is less than or equal to a first preset threshold, it is determined that the neighboring node is in a congested state.

11. An electronic device, characterized in that: The electronic device comprises: a processor and a memory; The memory stores instructions executable by the processor; When the processor is configured to execute the instructions, the electronic device implements the method according to any one of claims 1 to 10.

12. A readable storage medium, characterized in that: The readable storage medium includes: software instructions; When the software instructions are executed in an electronic device, the electronic device implements the method according to any one of claims 1 to 10.

13. A computer program product, characterized in that The computer program product comprises: computer instructions; When the computer instructions are executed in an electronic device, the electronic device is enabled to implement the method according to any one of claims 1 to 10.

Citation Information

Cited By

  • In-host network congestion control method based on P4 programmable top-of-frame switch

    CN122496465A

  • Host-in-network congestion control method based on p4 programmable rack switch

    CN122496465B