Network congestion notification method and device

By exchanging notification messages between network devices, the problem of increased network congestion is solved, more widespread awareness of congestion status is achieved, and the load on network devices is reduced.

CN120378378BActive Publication Date: 2025-09-09SHENZHEN HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510880127.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-27
Publication Date
2025-09-09
Estimated Expiration
2045-06-27

AI Technical Summary

Technical Problem

When the end-side nodes are far apart and the network is congested, other end-side nodes except the first end-side node cannot receive the congestion notification message, causing the network congestion to worsen.

Method used

The first network device determines that congestion exists on multiple first-end-side nodes in the first availability zone, and sends a long-distance notification message to the network device in the second availability zone to notify all second-end-side nodes that congestion exists on the network path.

Benefits of technology

This reduces network congestion, ensures that all end-side nodes are aware of the congestion status, and avoids network device overload.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378378B_ABST
    Figure CN120378378B_ABST
Patent Text Reader

Abstract

The present application provides a network congestion notification method and apparatus, the method comprising: a first network device in a first availability zone determines N first end-side nodes in the first availability zone; congestion exists in the transmission paths corresponding to the N first end-side nodes; the first network device sends a long-distance notification message to a second network device in a second availability zone; the long-distance notification message is used by the second network device to notify the second end-side node in the second availability zone that congestion exists in the transmission paths corresponding to the N first end-side nodes. Since all second end-side nodes in the second availability zone can learn that congestion exists in the transmission paths corresponding to the N first end-side nodes, rather than only the second end-side nodes that send data packets to the N first end-side nodes being informed that congestion exists in the transmission paths corresponding to the N first end-side nodes, the degree of network congestion can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer network technology, and in particular to a network congestion notification method and device. Background Art

[0002] When a first end-side node and a second end-side node are far apart, the first end-side node can send data packets to the second end-side node through one or more network devices. If network congestion occurs on one of the network devices, the second end-side node learns that the data packet encountered network congestion during forwarding and generates a congestion notification message and sends it to the first end-side node to notify it of the network congestion. However, other end-side nodes besides the first end-side node cannot receive this congestion notification message. Therefore, other end-side nodes can send data packets to the second end-side node, which will increase the degree of network congestion.

[0003] How to reduce the degree of network congestion when it occurs is a technical problem that needs to be solved urgently. Summary of the Invention

[0004] The present application provides a network congestion notification method and device for reducing the problem of network congestion.

[0005] In the first aspect, an embodiment of the present application provides a network congestion notification method, which can be executed by a first network device in a first availability zone, or a module of the first network device, or a chip of the first network device. Here, the method is described as an example of the first network device as the execution subject. The method specifically includes the following steps: the first network device determines N first end-side nodes in the first availability zone; the transmission paths corresponding to the N first end-side nodes are congested; N is an integer greater than 0; the first network device sends a long-distance notification message to the second network device in the second availability zone; the long-distance notification message is used by the second network device to notify the second end-side node in the second availability zone that the transmission paths corresponding to the N first end-side nodes are congested.

[0006] In the above method, since the second-end-side nodes in the second available zone can all be informed that the transmission paths corresponding to the N first-end-side nodes are congested, rather than only the second-end-side nodes that send data packets to the N first-end-side nodes being informed that the transmission paths corresponding to the N first-end-side nodes are congested, the degree of network congestion can be reduced.

[0007] In a possible design, the first network device determines N first end-side nodes in a first available zone, which may include: the first network device receives local announcement messages respectively sent by M1 access layer network devices; the local announcement message sent by the first access layer network device is used to indicate that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the first access layer network device; the local announcement message sent by the first access layer network device includes the identifiers of the S first end-side nodes connected to the first access layer network device; the first access layer network device is any access layer network device among the M1 access layer network devices; M1 is a positive integer; the first network device determines the identifiers of the N first end-side nodes based on the identifiers of the S first end-side nodes respectively carried in the M1 local announcement messages;

[0008] The long-distance announcement message includes identifiers of N first end-side nodes.

[0009] This design provides a method for determining N first end-side nodes in the first availability zone.

[0010] In one possible design, the local notification message sent by the first access layer network device also includes first congestion prediction durations corresponding to the S first end-side nodes respectively;

[0011] Among them, the long-distance notification message also includes the second congestion prediction durations corresponding to the N first end-side nodes respectively; the second congestion prediction duration corresponding to the third end-side node is determined based on the first congestion prediction duration corresponding to the third end-side node carried by at least one local notification message; the third end-side node is any first end-side node among the N first end-side nodes.

[0012] In this design, the local notification message also includes the first congestion prediction durations corresponding to the S first-end-side nodes, so that the subsequent second-end-side node can control the sending rate of the data message according to the first congestion prediction durations corresponding to the S first-end-side nodes, so that the second-end-side node can more accurately regulate the sending of data messages and balance the problems of network congestion and network idleness.

[0013] In one possible design, the local announcement message sent by the first access layer network device further includes an identifier of at least one port in the first access layer network device; the first port in the first access layer network device is used to connect S1 first end-side nodes; the first port is any port in the at least one port; S1 is a positive integer less than or equal to S;

[0014] At least two of the M1 local announcement messages include an identifier of a third end-side node, and the identifiers of the ports corresponding to the third end-side node in the at least two local announcement messages are different, and at least one of the first congestion prediction durations corresponding to the third end-side node in the at least two local announcement messages is greater than the first time threshold, and the third end-side node is a first end-side node among the N first end-side nodes.

[0015] In one possible design, the local announcement message sent by the first access layer network device further includes an identifier of at least one port in the first access layer network device and an identifier of at least one priority queue in each of the at least one port; the priority of the first priority queue in the first port corresponds to the priority of the data packets to be sent by the S2 first end-side nodes; the first port is any port in the at least one port; the first priority queue is any priority queue in the at least one priority queue in the first port; S2 is a positive integer less than or equal to S;

[0016] The long-distance notification message further includes identifiers of priority queues corresponding to the N first end-side nodes respectively;

[0017] At least two of the M1 local announcement messages include an identifier of a third end-side node, and the identifiers of the ports and the identifiers of the priority queues corresponding to the third end-side node in the at least two local announcement messages are different, and at least one of the first congestion prediction durations corresponding to the third end-side node in the at least two local announcement messages is greater than the first time threshold, and the third end-side node is a first end-side node among the N first end-side nodes.

[0018] In one possible design, before the first network device sends the long-distance announcement message to the second network device in the second available zone, the method further includes: the first network device adding the long-distance announcement message to a priority queue in the first network device that meets the first condition;

[0019] The first network device sends a long-distance announcement message to the second network device in the second availability zone, which may include: the first network device obtains the long-distance announcement message from the priority queue that meets the first condition, and sends the long-distance announcement message to the second network device in the second availability zone.

[0020] In this design, the first network device sends a long-distance notification message to the second network device in the second available zone through the priority queue in the first network device that meets the first condition, which can ensure that the first network device sends the long-distance notification message as soon as possible and improve timeliness.

[0021] In one possible design, the first network device is any one of a cluster aggregation layer network device, a core layer network device, and an aggregation layer network device in the first availability zone.

[0022] In a second aspect, an embodiment of the present application provides a network congestion notification method, which can be executed by an access layer network device or a module of an access layer network device or a chip of an access layer network device within a first availability zone. Here, the access layer network device is used as an example for description. The method specifically includes the following steps: the access layer network device determines that the transmission path corresponding to the S first end-side nodes connected to the access layer network device is congested; the access layer network device sends a local notification message to the first network device within the first availability zone; the local notification message is used to indicate that the transmission path corresponding to the S first end-side nodes connected to the access layer network device is congested, and the local notification message includes the identifiers of the S first end-side nodes connected to the access layer network device.

[0023] In the above method, the access layer network device can generate a local notification message with the S first end-side nodes connected to the access layer network device, and send the local notification message to the first network device in the first available zone, so that the first network device can subsequently generate a long-distance notification message based on the received local notification message.

[0024] In one possible design, an access-layer network device determines that transmission paths corresponding to S first-end-side nodes connected to the access-layer network device are congested. This may include: the access-layer network device determines that at least one port in the access-layer network device is congested; a first port in the access-layer network device is connected to S1 first-end-side nodes; the first port is any one of the at least one ports; S1 is a positive integer less than or equal to S; and one first-end-side node is connected to one port. This design provides a method for determining the S first-end-side nodes.

[0025] In a possible design, the local notification message also includes the first congestion prediction durations corresponding to the S first end-side nodes respectively; the first congestion prediction duration corresponding to one of the S first end-side nodes is determined based on the port congestion duration history data and the identifier of the port connected to the first end-side node; the port congestion duration history data includes the identifiers of N1 ports and the congestion history durations corresponding to the N1 ports respectively.

[0026] In one possible design, the local announcement message also includes an identifier of at least one port.

[0027] In one possible design, an access-layer network device determines that transmission paths corresponding to S first-end-side nodes connected to the access-layer network device are congested, which may include: the access-layer network device determines that at least one priority queue in each of at least one port in the access-layer network device is congested; the priority of a first priority queue in the first port corresponds to the priority of data packets to be sent by S2 first-end-side nodes; the first port is any one of the at least one ports; the first priority queue is any one of the at least one priority queues in the first port; S2 is a positive integer less than or equal to S; wherein the priority of a data packet to be sent by a first-end-side node corresponds to a priority queue. This design provides a method for determining S first-end-side nodes.

[0028] In one possible design, the local notification message also includes the first congestion prediction durations corresponding to the S first-end-side nodes respectively; the first congestion prediction duration corresponding to one of the S first-end-side nodes is determined based on the priority queue congestion duration history data and the identifier of the port corresponding to the first-end-side node and the identifier of the priority queue; the priority queue congestion duration history data includes the identifiers of N2 ports, the identifiers of N3 priority queues in each of the N2 ports, and the congestion history durations corresponding to the N3 priority queues in each port.

[0029] In one possible design, the local announcement message further includes an identifier of at least one port and an identifier of at least one priority queue in each of the at least one port.

[0030] In one possible design, before the access layer network device sends the local announcement message to the first network device in the first available zone, the method further includes: the access layer network device adding the local announcement message to a priority queue in the access layer network device that meets the first condition;

[0031] The access layer network device sends a local notification message to the first network device in the first availability zone, which may include: the access layer network device obtains the local notification message from the priority queue that meets the first condition, and sends the local notification message to the first network device in the first availability zone.

[0032] In this design, the access layer network device sends a local notification message to the first network device in the first availability zone through the priority queue in the access layer network device that meets the first condition, which can ensure that the access layer network device sends the local notification message as soon as possible and improve timeliness.

[0033] On the third aspect, an embodiment of the present application provides a network congestion notification method, which can be executed by a second network device or a module of the second network device or a chip of the second network device in the second availability zone. Here, the second network device is used as the execution subject for description. The method specifically includes the following steps: the second network device receives a long-distance notification message sent by the first network device in the first availability zone, the long-distance notification message includes the identifiers of the N first-end-side nodes in the first availability zone, and the long-distance notification message is used to indicate that the transmission path corresponding to the N first-end-side nodes is congested; the second network device receives a data packet sent by the second-end-side node in the second availability zone; when the identifiers of the N first-end-side nodes include the identifier of the destination node in the data packet, the second network device sends a congestion notification message to the second-end-side node, and the congestion notification message is used to indicate that the transmission path corresponding to the destination node is congested.

[0034] In the above method, since the second-end-side nodes in the second available zone can all be informed that the transmission paths corresponding to the N first-end-side nodes are congested, rather than only the second-end-side nodes that send data packets to the N first-end-side nodes being informed that the transmission paths corresponding to the N first-end-side nodes are congested, the degree of network congestion can be reduced.

[0035] In one possible design, the long-distance notification message also includes the second congestion prediction durations corresponding to the N first-end-side nodes respectively; the congestion notification message is also used to indicate the net congestion prediction duration corresponding to the destination node; the net congestion prediction duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations corresponding to the N first-end-side nodes respectively.

[0036] In one possible design, the long-distance notification message also includes the second congestion prediction durations corresponding to the N first end-side nodes respectively; the second network device sends the congestion notification message to the second end-side node, which may include: within the congestion prediction net duration corresponding to the destination node, the second network device periodically sends the congestion notification message to the second end-side node; the congestion prediction net duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the destination node in the second congestion prediction durations corresponding to the N first end-side nodes respectively.

[0037] In one possible design, the long-distance notification message further includes identifiers of priority queues corresponding to the N first end-side nodes.

[0038] In a case where the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, the second network device sends a congestion notification message to the second end-side node, which may include: in a case where the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, and the identifier of the priority queue corresponding to the first end-side node that is identical to the identifier of the destination node is identical to the identifier of the priority queue corresponding to the data message, sending a congestion notification message to the second end-side node.

[0039] In one possible design, the long-distance notification message further includes the second congestion prediction durations corresponding to the N first end-side nodes respectively;

[0040] The congestion notification message is also used to indicate the net congestion prediction duration corresponding to the destination node; the net congestion prediction duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the N first end-side nodes.

[0041] In one possible design, the long-distance notification message also includes the second congestion prediction durations corresponding to the N first end-side nodes respectively; the second network device sends the congestion notification message to the second end-side node, which may include: within the congestion prediction net duration corresponding to the destination node, the second network device periodically sends the congestion notification message to the second end-side node; the congestion prediction net duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the destination node in the second congestion prediction durations corresponding to the N first end-side nodes respectively.

[0042] In one possible design, the predicted net congestion duration corresponding to the destination node is determined as follows: the second network device determines the message transmission duration between the first network device and the second network device based on the distance between the first network device and the second network device; the second network device determines the predicted net congestion duration corresponding to the destination node based on the second predicted congestion duration corresponding to the destination node and the message transmission duration between the first network device and the second network device.

[0043] In one possible design, before the second network device sends the congestion notification message to the second end-side node, the method further includes: the second network device adding the congestion notification message to a priority queue in the second network device that meets the first condition;

[0044] The second network device sending the congestion notification message to the second end-side node may include: the second network device obtaining the congestion notification message from the priority queue that meets the first condition, and sending the congestion notification message to the second end-side node.

[0045] In this design, the second network device sends a congestion notification message to the second end-side node through the priority queue in the second network device that meets the first condition, which can ensure that the second network device sends the congestion notification message as soon as possible and improve timeliness.

[0046] In one possible design, the second network device is any one of the cluster aggregation layer network device, core layer network device, and aggregation layer network device in the second availability zone.

[0047] In a fourth aspect, an embodiment of the present application further provides a network congestion notification device, which includes a device for executing the method provided in the first aspect, the second aspect, or the third aspect above.

[0048] In a fifth aspect, the present application also provides a network device, comprising a processor and a memory, wherein the memory stores computer-executable instructions; the processor is used to execute the computer-executable instructions stored in the memory, and the processor executes the method provided in the first aspect, the second aspect, or the third aspect above.

[0049] In a sixth aspect, the present application also provides a computer-readable storage medium comprising computer program instructions. When the computer program instructions are executed by a network device, the network device executes the method provided in the first, second or third aspect above.

[0050] In a seventh aspect, the present application also provides a computer program product comprising instructions, which, when executed by a network device, enables the network device to execute the method provided in the first, second or third aspect above. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] Figure 1 A system architecture diagram provided for an embodiment of the present application;

[0052] Figure 2 A system architecture diagram provided for an embodiment of the present application;

[0053] Figure 3 A flowchart of a network congestion notification method provided in an embodiment of the present application;

[0054] Figure 4 A flowchart of a network congestion notification method provided in an embodiment of the present application;

[0055] Figure 5A A flowchart of a method for determining a first congestion prediction duration of a port provided in an embodiment of the present application;

[0056] Figure 5B A flowchart of a method for determining a first congestion prediction duration of a priority queue provided in an embodiment of the present application;

[0057] Figure 6 A flowchart of a method for determining a predicted net congestion duration corresponding to a destination node provided in an embodiment of the present application;

[0058] Figure 7 A flowchart of a network congestion notification method provided in an embodiment of the present application;

[0059] Figure 8 A flowchart of a network congestion notification method provided in an embodiment of the present application;

[0060] Figure 9 A schematic diagram of the structure of a network congestion notification device provided in an embodiment of the present application;

[0061] Figure 10 A schematic diagram of the structure of a network congestion notification device provided in an embodiment of the present application;

[0062] Figure 11 A schematic diagram of the structure of a network device provided in an embodiment of the present application;

[0063] Figure 12 A schematic diagram of the structure of a network device cluster provided in an embodiment of the present application;

[0064] Figure 13 A schematic diagram of the structure of a network device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0065] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The terms "first", "second" and corresponding terminology numbers in the specification and claims and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or precedence. It should be understood that the terms used in this way are interchangeable where appropriate, and this is merely a way of distinguishing objects of the same properties when describing the embodiments of the present application. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, so that the process, method, system, product or device comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or devices.

[0066] In order to make the purpose, technical solutions and advantages of this application more clear, the application will be further described in detail below with reference to the accompanying drawings. The specific operation methods and functional descriptions in the method embodiments can also be applied to the device embodiments or system embodiments.

[0067] Below, some terms used in the embodiments of the present application are explained to facilitate understanding by those skilled in the art.

[0068] A data center is a collection of physical infrastructure, including servers, storage devices, networking equipment, power systems, cooling systems, and more, typically located within buildings in one or more geographic locations. Data centers feature physical isolation, independent facilities, and a disaster recovery hierarchy. Physical isolation means different data centers are typically located in different geographic locations (such as cities or countries), while independent facilities mean each data center has its own independent power system, networking equipment, and cooling system. Disaster recovery hierarchy can be understood as a cross-data center deployment (e.g., "three centers in two locations") to respond to regional disasters such as earthquakes and floods.

[0069] The Data Center Network (DCN) is a network infrastructure that provides high-speed, reliable connectivity for servers, storage devices, and other resources within and across data centers. It is the core support for modern cloud computing, big data, and distributed applications, designed to meet the demands of high bandwidth, low latency, scalability, and high availability.

[0070] An availability zone (AZ) is a logically isolated fault domain divided within a region. Each AZ consists of one or more physical data centers, but achieves high availability through independent facilities (such as power systems, network equipment, and cooling systems).

[0071] Priority queues (PQ) are a key mechanism for traffic scheduling in network devices such as switches, routers, and network interface cards (NICs). They assign different priorities to different types of traffic to ensure that high-priority traffic is processed and sent first, thereby meeting quality of service (QoS) requirements.

[0072] Congestion Notification Packet (CNP) is a signaling mechanism used for network congestion control. It avoids network congestion by explicitly notifying the sender to reduce the rate.

[0073] When a first end-side node and a second end-side node are far apart, the first end-side node can send data packets to the second end-side node through one or more network devices. If network congestion occurs on one of the network devices, the second end-side node learns that the data packet encountered network congestion during forwarding and generates a congestion notification message and sends it to the first end-side node to notify it of the network congestion. However, other end-side nodes besides the first end-side node cannot receive this congestion notification message. Therefore, other end-side nodes can send data packets to the second end-side node, which will increase the degree of network congestion.

[0074] Take cross-availability zone communication as an example, where an availability zone includes one or more data centers, such as Figure 1 The diagram shows three availability zones: Availability Zone 1, Availability Zone 2, and Availability Zone 3.

[0075] Availability Zone 1 includes three edge nodes and three network devices. The three edge nodes are edge node 1, edge node 2, and edge node 3, and the three network devices are network device 1, network device 2, and network device 3. Edge nodes 1, 2, and 3 are all connected to network device 1, which is then connected to network device 2, and network device 2 is connected to network device 3.

[0076] It should be understood that the end-side node can be any one of a server, a storage device, and other resources, and is not limited here.

[0077] Availability Zone 2 includes three edge nodes and three network devices. The three edge nodes are edge node 4, edge node 5, and edge node 6, and the three network devices are network device 4, network device 5, and network device 6. Edge nodes 4, 5, and 6 are all connected to network device 4, which is in turn connected to network device 5, and which is in turn connected to network device 6.

[0078] Availability Zone 3 includes three edge nodes and four network devices. The three edge nodes are edge nodes 7, 8, and 9, and the four network devices are network devices 7, 8, 9, and 10. Edge nodes 7 and 8 are connected to network device 7, edge node 9 is connected to network device 8, network devices 7 and 8 are connected to network device 9, and network device 9 is connected to network device 10.

[0079] In addition, in order to achieve cross-availability zone communication, any two network devices among network device 3 in availability zone 1, network device 6 in availability zone 2, and network device 10 in availability zone 3 are connected to each other, that is, network device 3 and network device 6 are connected, network device 3 and network device 10 are connected, and network device 6 and network device 10 are connected.

[0080] End-side node 1 and end-side node 9 simultaneously send data packets to end-side node 7. The path for end-side node 1 to send data packets to end-side node 7 includes, in sequence: end-side node 1, network device 1, network device 2, network device 3, network device 10, network device 9, network device 7, and end-side node 7. The path for end-side node 9 to send data packets to end-side node 7 includes, in sequence: end-side node 9, network device 8, network device 9, network device 7, and end-side node 7.

[0081] End-side node 7 is connected to network device 7. Specifically, end-side node 7 is connected to port 7 of network device 7. If congestion occurs on port 7 of network device 7, network device 7 will mark the data packets sent through port 7 with an explicit congestion notification (ECN) upon receiving data packets from end-side node 1 or end-side node 9. After receiving data packets from end-side node 1 and end-side node 9, end-side node 7 finds that both carry the ECN congestion marking. It constructs congestion notification messages for the data packets sent by end-side node 1 and end-side node 9 and sends them to end-side node 1 and end-side node 9, respectively.

[0082] Because end-side node 7 and end-side node 1 are located in different availability zones and are far apart, it takes a long time for end-side node 1 to receive the congestion notification message sent by end-side node 7. While end-side node 1 does not receive the congestion notification message, end-side node 1 will continue to send data packets to end-side node 7, which will increase the congestion level of port 7 in network device 7.

[0083] Furthermore, because edge-side nodes 7 and 9 are located in the same availability zone and are relatively close to each other, edge-side node 9 will quickly receive the congestion notification message from edge-side node 7. Since edge-side node 9 receives the congestion notification message much earlier than edge-side node 1, edge-side node 9 will significantly reduce data message transmission, while edge-side node 1 will only slightly reduce data message transmission, which will seriously affect service fairness.

[0084] In addition, if end-side node 2 and end-side node 3 in availability zone 1, and end-side node 4, end-side node 5, and end-side node 6 in availability zone 2 also need to send data packets to end-side node 7, since end-side node 2, end-side node 3, end-side node 4, end-side node 5, and end-side node 6 have not received the congestion notification message sent by end-side node 7, end-side node 2 to end-side node 6 will still send data packets to end-side node 7, which will further aggravate the congestion level of port 7 in network device 7.

[0085] In view of this, in order to reduce the problem of network congestion, embodiments of the present application provide a network congestion notification method and apparatus.

[0086] The embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0087] Figure 2 A possible system architecture diagram for the network congestion notification method provided in an embodiment of the present application is shown. The system architecture includes X availability zones, namely availability zone 1, availability zone 2, ..., availability zone X. Any two of the X availability zones are connected.

[0088] The following describes the components of Availability Zone 1 in the system architecture in detail, taking Availability Zone 1 in the system architecture as an example. The components of other Availability Zones in the system architecture can be referenced to Availability Zone 1 and are not described here in detail.

[0089] Figure 2 In the system architecture diagram shown, Availability Zone 1 includes M4 cluster convergence layer network devices and multiple network clusters (NCs), where M4 is an integer greater than 0. Each of the M4 cluster convergence layer network devices is connected to cluster convergence layer network devices in other availability zones, enabling communication between availability zones. Each of the multiple NCs is connected to each cluster convergence layer network device, meaning that each cluster convergence layer network device is connected to multiple NCs, enabling communication between the NCs through the cluster convergence layer network devices.

[0090] It should be understood that the cluster aggregation layer network device can be a switch, a router, a network interface card, etc., which is not limited here.

[0091] Figure 2The system architecture diagram shown includes multiple NCs. Using any one of these NCs as an example, the NC includes M2 core-layer network devices and multiple points of delivery (PODs), where M2 is an integer greater than 0. Each of the M2 core-layer network devices is connected to multiple cluster aggregation-layer network devices, enabling the NC to access each cluster aggregation-layer network device. Each of the multiple PODs is connected to each core-layer network device, meaning each core-layer network device is connected to multiple PODs, enabling the multiple PODs to communicate with each other through the core-layer network devices.

[0092] It should be understood that the core layer network device can be a switch, a router, a network interface card, etc., which is not limited here.

[0093] Figure 2 The system architecture diagram shown includes multiple PODs. Taking any one of the multiple PODs as an example for explanation, the POD includes M3 aggregation layer network devices, M1 access layer network device, and multiple end-side nodes, where M3 and M1 are both integers greater than 0. Any one of the M3 aggregation layer network devices is connected to M2 core layer network devices, enabling the POD to access each core layer network device. Any one of the M1 access layer network devices is connected to M3 aggregation layer network devices, and any one of the multiple end-side nodes is connected to at least two access layer network devices.

[0094] It should be understood that the convergence layer network device may be a switch, a router, a network interface card, etc., which is not limited here. The access layer network device may be a switch, a router, a network interface card, etc., which is not limited here.

[0095] In addition, based on Figure 2 Changes and modifications to the system architecture do not depart from the scope of protection of this application.

[0096] [Example 1]

[0097] The embodiment of the present application provides a network congestion notification method. Figure 2 The network device in the first available zone and the network device in the second available zone involved in the relevant embodiments interact and execute, wherein the first available zone can be Figure 2 Any availability zone in the second availability zone is Figure 2 Any availability zone other than the first availability zone in the . Figure 3 As shown, the process of the method includes:

[0098] Any access-layer network device among the M1 access-layer network devices in the first available zone may execute steps S301 to S303 .

[0099] S301: An access layer network device in a first available zone determines that transmission paths corresponding to S first end-side nodes connected to the access layer network device are congested.

[0100] In the above S301, the access layer network device in the first available zone may include multiple ports, one end-side node may be connected to one port in the access layer network device, and multiple end-side nodes may be connected to the same port in the access layer network device.

[0101] A port on an access-layer network device in the first availability zone can include multiple priority queues. After an end-side node is connected to a port on the access-layer network device, a priority queue on that port corresponds to the end-side node. Specifically, the priority of a priority queue on that port corresponds to the priority of data packets to be sent by the end-side node. An end-side node can correspond to a priority queue on a port, and multiple end-side nodes can correspond to the same priority queue on a port.

[0102] In the above S301, the access layer network device in the first available zone can determine S first end-side nodes connected to the access layer network device through implementation mode A1 or A2.

[0103] In implementation A1, after the access layer network device in the first available zone determines that at least one port in the access layer network device is congested, it determines S first end-side nodes connected to the at least one port. The S first end-side nodes connected to the at least one port are the S first end-side nodes connected to the access layer network device. As an example, if the access layer network device has one congested port, then the one port is connected to S first end-side nodes. As another example, if the access layer network device has multiple congested ports, then each of the multiple ports is connected to S1 first end-side nodes, and the sum of the number of first end-side nodes connected to the multiple ports is S.

[0104] In the above-mentioned implementation A1, for the first port of at least one port in the access layer network device, the first port is any port of the at least one port, and the first port in the access layer network device is connected to S1 first end-side nodes, where S1 is a positive integer less than or equal to S.

[0105] In the above-described embodiment A1, in order to continuously detect the congestion status of ports on the access-layer network device, the access-layer network device may be configured with a congestion detection function for detecting the congestion status of each port. If the congestion detection function of the access-layer network device detects that the congestion status of a port is greater than or equal to a port congestion start threshold, the access-layer network device determines that congestion exists on the port, and the access-layer network device may determine, based on relevant configurations, a first end-side node connected to the port.

[0106] It should be understood that for an access layer network device in the first available zone, the access layer network device can only determine the first end side node connected to the port in the access layer network device, and cannot determine the first end side node connected to the port in other access layer network devices.

[0107] Taking Implementation A1 as an example, the access-layer network device in the first availability zone is access-layer network device 1. Access-layer network device 1 includes two congested ports (i.e., port 6 and port 7). The first-end-side nodes connected to port 6 of access-layer network device 1 include first-end-side node 1, first-end-side node 2, and first-end-side node 3, and the first-end-side nodes connected to port 7 of access-layer network device 1 include first-end-side node 4 and first-end-side node 5. For details, see Table 1. Access-layer network device 1 can determine that the first-end-side nodes connected to access-layer network device 1 include first-end-side node 1, first-end-side node 2, first-end-side node 3, first-end-side node 4, and first-end-side node 5, and that the transmission paths corresponding to these five first-end-side nodes are all congested.

[0108] Table 1.

[0109]

[0110] In implementation A2, after an access-layer network device in a first available zone determines that at least one priority queue in each of at least one port of the access-layer network device is congested, the access-layer network device determines S2 first end-side nodes corresponding to the at least one priority queue in each of the at least one port. The S2 first end-side nodes corresponding to the at least one priority queue in each of the at least one port are the S first end-side nodes connected to the access-layer network device, and S2 is a positive integer less than or equal to S.

[0111] In the above-mentioned implementation A2, for the first priority queue in the first port in the access layer network device, the priority of the first priority queue corresponds to the priority of the data packets to be sent by S2 first-end side nodes, the first port is any port among at least one port, and the first priority queue is any priority queue among at least one priority queue corresponding to the first port.

[0112] In the above-described embodiment A2, in order to continuously detect the congestion status of priority queues in the access-layer network device, a congestion detection function may be configured for the access-layer network device to detect the congestion status of each priority queue. If the access-layer network device detects, based on the congestion detection function, that the congestion status of the priority queue is greater than or equal to a priority queue congestion start threshold, the access-layer network device determines that congestion exists in the priority queue, and the access-layer network device may determine, based on relevant configurations, a first end-side node corresponding to the priority queue.

[0113] It should be understood that for an access layer network device within the first availability zone, the access layer network device can only determine the first end side node corresponding to the priority queue in the access layer network device, and cannot determine the first end side node corresponding to the priority queue in other access layer network devices.

[0114] Taking Implementation A2 as an example, the access-layer network device in the first availability zone is access-layer network device 1. Access-layer network device 1 includes two ports (i.e., port 6 and port 7). Priority queue 3 in port 6 is congested, and priority queue 3 in port 7 is congested. The first end-side nodes corresponding to priority queue 3 in port 6 of access-layer network device 1 include first end-side node 1, first end-side node 2, and first end-side node 3. The first end-side nodes corresponding to priority queue 3 in port 7 of access-layer network device 1 include first end-side node 4 and first end-side node 5. For details, see Table 2. Access-layer network device 1 can determine that the first end-side nodes connected to access-layer network device 1 include first end-side node 1, first end-side node 2, first end-side node 3, first end-side node 4, and first end-side node 5, and that the transmission paths corresponding to these five first end-side nodes are all congested.

[0115] Table 2.

[0116]

[0117] S302: The access layer network device in the first available zone generates a local notification message according to the identifiers of the S first end-side nodes.

[0118] In an embodiment of the present application, the local notification message includes identifiers of S first end-side nodes, and the local notification message can be used to indicate that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to the access layer network device.

[0119] After the access layer network device in the first availability zone executes S302, the access layer network device in the first availability zone may add the local notification message to a priority queue in the access layer network device that meets a first condition. The first condition may be any one of the following: (1) a priority queue with the highest priority in the access layer network device; or (2) a priority queue in the access layer network device with a priority greater than a first threshold.

[0120] S303, the access layer network device in the first availability zone sends a local notification message to the first network device in the first availability zone; correspondingly, the first network device in the first availability zone receives the local notification message from the access layer network device in the first availability zone.

[0121] In the above S303, the access layer network device in the first availability zone can obtain the local notification message from the priority queue in the access layer network device that meets the first condition, and send the local notification message to the first network device in the first availability zone. In this embodiment of the present application, the access layer network device sends the local notification message to the first network device in the first availability zone through the priority queue in the access layer network device that meets the first condition, which can ensure that the access layer network device sends the local notification message as soon as possible, thereby improving timeliness.

[0122] In the above S303 , the first network device may be a cluster aggregation layer network device, a core layer network device, or an aggregation layer network device, which is not limited here.

[0123] In the case that the first network device is a cluster convergence layer network device, the access layer network device may send a local notification message to the cluster convergence layer network device through the convergence layer network device and the core layer network device.

[0124] In the case that the first network device is a core layer network device, the access layer network device may send a local notification message to the core layer network device through the aggregation layer network device.

[0125] In the case that the first network device is a convergence layer network device, the access layer network device may directly send a local notification message to the convergence layer network device.

[0126] It should be understood that any access layer network device among the M1 access layer network devices in the first availability zone can send a local notification message to the first network device in the first availability zone; accordingly, the first network device in the first availability zone can receive local notification messages from the M1 access layer network devices in the first availability zone.

[0127] S304, the first network device in the first availability zone determines the identifiers of N first end-side nodes in the first availability zone based on the identifiers of S first end-side nodes carried in local notification messages sent by M1 access layer network devices respectively; wherein, there is congestion in the transmission paths corresponding to the N first end-side nodes; and N is an integer greater than 0.

[0128] In an embodiment of the present application, an end-side node may be connected to at least one access-layer network device. When an end-side node is connected to multiple access-layer network devices, multiple local notification messages received by a first network device in a first availability zone may include the identifier of the same end-side node.

[0129] It should be noted that the number of first-end-side node identifiers carried in the local announcement message sent by each access layer network device may be the same or different. In other words, the number S of first-end-side nodes carried in the local announcement message sent by different access layer network devices may be the same or different.

[0130] In the embodiment of the present application, the identifier of the first end-side node carried in any local announcement message in the M1 local announcement messages is the identifier of one first end-side node among the identifiers of the N first end-side nodes.

[0131] In a possible implementation, the first network device in the first availability zone may determine the identifiers of the N first end-side nodes in the first availability zone through implementation mode B1 or B2.

[0132] In implementation B1, for a local announcement message sent by the j-th access layer network device among M1 access layer network devices (i.e., the j-th local announcement message), where the j-th local announcement message includes the identifiers of the S first end-side nodes connected to the j-th access layer network device, and j is an integer ranging from [1 to M1], the first network device in the first availability zone performs the following steps:

[0133] For ease of understanding, a first end-side node in the j-th local announcement message is recorded as the end-side node to be judged, and a first end-side node in the k-th local announcement message is recorded as the reference end-side node, where the k-th local announcement message is any local announcement message in the M1 local announcement messages that is different from the j-th local announcement message, that is, k is an integer between [1, M1], and k is not equal to j.

[0134] If the identifier of the end-side node to be judged in the j-th local announcement message is the same as the identifier of the reference end-side node in the k-th local announcement message, it means that the j-th access layer network device corresponding to the end-side node to be judged and the k-th access layer network device corresponding to the reference end-side node are both congested. Therefore, the first network device uses the identifier of the end-side node to be judged as the identifier of a first end-side node among the N first end-side nodes.

[0135] If the identifier of the end-side node to be judged in the j-th local announcement message is different from the identifier of the reference end-side node in the k-th local announcement message, it means that only the j-th access layer network device corresponding to the end-side node to be judged is congested, and other access layer network devices connected to the end-side node to be judged are not congested. Therefore, the first network device can use the identifier of the end-side node to be judged as the identifier of a first end-side node among the N first end-side nodes. Alternatively, if the identifier of the end-side node to be judged in the j-th local announcement message is different from the identifier of the reference end-side node in the k-th local announcement message, it means that only the j-th access layer network device corresponding to the end-side node to be judged is congested, and other access layer network devices connected to the end-side node to be judged are not congested. The first network device may not perform any processing on the identifier of the end-side node to be judged, that is, not use the identifier of the end-side node to be judged as the identifier of a first end-side node among the N first end-side nodes.

[0136] In implementation B1, the first network device makes a judgment based on the jth local announcement message and the kth local announcement message to determine whether the identifier of the first end-side node in the jth local announcement message is the identifier of one of the N first end-side nodes, which is conducive to the diversity of the scheme.

[0137] In implementation B2, for a local announcement message sent by the j-th access layer network device among the M1 access layer network devices (i.e., the j-th local announcement message), where the j-th local announcement message includes the identifiers of the S first end-side nodes connected to the j-th access layer network device, and j is an integer ranging from [1 to M1], the first network device in the first availability zone performs the following steps:

[0138] For ease of understanding, a first end-side node in the j-th local notification message is recorded as an end-side node to be determined.

[0139] The first network device directly uses the identifier of the end-side node to be determined in the j-th local announcement message as the identifier of a first end-side node among the N first end-side nodes.

[0140] In implementation mode B2, the first network device does not need to judge the j-th local announcement message, but directly uses the identifier of the end-side node to be judged in the j-th local announcement message as the identifier of a first end-side node among the N first end-side nodes, which can improve the efficiency of determining the identifiers of the N first end-side nodes in the first available zone.

[0141] S305: The first network device in the first available zone generates a long-distance announcement message according to the identifiers of the N first end-side nodes.

[0142] In the above S305, the long-distance notification message includes the identifiers of the N first end-side nodes in the first availability zone. The long-distance notification message can be used to indicate that the transmission paths corresponding to the N first end-side nodes in the first availability zone are congested.

[0143] After the first network device in the first availability zone executes S305, the first network device in the first availability zone may add the long-distance advertisement message to a priority queue in the first network device that meets the first condition.

[0144] S306, the first network device in the first availability zone sends a long-distance announcement message to the second network device in the second availability zone; correspondingly, the second network device in the second availability zone receives the long-distance announcement message from the first network device in the first availability zone.

[0145] In the above-mentioned S306, the first network device in the first availability zone can obtain the long-distance announcement message from the priority queue of the first network device that meets the first condition, and send the long-distance announcement message to the second network device in the second availability zone. In this embodiment of the present application, the first network device sends the long-distance announcement message to the second network device in the second availability zone through the priority queue of the first network device that meets the first condition, which can ensure that the first network device sends the long-distance announcement message as soon as possible, thereby improving timeliness.

[0146] In the above S306, when the first network device is a cluster convergence layer network device, the second network device may be a cluster convergence layer network device. After receiving the long-distance notification message, the cluster convergence layer network device in the second availability zone may notify the second end-side node in the second availability zone of congestion in the transmission paths corresponding to the N first end-side nodes according to the long-distance notification message.

[0147] In the case where the first network device is a cluster convergence layer network device, the second network device may also be a core layer network device or convergence layer network device in the second availability zone. When the core layer network device or convergence layer network device in the second availability zone obtains the long-distance notification message, it may directly send a congestion notification message to the end-side node in the second availability zone according to the long-distance notification message, instead of the cluster convergence layer network device in the second availability zone sending a congestion notification message to the end-side node in the second availability zone according to the long-distance notification message. This can reduce the transmission distance to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since it is the core layer network device or convergence layer network device in the second availability zone that receives and processes the long-distance notification message, the load on the cluster convergence layer network device in the second availability zone can be reduced.

[0148] In the case where the first network device is a core layer network device, the second network device can be a core layer network device. Since the long-distance notification message is transmitted between the core layer network device in the first availability zone and the core layer network device in the second availability zone, and the core layer network device in the second availability zone sends a congestion notification message to the end-side node in the second availability zone based on the long-distance notification message, the transmission distance can be reduced to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since the number of core layer network devices in the first availability zone is greater than the number of cluster aggregation layer network devices in the first availability zone, each core layer network device in the first availability zone has fewer long-distance notification messages to forward than the cluster aggregation layer network devices in the first availability zone. Therefore, the load on each core layer network device is less.

[0149] In the case where the first network device is an aggregation layer network device, the second network device can be an aggregation layer network device. Since the long-distance notification message is transmitted between the aggregation layer network device in the first availability zone and the aggregation layer network device in the second availability zone, and the aggregation layer network device in the second availability zone sends a congestion notification message to the end-side node in the second availability zone based on the long-distance notification message, the transmission distance can be reduced to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since the number of aggregation layer network devices in the first availability zone is greater than the number of cluster aggregation layer network devices in the first availability zone, compared with the cluster aggregation layer network devices in the first availability zone, each aggregation layer network device in the first availability zone has fewer long-distance notification messages to forward, and therefore, the load on each aggregation layer network device is less.

[0150] S307: The second network device in the second available zone receives the data packet sent by the second end-side node in the second available zone.

[0151] In S307 above, the data packet sent by the second end-side node may include an identifier of the source node and an identifier of the destination node. The identifier of the source node is the identifier of the second end-side node, for example, the identifier of the source node is the IP address of the second end-side node. The identifier of the destination node is the identifier of the first end-side node in the first availability zone, for example, the identifier of the destination node is the IP address of the first end-side node in the first availability zone.

[0152] The data message sent by the second end-side node may further include information about data to be sent.

[0153] In one possible implementation, after receiving the data packet sent by the second end-side node, the second network device in the second availability zone may sample the received data packet, obtain a portion of the data packet, and use the portion of the data packet to perform the steps in S308. The second network device does not subsequently process all data packets sent by the second end-side node, but only processes a portion of the data packets sent by the second end-side node, which can reduce the load on the second network device.

[0154] S308: When the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, the second network device in the second available zone generates a congestion notification message according to the identifier of the destination node.

[0155] In S308 above, the congestion notification message includes the identifier of the second end-side node, so that the second network device in the second availability zone can send the congestion notification message to the second end-side node. The congestion notification message also includes the identifier of the destination node, and the congestion notification message can be used to indicate that the transmission path corresponding to the destination node is congested.

[0156] After the second network device in the second availability zone executes S308 , the second network device in the second availability zone may add the congestion notification message to a priority queue in the second network device that meets the first condition.

[0157] S309 , the second network device in the second available zone sends a congestion notification message to the second end-side node; correspondingly, the second end-side node receives the congestion notification message from the second network device in the second available zone.

[0158] In the above S309, the second network device in the second availability zone can obtain the congestion notification message from the priority queue of the second network device that meets the first condition, and send the congestion notification message to the second end-side node. In this embodiment of the present application, the second network device sends the congestion notification message to the second end-side node through the priority queue of the second network device that meets the first condition, which can ensure that the second network device sends the congestion notification message as soon as possible, thereby improving timeliness.

[0159] In the above S309 , after receiving the congestion notification message from the second network device, the second end-side node may reduce the rate of sending data messages to alleviate network congestion.

[0160] exist Figure 3 In the steps shown, when there is congestion in the transmission paths corresponding to the N first end-side nodes in the first availability zone, after the second end-side node in the second availability zone sends a data packet to the second network device in the second availability zone, the second network device determines that the identifiers of the N first end-side nodes include the identifier of the destination node in the data packet. In this case, a congestion notification message can be sent to the second end-side node instead of the first end-side node sending the congestion notification message. This allows the second end-side node to obtain the congestion notification message earlier and reduce the rate of sending data packets according to the congestion notification message, so as to alleviate network congestion.

[0161] Furthermore, the congestion notification message is sent by the network equipment in each availability zone to the end-side nodes in each availability zone, rather than by the first end-side node. Therefore, it can alleviate to a certain extent the situation that the end-side nodes closer to the first end-side node receive the congestion notification message before the end-side nodes farther away from the first end-side node. Furthermore, it can avoid to a certain extent the situation that the end-side nodes closer to the first end-side node significantly reduce the sending of data messages, while the end-side nodes farther away from the first end-side node slightly reduce the sending of data messages, thereby achieving service fairness of each end-side node.

[0162] Furthermore, in the prior art, only the second-end-side node that sends data packets to the first-end-side node can receive the congestion notification message, while the second-end-side nodes in the second availability zone that do not send data packets to the first-end-side node cannot receive the congestion notification message. However, in the solution presented in this application, any second-end-side node in the second availability zone can receive the congestion notification message after sending a data packet to the second network device in the second availability zone, thereby facilitating control over the sending of data packets by the second-end-side nodes in the second availability zone and further reducing network congestion.

[0163] [Example 2]

[0164] The embodiment of the present application provides a network congestion notification method. Figure 2 The network device in the first available zone and the network device in the second available zone involved in the relevant embodiments interact and execute, wherein the first available zone can be Figure 2 Any availability zone in the second availability zone is Figure 2 Any availability zone other than the first availability zone in the . Figure 4 As shown, the process of the method includes:

[0165] Any access-layer network device among the M1 access-layer network devices in the first available zone may execute steps S401 to S403 .

[0166] S401: An access layer network device in a first available zone determines that transmission paths corresponding to S first end-side nodes connected to the access layer network device are congested, and first congestion prediction durations corresponding to the S first end-side nodes are respectively determined.

[0167] In the above S401, the description of the port or priority queue in the access layer network device in the first available zone refers to the description in S301 and is not repeated here.

[0168] In the above S401, the access layer network device in the first available zone can determine the first congestion prediction durations corresponding to the S first end-side nodes and the S first end-side nodes connected to the access layer network device respectively through implementation mode B1 or B2.

[0169] Implementation method B1: After the access layer network device in the first available zone determines that at least one port in the access layer network device is congested, it determines the first congestion prediction duration corresponding to the S first end-side nodes and S first end-side nodes connected to the at least one port. Among them, the S first end-side nodes connected to at least one port are the S first end-side nodes connected to the access layer network device. As an example, if the number of ports with congestion on the access layer network device is one, then the one port is connected to S first end-side nodes. As another example, if the number of ports with congestion on the access layer network device is multiple, then each of the multiple ports is connected to S1 first end-side nodes, and the sum of the number of first end-side nodes connected to the multiple ports is S.

[0170] In the above-mentioned implementation B1, for the first port of at least one port in the access layer network device, the first port is any port of the at least one port, and the first port in the access layer network device is connected to S1 first end-side nodes, where S1 is a positive integer less than or equal to S.

[0171] In the above-mentioned implementation B1, in order to continuously detect the congestion status of the port in the access layer network device, a congestion detection function for detecting the congestion status of each port can be configured for the access layer network device. If the congestion detection function of the access layer network device detects that the congestion status of a certain port is greater than or equal to the port congestion starting threshold, the access layer network device determines that the port is congested, and the access layer network device can determine the first end-side node connected to the port and the first congestion prediction duration of the port in the access layer network device based on the relevant configuration. Among them, the first congestion prediction duration of the port is the first congestion prediction duration corresponding to the first end-side node connected to the port.

[0172] It should be understood that for an access layer network device in the first available zone, the access layer network device can only determine the first end side node connected to the port in the access layer network device, and cannot determine the first end side node connected to the port in other access layer network devices.

[0173] In the above embodiment B1, the access layer network device in the first available zone can be Figure 5A The steps shown determine the first congestion prediction duration of the port in the access layer network device.

[0174] S501A: An access layer network device in the first available zone obtains port congestion duration history data, where the port congestion duration history data includes identifiers of N1 ports and congestion history durations corresponding to the N1 ports.

[0175] For any port, the congestion history duration corresponding to that port can be determined as follows: If the port's congestion detection function detects that the port's congestion status is greater than or equal to the port congestion start threshold, the access-layer network device determines that the port is congested and records the time when the congestion occurred as the congestion start time. If the port's congestion detection function detects that the port's congestion status is less than or equal to the port congestion end threshold, the access-layer network device determines that the port's congestion has ended and records the time when the congestion ended as the congestion end time. The access-layer network device determines the difference between the congestion end time and the congestion start time as the congestion history duration corresponding to the port.

[0176] It should be understood that the port congestion duration history data may include the congestion history duration corresponding to a port determined in different time periods, that is, a port may correspond to one or more congestion history durations.

[0177] For example, access layer network device 1 includes two ports (port 6 and port 7). Table 3 shows the congestion history durations for these two ports. In Table 3, access layer network device 1: Port 6 experienced congestion during three different time periods, with the recorded congestion history durations being 200us, 220us, and 300us, respectively. Access layer network device 1: Port 7 experienced congestion during two different time periods, with the recorded congestion history durations being 200us and 400us, respectively.

[0178] Table 3.

[0179]

[0180] S502A: The access layer network device in the first available zone determines a first predicted congestion duration of a port in the access layer network device based on historical port congestion duration data and an identifier of the port in the access layer network device.

[0181] In a possible implementation, the access layer network device in the first available zone may determine the first congestion prediction duration of the port in the access layer network device through implementation mode C1 or C2.

[0182] In implementation mode C1, the access layer network device in the first availability zone can train a machine learning model based on the historical data of port congestion duration to obtain a trained machine learning model. The access layer network device inputs the port identifier into the trained machine learning model, and the machine learning model outputs the first predicted congestion duration of the port.

[0183] In implementation C2, the access layer network device within the first available zone can obtain at least one congestion historical duration corresponding to the port identifier from the port congestion duration history data based on the port identifier, and determine the first congestion prediction duration of the port based on the at least one congestion historical duration corresponding to the port identifier.

[0184] In the above-mentioned implementation C2, after determining at least one historical congestion duration corresponding to the port identifier, the access layer network device in the first availability zone can use the average of the at least one historical congestion duration corresponding to the port identifier as the first congestion prediction duration of the port, or can also use the median value of the at least one historical congestion duration corresponding to the port identifier as the first congestion prediction duration of the port.

[0185] Figure 5A The steps shown provide a method for specifically determining a first congestion prediction duration of a port in an access layer network device.

[0186] In implementation B2, after an access-layer network device within a first availability zone determines that at least one priority queue in each of at least one port of the access-layer network device is congested, it determines S2 first end-side nodes corresponding to the at least one priority queue in each of the at least one port, and first predicted congestion durations corresponding to the S2 first end-side nodes. The S2 first end-side nodes corresponding to the at least one priority queue in each of the at least one port are the S first end-side nodes connected to the access-layer network device, and S2 is a positive integer less than or equal to S.

[0187] In the above-mentioned implementation B2, for the first priority queue in the first port in the access layer network device, the priority of the first priority queue corresponds to the priority of the data packets to be sent by S2 first-end side nodes, the first port is any port among at least one port, and the first priority queue is any priority queue among at least one priority queue corresponding to the first port.

[0188] In the above-mentioned implementation B2, in order to continuously detect the congestion status of the priority queue in the access layer network device, a congestion detection function can be configured for the access layer network device to detect the congestion status of each priority queue. If the access layer network device detects that the congestion status of the priority queue is greater than or equal to the priority queue congestion starting threshold based on the congestion detection function, the access layer network device determines that the priority queue is congested, and the access layer network device can determine the first end-side node corresponding to the priority queue and the first congestion prediction duration of the priority queue in the access layer network device based on relevant configurations. The first congestion prediction duration of the priority queue is the first congestion prediction duration corresponding to the first end-side node corresponding to the priority queue.

[0189] It should be understood that for an access layer network device within the first availability zone, the access layer network device can only determine the first end side node corresponding to the priority queue in the access layer network device, and cannot determine the first end side node corresponding to the priority queue in other access layer network devices.

[0190] In the above embodiment B2, the access layer network device in the first available zone can be Figure 5B The steps shown determine the first congestion prediction duration of the priority queue in the access layer network device.

[0191] S501B, the access layer network device in the first available zone obtains the historical data of the congestion duration of the priority queue, where the historical data of the congestion duration of the priority queue includes the identifiers of the N2 ports, the identifiers of the N3 priority queues in each of the N2 ports, and the historical congestion duration corresponding to the N3 priority queues in each port.

[0192] For any priority queue, the congestion history duration corresponding to the priority queue can be determined in the following manner: if the congestion detection function of the priority queue detects that the congestion state of the priority queue is greater than or equal to the priority queue congestion start threshold, the access layer network device determines that the priority queue is congested and records the time when the priority queue is congested as the congestion start time; if the congestion detection function of the priority queue detects that the congestion state of the priority queue is less than or equal to the priority queue congestion end threshold, the access layer network device determines that the congestion of the priority queue is over and records the time when the congestion of the priority queue is over as the congestion end time. The access layer network device determines the difference between the congestion end time and the congestion start time as the congestion history duration corresponding to the priority queue.

[0193] It should be understood that the priority queue congestion duration history data may include the congestion history duration corresponding to a priority queue determined in different time periods, that is, a priority queue may correspond to one or more congestion history durations.

[0194] For example, access layer network device 1 includes two ports (port 6 and port 7). Port 6 includes priority queue 3, and port 7 includes priority queue 3. Table 4 shows the congestion history durations corresponding to the priority queues on each port, as determined by access layer network device 1. In Table 4, priority queue 3 on port 6 of access layer network device 1 experienced congestion during three different time periods, with the recorded congestion history durations being 50us, 100us, and 100us, respectively. Priority queue 3 on port 7 of access layer network device 1 experienced congestion during two different time periods, with the recorded congestion history durations being 200us and 400us, respectively.

[0195] Table 4.

[0196]

[0197] S502B: The access layer network device in the first available zone determines a first predicted congestion duration of the priority queue in the access layer network device based on the historical data of the priority queue congestion duration, the identifier of the port in the access layer network device, and the identifier of the priority queue.

[0198] In a possible implementation, the access layer network device in the first available zone may determine the first congestion prediction duration of the priority queue in the access layer network device through implementation mode D1 or D2.

[0199] In implementation method D1, the access layer network device in the first availability zone can train a machine learning model based on the historical data of the priority queue congestion duration to obtain a trained machine learning model. The access layer network device inputs the port identifier and the priority queue identifier into the trained machine learning model, and the machine learning model outputs the first congestion prediction duration of the priority queue.

[0200] Implementation method D2, the access layer network device within the first availability zone can obtain the port identifier and at least one congestion history duration corresponding to the priority queue identifier from the priority queue congestion duration history data based on the port identifier and the priority queue identifier, and determine the first congestion prediction duration of the priority queue based on the at least one congestion history duration obtained.

[0201] In the above-mentioned implementation D2, after the access layer network device in the first availability zone determines the port identifier and at least one congestion history duration corresponding to the priority queue identifier, it can use the average of the at least one determined congestion history duration as the first congestion prediction duration of the priority queue, or it can also use the median value of the at least one determined congestion history duration as the first congestion prediction duration of the priority queue.

[0202] Figure 5B The steps shown provide a method for specifically determining a first congestion prediction duration of a priority queue in an access layer network device.

[0203] In the above S401, the access layer network device in the first availability zone can directly execute the steps in S402 after determining the first congestion prediction durations corresponding to the S first end-side nodes and the S first end-side nodes respectively connected to the access layer network device; or it can filter the first congestion prediction durations corresponding to the S first end-side nodes respectively, determine the first congestion prediction duration greater than the first duration threshold and the identifier of the corresponding first end-side node, and then execute the steps in S402.

[0204] S402: The access layer network device in the first available zone generates a local notification message according to the identifiers of the S first end-side nodes and the first congestion prediction durations respectively corresponding to the S first end-side nodes.

[0205] In an embodiment of the present application, the local notification message includes the identifiers of S first-end-side nodes and the first congestion prediction durations corresponding to the S first-end-side nodes respectively. The local notification message can be used to indicate that there is congestion in the transmission paths corresponding to the S first-end-side nodes connected to the access layer network device, and the congestion of the transmission paths corresponding to the S first-end-side nodes will last for the first congestion prediction durations corresponding to the S first-end-side nodes respectively.

[0206] After the access layer network device in the first availability zone executes S402, the access layer network device in the first availability zone may add the local notification message to a priority queue in the access layer network device that meets the first condition.

[0207] S403, the access layer network device in the first availability zone sends a local notification message to the first network device in the first availability zone; correspondingly, the first network device in the first availability zone receives the local notification message from the access layer network device in the first availability zone.

[0208] In the above S403, the access layer network device in the first availability zone can obtain the local notification message from the priority queue in the access layer network device that meets the first condition, and send the local notification message to the first network device in the first availability zone. In this embodiment of the present application, the access layer network device sends the local notification message to the first network device in the first availability zone through the priority queue in the access layer network device that meets the first condition, which can ensure that the access layer network device sends the local notification message as soon as possible, thereby improving timeliness.

[0209] In the above S403, the first network device may be a cluster aggregation layer network device, a core layer network device, or an aggregation layer network device, which is not limited here.

[0210] In the case that the first network device is a cluster convergence layer network device, the access layer network device may send a local notification message to the cluster convergence layer network device through the convergence layer network device and the core layer network device.

[0211] In the case that the first network device is a core layer network device, the access layer network device may send a local notification message to the core layer network device through the aggregation layer network device.

[0212] In the case that the first network device is a convergence layer network device, the access layer network device may directly send a local notification message to the convergence layer network device.

[0213] It should be understood that any access layer network device among the M1 access layer network devices in the first availability zone can send a local notification message to the first network device in the first availability zone; accordingly, the first network device in the first availability zone can receive local notification messages from the M1 access layer network devices in the first availability zone.

[0214] S404, the first network device in the first availability zone determines the identifiers of N first end-side nodes in the first availability zone and the second congestion prediction durations corresponding to the N first end-side nodes based on the identifiers of the S first end-side nodes and the first congestion prediction durations corresponding to the S first end-side nodes carried in the local notification messages sent by the M1 access layer network devices respectively; wherein, there is congestion in the transmission paths corresponding to the N first end-side nodes, and the congestion of the transmission paths corresponding to the N first end-side nodes will last for the second congestion prediction durations corresponding to the N first end-side nodes respectively; and N is an integer greater than 0.

[0215] In an embodiment of the present application, an end-side node may be connected to at least one access-layer network device. When an end-side node is connected to multiple access-layer network devices, multiple local notification messages received by a first network device in a first availability zone may include the identifier of the same end-side node.

[0216] It should be noted that the number of first-end-side node identifiers carried in the local announcement message sent by each access layer network device may be the same or different. In other words, the number S of first-end-side nodes carried in the local announcement message sent by different access layer network devices may be the same or different.

[0217] In the above S404, the first network device in the first availability zone can determine the identifiers of the N first end-side nodes in the first availability zone and the second congestion prediction durations corresponding to the N first end-side nodes respectively through implementation mode E1 or E2.

[0218] In implementation E1, for a local notification message sent by the j-th access-layer network device among M1 access-layer network devices (i.e., the j-th local notification message), where the j-th local notification message includes identifiers of S first-end-side nodes connected to the j-th access-layer network device and first congestion prediction durations corresponding to the S first-end-side nodes, and j is an integer ranging from [1 to M1], the first network device in the first available zone performs the following steps:

[0219] For ease of understanding, a first end-side node in the j-th local announcement message is recorded as the end-side node to be judged, and a first end-side node in the k-th local announcement message is recorded as the reference end-side node, where the k-th local announcement message is any local announcement message in the M1 local announcement messages that is different from the j-th local announcement message, that is, k is an integer between [1, M1], and k is not equal to j.

[0220] If the identifier of the end-side node to be judged in the j-th local notification message is the same as the identifier of the reference end-side node in the k-th local notification message, it means that the j-th access layer network device corresponding to the end-side node to be judged and the k-th access layer network device corresponding to the reference end-side node are both congested. Therefore, the first network device can determine the identifier of a first end-side node among the N first end-side nodes and the second congestion prediction duration corresponding to a first end-side node based on the j-th local notification message and the k-th local notification message.

[0221] In one possible implementation, the first network device determines the identifier of a first end-side node among N first end-side nodes and the second congestion prediction duration corresponding to the first end-side node based on the j-th local notification message and the k-th local notification message, including the following implementation methods F1, F2 and F3.

[0222] Implementation method F1: if the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local notification message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local notification message is greater than the first time threshold, and the first congestion prediction duration corresponding to the end-side node to be judged is greater than the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, and the first congestion prediction duration corresponding to the end-side node to be judged is used as the second congestion prediction duration corresponding to a first end-side node among the N first end-side nodes.

[0223] Implementation method F2: If the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local notification message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local notification message is greater than the first time threshold, the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, and the average of the first congestion prediction duration corresponding to the end-side node to be judged and the first congestion prediction duration corresponding to the reference end-side node is used as the second congestion prediction duration corresponding to a first end-side node among the N first end-side nodes.

[0224] Implementation method F3: If the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local notification message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local notification message is greater than the first time threshold, and the first congestion prediction duration corresponding to the end-side node to be judged is less than or equal to the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, and the first congestion prediction duration corresponding to the end-side node to be judged is used as the second congestion prediction duration corresponding to a first end-side node among the N first end-side nodes.

[0225] If the identifier of the end-side node to be judged in the j-th local notification message is different from the identifier of the reference end-side node in the k-th local notification message, it means that only the j-th access layer network device corresponding to the end-side node to be judged is congested, and other access layer network devices connected to the end-side node to be judged are not congested. Therefore, the first network device can use the identifier of the end-side node to be judged as the identifier of a first end-side node among the N first end-side nodes, and use the first congestion prediction duration corresponding to the end-side node to be judged as the second congestion prediction duration corresponding to the first end-side node. Alternatively, if the identifier of the end-side node to be judged in the j-th local notification message is different from the identifier of the reference end-side node in the k-th local notification message, it means that only the j-th access layer network device corresponding to the end-side node to be judged is congested, and other access layer network devices connected to the end-side node to be judged are not congested. The first network device may not perform any processing on the identifier of the end-side node to be judged.

[0226] In implementation E1, the first network device makes a judgment based on the j-th local announcement message and the k-th local announcement message, and determines the identifier of a first end-side node among N first end-side nodes and the second congestion prediction duration corresponding to a first end-side node based on the j-th local announcement message and the k-th local announcement message, which is conducive to the diversity of solutions.

[0227] In implementation E2, for a local notification message sent by the j-th access-layer network device among the M1 access-layer network devices (i.e., the j-th local notification message), where the j-th local notification message includes the identifiers of the S first-end-side nodes connected to the j-th access-layer network device and the first congestion prediction durations corresponding to the S first-end-side nodes, and j is an integer ranging from [1 to M1], the first network device in the first availability zone performs the following steps:

[0228] For ease of understanding, a first end-side node in the j-th local notification message is recorded as an end-side node to be determined.

[0229] The first network device uses the identifier of the end-side node to be judged in the jth local announcement message as the identifier of a first end-side node among the N first end-side nodes, and uses the first congestion prediction duration corresponding to the end-side node to be judged as the second congestion prediction duration corresponding to a first end-side node.

[0230] In implementation E2, the first network device does not need to judge the j-th local announcement message, but directly uses the identifier of the end-side node to be judged in the j-th local announcement message as the identifier of a first end-side node among the N first end-side nodes, and uses the first congestion prediction duration corresponding to the end-side node to be judged as the second congestion prediction duration corresponding to a first end-side node, which can improve the efficiency of determining the identifiers of the N first end-side nodes in the first available zone.

[0231] S405: The first network device in the first available zone generates a long-distance notification message according to the identifiers of the N first end-side nodes and the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0232] In the above S405, the long-distance notification message includes the identifiers of the N first-end-side nodes in the first availability zone and the second congestion prediction durations corresponding to the N first-end-side nodes respectively. The long-distance notification message can be used to indicate that there is congestion in the transmission paths corresponding to the N first-end-side nodes in the first availability zone, and the congestion of the transmission paths corresponding to the N first-end-side nodes will last for the second congestion prediction durations corresponding to the N first-end-side nodes respectively.

[0233] After the first network device in the first availability zone executes S405 , the first network device in the first availability zone may add the long-distance advertisement message to a priority queue in the first network device that meets the first condition.

[0234] S406, the first network device in the first availability zone sends a long-distance announcement message to the second network device in the second availability zone; accordingly, the second network device in the second availability zone receives the long-distance announcement message from the first network device in the first availability zone.

[0235] In the above-mentioned S406, the first network device in the first availability zone can obtain the long-distance announcement message from the priority queue of the first network device that meets the first condition, and send the long-distance announcement message to the second network device in the second availability zone. In this embodiment of the present application, the first network device sends the long-distance announcement message to the second network device in the second availability zone through the priority queue of the first network device that meets the first condition, which can ensure that the first network device sends the long-distance announcement message as soon as possible, thereby improving timeliness.

[0236] In the above S406, when the first network device is a cluster convergence layer network device, the second network device may be a cluster convergence layer network device. After receiving the long-distance notification message, the cluster convergence layer network device in the second availability zone may notify the second end-side node in the second availability zone according to the long-distance notification message that the transmission paths corresponding to the N first end-side nodes are congested, and the congestion of the transmission paths corresponding to the N first end-side nodes will respectively last for the second congestion prediction duration corresponding to the N first end-side nodes.

[0237] In the case where the first network device is a cluster convergence layer network device, the second network device may also be a core layer network device or convergence layer network device in the second availability zone. When the core layer network device or convergence layer network device in the second availability zone obtains the long-distance notification message, it may directly send a congestion notification message to the end-side node in the second availability zone according to the long-distance notification message, instead of the cluster convergence layer network device in the second availability zone sending a congestion notification message to the end-side node in the second availability zone according to the long-distance notification message. This can reduce the transmission distance to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since it is the core layer network device or convergence layer network device in the second availability zone that receives and processes the long-distance notification message, the load on the cluster convergence layer network device in the second availability zone can be reduced.

[0238] In the case where the first network device is a core layer network device, the second network device can be a core layer network device. Since the long-distance notification message is transmitted between the core layer network device in the first availability zone and the core layer network device in the second availability zone, and the core layer network device in the second availability zone sends a congestion notification message to the end-side node in the second availability zone based on the long-distance notification message, the transmission distance can be reduced to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since the number of core layer network devices in the first availability zone is greater than the number of cluster aggregation layer network devices in the first availability zone, each core layer network device in the first availability zone has fewer long-distance notification messages to forward than the cluster aggregation layer network devices in the first availability zone. Therefore, the load on each core layer network device is less.

[0239] In the case where the first network device is an aggregation layer network device, the second network device can be an aggregation layer network device. Since the long-distance notification message is transmitted between the aggregation layer network device in the first availability zone and the aggregation layer network device in the second availability zone, and the aggregation layer network device in the second availability zone sends a congestion notification message to the end-side node in the second availability zone based on the long-distance notification message, the transmission distance can be reduced to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since the number of aggregation layer network devices in the first availability zone is greater than the number of cluster aggregation layer network devices in the first availability zone, compared with the cluster aggregation layer network devices in the first availability zone, each aggregation layer network device in the first availability zone has fewer long-distance notification messages to forward, and therefore, the load on each aggregation layer network device is less.

[0240] S407: The second network device in the second available zone receives the data packet sent by the second end-side node in the second available zone.

[0241] In S407 above, the data packet sent by the second end-side node may include an identifier of the source node and an identifier of the destination node. The identifier of the source node is the identifier of the second end-side node, for example, the identifier of the source node is the IP address of the second end-side node. The identifier of the destination node is the identifier of the first end-side node in the first availability zone, for example, the identifier of the destination node is the IP address of the first end-side node in the first availability zone.

[0242] The data message sent by the second end-side node may further include information about data to be sent.

[0243] In one possible implementation, after receiving the data packet sent by the second end-side node, the second network device in the second availability zone may sample the received data packet, obtain a portion of the data packet, and use the portion of the data packet to perform the steps in S408. If the second network device does not subsequently process all data packets sent by the second end-side node, but only processes a portion of the data packets sent by the second end-side node, the load on the second network device can be reduced.

[0244] S408: When the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, the second network device in the second available zone determines the predicted net congestion duration corresponding to the destination node based on the second predicted congestion duration corresponding to the destination node.

[0245] In the above S408, the second network device can Figure 6 The steps shown determine the predicted net congestion duration corresponding to the destination node.

[0246] S601: The second network device determines a message transmission duration between the first network device and the second network device according to a distance between the first network device and the second network device.

[0247] S602: The second network device determines a predicted net congestion duration corresponding to the destination node according to the second predicted congestion duration corresponding to the destination node and a message transmission duration between the first network device and the second network device.

[0248] In the above S602, the second network device uses the difference between the second predicted congestion duration corresponding to the destination node and the message transmission duration between the first network device and the second network device as the predicted net congestion duration corresponding to the destination node.

[0249] Figure 6 The steps shown provide a method for specifically determining the predicted net congestion duration corresponding to the destination node.

[0250] In the above S408, if the predicted net congestion duration corresponding to the destination node is greater than 0, the step in S409 is executed; if the predicted net congestion duration corresponding to the destination node is less than or equal to 0, the subsequent steps are no longer executed.

[0251] S409: The second network device in the second available zone generates a congestion notification message according to the identifier of the destination node and the predicted net congestion duration corresponding to the destination node.

[0252] In the above S409, the congestion notification message includes the identifier of the second end-side node, so that the second network device in the second available zone sends the congestion notification message to the second end-side node. The congestion notification message also includes the identifier of the destination node and the net congestion prediction duration corresponding to the destination node. The congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node, and the congestion of the transmission path corresponding to the destination node will continue for the net congestion prediction duration corresponding to the destination node. Among them, the net congestion prediction duration corresponding to the destination node is used to indicate the validity range of the congestion notification message, that is, the congestion notification message is valid within the net congestion prediction duration, and the congestion notification message is invalid outside the net congestion prediction duration.

[0253] Optionally, in S409 above, the second network device in the second availability zone may generate a congestion notification message based on the identifier of the destination node. The congestion notification message includes the identifier of the destination node, and the congestion notification message is used to indicate that congestion exists on the transmission path corresponding to the destination node. The congestion notification message generated by this method does not include the predicted net congestion duration corresponding to the destination node.

[0254] After the second network device in the second availability zone executes S409 , the second network device in the second availability zone may add the congestion notification message to a priority queue in the second network device that meets the first condition.

[0255] S410, a second network device in a second available zone sends a congestion notification message to a second end-side node; correspondingly, the second end-side node receives the congestion notification message from the second network device in the second available zone.

[0256] In the above S410, the second network device in the second availability zone can obtain the congestion notification message from the priority queue of the second network device that meets the first condition, and send the congestion notification message to the second end-side node. In this embodiment of the present application, the second network device sends the congestion notification message to the second end-side node through the priority queue of the second network device that meets the first condition, which can ensure that the second network device sends the congestion notification message as soon as possible, thereby improving timeliness.

[0257] Optionally, in the above S410, when the congestion notification message includes the identifier of the destination node but does not include the congestion prediction net duration corresponding to the destination node, the second network device in the second available zone periodically sends the congestion notification message to the second end-side node within the congestion prediction net duration. After the second end-side node receives the congestion notification message from the second network device, the second end-side node reduces the rate at which it sends data messages. If the second end-side node does not receive the congestion notification message from the second network device within a period of time, it means that the current moment is outside the congestion prediction net duration. Therefore, the second end-side node can increase the rate at which it sends data messages.

[0258] In S410 above, if the congestion notification message includes the identifier of the destination node and the corresponding predicted net congestion duration, upon receiving the congestion notification message from the second network device, the second end-side node may reduce the rate at which it sends data messages within the predicted net congestion duration to alleviate network congestion. The second end-side node may resume sending data messages beyond the predicted net congestion duration to fully utilize the network, ultimately balancing network congestion and network idleness.

[0259] exist Figure 4In the steps shown, when the transmission paths corresponding to the N first end-side nodes in the first available zone are congested, after the second end-side node in the second available zone sends the data message to the second network device in the second available zone, the second network device determines that the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, and then sends a congestion notification message to the second end-side node instead of the first end-side node sending the congestion notification message. This allows the second end-side node to obtain the congestion notification message earlier and reduce the rate of sending data messages according to the congestion notification message to alleviate network congestion. Since the congestion notification message includes the predicted net duration of congestion corresponding to the destination node, the second end-side node can control the sending rate of the data message according to the predicted net duration of congestion, so that the second end-side node can more accurately regulate the sending of data messages and balance the problems of network congestion and network idleness.

[0260] Furthermore, the congestion notification message is sent by the network equipment in each availability zone to the end-side nodes in each availability zone, rather than by the first end-side node. Therefore, it can alleviate to a certain extent the situation that the end-side nodes closer to the first end-side node receive the congestion notification message before the end-side nodes farther away from the first end-side node. Furthermore, it can avoid to a certain extent the situation that the end-side nodes closer to the first end-side node significantly reduce the sending of data messages, while the end-side nodes farther away from the first end-side node slightly reduce the sending of data messages, thereby achieving service fairness of each end-side node.

[0261] Furthermore, in the prior art, only the second-end-side node that sends data packets to the first-end-side node can receive the congestion notification message, while the second-end-side nodes in the second availability zone that do not send data packets to the first-end-side node cannot receive the congestion notification message. However, in the solution presented in this application, any second-end-side node in the second availability zone can receive the congestion notification message after sending a data packet to the second network device in the second availability zone, thereby facilitating control over the sending of data packets by the second-end-side nodes in the second availability zone and further reducing network congestion.

[0262] [Example 3]

[0263] The embodiment of the present application provides a network congestion notification method. Figure 2 The network device in the first available zone and the network device in the second available zone involved in the relevant embodiments interact and execute, wherein the first available zone can be Figure 2 Any availability zone in the second availability zone is Figure 2 Any availability zone other than the first availability zone in the . Figure 7 As shown, the process of the method includes:

[0264] Any access-layer network device among the M1 access-layer network devices in the first available zone may execute steps S701 to S703 .

[0265] S701, an access layer network device in a first available zone determines that there is congestion in transmission paths corresponding to S first end-side nodes connected to the access layer network device, first congestion prediction durations corresponding to the S first end-side nodes, and an identifier of at least one port.

[0266] In the above S701, the description of the ports in the access layer network device in the first available zone refers to the description in S301 and is not repeated here.

[0267] In the above-mentioned S701, the access layer network device in the first availability zone can determine the first congestion prediction duration corresponding to the S first end-side nodes and the S first end-side nodes connected to the access layer network device, and the identifier of at least one port by the following implementation method, specifically as follows: After the access layer network device in the first availability zone determines that at least one port in the access layer network device is congested, it determines the first congestion prediction duration corresponding to the S first end-side nodes and the S first end-side nodes connected to the at least one port. Among them, the S first end-side nodes connected to the at least one port are the S first end-side nodes connected to the access layer network device. As an example, if the number of ports with congestion on the access layer network device is one, then the one port is connected to S first end-side nodes. As another example, if the number of ports with congestion on the access layer network device is multiple, then each of the multiple ports is connected to S1 first end-side nodes, and the sum of the number of first end-side nodes connected to the multiple ports is S.

[0268] It should be understood that for the first port of at least one port in the access layer network device, the first port is any port of the at least one port, and the first port in the access layer network device is connected to S1 first end-side nodes, where S1 is a positive integer less than or equal to S.

[0269] In S701 above, in order to continuously detect the congestion status of ports in the access layer network device, a congestion detection function for detecting the congestion status of each port can be configured for the access layer network device. If the congestion detection function of the access layer network device detects that the congestion status of a port is greater than or equal to the port congestion start threshold, the access layer network device determines that the port is congested. The access layer network device can determine the identifier of the first end-side node connected to the port and the first congestion prediction duration of the port in the access layer network device based on relevant configurations. The first congestion prediction duration of the port is the first congestion prediction duration corresponding to the first end-side node connected to the port.

[0270] It should be understood that for an access layer network device in the first available zone, the access layer network device can only determine the first end side node connected to the port in the access layer network device, and cannot determine the first end side node connected to the port in other access layer network devices.

[0271] In the above S701, the access layer network device in the first available zone determines the first congestion prediction duration of the port in the access layer network device by referring to Figure 5A The steps shown are not described in detail here.

[0272] For example, the access layer network device in the first available zone is access layer network device 1, which includes two docking ports (i.e., port 6 and port 7). The first end-side nodes connected to port 6 in access layer network device 1 include first end-side node 1, first end-side node 2, and first end-side node 3. The first end-side nodes connected to port 7 in access layer network device 1 include first end-side node 4 and first end-side node 5. The first congestion prediction duration of port 6 in access layer network device 1 is 240 us, and the first congestion prediction duration of port 7 in access layer network device 1 is 300 us. Please refer to Table 5 for details.

[0273] Table 5.

[0274]

[0275] In the above S701, the access layer network device in the first availability zone can directly execute the steps in S702 after determining the S first end-side nodes connected to the access layer network device, the first congestion prediction durations corresponding to the S first end-side nodes, and the identifier of at least one port; or it can filter the first congestion prediction durations corresponding to the S first end-side nodes, determine the first congestion prediction duration greater than the first duration threshold and the identifier of the corresponding first end-side node and the identifier of the corresponding port, and then execute the steps in S702.

[0276] S702: The access layer network device in the first available zone generates a local notification message according to the identifiers of the S first end-side nodes, the first congestion prediction durations respectively corresponding to the S first end-side nodes, and the identifier of at least one port.

[0277] In an embodiment of the present application, the local notification message includes the identifiers of S first-end-side nodes, the first congestion prediction durations corresponding to the S first-end-side nodes respectively, and the identifier of at least one port. The local notification message can also be used to indicate that there is congestion in the transmission paths corresponding to the S first-end-side nodes connected to the access layer network device, and the congestion of the transmission paths corresponding to the S first-end-side nodes will respectively last for the first congestion prediction durations corresponding to the S first-end-side nodes.

[0278] After the access layer network device in the first availability zone executes S702, the access layer network device in the first availability zone may add the local notification message to a priority queue in the access layer network device that meets the first condition.

[0279] S703, the access layer network device in the first availability zone sends a local notification message to the first network device in the first availability zone; accordingly, the first network device in the first availability zone receives the local notification message from the access layer network device in the first availability zone.

[0280] In the above S703, the access layer network device in the first availability zone can obtain the local notification message from the priority queue in the access layer network device that meets the first condition, and send the local notification message to the first network device in the first availability zone. In this embodiment of the present application, the access layer network device sends the local notification message to the first network device in the first availability zone through the priority queue in the access layer network device that meets the first condition, which can ensure that the access layer network device sends the local notification message as soon as possible, thereby improving timeliness.

[0281] In the above S703 , the first network device may be a cluster aggregation layer network device, a core layer network device, or an aggregation layer network device, which is not limited here.

[0282] In the case that the first network device is a cluster convergence layer network device, the access layer network device may send a local notification message to the cluster convergence layer network device through the convergence layer network device and the core layer network device.

[0283] In the case that the first network device is a core layer network device, the access layer network device may send a local notification message to the core layer network device through the aggregation layer network device.

[0284] In the case that the first network device is a convergence layer network device, the access layer network device may directly send a local notification message to the convergence layer network device.

[0285] It should be understood that any access layer network device among the M1 access layer network devices in the first availability zone can send a local notification message to the first network device in the first availability zone; accordingly, the first network device in the first availability zone can receive local notification messages from the M1 access layer network devices in the first availability zone.

[0286] S704, the first network device in the first availability zone determines the identifiers of N first end-side nodes in the first availability zone and the second congestion prediction durations corresponding to the N first end-side nodes based on the identifiers of the S first end-side nodes, the first congestion prediction durations corresponding to the S first end-side nodes, and the identifier of at least one port carried in the local notification messages sent by the M1 access layer network devices respectively; wherein, there is congestion in the transmission paths corresponding to the N first end-side nodes, and the congestion of the transmission paths corresponding to the N first end-side nodes will last for the second congestion prediction durations corresponding to the N first end-side nodes respectively; and N is an integer greater than 0.

[0287] In an embodiment of the present application, an end-side node may be connected to at least one access-layer network device. When an end-side node is connected to multiple access-layer network devices, multiple local announcement messages received by a first network device in a first availability zone include the identifier of the same end-side node, and the identifiers of the ports connected to the end-side node are different.

[0288] It should be noted that the number of first-end-side node identifiers carried in the local announcement message sent by each access layer network device may be the same or different. In other words, the number S of first-end-side nodes carried in the local announcement message sent by different access layer network devices may be the same or different.

[0289] In the above S704, the first network device in the first availability zone can determine the identifiers of the N first end-side nodes in the first availability zone and the second congestion prediction durations corresponding to the N first end-side nodes respectively through implementation mode G1 or G2.

[0290] Implementation method G1 can be summarized as follows: at least two local announcement messages among the M1 local announcement messages include the identifier of the third end side node, and the identifiers of the ports corresponding to the third end side node in the at least two local announcement messages are different, and at least one of the first congestion prediction durations corresponding to the third end side node in the at least two local announcement messages is greater than the first time threshold, and the third end side node is a first end side node among the N first end side nodes.

[0291] The specific steps of implementation method G1 are as follows: for a local notification message sent by the j-th access layer network device among the M1 access layer network devices (i.e., the j-th local notification message), where the j-th local notification message includes the identifiers of the S first end-side nodes connected to the j-th access layer network device, the first congestion prediction durations corresponding to the S first end-side nodes, and the identifier of at least one port, and j is an integer ranging from [1 to M1], the first network device in the first available zone performs the following steps:

[0292] For ease of understanding, a first end-side node in the jth local announcement message is denoted as the end-side node to be determined, and a first end-side node in the kth local announcement message is denoted as the reference end-side node. The kth local announcement message is any local announcement message among the M1 local announcement messages that is different from the jth local announcement message, i.e., k is an integer between [1, M1], and k is not equal to j. If the end-side node to be determined and the reference end-side node are the same, they can be considered the third end-side node described above.

[0293] If the identifier of the end-side node to be judged in the j-th local announcement message is the same as the identifier of the reference end-side node in the k-th local announcement message, and the identifier of the port in the j-th access layer network device corresponding to the end-side node to be judged is different from the identifier of the port in the k-th access layer network device corresponding to the reference end-side node, it means that the port in the j-th access layer network device corresponding to the end-side node to be judged and the port in the k-th access layer network device corresponding to the reference end-side node are both congested. Therefore, the first network device can determine the identifier of a first end-side node among the N first end-side nodes and the second congestion prediction duration corresponding to a first end-side node based on the j-th local announcement message and the k-th local announcement message.

[0294] In one possible implementation, the first network device determines the identifier of a first end-side node among N first end-side nodes and the second congestion prediction duration corresponding to the first end-side node based on the j-th local notification message and the k-th local notification message, including the following implementation methods H1, H2 and H3.

[0295] Implementation method H1: if the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local notification message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local notification message is greater than the first time threshold, and the first congestion prediction duration corresponding to the end-side node to be judged is greater than the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, and the first congestion prediction duration corresponding to the end-side node to be judged is used as the second congestion prediction duration corresponding to a first end-side node.

[0296] Implementation method H2: if the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local notification message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local notification message is greater than the first time threshold, the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, and the average of the first congestion prediction duration corresponding to the end-side node to be judged and the first congestion prediction duration corresponding to the reference end-side node is used as the second congestion prediction duration corresponding to a first end-side node.

[0297] Implementation method H3: if the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local notification message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local notification message is greater than the first time threshold, and the first congestion prediction duration corresponding to the end-side node to be judged is less than or equal to the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, and the first congestion prediction duration corresponding to the end-side node to be judged is used as the second congestion prediction duration corresponding to a first end-side node.

[0298] If the identifier of the end-side node to be determined in the jth local notification message is different from the identifier of the reference end-side node in the kth local notification message, it means that only the port in the jth access layer network device corresponding to the end-side node to be determined is congested, and the ports in other access layer network devices connected to the end-side node to be determined are not congested. Therefore, the first network device can use the identifier of the end-side node to be determined as the identifier of a first end-side node among the N first end-side nodes, and use the first congestion prediction duration corresponding to the end-side node to be determined as the second congestion prediction duration corresponding to the first end-side node. Alternatively, if the identifier of the end-side node to be determined in the jth local notification message is different from the identifier of the reference end-side node in the kth local notification message, it means that only the port in the jth access layer network device corresponding to the end-side node to be determined is congested, and the ports in other access layer network devices connected to the end-side node to be determined are not congested. The first network device may not perform any processing on the identifier of the end-side node to be determined.

[0299] In implementation mode G1, the first network device makes a judgment based on the j-th local announcement message and the k-th local announcement message, and determines the identifier of a first end-side node among N first end-side nodes and the second congestion prediction duration corresponding to a first end-side node based on the j-th local announcement message and the k-th local announcement message, which is conducive to the diversity of solutions.

[0300] In implementation G2, for a local notification message sent by the j-th access-layer network device among the M1 access-layer network devices (i.e., the j-th local notification message), wherein the j-th local notification message includes the identifiers of the S first-end-side nodes connected to the j-th access-layer network device, the first congestion prediction durations corresponding to the S first-end-side nodes, and the identifier of at least one port, and j is an integer ranging from [1 to M1], the first network device in the first available zone performs the following steps:

[0301] For ease of understanding, a first end-side node in the j-th local notification message is recorded as an end-side node to be determined.

[0302] The first network device uses the identifier of the end-side node to be judged in the jth local announcement message as the identifier of a first end-side node among N first end-side nodes, and uses the first congestion prediction duration corresponding to the end-side node to be judged as the second congestion prediction duration corresponding to a first end-side node.

[0303] In implementation mode G2, the first network device does not need to judge the j-th local announcement message, but directly uses the identifier of the end-side node to be judged in the j-th local announcement message as the identifier of a first end-side node among the N first end-side nodes, and uses the first congestion prediction duration corresponding to the end-side node to be judged as the second congestion prediction duration corresponding to a first end-side node, which can improve the efficiency of determining the identifiers of the N first end-side nodes in the first available zone.

[0304] S705: The first network device in the first available zone generates a long-distance notification message according to the identifiers of the N first end-side nodes and the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0305] In the above S705, the long-distance notification message includes the identifiers of the N first-end-side nodes in the first availability zone and the second congestion prediction durations corresponding to the N first-end-side nodes respectively. The long-distance notification message can be used to indicate that there is congestion in the transmission paths corresponding to the N first-end-side nodes in the first availability zone, and the congestion of the transmission paths corresponding to the N first-end-side nodes will last for the second congestion prediction durations corresponding to the N first-end-side nodes respectively.

[0306] For example, the content of the long-distance notification message can be referred to Table 6. The long-distance notification message includes the identifiers of five first-end-side nodes, namely, first-end-side node 1, first-end-side node 2, first-end-side node 3, first-end-side node 4, and first-end-side node 5. The second congestion prediction durations corresponding to first-end-side node 1, first-end-side node 2, and first-end-side node 3 are all 240 μs, and the second congestion prediction durations corresponding to first-end-side node 4 and first-end-side node 5 are both 300 μs.

[0307] Table 6.

[0308]

[0309] After the first network device in the first availability zone executes S705 , the first network device in the first availability zone may add the long-distance advertisement message to a priority queue in the first network device that meets the first condition.

[0310] S706, the first network device in the first availability zone sends a long-distance announcement message to the second network device in the second availability zone; accordingly, the second network device in the second availability zone receives the long-distance announcement message from the first network device in the first availability zone.

[0311] In the above-mentioned S706, the first network device in the first availability zone can obtain the long-distance announcement message from the priority queue of the first network device that meets the first condition, and send the long-distance announcement message to the second network device in the second availability zone. In this embodiment of the present application, the first network device sends the long-distance announcement message to the second network device in the second availability zone through the priority queue of the first network device that meets the first condition, which can ensure that the first network device sends the long-distance announcement message as soon as possible, thereby improving timeliness.

[0312] In the above S706, when the first network device is a cluster convergence layer network device, the second network device may be a cluster convergence layer network device. After receiving the long-distance notification message, the cluster convergence layer network device in the second availability zone may notify the second end-side node in the second availability zone based on the long-distance notification message that the transmission paths corresponding to the N first end-side nodes are congested, and the congestion of the transmission paths corresponding to the N first end-side nodes will respectively last for the second congestion prediction duration corresponding to the N first end-side nodes.

[0313] In the case where the first network device is a cluster convergence layer network device, the second network device may also be a core layer network device or convergence layer network device in the second availability zone. When the core layer network device or convergence layer network device in the second availability zone obtains the long-distance notification message, it may directly send a congestion notification message to the end-side node in the second availability zone according to the long-distance notification message, instead of the cluster convergence layer network device in the second availability zone sending a congestion notification message to the end-side node in the second availability zone according to the long-distance notification message. This can reduce the transmission distance to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since it is the core layer network device or convergence layer network device in the second availability zone that receives and processes the long-distance notification message, the load on the cluster convergence layer network device in the second availability zone can be reduced.

[0314] In the case where the first network device is a core layer network device, the second network device can be a core layer network device. Since the long-distance notification message is transmitted between the core layer network device in the first availability zone and the core layer network device in the second availability zone, and the core layer network device in the second availability zone sends a congestion notification message to the end-side node in the second availability zone based on the long-distance notification message, the transmission distance can be reduced to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since the number of core layer network devices in the first availability zone is greater than the number of cluster aggregation layer network devices in the first availability zone, each core layer network device in the first availability zone has fewer long-distance notification messages to forward than the cluster aggregation layer network devices in the first availability zone. Therefore, the load on each core layer network device is less.

[0315] In the case where the first network device is an aggregation layer network device, the second network device can be an aggregation layer network device. Since the long-distance notification message is transmitted between the aggregation layer network device in the first availability zone and the aggregation layer network device in the second availability zone, and the aggregation layer network device in the second availability zone sends a congestion notification message to the end-side node in the second availability zone based on the long-distance notification message, the transmission distance can be reduced to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since the number of aggregation layer network devices in the first availability zone is greater than the number of cluster aggregation layer network devices in the first availability zone, compared with the cluster aggregation layer network devices in the first availability zone, each aggregation layer network device in the first availability zone has fewer long-distance notification messages to forward, and therefore, the load on each aggregation layer network device is less.

[0316] S707: The second network device in the second availability zone receives the data packet sent by the second end-side node in the second availability zone.

[0317] In S707 above, the data packet sent by the second end-side node may include an identifier of the source node and an identifier of the destination node. The identifier of the source node is the identifier of the second end-side node, for example, the identifier of the source node is the IP address of the second end-side node. The identifier of the destination node is the identifier of the first end-side node in the first availability zone, for example, the identifier of the destination node is the IP address of the first end-side node in the first availability zone.

[0318] The data message sent by the second end-side node may further include information about data to be sent.

[0319] In one possible implementation, after receiving the data packet sent by the second end-side node, the second network device in the second availability zone may sample the received data packet, obtain a portion of the data packet, and use the portion of the data packet to perform the steps in S408. If the second network device does not subsequently process all data packets sent by the second end-side node, but only processes a portion of the data packets sent by the second end-side node, the load on the second network device can be reduced.

[0320] S708. When the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, the second network device in the second available zone determines the predicted net congestion duration corresponding to the destination node based on the second predicted congestion duration corresponding to the destination node.

[0321] For example, the content of the long-distance notification message refers to Table 6. If the data packet includes the identifier of the destination node (i.e., the first end-side node 1), since the long-distance notification message shown in Table 6 includes the identifier of the destination node (i.e., the first end-side node 1), the second network device determines that the second congestion prediction duration corresponding to the destination node is 240us. After that, the net congestion prediction duration corresponding to the destination node can be determined based on the second congestion prediction duration 240us corresponding to the destination node.

[0322] In the above S708, the second network device can refer to the predicted net congestion duration corresponding to the destination node. Figure 6 The steps shown are not described in detail here.

[0323] In the above S708, if the predicted net congestion duration corresponding to the destination node is greater than 0, the step in S709 is executed; if the predicted net congestion duration corresponding to the destination node is less than or equal to 0, the subsequent steps are no longer executed.

[0324] S709: The second network device in the second available zone generates a congestion notification message according to the identifier of the destination node and the predicted net congestion duration corresponding to the destination node.

[0325] In the above S709, the congestion notification message includes the identifier of the second end-side node, so that the second network device in the second available zone can send the congestion notification message to the second end-side node. The congestion notification message also includes the identifier of the destination node and the net congestion prediction duration corresponding to the destination node. The congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node, and the congestion of the transmission path corresponding to the destination node will continue for the net congestion prediction duration corresponding to the destination node. Among them, the net congestion prediction duration corresponding to the destination node is used to indicate the validity range of the congestion notification message, that is, the congestion notification message is valid within the net congestion prediction duration, and the congestion notification message is invalid outside the net congestion prediction duration.

[0326] Optionally, in S709 above, the second network device in the second availability zone may generate a congestion notification message based on the identifier of the destination node. The congestion notification message includes the identifier of the destination node, and the congestion notification message is used to indicate that congestion exists on the transmission path corresponding to the destination node. The congestion notification message generated by this method does not include the predicted net congestion duration corresponding to the destination node.

[0327] After the second network device in the second availability zone executes S709 , the second network device in the second availability zone may add the congestion notification message to a priority queue in the second network device that meets the first condition.

[0328] S710. A second network device in a second availability zone sends a congestion notification message to a second end-side node. Correspondingly, the second end-side node receives the congestion notification message from the second network device in the second availability zone.

[0329] In the above S710, the second network device in the second availability zone can obtain the congestion notification message from the priority queue of the second network device that meets the first condition, and send the congestion notification message to the second end-side node. In this embodiment of the present application, the second network device sends the congestion notification message to the second end-side node through the priority queue of the second network device that meets the first condition, which can ensure that the second network device sends the congestion notification message as soon as possible, thereby improving timeliness.

[0330] Optionally, in the above S710, when the congestion notification message includes the identifier of the destination node but does not include the net congestion prediction duration corresponding to the destination node, the second network device in the second available zone periodically sends the congestion notification message to the second end-side node within the net congestion prediction duration. After the second end-side node receives the congestion notification message from the second network device, the second end-side node reduces the rate at which it sends data messages. If the second end-side node does not receive the congestion notification message from the second network device within a period of time, it means that the current moment is outside the net congestion prediction duration. Therefore, the second end-side node can increase the rate at which it sends data messages.

[0331] In S710 above, if the congestion notification message includes the identifier of the destination node and the corresponding predicted net congestion duration, upon receiving the congestion notification message from the second network device, the second end-side node may reduce the rate at which it sends data messages within the predicted net congestion duration to alleviate network congestion. The second end-side node may resume sending data messages beyond the predicted net congestion duration to fully utilize the network, ultimately balancing network congestion and network idleness.

[0332] exist Figure 7In the steps shown, when the transmission paths corresponding to the N first end-side nodes in the first available zone are congested, after the second end-side node in the second available zone sends the data message to the second network device in the second available zone, the second network device determines that the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, and then sends a congestion notification message to the second end-side node instead of the first end-side node sending the congestion notification message. This allows the second end-side node to obtain the congestion notification message earlier and reduce the rate of sending data messages according to the congestion notification message to alleviate network congestion. Since the congestion notification message includes the predicted net duration of congestion corresponding to the destination node, the second end-side node can control the sending rate of the data message according to the predicted net duration of congestion, so that the second end-side node can more accurately regulate the sending of data messages and balance the problems of network congestion and network idleness.

[0333] Furthermore, the congestion notification message is sent by the network equipment in each availability zone to the end-side nodes in each availability zone, rather than by the first end-side node. Therefore, it can alleviate to a certain extent the situation that the end-side nodes closer to the first end-side node receive the congestion notification message before the end-side nodes farther away from the first end-side node. Furthermore, it can avoid to a certain extent the situation that the end-side nodes closer to the first end-side node significantly reduce the sending of data messages, while the end-side nodes farther away from the first end-side node slightly reduce the sending of data messages, thereby achieving service fairness of each end-side node.

[0334] Furthermore, in the prior art, only the second-end-side node that sends data packets to the first-end-side node can receive the congestion notification message, while the second-end-side nodes in the second availability zone that do not send data packets to the first-end-side node cannot receive the congestion notification message. However, in the solution presented in this application, any second-end-side node in the second availability zone can receive the congestion notification message after sending a data packet to the second network device in the second availability zone, thereby facilitating simultaneous control of the sending of data packets by the second-end-side nodes in the second availability zone, further reducing network congestion.

[0335] [Example 4]

[0336] The embodiment of the present application provides a network congestion notification method. Figure 2 The network device in the first available zone and the network device in the second available zone involved in the relevant embodiments interact and execute, wherein the first available zone can be Figure 2 Any availability zone in the second availability zone is Figure 2 Any availability zone other than the first availability zone in the . Figure 8 As shown, the process of the method includes:

[0337] Any access-layer network device among the M1 access-layer network devices in the first available zone may execute steps S801 to S803 .

[0338] S801, the access layer network device in the first available zone determines that there is congestion in the transmission path corresponding to S first end-side nodes connected to the access layer network device, the first congestion prediction duration corresponding to the S first end-side nodes, the identifier of at least one port, and the identifier of at least one priority queue in each of the at least one port.

[0339] In the above S801 , the description of the port or priority queue in the access layer network device in the first available zone refers to the description in S301 and is not repeated here.

[0340] In the above S801, the access layer network device in the first availability zone can determine the first congestion prediction durations corresponding to the S first end-side nodes and the S first end-side nodes connected to the access layer network device, the identifier of at least one port, and the identifier of at least one priority queue in each of the at least one port through the following implementation method, specifically as follows: After the access layer network device in the first availability zone determines that at least one priority queue in each of at least one port in the access layer network device is congested, it determines S2 first end-side nodes corresponding to the at least one priority queue in each of the at least one port, and the first congestion prediction durations corresponding to the S2 first end-side nodes. Among them, the S2 first end-side nodes corresponding to the at least one priority queue in each of the at least one port are the S first end-side nodes connected to the access layer network device, and S2 is a positive integer less than or equal to S.

[0341] It should be understood that for the first priority queue in the first port of at least one port in the access layer network device, the priority of the first priority queue in the first port corresponds to the priority of the data packets to be sent by S2 first-end side nodes, the first port is any port of the at least one port, and the first priority queue is any priority queue of the at least one priority queue in the first port.

[0342] In the above S801, in order to continuously detect the congestion status of the priority queue in the access layer network device, a congestion detection function can be configured for the access layer network device to detect the congestion status of each priority queue. If the access layer network device detects that the congestion status of the priority queue is greater than or equal to the priority queue congestion starting threshold based on the congestion detection function, the access layer network device determines that the priority queue is congested, and the access layer network device can determine the identifier of the first end-side node corresponding to the priority queue and the first congestion prediction duration of the priority queue in the access layer network device based on the relevant configuration. The first congestion prediction duration of the priority queue is the first congestion prediction duration corresponding to the first end-side node corresponding to the priority queue.

[0343] It should be understood that for an access layer network device within the first availability zone, the access layer network device can only determine the first end side node corresponding to the priority queue in the access layer network device, and cannot determine the first end side node corresponding to the priority queue in other access layer network devices.

[0344] In the above S801, the access layer network device in the first available zone determines the first congestion prediction duration of the priority queue in the access layer network device by referring to Figure 5B The steps shown are not described in detail here.

[0345] For example, the access layer network device in the first available zone is access layer network device 1, which includes two docking ports (i.e., port 6 and port 7). Port 6 includes priority queue 3, and port 7 includes priority queue 3. The first end-side nodes corresponding to priority queue 3 in port 6 of access layer network device 1 include first end-side node 1, first end-side node 2, and first end-side node 3. The first end-side nodes corresponding to priority queue 3 in port 7 of access layer network device 1 include first end-side node 4 and first end-side node 5. The first congestion prediction duration of priority queue 3 in port 6 of access layer network device 1 is 80us, and the first congestion prediction duration of priority queue 3 in port 7 of access layer network device 1 is 300us. For details, please refer to Table 7.

[0346] Table 7.

[0347]

[0348] In the above S801, the access layer network device in the first available zone can directly execute the steps in S802 after determining the S first end-side nodes connected to the access layer network device, the first congestion prediction durations corresponding to the S first end-side nodes, the identifier of at least one port, and the identifier of at least one priority queue in each of the at least one port; or it can filter the first congestion prediction durations corresponding to the S first end-side nodes, determine the first congestion prediction duration greater than the first duration threshold and the identifier of the corresponding first end-side node, the identifier of the corresponding port, and the identifier of the corresponding priority queue, and then execute the steps in S802.

[0349] S802, the access layer network device in the first available zone generates a local notification message based on the identifiers of the S first end-side nodes, the first congestion prediction durations corresponding to the S first end-side nodes, the identifier of at least one port, and the identifier of at least one priority queue in each of the at least one port.

[0350] In an embodiment of the present application, the local notification message includes the identifiers of S first-end-side nodes, the first congestion prediction durations corresponding to the S first-end-side nodes, the identifier of at least one port, and the identifier of at least one priority queue in each of the at least one port. The local notification message can also be used to indicate that there is congestion in the transmission paths corresponding to the S first-end-side nodes connected to the access layer network device, and the congestion of the transmission paths corresponding to the S first-end-side nodes will last for the first congestion prediction durations corresponding to the S first-end-side nodes.

[0351] After the access layer network device in the first availability zone executes S802, the access layer network device in the first availability zone can add the local notification message to the priority queue in the access layer network device that meets the first condition.

[0352] S803, the access layer network device in the first availability zone sends a local notification message to the first network device in the first availability zone; accordingly, the first network device in the first availability zone receives the local notification message from the access layer network device in the first availability zone.

[0353] In the above S803, the access layer network device in the first availability zone can obtain the local notification message from the priority queue in the access layer network device that meets the first condition, and send the local notification message to the first network device in the first availability zone. In this embodiment of the present application, the access layer network device sends the local notification message to the first network device in the first availability zone through the priority queue in the access layer network device that meets the first condition, which can ensure that the access layer network device sends the local notification message as soon as possible, thereby improving timeliness.

[0354] In the above S803, the first network device may be a cluster aggregation layer network device, a core layer network device, or an aggregation layer network device, which is not limited here.

[0355] In the case that the first network device is a cluster convergence layer network device, the access layer network device may send a local notification message to the cluster convergence layer network device through the convergence layer network device and the core layer network device.

[0356] In the case that the first network device is a core layer network device, the access layer network device may send a local notification message to the core layer network device through the aggregation layer network device.

[0357] In the case that the first network device is a convergence layer network device, the access layer network device may directly send a local notification message to the convergence layer network device.

[0358] It should be understood that any access layer network device among the M1 access layer network devices in the first availability zone can send a local notification message to the first network device in the first availability zone; accordingly, the first network device in the first availability zone can receive local notification messages from the M1 access layer network devices in the first availability zone.

[0359] S804, the first network device in the first availability zone determines the identifiers of N first end-side nodes in the first availability zone, the second congestion prediction durations respectively corresponding to the N first end-side nodes, and the identifiers of the priority queues respectively corresponding to the N first end-side nodes based on the identifiers of the S first end-side nodes, the first congestion prediction durations respectively corresponding to the S first end-side nodes, the identifier of at least one port, and the identifier of at least one priority queue in each of the at least one port carried in the local notification messages respectively sent by M1 access layer network devices; wherein, there is congestion in the transmission paths corresponding to the N first end-side nodes, and the congestion of the transmission paths corresponding to the N first end-side nodes will respectively last for the second congestion prediction durations corresponding to the N first end-side nodes; and N is an integer greater than 0.

[0360] In an embodiment of the present application, an end-side node may be connected to at least one access-layer network device. When an end-side node is connected to multiple access-layer network devices, multiple local notification messages received by a first network device in a first availability zone include an identifier of the same end-side node, and the identifiers of ports connected to the end-side node are different. The identifiers of the priority queues corresponding to the end-side node may be the same or different.

[0361] It should be noted that the number of first-end-side node identifiers carried in the local announcement message sent by each access layer network device may be the same or different. In other words, the number S of first-end-side nodes carried in the local announcement message sent by different access layer network devices may be the same or different.

[0362] In the above S804, the first network device in the first availability zone can determine the identifiers of the N first end-side nodes in the first availability zone, the second congestion prediction durations corresponding to the N first end-side nodes, and the identifiers of the priority queues corresponding to the N first end-side nodes through implementation method J1 or J2.

[0363] Implementation method J1 can be summarized as follows: at least two local announcement messages among the M1 local announcement messages include the identifier of the third end side node, and the identifier of the port corresponding to the third end side node in the at least two local announcement messages and the identifier of the priority queue are different, and at least one of the first congestion prediction durations corresponding to the third end side node in the at least two local announcement messages is greater than the first time threshold, and the third end side node is a first end side node among the N first end side nodes.

[0364] The specific steps of implementation method J1 are as follows: for a local notification message sent by the j-th access layer network device among the M1 access layer network devices (i.e., the j-th local notification message), where the j-th local notification message includes the identifiers of the S first end-side nodes connected to the j-th access layer network device, the first congestion prediction durations respectively corresponding to the S first end-side nodes, the identifier of at least one port, and the identifier of at least one priority queue in each of the at least one port, and j is an integer between [1, M1], the first network device in the first available zone performs the following steps:

[0365] For ease of understanding, a first end-side node in the jth local announcement message is denoted as the end-side node to be determined, and a first end-side node in the kth local announcement message is denoted as the reference end-side node. The kth local announcement message is any local announcement message among the M1 local announcement messages that is different from the jth local announcement message, i.e., k is an integer between [1, M1], and k is not equal to j. If the end-side node to be determined and the reference end-side node are the same, they can be considered the third end-side node described above.

[0366] If the identifier of the end-side node to be judged in the j-th local announcement message is the same as the identifier of the reference end-side node in the k-th local announcement message, and the identifier of the port in the j-th access layer network device corresponding to the end-side node to be judged and the identifier of the priority queue are different from the identifier of the port in the k-th access layer network device corresponding to the reference end-side node and the identifier of the priority queue, it means that the priority queue in the port in the j-th access layer network device corresponding to the end-side node to be judged and the priority queue in the port in the k-th access layer network device corresponding to the reference end-side node are both congested. Therefore, the first network device can determine the identifier of a first end-side node among the N first end-side nodes, the second congestion prediction duration corresponding to a first end-side node, and the identifier of the priority queue corresponding to a first end-side node based on the j-th local announcement message and the k-th local announcement message.

[0367] In one possible implementation, the first network device determines the identifier of a first end-side node among N first end-side nodes, the second congestion prediction duration corresponding to a first end-side node, and the identifier of a priority queue corresponding to a first end-side node based on the j-th local notification message and the k-th local notification message, including the following implementation methods K1, K2 and K3.

[0368] Implementation method K1: if the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local announcement message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local announcement message is greater than the first time threshold, and the first congestion prediction duration corresponding to the end-side node to be judged is greater than the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, the first congestion prediction duration corresponding to the end-side node to be judged is used as the second congestion prediction duration corresponding to a first end-side node, and the identifier of the priority queue in the j-th access layer network device corresponding to the end-side node to be judged is used as the identifier of the priority queue corresponding to a first end-side node.

[0369] Implementation method K2: if the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local announcement message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local announcement message is greater than the first time threshold, the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, the average of the first congestion prediction duration corresponding to the end-side node to be judged and the first congestion prediction duration corresponding to the reference end-side node is used as the second congestion prediction duration corresponding to a first end-side node, and the identifier of the priority queue in the j-th access layer network device corresponding to the end-side node to be judged is used as the identifier of the priority queue corresponding to a first end-side node.

[0370] Implementation method K3: if the first congestion prediction duration corresponding to the end-side node to be judged in the j-th local notification message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local notification message is greater than the first time threshold, and the first congestion prediction duration corresponding to the end-side node to be judged is less than or equal to the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the end-side node to be judged is used as the identifier of a first end-side node among the N first end-side nodes, the first congestion prediction duration corresponding to the end-side node to be judged is used as the second congestion prediction duration corresponding to a first end-side node, and the identifier of the priority queue in the j-th access layer network device corresponding to the end-side node to be judged is used as the identifier of the priority queue corresponding to a first end-side node.

[0371] If the identifier of the end-side node to be judged in the j-th local announcement message is different from the identifier of the reference end-side node in the k-th local announcement message, it means that only the priority queue in the port of the j-th access layer network device corresponding to the end-side node to be judged is congested, and the priority queues in the ports of other access layer network devices connected to the end-side node to be judged are not congested. Therefore, the first network device can use the identifier of the end-side node to be judged as the identifier of a first end-side node among the N first end-side nodes, use the first congestion prediction duration corresponding to the end-side node to be judged as the second congestion prediction duration corresponding to a first end-side node, and use the identifier of the priority queue in the j-th access layer network device corresponding to the end-side node to be judged as the identifier of the priority queue corresponding to a first end-side node. Alternatively, if the identifier of the end-side node to be judged in the j-th local announcement message is different from the identifier of the reference end-side node in the k-th local announcement message, it means that only the priority queue in the port in the j-th access layer network device corresponding to the end-side node to be judged is congested, and the priority queues in the ports in other access layer network devices connected to the end-side node to be judged are not congested. The first network device may not perform any processing on the identifier of the end-side node to be judged.

[0372] In implementation mode J1, the first network device makes a judgment based on the j-th local announcement message and the k-th local announcement message, and determines the identifier of a first end-side node among N first end-side nodes, the second congestion prediction duration corresponding to a first end-side node, and the identifier of a priority queue corresponding to a first end-side node based on the j-th local announcement message and the k-th local announcement message, which is conducive to the diversity of solutions.

[0373] Implementation method J2, for the local announcement message sent by the j-th access layer network device among the M1 access layer network devices (i.e., the j-th local announcement message), where the j-th local announcement message includes the identifiers of the S first end-side nodes connected to the j-th access layer network device, the first congestion prediction durations corresponding to the S first end-side nodes, the identifier of at least one port, and the identifier of at least one priority queue in each of the at least one port, and j is an integer between [1, M1]. The first network device in the first available zone performs the following steps:

[0374] For ease of understanding, a first end-side node in the j-th local notification message is recorded as an end-side node to be determined.

[0375] The first network device uses the identifier of the end-side node to be judged in the j-th local announcement message as the identifier of a first end-side node among N first end-side nodes, uses the first congestion prediction duration corresponding to the end-side node to be judged as the second congestion prediction duration corresponding to a first end-side node, and uses the identifier of the priority queue in the j-th access layer network device corresponding to the end-side node to be judged as the identifier of the priority queue corresponding to a first end-side node.

[0376] In implementation method J2, the first network device does not need to judge the j-th local announcement message, but directly uses the identifier of the end-side node to be judged in the j-th local announcement message as the identifier of a first end-side node among the N first end-side nodes, uses the first congestion prediction duration corresponding to the end-side node to be judged as the second congestion prediction duration corresponding to a first end-side node, and uses the identifier of the priority queue in the j-th access layer network device corresponding to the end-side node to be judged as the identifier of the priority queue corresponding to a first end-side node, which can improve the efficiency of determining the identifiers of the N first end-side nodes in the first available zone.

[0377] S805. The first network device in the first available zone generates a long-distance notification message according to the identifiers of the N first end-side nodes, the second congestion prediction durations respectively corresponding to the N first end-side nodes, and the identifiers of the priority queues respectively corresponding to the N first end-side nodes.

[0378] In the above S805, the long-distance notification message includes the identifiers of the N first-end-side nodes in the first availability zone, the second congestion prediction durations corresponding to the N first-end-side nodes, and the identifiers of the priority queues corresponding to the N first-end-side nodes. The long-distance notification message can be used to indicate that there is congestion in the transmission paths corresponding to the N first-end-side nodes in the first availability zone, and the congestion of the transmission paths corresponding to the N first-end-side nodes will last for the second congestion prediction durations corresponding to the N first-end-side nodes.

[0379] For example, the content of the long-distance notification message can refer to Table 8. The long-distance notification message includes the identifiers of five first-end-side nodes, namely, first-end-side node 1, first-end-side node 2, first-end-side node 3, first-end-side node 4, and first-end-side node 5. Among them, the second congestion prediction duration corresponding to first-end-side node 1, first-end-side node 2, and first-end-side node 3 is 240 us, the identifier of the priority queue corresponding to first-end-side node 1, first-end-side node 2, and first-end-side node 3 is priority queue 3, the second congestion prediction duration corresponding to first-end-side node 4 and first-end-side node 5 is 300 us, and the identifier of the priority queue corresponding to first-end-side node 4 and first-end-side node 5 is priority queue 3.

[0380] Table 8.

[0381]

[0382] After the first network device in the first availability zone executes S805, the first network device in the first availability zone may add the long-distance advertisement message to a priority queue in the first network device that meets the first condition.

[0383] S806, the first network device in the first availability zone sends a long-distance announcement message to the second network device in the second availability zone; accordingly, the second network device in the second availability zone receives the long-distance announcement message from the first network device in the first availability zone.

[0384] In the above-mentioned S806, the first network device in the first availability zone can obtain the long-distance announcement message from the priority queue of the first network device that meets the first condition, and send the long-distance announcement message to the second network device in the second availability zone. In this embodiment of the present application, the first network device sends the long-distance announcement message to the second network device in the second availability zone through the priority queue of the first network device that meets the first condition, which can ensure that the first network device sends the long-distance announcement message as soon as possible, thereby improving timeliness.

[0385] In the above S806, when the first network device is a cluster convergence layer network device, the second network device may be a cluster convergence layer network device. After receiving the long-distance notification message, the cluster convergence layer network device in the second availability zone may notify the second end-side node in the second availability zone according to the long-distance notification message that the transmission paths corresponding to the N first end-side nodes are congested, and the congestion of the transmission paths corresponding to the N first end-side nodes will respectively last for the second congestion prediction duration corresponding to the N first end-side nodes.

[0386] In the case where the first network device is a cluster convergence layer network device, the second network device may also be a core layer network device or convergence layer network device in the second availability zone. When the core layer network device or convergence layer network device in the second availability zone obtains the long-distance notification message, it may directly send a congestion notification message to the end-side node in the second availability zone according to the long-distance notification message, instead of the cluster convergence layer network device in the second availability zone sending a congestion notification message to the end-side node in the second availability zone according to the long-distance notification message. This can reduce the transmission distance to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since it is the core layer network device or convergence layer network device in the second availability zone that receives and processes the long-distance notification message, the load on the cluster convergence layer network device in the second availability zone can be reduced.

[0387] In the case where the first network device is a core layer network device, the second network device can be a core layer network device. Since the long-distance notification message is transmitted between the core layer network device in the first availability zone and the core layer network device in the second availability zone, and the core layer network device in the second availability zone sends a congestion notification message to the end-side node in the second availability zone based on the long-distance notification message, the transmission distance can be reduced to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since the number of core layer network devices in the first availability zone is greater than the number of cluster aggregation layer network devices in the first availability zone, each core layer network device in the first availability zone has fewer long-distance notification messages to forward than the cluster aggregation layer network devices in the first availability zone. Therefore, the load on each core layer network device is less.

[0388] In the case where the first network device is an aggregation layer network device, the second network device can be an aggregation layer network device. Since the long-distance notification message is transmitted between the aggregation layer network device in the first availability zone and the aggregation layer network device in the second availability zone, and the aggregation layer network device in the second availability zone sends a congestion notification message to the end-side node in the second availability zone based on the long-distance notification message, the transmission distance can be reduced to a certain extent, thereby enabling the end-side node in the second availability zone to perceive the network congestion as soon as possible. In addition, since the number of aggregation layer network devices in the first availability zone is greater than the number of cluster aggregation layer network devices in the first availability zone, compared with the cluster aggregation layer network devices in the first availability zone, each aggregation layer network device in the first availability zone has fewer long-distance notification messages to forward, and therefore, the load on each aggregation layer network device is less.

[0389] S807: The second network device in the second availability zone receives the data packet sent by the second end-side node in the second availability zone.

[0390] In S807 above, the data packet sent by the second end-side node may include an identifier of the source node and an identifier of the destination node. The identifier of the source node is the identifier of the second end-side node, for example, the identifier of the source node is the IP address of the second end-side node. The identifier of the destination node is the identifier of the first end-side node in the first availability zone, for example, the identifier of the destination node is the IP address of the first end-side node in the first availability zone.

[0391] The data message sent by the second end-side node may further include information about data to be sent.

[0392] In one possible implementation, after receiving the data packet sent by the second end-side node, the second network device in the second availability zone may sample the received data packet, obtain a portion of the data packet, and use the portion of the data packet to perform the steps in S408. If the second network device does not subsequently process all data packets sent by the second end-side node, but only processes a portion of the data packets sent by the second end-side node, the load on the second network device can be reduced.

[0393] S808, when the identifiers of the N first-end-side nodes include the identifier of the destination node in the data message, and the identifier of the priority queue corresponding to the first-end-side node that is identical to the identifier of the destination node is identical to the identifier of the priority queue corresponding to the data message, the second network device in the second available zone determines the net congestion prediction duration corresponding to the destination node based on the second congestion prediction duration corresponding to the destination node.

[0394] For example, the content of the long-distance notification message refers to Table 8. If the data packet includes the identifier of the destination node (i.e., the first end-side node 1) and the identifier of the priority queue (i.e., priority queue 3), since the first record in the long-distance notification message shown in Table 8 includes the identifier of the destination node (i.e., the first end-side node 1) and the identifier of the priority queue (i.e., priority queue 3), the congestion prediction duration of 80us in the first record is used as the congestion prediction duration corresponding to the destination node. Afterwards, the congestion prediction net duration of 80us corresponding to the destination node can be determined based on the congestion prediction duration of 80us corresponding to the destination node.

[0395] In the above S808, the second network device can refer to the predicted net congestion duration corresponding to the destination node. Figure 6 The steps shown are not described in detail here.

[0396] In the above S808, if the predicted net congestion duration corresponding to the destination node is greater than 0, the step in S709 is executed; if the predicted net congestion duration corresponding to the destination node is less than or equal to 0, the subsequent steps are no longer executed.

[0397] S809: The second network device in the second available zone generates a congestion notification message according to the identifier of the destination node and the predicted net congestion duration corresponding to the destination node.

[0398] In the above S809, the congestion notification message includes the identifier of the second end-side node, so that the second network device in the second available zone can send the congestion notification message to the second end-side node. The congestion notification message also includes the identifier of the destination node and the net congestion prediction duration corresponding to the destination node. The congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node, and the congestion of the transmission path corresponding to the destination node will continue for the net congestion prediction duration corresponding to the destination node. Among them, the net congestion prediction duration corresponding to the destination node is used to indicate the validity range of the congestion notification message, that is, the congestion notification message is valid within the net congestion prediction duration, and the congestion notification message is invalid outside the net congestion prediction duration.

[0399] Optionally, in S809 above, the second network device in the second availability zone may generate a congestion notification message based on the identifier of the destination node. The congestion notification message includes the identifier of the destination node, and the congestion notification message is used to indicate that congestion exists on the transmission path corresponding to the destination node. The congestion notification message generated by this method does not include the predicted net congestion duration corresponding to the destination node.

[0400] After the second network device in the second availability zone executes S809 , the second network device in the second availability zone may add the congestion notification message to a priority queue in the second network device that meets the first condition.

[0401] S810. A second network device in a second availability zone sends a congestion notification message to a second end-side node. Correspondingly, the second end-side node receives the congestion notification message from the second network device in the second availability zone.

[0402] In the above S810, the second network device in the second availability zone can obtain the congestion notification message from the priority queue of the second network device that meets the first condition, and send the congestion notification message to the second end-side node. In this embodiment of the present application, the second network device sends the congestion notification message to the second end-side node through the priority queue of the second network device that meets the first condition, which can ensure that the second network device sends the congestion notification message as soon as possible, thereby improving timeliness.

[0403] Optionally, in the above S810, when the congestion notification message includes the identifier of the destination node but does not include the net congestion prediction duration corresponding to the destination node, the second network device in the second available zone periodically sends the congestion notification message to the second end-side node within the net congestion prediction duration. After the second end-side node receives the congestion notification message from the second network device, the second end-side node reduces the rate at which it sends data messages. If the second end-side node does not receive the congestion notification message from the second network device within a period of time, it means that the current moment is outside the net congestion prediction duration. Therefore, the second end-side node can increase the rate at which it sends data messages.

[0404] In S810 above, if the congestion notification message includes the identifier of the destination node and the corresponding predicted net congestion duration, upon receiving the congestion notification message from the second network device, the second end-side node may reduce the rate at which it sends data messages within the predicted net congestion duration to alleviate network congestion. The second end-side node may resume sending data messages beyond the predicted net congestion duration to fully utilize the network, ultimately balancing network congestion and network idleness.

[0405] exist Figure 8 In the steps shown, when the transmission paths corresponding to the N first end-side nodes in the first available zone are congested, after the second end-side node in the second available zone sends the data message to the second network device in the second available zone, the second network device determines that the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, and the identifier of the priority queue corresponding to the first end-side node with the same identifier as the destination node is the same as the identifier of the priority queue corresponding to the data message, a congestion notification message can be sent to the second end-side node instead of the first end-side node sending the congestion notification message. This allows the second end-side node to obtain the congestion notification message earlier and reduce the rate of sending data messages according to the congestion notification message to alleviate network congestion. Since the congestion notification message includes the predicted net congestion duration corresponding to the destination node, the second end-side node can control the sending rate of the data message according to the predicted net congestion duration, so that the second end-side node can more accurately regulate the sending of data messages and balance the problems of network congestion and network idleness. Since the second network device simultaneously determines the identifier of the destination node in the data message and the identifier of the priority queue corresponding to the data message, the number of second-end side nodes sending congestion notification messages can be more finely reduced, thereby facilitating regulation of network congestion level.

[0406] Furthermore, the congestion notification message is sent by the network equipment in each availability zone to the end-side nodes in each availability zone, rather than by the first end-side node. Therefore, it can alleviate to a certain extent the situation that the end-side nodes closer to the first end-side node receive the congestion notification message before the end-side nodes farther away from the first end-side node. Furthermore, it can avoid to a certain extent the situation that the end-side nodes closer to the first end-side node significantly reduce the sending of data messages, while the end-side nodes farther away from the first end-side node slightly reduce the sending of data messages, thereby achieving service fairness of each end-side node.

[0407] Furthermore, in the prior art, only the second-end-side node that sends data packets to the first-end-side node can receive the congestion notification message, while the second-end-side nodes in the second availability zone that do not send data packets to the first-end-side node cannot receive the congestion notification message. However, in the solution presented in this application, any second-end-side node in the second availability zone can receive the congestion notification message after sending a data packet to the second network device in the second availability zone, thereby facilitating simultaneous control of the sending of data packets by the second-end-side nodes in the second availability zone, further reducing network congestion.

[0408] Based on the same technical concept, the embodiment of the present application also provides a network congestion notification device, which can be applied to Figure 2 The cluster aggregation layer network device or core layer network device or aggregation layer network device in the first available zone shown can also be used to implement Figure 3 or Figure 4 or Figure 7 or Figure 8 The embodiment shown provides a method for notifying network congestion. Figure 9 As shown, the network congestion notification device includes: a determination module 901, a first sending module 902, and a first adding module 903.

[0409] A determination module 901 is configured to determine N first end-side nodes in a first available zone; transmission paths corresponding to the N first end-side nodes are congested; and N is an integer greater than 0.

[0410] The first sending module 902 is used to send a long-distance notification message to the second network device in the second availability zone; the long-distance notification message is used by the second network device to notify the second end-side node in the second availability zone that the transmission paths corresponding to the N first end-side nodes are congested.

[0411] In one possible implementation, the determination module 901 is specifically used to: receive local notification messages respectively sent by M1 access layer network devices; the local notification message sent by the first access layer network device is used to indicate that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the first access layer network device; the local notification message sent by the first access layer network device includes the identifiers of the S first end-side nodes connected to the first access layer network device; the first access layer network device is any access layer network device among the M1 access layer network devices; M1 is a positive integer; based on the identifiers of the S first end-side nodes respectively carried in the M1 local notification messages, determine the identifiers of the N first end-side nodes;

[0412] The long-distance announcement message includes identifiers of N first end-side nodes.

[0413] In a possible implementation, the local notification message sent by the first access layer network device further includes first congestion prediction durations corresponding to the S first end-side nodes respectively;

[0414] Among them, the long-distance notification message also includes the second congestion prediction durations corresponding to the N first end-side nodes respectively; the second congestion prediction duration corresponding to the third end-side node is determined based on the first congestion prediction duration corresponding to the third end-side node carried by at least one local notification message; the third end-side node is any first end-side node among the N first end-side nodes.

[0415] In one possible implementation, the local announcement message sent by the first access layer network device further includes an identifier of at least one port in the first access layer network device; the first port in the first access layer network device is used to connect S1 first end-side nodes; the first port is any port in the at least one port; S1 is a positive integer less than or equal to S;

[0416] At least two of the M1 local announcement messages include an identifier of a third end-side node, and the identifiers of the ports corresponding to the third end-side node in the at least two local announcement messages are different, and at least one of the first congestion prediction durations corresponding to the third end-side node in the at least two local announcement messages is greater than the first time threshold, and the third end-side node is a first end-side node among the N first end-side nodes.

[0417] In a possible implementation, the local announcement message sent by the first access layer network device further includes an identifier of at least one port in the first access layer network device and an identifier of at least one priority queue in each of the at least one port; the priority of the first priority queue in the first port corresponds to the priority of the data packets to be sent by the S2 first end-side nodes; the first port is any port in the at least one port; the first priority queue is any priority queue in the at least one priority queue in the first port; S2 is a positive integer less than or equal to S;

[0418] The long-distance notification message further includes identifiers of priority queues corresponding to the N first end-side nodes respectively;

[0419] At least two of the M1 local announcement messages include an identifier of a third end-side node, and the identifiers of the ports and the identifiers of the priority queues corresponding to the third end-side node in the at least two local announcement messages are different, and at least one of the first congestion prediction durations corresponding to the third end-side node in the at least two local announcement messages is greater than the first time threshold, and the third end-side node is a first end-side node among the N first end-side nodes.

[0420] In a possible implementation, the first adding module 903 is configured to add the long-distance announcement message to a priority queue in the first network device that meets the first condition before sending the long-distance announcement message to the second network device in the second available zone;

[0421] The first sending module 902 is specifically configured to obtain a long-distance announcement message from a priority queue that meets a first condition, and send the long-distance announcement message to a second network device in a second available zone.

[0422] In a possible implementation, the first network device is any one of a cluster aggregation layer network device, a core layer network device, and an aggregation layer network device in the first availability zone.

[0423] Based on the same technical concept, the embodiment of the present application also provides a network congestion notification device, which can be applied to Figure 2 The access layer network equipment in the first available zone shown can also be used to implement Figure 3 or Figure 4 or Figure 7 or Figure 8 The embodiment shown provides a method for notifying network congestion. Figure 9 As shown, the network congestion notification device includes: a determination module 901, a first sending module 902, and a first adding module 903.

[0424] A determining module 901 is configured to determine whether transmission paths corresponding to S first end-side nodes connected to an access layer network device are congested;

[0425] The first sending module 902 is used to send a local notification message to the first network device in the first availability zone; the local notification message is used to indicate that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the access layer network device, and the local notification message includes the identifiers of the S first end-side nodes connected to the access layer network device.

[0426] In one possible implementation, the determining module 901 is specifically configured to: determine that at least one port in an access layer network device is congested; a first port in the access layer network device is connected to S1 first end-side nodes; the first port is any port in the at least one port; S1 is a positive integer less than or equal to S;

[0427] A first end-side node is connected to a port.

[0428] In a possible implementation, the local notification message also includes the first congestion prediction durations corresponding to the S first end-side nodes respectively; the first congestion prediction duration corresponding to one of the S first end-side nodes is determined based on the port congestion duration history data and the identifier of the port connected to the first end-side node; the port congestion duration history data includes the identifiers of N1 ports and the congestion history durations corresponding to the N1 ports respectively.

[0429] In a possible implementation, the local notification message further includes an identifier of at least one port.

[0430] In one possible implementation, the determination module 901 is specifically configured to: determine that at least one priority queue in each of at least one port in the access layer network device is congested; the priority of the first priority queue in the first port corresponds to the priority of the data packets to be sent by S2 first-end-side nodes; the first port is any port in the at least one port; the first priority queue is any priority queue in the at least one priority queue in the first port; S2 is a positive integer less than or equal to S;

[0431] The priority of a data message to be sent by a first end-side node corresponds to a priority queue.

[0432] In one possible implementation, the local notification message also includes the first congestion prediction durations corresponding to the S first-end-side nodes respectively; the first congestion prediction duration corresponding to one of the S first-end-side nodes is determined based on the priority queue congestion duration history data and the identifier of the port corresponding to the first-end-side node and the identifier of the priority queue; the priority queue congestion duration history data includes the identifiers of N2 ports, the identifiers of N3 priority queues in each of the N2 ports, and the congestion history durations corresponding to the N3 priority queues in each port.

[0433] In a possible implementation, the local announcement message further includes an identifier of at least one port and an identifier of at least one priority queue in each of the at least one port.

[0434] In a possible implementation, the first adding module 903 is configured to add the local announcement message to a priority queue in the access layer network device that meets the first condition before sending the local announcement message to the first network device in the first available zone;

[0435] The first sending module 902 is specifically configured to obtain a local notification message from a priority queue that meets a first condition, and send the local notification message to a first network device in a first available zone.

[0436] Based on the same technical concept, the embodiment of the present application also provides a network congestion notification device, which can be applied to Figure 2 The cluster aggregation layer network device or core layer network device or aggregation layer network device in the second available zone shown can also be used to implement Figure 3 or Figure 4 or Figure 7 or Figure 8 The embodiment shown provides a method for notifying network congestion. Figure 10 As shown, the network congestion notification device includes: a receiving module 1001, a second sending module 1002, and a second adding module 1003.

[0437] A receiving module 1001 is configured to receive a long-distance notification message sent by a first network device in a first availability zone, where the long-distance notification message includes identifiers of N first end-side nodes in the first availability zone, and the long-distance notification message is used to indicate that a transmission path corresponding to the N first end-side nodes is congested;

[0438] The receiving module 1001 is further configured to receive a data message sent by a second end-side node in a second available zone;

[0439] The second sending module 1002 is configured to send a congestion notification message to the second end-side node when the identifiers of the N first end-side nodes include the identifier of the destination node in the data message. The congestion notification message is used to indicate that congestion exists in the transmission path corresponding to the destination node.

[0440] In one possible implementation, the long-distance notification message also includes the second congestion prediction durations corresponding to the N first-end-side nodes respectively; the congestion notification message is also used to indicate the net congestion prediction duration corresponding to the destination node; the net congestion prediction duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations corresponding to the N first-end-side nodes respectively.

[0441] In a possible implementation, the long-distance notification message further includes the second congestion prediction durations corresponding to the N first end-side nodes respectively;

[0442] The second sending module 1002 is specifically used to: periodically send congestion notification messages to the second end-side node within the congestion prediction net duration corresponding to the destination node; the congestion prediction net duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the N first end-side nodes.

[0443] In a possible implementation, the long-distance notification message further includes identifiers of priority queues corresponding to the N first end-side nodes respectively;

[0444] The second sending module 1002 is specifically used to: send a congestion notification message to the second end side node when the identifiers of the N first end side nodes include the identifier of the destination node in the data message, and the identifier of the priority queue corresponding to the first end side node that is the same as the identifier of the destination node is the same as the identifier of the priority queue corresponding to the data message.

[0445] In a possible implementation, the long-distance notification message further includes the second congestion prediction durations corresponding to the N first end-side nodes respectively;

[0446] The congestion notification message is also used to indicate the net congestion prediction duration corresponding to the destination node; the net congestion prediction duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the N first end-side nodes.

[0447] In a possible implementation, the long-distance notification message further includes the second congestion prediction durations corresponding to the N first end-side nodes respectively;

[0448] The second sending module 1002 is specifically used to: periodically send congestion notification messages to the second end-side node within the congestion prediction net duration corresponding to the destination node; the congestion prediction net duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the N first end-side nodes.

[0449] In one possible implementation, the predicted net congestion duration corresponding to the destination node is determined by: determining the message transmission duration between the first network device and the second network device based on the distance between the first network device and the second network device; and determining the predicted net congestion duration corresponding to the destination node based on the second predicted congestion duration corresponding to the destination node and the message transmission duration between the first network device and the second network device.

[0450] In a possible implementation, the second adding module 1003 is configured to add the congestion notification message to a priority queue that meets the first condition in the second network device before sending the congestion notification message to the second end-side node;

[0451] The second sending module 1002 is specifically configured to obtain a congestion notification message from a priority queue that meets the first condition, and send the congestion notification message to the second end-side node.

[0452] In a possible implementation, the second network device is any one of a cluster aggregation layer network device, a core layer network device, and an aggregation layer network device in the second availability zone.

[0453] In the embodiments of the present application, the determination module, the first sending module, the first adding module, the receiving module, the second sending module, and the second adding module can all be implemented via software or hardware. For example, the implementation of the determination module will be described below using the determination module as an example. Similarly, the implementation of the first sending module, the first adding module, the receiving module, the second sending module, and the second adding module can refer to the implementation of the determination module.

[0454] As an example of a software functional unit, a module can include code running on a computing instance. A computing instance can include at least one of a physical host (computing device), a virtual machine, and a container. Furthermore, the computing instance can be one or more. For example, a module can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed in the same region or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code can be distributed in the same availability zone (AZ) or in different AZs, with each AZ including one data center or multiple geographically close data centers. Typically, a region can include multiple AZs.

[0455] Similarly, the multiple hosts / virtual machines / containers used to run the code can be distributed within the same virtual private cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Cross-region communication between two VPCs within the same region, or between VPCs in different regions, requires a communication gateway within each VPC to interconnect the VPCs.

[0456] As an example of a hardware functional unit, a module may include at least one network device, such as a server. Alternatively, a device implemented by a programmable logic device (PLD) may be determined. The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0457] The multiple network devices included in the determination module can be distributed in the same region or in different regions. The multiple network devices included in the determination module can be distributed in the same AZ or in different AZs. Similarly, the multiple network devices included in the determination module can be distributed in the same VPC or in multiple VPCs. The multiple network devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0458] It should be noted that, in some embodiments, the determination module is used to determine N first end-side nodes in the first availability zone; there is congestion in the transmission path corresponding to the N first end-side nodes; N is an integer greater than 0; the first sending module is used to send a long-distance notification message to the second network device in the second availability zone; the long-distance notification message is used by the second network device to notify the second end-side node in the second availability zone that there is congestion in the transmission path corresponding to the N first end-side nodes.

[0459] In other embodiments, the determination module is used to determine that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the access layer network device; the first sending module is used to send a local notification message to the first network device in the first availability zone; the local notification message is used to indicate that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the access layer network device, and the local notification message includes the identifiers of the S first end-side nodes connected to the access layer network device.

[0460] In other embodiments, the receiving module is used to receive a long-distance notification message sent by a first network device in a first availability zone, the long-distance notification message including the identifiers of N first end-side nodes in the first availability zone, and the long-distance notification message is used to indicate that there is congestion in the transmission path corresponding to the N first end-side nodes; the receiving module is also used to receive a data packet sent by a second end-side node in a second availability zone; the second sending module is used to send a congestion notification message to the second end-side node when the identifiers of the N first end-side nodes include the identifier of the destination node in the data packet, and the congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node.

[0461] The steps that the determination module, the first sending module, the first adding module, the receiving module, the second sending module, and the second adding module are responsible for implementing can be specified as needed. The full functions of the network congestion notification device can be realized by respectively implementing different steps in the network congestion notification method through the determination module, the first sending module, the first adding module, the receiving module, the second sending module, and the second adding module.

[0462] This application also provides a network device 1100. Figure 11 As shown, network device 1100 includes a bus 1101, a processor 1102, a memory 1104, and a communication interface 1103. Processor 1102, memory 1104, and communication interface 1103 communicate with each other via bus 1101. Network device 1100 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in network device 1100.

[0463] The bus 1101 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 11 The bus 1101 may include a path for transmitting information between various components of the network device 1100 (eg, the memory 1104 , the processor 1102 , and the communication interface 1103 ).

[0464] The processor 1102 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0465] The memory 1104 may include volatile memory, such as random access memory (RAM). The processor 1102 may also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0466] Memory 1104 stores executable program code. Processor 1102 executes the executable program code to implement the functions of the aforementioned determination module, first generation module, first sending module, receiving module, second generation module, and second sending module, thereby implementing the network congestion notification method. In other words, memory 1104 stores instructions for executing network congestion notification.

[0467] The communication interface 1103 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the network device 1100 and other devices or communication networks.

[0468] Embodiments of the present application also provide a network device cluster. The network device cluster includes at least one network device. The network device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the network device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0469] like Figure 12 As shown, the network device cluster includes at least one network device 1100. The memory 1104 in one or more network devices 1100 in the network device cluster may store the same instructions for executing the network congestion notification method.

[0470] In some possible implementations, the memory 1104 of one or more network devices 1100 in the network device cluster may also store partial instructions for executing the network congestion notification method. In other words, the combination of one or more network devices 1100 can jointly execute the instructions for executing the network congestion notification method.

[0471] It should be noted that the memory 1104 in different network devices 1100 in the network device cluster can store different instructions, each for executing a portion of the functions of the network congestion notification device. In other words, the instructions stored in the memory 1104 in different network devices 1100 can implement the functions of one or more of the determination module, the first sending module, the first adding module, the receiving module, the second sending module, and the second adding module.

[0472] In some possible implementations, one or more network devices in a network device cluster may be connected via a network, which may be a wide area network or a local area network. Figure 13 A possible implementation is shown. Figure 13 As shown, two network devices 1100A and 1100B are connected via a network. Specifically, the connection to the network is achieved through a communication interface within each network device. In this possible implementation, the memory 1104 within network device 1100A stores instructions for executing the functions of the determination module, the first sending module, and the first adding module. Simultaneously, the memory 1104 within network device 1100B stores instructions for executing the functions of the receiving module, the second sending module, and the second adding module.

[0473] It should be understood that Figure 13 The functions of the network device 1100A shown in FIG. 1 may also be completed by multiple network devices 1100. Similarly, the functions of the network device 1100B may also be completed by multiple network devices 1100.

[0474] The embodiment of the present application also provides another network device cluster. The connection relationship between the network devices in the network device cluster can be similarly referenced. Figure 12 and Figure 13 The connection mode of the network device cluster is different in that the memory 1104 of one or more network devices 1100 in the network device cluster may store the same instructions for executing the network congestion notification method.

[0475] In some possible implementations, the memory 1104 of one or more network devices 1100 in the network device cluster may also store partial instructions for executing the network congestion notification method. In other words, the combination of one or more network devices 1100 can jointly execute the instructions for executing the network congestion notification method.

[0476] Embodiments of the present application also provide a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a network device or stored in any available medium. When the computer program product is run on at least one network device, it causes the at least one network device to execute a network congestion notification method.

[0477] Embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a network device, or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, hard disk, or magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the network device to execute a network congestion notification method.

[0478] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the protection scope of the technical solutions of the various embodiments of the present invention.

[0479] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0480] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0481] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0482] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0483] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.

Claims

1. A network congestion notification method, applied to a first network device in a first available zone, characterized in that: include: Receive local notification messages sent by M1 access layer network devices respectively; The local notification message sent by the first access layer network device is used to indicate that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the first access layer network device; the local notification message sent by the first access layer network device includes the identifiers of the S first end-side nodes connected to the first access layer network device, and the first congestion prediction durations corresponding to the S first end-side nodes respectively; the first access layer network device is any access layer network device among the M1 access layer network devices; M1 is a positive integer; Determine the identifiers of N first end-side nodes according to the identifiers of the S first end-side nodes respectively carried in the M1 local notification messages; N is an integer greater than 0; Sending a long-distance notification message to a second network device in the second availability zone; the long-distance notification message is used by the second network device to notify the second end-side node in the second availability zone that the transmission paths corresponding to the N first end-side nodes are congested; wherein the long-distance notification message includes the identifiers of the N first end-side nodes and the second congestion prediction durations corresponding to the N first end-side nodes respectively; The second congestion prediction duration corresponding to the third end-side node is determined based on the first congestion prediction duration corresponding to the third end-side node carried by at least one local notification message; the third end-side node is any first end-side node among the N first end-side nodes.

2. The method according to claim 1, wherein The local announcement message sent by the first access layer network device also includes an identifier of at least one port in the first access layer network device; the first port in the first access layer network device is used to connect S1 first end-side nodes; the first port is any port in the at least one port; S1 is a positive integer less than or equal to S; At least two of the M1 local announcement messages include the identifier of the third end-side node, and the identifiers of the ports corresponding to the third end-side node in the at least two local announcement messages are different, and at least one of the first congestion prediction durations corresponding to the third end-side node in the at least two local announcement messages is greater than the first time threshold, and the third end-side node is a first end-side node among the N first end-side nodes.

3. The method according to claim 1, wherein The local announcement message sent by the first access layer network device also includes an identifier of at least one port in the first access layer network device and an identifier of at least one priority queue in each of the at least one port; the priority of the first priority queue in the first port corresponds to the priority of the data packets to be sent by the S2 first end-side nodes; the first port is any port in the at least one port; the first priority queue is any priority queue in the at least one priority queue in the first port; S2 is a positive integer less than or equal to S; The long-distance notification message further includes identifiers of priority queues corresponding to the N first end-side nodes respectively; At least two of the M1 local announcement messages include an identifier of a third end-side node, and the identifiers of the ports and the identifiers of the priority queues corresponding to the third end-side node in the at least two local announcement messages are different, and at least one of the first congestion prediction durations corresponding to the third end-side node in the at least two local announcement messages is greater than the first time threshold, and the third end-side node is a first end-side node among the N first end-side nodes.

4. The method according to claim 1, wherein Before sending the long-distance announcement message to the second network device in the second available zone, the method further includes: Adding the long-distance announcement message to a priority queue in the first network device that meets a first condition; The sending the long-distance notification message to the second network device in the second available zone includes: The long-distance announcement message is obtained from the priority queue that meets the first condition, and the long-distance announcement message is sent to the second network device in the second available zone.

5. The method according to any one of claims 1 to 4, characterized in that: The first network device is any one of a cluster aggregation layer network device, a core layer network device, and an aggregation layer network device in the first available zone.

6. A network congestion notification method, applied to an access layer network device in a first available zone, characterized in that: include: Determining that transmission paths corresponding to S first end-side nodes connected to the access layer network device are congested; The determining that transmission paths corresponding to the S first end-side nodes connected to the access layer network device are congested includes: Determining that at least one port in the access layer network device is congested; a first port in the access layer network device is connected to S1 first end-side nodes; the first port is any port in the at least one port; S1 is a positive integer less than or equal to S; wherein one first end-side node is connected to one of the ports; A local notification message is sent to the first network device in the first available zone; the local notification message is used to indicate that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to the access layer network device, and the local notification message includes the identifiers of the S first end-side nodes connected to the access layer network device and the first congestion prediction durations corresponding to the S first end-side nodes respectively; the first congestion prediction duration corresponding to one of the S first end-side nodes is determined based on the port congestion duration history data and the identifier of the port to which the one first end-side node is connected; the port congestion duration history data includes the identifiers of N1 ports and the congestion history durations corresponding to the N1 ports respectively.

7. The method according to claim 6, wherein The local announcement message further includes an identifier of the at least one port.

8. The method according to claim 6, wherein The determining that transmission paths corresponding to the S first end-side nodes connected to the access layer network device are congested includes: Determining that at least one priority queue in each of at least one port in the access layer network device is congested; the priority of a first priority queue in a first port corresponds to the priority of data packets to be sent by S2 first end-side nodes; the first port is any port in the at least one port; the first priority queue is any priority queue in the at least one priority queue in the first port; S2 is a positive integer less than or equal to S; The priority of a data message to be sent by the first end-side node corresponds to one of the priority queues.

9. The method according to claim 8, wherein The local notification message also includes the first congestion prediction durations corresponding to the S first end-side nodes respectively; the first congestion prediction duration corresponding to one of the S first end-side nodes is determined based on the priority queue congestion duration history data and the identifier of the port corresponding to the one first end-side node, and the identifier of the priority queue; the priority queue congestion duration history data includes the identifiers of N2 ports, the identifiers of N3 priority queues in each of the N2 ports, and the congestion history durations corresponding to the N3 priority queues in each port.

10. The method according to claim 9, wherein The local announcement message further includes an identifier of the at least one port and an identifier of at least one priority queue in each of the at least one port.

11. The method according to any one of claims 6 to 10, characterized in that: Before sending the local notification message to the first network device in the first available zone, the method further includes: Adding the local notification message to a priority queue in the access layer network device that meets a first condition; The sending the local notification message to the first network device in the first available zone includes: The local notification message is obtained from the priority queue that meets the first condition, and the local notification message is sent to the first network device in the first available zone.

12. A network congestion notification method, applied to a second network device in a second available zone, characterized in that: include: Receiving a long-distance notification message sent by a first network device in a first availability zone, the long-distance notification message including identifiers of N first end-side nodes in the first availability zone and second congestion prediction durations corresponding to the N first end-side nodes, respectively, the long-distance notification message being used to indicate that congestion exists in a transmission path corresponding to the N first end-side nodes; receiving a data packet sent by a second end-side node in the second available zone; In a case where the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, a congestion notification message is sent to the second end-side node, where the congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node and the predicted net congestion duration corresponding to the destination node; the predicted net congestion duration corresponding to the destination node is determined based on the second predicted congestion duration corresponding to the destination node among the second predicted congestion durations respectively corresponding to the N first end-side nodes.

13. The method according to claim 12, wherein: The long-distance notification message further includes the second congestion prediction durations corresponding to the N first end-side nodes respectively; The sending the congestion notification message to the second end-side node includes: The congestion notification message is periodically sent to the second end-side node within the congestion prediction net duration corresponding to the destination node; the congestion prediction net duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the N first end-side nodes.

14. The method according to claim 12, wherein The long-distance notification message further includes identifiers of priority queues corresponding to the N first end-side nodes respectively; The sending a congestion notification message to the second end-side node when the identifiers of the N first end-side nodes include an identifier of the destination node in the data message includes: When the identifiers of the N first-end-side nodes include the identifier of the destination node in the data message, and the identifier of the priority queue corresponding to the first-end-side node that is identical to the identifier of the destination node is identical to the identifier of the priority queue corresponding to the data message, a congestion notification message is sent to the second-end-side node.

15. The method according to claim 14, wherein The long-distance notification message further includes the second congestion prediction durations corresponding to the N first end-side nodes respectively; The congestion notification message is also used to indicate the net congestion prediction duration corresponding to the destination node; the net congestion prediction duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the N first end-side nodes.

16. The method according to claim 14, wherein The long-distance notification message further includes the second congestion prediction durations corresponding to the N first end-side nodes respectively; The sending a congestion notification message to the second end-side node includes: The congestion notification message is periodically sent to the second end-side node within the congestion prediction net duration corresponding to the destination node; the congestion prediction net duration corresponding to the destination node is determined based on the second congestion prediction duration corresponding to the N first end-side nodes.

17. The method according to claim 12 or 16, wherein: The predicted net congestion duration corresponding to the destination node is determined by: determining a message transmission duration between the first network device and the second network device according to a distance between the first network device and the second network device; The predicted net congestion duration corresponding to the destination node is determined according to the second predicted congestion duration corresponding to the destination node and the message transmission duration between the first network device and the second network device.

18. The method according to claim 12, wherein Before sending the congestion notification message to the second end-side node, the method further includes: Adding the congestion notification message to a priority queue in the second network device that meets the first condition; The sending a congestion notification message to the second end-side node includes: Obtain a congestion notification message from a priority queue that meets the first condition, and send the congestion notification message to the second end-side node.

19. The method according to claim 12, wherein The second network device is any one of a cluster aggregation layer network device, a core layer network device, and an aggregation layer network device in the second available zone.

20. A network congestion notification device, characterized in that: include: A determination module, configured to receive local notification messages respectively sent by M1 access layer network devices; The local notification message sent by the first access layer network device is used to indicate that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the first access layer network device; the local notification message sent by the first access layer network device includes the identifiers of the S first end-side nodes connected to the first access layer network device, and the first congestion prediction durations corresponding to the S first end-side nodes respectively; the first access layer network device is any access layer network device among the M1 access layer network devices; M1 is a positive integer; according to the identifiers of the S first end-side nodes respectively carried in the M1 local notification messages, the identifiers of the N first end-side nodes are determined; N is an integer greater than 0; A first sending module is configured to send a long-distance notification message to a second network device in a second availability zone; the long-distance notification message is used by the second network device to notify the second end-side node in the second availability zone that the transmission paths corresponding to the N first end-side nodes are congested; wherein the long-distance notification message includes identifiers of the N first end-side nodes and second congestion prediction durations corresponding to the N first end-side nodes respectively; The second congestion prediction duration corresponding to the third end-side node is determined based on the first congestion prediction duration corresponding to the third end-side node carried by at least one local notification message; the third end-side node is any first end-side node among the N first end-side nodes.

21. A network congestion notification device, characterized in that: include: A determination module, configured to determine that a transmission path corresponding to S first end-side nodes connected to the access layer network device is congested; The determining module is specifically configured to: determine that at least one port in the access layer network device is congested; a first port in the access layer network device is connected to S1 first end-side nodes; the first port is any port in the at least one port; S1 is a positive integer less than or equal to S; wherein one first end-side node is connected to one of the ports; A first sending module is used to send a local notification message to a first network device in a first available zone; the local notification message is used to indicate that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the access layer network device, and the local notification message includes the identifiers of the S first end-side nodes connected to the access layer network device and the first congestion prediction durations corresponding to the S first end-side nodes respectively; the first congestion prediction duration corresponding to a first end-side node among the S first end-side nodes is determined based on the port congestion duration history data and the identifier of the port to which the one first end-side node is connected; the port congestion duration history data includes the identifiers of N1 ports and the congestion history durations corresponding to the N1 ports respectively.

22. A network congestion notification device, characterized in that: include: a receiving module, configured to receive a long-distance notification message sent by a first network device in a first availability zone, the long-distance notification message including identifiers of N first end-side nodes in the first availability zone and second congestion prediction durations respectively corresponding to the N first end-side nodes, the long-distance notification message being used to indicate that congestion exists in a transmission path corresponding to the N first end-side nodes; The receiving module is further configured to receive a data message sent by a second end-side node in a second available zone; A second sending module is used to send a congestion notification message to the second end-side node when the identifiers of the N first end-side nodes include the identifier of the destination node in the data message, wherein the congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node and the predicted net congestion duration corresponding to the destination node; the predicted net congestion duration corresponding to the destination node is determined based on the second congestion predicted duration corresponding to the destination node in the second congestion predicted durations respectively corresponding to the N first end-side nodes.

23. A network device, characterized in that: The method comprises a processor and a memory; the memory stores computer-executable instructions; the processor is used to execute the computer-executable instructions stored in the memory, so that the network device executes the method according to any one of claims 1 to 5, the method according to any one of claims 6 to 11, or the method according to any one of claims 12 to 19.

24. A computer-readable storage medium, characterized in that The method comprises computer program instructions. When the computer program instructions are executed by a network device, the network device performs the method according to any one of claims 1 to 5, the method according to any one of claims 6 to 11, or the method according to any one of claims 12 to 19.

25. A computer program product comprising instructions, characterized in that When the instruction is executed by a network device, the network device executes the method according to any one of claims 1 to 5, the method according to any one of claims 6 to 11, or the method according to any one of claims 12 to 19.

Citation Information

Patent Citations

  • Congestion notification method and device, equipment and storage medium

    CN118303071A