Network congestion notification method and device

By interacting with long-distance announcement messages between network devices, the problem of increased network congestion is solved, wider sharing of congestion information is achieved, and the degree of network congestion is reduced.

CN120378378AActive Publication Date: 2025-07-25SHENZHEN HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When the end-side nodes are far apart, when the network is congested, other end-side nodes except the first end-side node cannot receive congestion notification messages, resulting in increased network congestion.

Method used

The first network device determines that there is congestion in multiple end-side nodes in the availability zone, and sends a long-distance announcement message to the network devices in the second availability zone, informing all end-side nodes that there is congestion in their corresponding transmission paths.

Benefits of technology

Reduce network congestion, ensure that all end-side nodes are aware of congestion, and avoid further aggravation of network congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378378A_ABST
    Figure CN120378378A_ABST
Patent Text Reader

Abstract

The invention provides a network congestion notification method and device. The method comprises the steps that first network equipment in a first available area determines N first end side nodes in the first available area; transmission paths corresponding to the N first end side nodes are congested; the first network device sends a long-distance notification message to a second network device in the second available area; the long-distance notification message is used for the second network equipment to notify the second end-side node in the second available area that the transmission paths corresponding to the N first end-side nodes are congested. Since the second end-side nodes in the second available area can know that the transmission paths corresponding to the N first end-side nodes are congested, not only the second end-side node sending the data message to the N first end-side nodes can know that the transmission paths corresponding to the N first end-side nodes are congested, the network congestion degree can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] When the first end-side node and the 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 in one of the network devices, the second end-side node learns that the data packet encounters network congestion during forwarding, generates a congestion notification message and sends it to the first end-side node to notify the first end-side node of the network congestion. However, other end-side nodes except the first end-side node cannot receive the congestion notification message, so 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 urgently needs to be solved. Summary of the invention

[0004] The present application provides a network congestion notification method and device, which are used to reduce the problem of network congestion level.

[0005] In the first aspect, the 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 first network device is used as an example for description. 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 just 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 the first available area, which may include: the first network device receives local advertisement messages respectively sent by M1 access layer network devices; the local advertisement message sent by the first access layer network device is used to indicate that there is congestion in the transmission path corresponding to S first end-side nodes connected to the first access layer network device; the local advertisement 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 one of 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 according to the identifiers of the S first end-side nodes carried in the M1 local advertisement messages; Among them, the long-distance advertisement message includes the identifiers of the N first end-side nodes.

[0008] This design provides a method for determining N first end-side nodes in the first available area.

[0009] In a possible design, the local advertisement message sent by the first access layer network device further includes the first congestion prediction duration corresponding to each of the S first end-side nodes; Among them, the long-distance advertisement message further includes the second congestion prediction duration corresponding to each of the N first end-side nodes; the second congestion prediction duration corresponding to the third end-side node is determined according to the first congestion prediction duration corresponding to the third end-side node carried in at least one local advertisement message; the third end-side node is any one of the N first end-side nodes.

[0010] In this design, the local advertisement message further includes the first congestion prediction duration corresponding to each of the S first end-side nodes, which is convenient for the subsequent second end-side node to control the sending rate of data packets according to the first congestion prediction duration corresponding to each of the S first end-side nodes, so that the second end-side node can more accurately regulate the sending of data packets and balance the problems of network congestion and network idle.

[0011] In a possible design, the local advertisement message sent by the first access layer network device further includes the 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 one of the at least one port; S1 is a positive integer less than or equal to S; At least two of the M1 local advertisement 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 advertisement 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 advertisement messages is greater than the first time threshold, and the third end-side node is one of the N first end-side nodes.

[0012] In a possible design, the local advertisement message sent by the first access layer network device further includes the identifiers of at least one port in the first access layer network device, and the identifiers of at least one priority queue in each port 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 one of the at least one port; 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; Among them, the long-distance advertisement message further includes the identifiers of the priority queues respectively corresponding to the N first end-side nodes; At least two of the M1 local advertisement messages include the identifier of the third end-side node, and the identifiers of the ports and the priority queues corresponding to the third end-side node in the at least two local advertisement 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 advertisement messages is greater than the first time threshold, and the third end-side node is one of the N first end-side nodes.

[0013] In a possible design, before the first network device sends a long-distance advertisement message to the second network device in the second availability zone, it further includes: the first network device adds the long-distance advertisement message to the priority queue in the first network device that meets the first condition; The first network device sending a long-distance advertisement message to the second network device in the second availability zone may include: the first network device obtains the long-distance advertisement message from the priority queue that meets the first condition and sends the long-distance advertisement message to the second network device in the second availability zone.

[0014] In this design, the first network device sends the long-distance advertisement message to the second network device in the second availability 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 advertisement message as soon as possible and improve the timeliness.

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

[0016] Second aspect, an embodiment of the present application provides a network congestion notification method. This method can be executed by an access layer network device, a module of the access layer network device, or a chip of the access layer network device in the first available zone. Here, the access layer network device is taken as the execution subject for description. The method specifically includes the following steps: The access layer network device determines that there is congestion in the transmission paths corresponding to S first end-side nodes connected to the access layer network device; the access layer network device sends a local notification message to a 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 S first end-side nodes connected to the access layer network device, and the local notification message includes the identifiers of S first end-side nodes connected to the access layer network device.

[0017] In the above method, the access layer network device can generate a local notification message with 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, facilitating the subsequent generation of a long-distance notification message by the first network device based on the received local notification message.

[0018] In a possible design, the access layer network device determines that there is congestion in the transmission paths corresponding to S first end-side nodes connected to the access layer network device, which 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 port; S1 is a positive integer less than or equal to S; wherein, one first end-side node is connected to one port. This design provides a method for determining S first end-side nodes.

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

[0020] In a possible design, the local notification message further includes the identifiers of at least one port.

[0021] In a possible design, for the access layer network device to determine that there is congestion in the transmission paths corresponding to S first end-side nodes connected to the access layer network device, it may include: The access layer network device determines that there is congestion in at least one priority queue in each 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 one of the at least one port; the first priority queue is any one of the at least one priority queue in the first port; S2 is a positive integer less than or equal to S; wherein, the priority of the data packets to be sent by one first end-side node corresponds to one priority queue. This design provides a method for determining S first end-side nodes.

[0022] In a possible design, the local advertisement message further includes the first congestion prediction duration corresponding to each of the S first end-side nodes; the first congestion prediction duration corresponding to one first end-side node among the S first end-side nodes is determined according to the historical data of the congestion duration of the priority queue and the identifier of the port corresponding to the first end-side node and the identifier of the priority queue; the historical data of the congestion duration of the priority queue includes the identifiers of N2 ports, the identifiers of N3 priority queues in each of the N2 ports, and the historical congestion durations respectively corresponding to the N3 priority queues in each port.

[0023] In a possible design, the local advertisement message further includes the identifiers of at least one port and the identifiers of at least one priority queue in each of the at least one port.

[0024] In a possible design, before the access layer network device sends the local advertisement message to the first network device in the first availability zone, it further includes: The access layer network device adds the local advertisement message to the priority queue in the access layer network device that meets the first condition; For the access layer network device to send the local advertisement message to the first network device in the first availability zone, it may include: The access layer network device obtains the local advertisement message from the priority queue that meets the first condition and sends the local advertisement message to the first network device in the first availability zone.

[0025] In this design, for the access layer network device to send the local advertisement 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 can ensure that the access layer network device sends the local advertisement message as soon as possible and improve the timeliness.

[0026] In a third aspect, an embodiment of the present application provides a network congestion notification method. This method can be executed by a second network device in a second available zone, or a module of the second network device, or a chip of the second network device. Here, the second network device is taken 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 a first network device in a first available zone. The long-distance notification message includes the identifiers of N first end-side nodes in the first available 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 second network device receives a data packet sent by a second end-side node in the second available 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 packet to the second end-side node, and the congestion notification packet is used to indicate that there is congestion in the transmission path corresponding to the destination node.

[0027] In the above method, since all second end-side nodes in the second available zone can learn that there is congestion in the transmission path corresponding to the N first end-side nodes, rather than only the second end-side node that sends data packets to the N first end-side nodes can learn that there is congestion in the transmission path corresponding to the N first end-side nodes, the degree of network congestion can be reduced.

[0028] In a possible design, the long-distance notification message further includes the second congestion prediction durations respectively corresponding to the N first end-side nodes; the congestion notification packet is further used to indicate the congestion prediction net duration corresponding to the destination node; the congestion prediction net duration corresponding to the destination node is determined according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0029] In a possible design, the long-distance notification message further includes the second congestion prediction durations respectively corresponding to the N first end-side nodes; the second network device sending a congestion notification packet to the second end-side node may include: within the congestion prediction net duration corresponding to the destination node, the second network device periodically sends a congestion notification packet to the second end-side node; the congestion prediction net duration corresponding to the destination node is determined according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0030] In a possible design, the long-distance notification message further includes the identifiers of the priority queues respectively corresponding to the N first end-side nodes; When the identifiers of N first end-side nodes include the identifier of the destination node in the data packet, the second network device sending a congestion notification packet to the second end-side node may include: when the identifiers of N first end-side nodes include the identifier of the destination node in the data packet, 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 packet, sending a congestion notification packet to the second end-side node.

[0031] In a possible design, the long-distance notification message further includes second congestion prediction durations respectively corresponding to N first end-side nodes; The congestion notification packet is further used to indicate the congestion prediction net duration corresponding to the destination node; the congestion prediction net duration corresponding to the destination node is determined according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to N first end-side nodes.

[0032] In a possible design, the long-distance notification message further includes second congestion prediction durations respectively corresponding to N first end-side nodes; the second network device sending a congestion notification packet to the second end-side node may include: within the congestion prediction net duration corresponding to the destination node, the second network device periodically sends a congestion notification packet to the second end-side node; the congestion prediction net duration corresponding to the destination node is determined according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to N first end-side nodes.

[0033] In a possible design, the congestion prediction net 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 according to the distance between the first network device and the second network device; the second network device determines the congestion prediction net duration corresponding to the destination node according to the second congestion prediction duration corresponding to the destination node and the message transmission duration between the first network device and the second network device.

[0034] In a possible design, before the second network device sends a congestion notification packet to the second end-side node, it further includes: the second network device adds the congestion notification packet to the priority queue in the second network device that meets the first condition; The second network device sending a congestion notification packet to the second end-side node may include: the second network device obtains the congestion notification packet from the priority queue that meets the first condition and sends the congestion notification packet to the second end-side node.

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

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

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

[0038] Fifthly, the present application further provides a network device, including a processor and a memory, where the memory stores computer-executable instructions; the processor is configured to execute the computer-executable instructions stored in the memory, and the processor executes the method provided in the above first aspect, second aspect, or third aspect.

[0039] Sixthly, the present application further provides a computer-readable storage medium, including computer program instructions, and when the computer program instructions are executed by a network device, the network device executes the method provided in the above first aspect, second aspect, or third aspect.

[0040] Seventhly, the present application further provides a computer program product containing instructions, and when the instructions are run by a network device, the network device is caused to execute the method provided in the above first aspect, second aspect, or third aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 FIG. is a system architecture diagram provided by an embodiment of the present application; Figure 2 FIG. is a system architecture diagram provided by an embodiment of the present application; Figure 3 FIG. is a flowchart of a network congestion notification method provided by an embodiment of the present application; Figure 4 FIG. is a flowchart of a network congestion notification method provided by an embodiment of the present application; Figure 5A FIG. is a flowchart of a method for determining the first congestion prediction duration of a port provided by an embodiment of the present application; Figure 5B FIG. is a flowchart of a method for determining the first congestion prediction duration of a priority queue provided by an embodiment of the present application; Figure 6 FIG. is a flowchart of a method for determining the congestion prediction net duration corresponding to a destination node provided by an embodiment of the present application; Figure 7 FIG. is a flowchart of a network congestion notification method provided by an embodiment of the present application; Figure 8 FIG. is a flowchart of a network congestion notification method provided by an embodiment of the present application; Figure 9Schematic structural diagram of a network congestion notification device provided by an embodiment of the present application; Figure 10 Schematic structural diagram of a network congestion notification device provided by an embodiment of the present application; Figure 11 Schematic structural diagram of a network device provided by an embodiment of the present application; Figure 12 Schematic structural diagram of a network device cluster provided by an embodiment of the present application; Figure 13 Schematic structural diagram of a network device cluster provided by an embodiment of the present application. Detailed implementation manners

[0042] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying 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 the embodiments. Terms such as "first" and "second" and their corresponding term numbers in the specification and claims of the present application are used to distinguish similar objects, and do not have to be used to describe a specific order or sequence. It should be understood that such terms can be interchanged under appropriate circumstances, which is only a way of distinguishing objects with the same attributes when describing the embodiments of the present application. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, so that a process, method, system, product or device including a series of units does not have to be limited to those units, but may include other units not clearly listed or inherent to these processes, methods, products or devices.

[0043] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The specific operation methods and function descriptions in the method embodiments can also be applied to the device embodiments or system embodiments.

[0044] Hereinafter, some terms in the embodiments of the present application will be explained to facilitate the understanding of those skilled in the art.

[0045] A data center is a collection of physical infrastructures, including servers, storage devices, network devices, power systems, cooling systems, etc., and is usually located in a building at one or more geographical locations. A data center has characteristics such as physical isolation, independent facilities, and disaster recovery levels. Among them, the physical isolation characteristic can be understood as that different data centers are usually distributed in different geographical locations (such as different cities or countries), the independent facilities characteristic can be understood as that each data center has an independent power system, network device, and cooling system. The disaster recovery level characteristic can be understood as cross-data center deployment (such as "two places and three centers") to cope with regional disasters (such as earthquakes, floods, etc.).

[0046] The Data Center Network (DCN) is a network infrastructure that provides high-speed and reliable interconnection 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, aiming to meet the requirements of high bandwidth, low latency, scalability, and high availability.

[0047] An availability zone (AZ) is a logically isolated failure 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 devices, and cooling systems).

[0048] Priority queues (PQ) are key mechanisms for traffic scheduling in network devices (such as switches, routers, network interface cards (NICs), etc.). By assigning different priorities to different types of traffic, high-priority traffic can be processed and sent first to meet the quality of service (QoS) requirements.

[0049] Congestion notification packets (CNP) are signaling mechanisms for network congestion control. By explicitly notifying the sender to reduce the rate, network congestion can be avoided.

[0050] When the first end-side node is far from the second end-side node, 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 in one of the network devices, after the second end-side node learns that the data packet encounters network congestion during forwarding, it generates a congestion notification packet and sends it to the first end-side node to notify the first end-side node of the network congestion. However, other end-side nodes except the first end-side node cannot receive this congestion notification packet. Therefore, other end-side nodes can send data packets to the second end-side node, which will aggravate the degree of network congestion.

[0051] Taking cross-AZ communication as an example, where one AZ includes one or more data centers, as Figure 1 shown, it includes 3 availability zones, namely Availability Zone 1, Availability Zone 2, and Availability Zone 3.

[0052] Availability Zone 1 includes 3 edge nodes and 3 network devices. The 3 edge nodes are Edge Node 1, Edge Node 2, and Edge Node 3 respectively, and the 3 network devices are Network Device 1, Network Device 2, and Network Device 3 respectively. Among them, Edge Node 1, Edge Node 2, and Edge Node 3 are all connected to Network Device 1, Network Device 1 is connected to Network Device 2, and Network Device 2 and Network Device 3 are connected.

[0053] It should be understood that the edge node can be any one of a server, a storage device, and other resources, which is not limited here.

[0054] Availability Zone 2 includes 3 edge nodes and 3 network devices. The 3 edge nodes are Edge Node 4, Edge Node 5, and Edge Node 6 respectively, and the 3 network devices are Network Device 4, Network Device 5, and Network Device 6 respectively. Among them, Edge Node 4, Edge Node 5, and Edge Node 6 are all connected to Network Device 4, Network Device 4 and Network Device 5 are connected, and Network Device 5 and Network Device 6 are connected.

[0055] Availability Zone 3 includes 3 edge nodes and 4 network devices. The 3 edge nodes are Edge Node 7, Edge Node 8, and Edge Node 9 respectively, and the 4 network devices are Network Device 7, Network Device 8, Network Device 9, and Network Device 10 respectively. Among them, Edge Node 7 and Edge Node 8 are both connected to Network Device 7, Edge Node 9 is connected to Network Device 8, Network Device 7 and Network Device 8 are both connected to Network Device 9, and Network Device 9 and Network Device 10 are connected.

[0056] In addition, in order to achieve cross-availability zone communication, any two of 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.

[0057] Edge Node 1 and Edge Node 9 simultaneously sent data packets to Edge Node 7. Among them, the path for Edge Node 1 to send a data packet to Edge Node 7 successively includes: Edge Node 1, Network Device 1, Network Device 2, Network Device 3, Network Device 10, Network Device 9, Network Device 7, Edge Node 7. The path for Edge Node 9 to send a data packet to Edge Node 7 successively includes Edge Node 9, Network Device 8, Network Device 9, Network Device 7, Edge Node 7.

[0058] The edge node 7 is connected to the network device 7. Specifically, the edge node 7 accesses the port 7 in the network device 7. If the port 7 in the network device 7 becomes congested, after the network device 7 receives the data packet sent by the edge node 1 or the edge node 9, the data packet sent through the port 7 will be marked with explicit congestion notification (ECN). After the edge node 7 receives the data packets sent by the edge node 1 and the edge node 9, it is found that both carry the ECN congestion mark. A congestion notification packet is constructed for the data packets sent by the edge node 1 and the edge node 9, and the congestion notification packets are respectively sent to the edge node 1 and the edge node 9.

[0059] Since the edge node 7 and the edge node 1 are located in different availability zones and are far apart, the edge node 1 will receive the congestion notification packet sent by the edge node 7 after a long time. During the period when the edge node 1 has not received the congestion notification packet, the edge node 1 will continuously send data packets to the edge node 7, which will aggravate the congestion degree of the port 7 in the network device 7.

[0060] Furthermore, since the edge node 7 and the edge node 9 are located in the same availability zone and are close to each other, the edge node 9 will quickly receive the congestion notification packet sent by the edge node 7. Since the edge node 9 receives the congestion notification packet much earlier than the edge node 1, it will cause the edge node 9 to greatly reduce the sending of data packets, while the edge node 1 slightly reduces the sending of data packets, which will seriously affect the service fairness.

[0061] In addition, if the edge nodes 2 and 3 in the availability zone 1 and the edge nodes 4, 5, and 6 in the availability zone 2 also need to send data packets to the edge node 7, since the edge nodes 2, 3, 4, 5, and 6 have not received the congestion notification packet sent by the edge node 7, therefore, the edge nodes 2 to 6 will still send data packets to the edge node 7, which will further aggravate the congestion degree of the port 7 in the network device 7.

[0062] In view of this, in order to solve the problem of reducing network congestion, the embodiments of the present application provide a network congestion notification method and device.

[0063] The embodiments of the present application will be specifically described below with reference to the accompanying drawings.

[0064] Figure 2 A possible system architecture diagram applicable to the network congestion notification method provided by the embodiments of the present application is shown. The system architecture includes X availability zones, namely availability zone 1, availability zone 2,..., availability zone X. Among them, any two of the X availability zones are connected.

[0065] Taking Availability Zone 1 in the system architecture as an example below, each component of Availability Zone 1 will be described in detail. The components of other availability zones in the system architecture can refer to Availability Zone 1 and will not be elaborated here.

[0066] Figure 2 Availability Zone 1 in the shown system architecture diagram includes M4 cluster aggregation layer network devices and multiple network clusters (NCs), where M4 is an integer greater than 0. Any one of the M4 cluster aggregation layer network devices is connected to the cluster aggregation layer network devices in other availability zones to enable interaction between each availability zone. Any one of the multiple NCs is connected to each cluster aggregation layer network device, that is, each cluster aggregation layer network device is connected to multiple NCs, so that the multiple NCs can communicate with each other through the cluster aggregation layer network devices.

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

[0068] Figure 2 The shown system architecture diagram includes multiple NCs. Taking any one of the multiple NCs as an example for explanation, this NC includes M2 core layer network devices and multiple points of delivery (PODs), where M2 is an integer greater than 0. Any one of the M2 core layer network devices is connected to multiple cluster aggregation layer network devices to enable this NC to access each cluster aggregation layer network device. Any one of the multiple PODs is connected to each core layer network device, that is, each core layer network device is connected to multiple PODs, so that the multiple PODs can communicate with each other through the core layer network devices.

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

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

[0071] It should be understood that the aggregation layer network device can be a switch, a router, a network interface card, etc., which is not limited herein. The access layer network device can be a switch, a router, a network interface card, etc., which is not limited herein.

[0072] In addition, based on Figure 2 the changes and variations of the system architecture in

[0073]

Embodiment 1

[0074] The embodiment of the present application provides a network congestion notification method, which can be executed by the interaction between the network devices in the first available zone and the network devices in the second available zone involved in the related embodiments. Among them, the first available zone can be Figure 2 any available zone in Figure 2 and the second available zone is Figure 2 any available zone different from the first available zone in Figure 3 As shown in Any access layer network device among the M1 access layer network devices in the first available zone can execute the steps in S301 to S303.

[0075] S301, the access layer network device in the first available zone determines that there is congestion in the transmission path corresponding to the S first end-side nodes connected to the access layer network device.

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

[0077] One port in the access layer network device in the first available zone can include multiple priority queues. Among them, after the end-side node is connected to the port in the access layer network device, one priority queue in the port corresponds to the end-side node, that is, the priority of one priority queue in the port corresponds to the priority of the data packet to be sent by the end-side node. One end-side node can correspond to one priority queue in one port, and multiple end-side nodes can correspond to the same priority queue in one port.

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

[0079] Embodiment A1. After determining that at least one port in the access layer network device in the first available zone is congested, the access layer network device determines 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 congested ports in the access layer network device is one, then this one port is connected to S first end-side nodes. As another example, if the number of congested ports in 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.

[0080] In the above Embodiment A1, for the first port among the at least one port in the access layer network device, the first port is any port among the at least one port. 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.

[0081] In the above Embodiment A1, in order to continuously detect the congestion status of the 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 certain port is greater than or equal to the port congestion start threshold, the access layer network device determines that this port is congested, and the access layer network device can determine the first end-side nodes connected to this port according to relevant configurations.

[0082] 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 nodes connected to the ports in the access layer network device, and cannot determine the first end-side nodes connected to the ports in other access layer network devices.

[0083] Taking Embodiment A1 as an example, the access layer network device in the first available zone is access layer network device 1. Access layer network device 1 includes 2 congested ports (i.e., port 6 and port 7). Among them, 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, and 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. Specifically, reference can be made to 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 the transmission paths corresponding to the above 5 first end-side nodes are all congested.

[0084] Table 1.

[0085] In Embodiment A2, after determining that at least one priority queue in each of at least one port in the access layer network device in the first available zone is congested, the access layer network device determines S2 first end-side nodes respectively corresponding to at least one priority queue in each of the at least one port. Among them, the S2 first end-side nodes respectively corresponding to 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.

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

[0087] In the above Embodiment A2, in order to continuously detect the congestion status of the priority queues 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 based on the congestion detection function that the congestion status of the priority queue is greater than or equal to the congestion start threshold of the priority queue, 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 according to relevant configurations.

[0088] 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 nodes corresponding to the priority queues in the access layer network device, and cannot determine the first end-side nodes corresponding to the priority queues in other access layer network devices.

[0089] Taking Embodiment A2 as an example, the access layer network device in the first available zone is Access Layer Network Device 1. Access Layer Network Device 1 includes 2 ports (i.e., Port 6 and Port 7). The priority queue 3 in Port 6 is congested, and the priority queue 3 in Port 7 is congested. Among them, the first end-side nodes corresponding to the 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 the priority queue 3 in Port 7 of Access Layer Network Device 1 include First End-side Node 4 and First End-side Node 5. Specifically, refer to 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 the transmission paths corresponding to the above 5 first end-side nodes are all congested.

[0090] Table 2.

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

[0092] In the embodiments of the present application, the local announcement message includes the identifiers of the S first end-side nodes, and the local announcement 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.

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

[0094] S303. The access layer network device in the first available zone sends the local announcement message to the first network device in the first available zone; correspondingly, the first network device in the first available zone receives the local announcement message from the access layer network device in the first available zone.

[0095] In the above S303, the access layer network device in the first available zone can obtain the local announcement message from the priority queue in the access layer network device that meets the first condition, and send the local announcement message to the first network device in the first available zone. In the embodiments of the present application, by sending the local announcement message to the first network device in the first available zone through the priority queue in the access layer network device that meets the first condition, it can be ensured that the access layer network device sends the local announcement message as soon as possible, improving timeliness.

[0096] In the above S303, the first network device can be a cluster aggregation layer network device, a core layer network device, or an aggregation layer network device, which is not limited herein.

[0097] When the first network device is a cluster aggregation layer network device, the access layer network device can send the local announcement message to the cluster aggregation layer network device through the aggregation layer network device and the core layer network device.

[0098] When the first network device is a core layer network device, the access layer network device can send the local announcement message to the core layer network device through the aggregation layer network device.

[0099] When the first network device is an aggregation layer network device, the access layer network device can directly send a local advertisement message to the aggregation layer network device.

[0100] 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 advertisement message to the first network device in the first availability zone; correspondingly, the first network device in the first availability zone can receive local advertisement messages from the M1 access layer network devices in the first availability zone.

[0101] S304. The first network device in the first availability zone determines the identifiers of the N first end-side nodes in the first availability zone according to the identifiers of the S first end-side nodes carried in the local advertisement messages respectively sent by the M1 access layer network devices; where there is congestion in the transmission paths corresponding to the N first end-side nodes; N is an integer greater than 0.

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

[0103] It should be noted that the number of identifiers of the first end-side nodes carried in the local advertisement message sent by each access layer network device may be the same or different. That is, the number S of the first end-side nodes carried in the local advertisement messages sent by different access layer network devices may be the same or different.

[0104] In the embodiments of the present application, the identifier of the first end-side node carried in any local advertisement message among the M1 local advertisement messages is the identifier of one of the N first end-side nodes.

[0105] In a possible implementation manner, 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 through implementation manner B1 or B2.

[0106] Implementation manner B1. For the local advertisement message (i.e., the jth local advertisement message) sent by the jth access layer network device among the M1 access layer network devices, where the jth local advertisement message includes the identifiers of the S first end-side nodes connected to the jth access layer network device, and j is an integer taking values in the range of [1, M1], the first network device in the first availability zone performs the following steps: For ease of understanding, a first end - side node in the j - th local advertisement message is denoted as the end - side node to be judged, and a first end - side node in the k - th local advertisement message is denoted as the reference end - side node, where the k - th local advertisement message is any local advertisement message different from the j - th local advertisement message among the M1 local advertisement messages, that is, k is an integer taking values from 1 to M1, and k is not equal to j.

[0107] If the identifier of the end - side node to be judged in the j - th local advertisement message is the same as the identifier of the reference end - side node in the k - th local advertisement message, it means that both 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 congested. Therefore, the first network device takes 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.

[0108] If the identifier of the end - side node to be judged in the j - th local advertisement message is different from the identifier of the reference end - side node in the k - th local advertisement 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 take 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. Or, if the identifier of the end - side node to be judged in the j - th local advertisement message is different from the identifier of the reference end - side node in the k - th local advertisement 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 can not perform any processing on the identifier of the end - side node to be judged, that is, not take 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.

[0109] In Embodiment B1, the first network device makes a judgment based on the j - th local advertisement message and the k - th local advertisement message to determine whether the identifier of the first end - side node in the j - th local advertisement message is the identifier of a first end - side node among the N first end - side nodes, which is beneficial to the diversity of the scheme.

[0110] Embodiment B2, for the local advertisement message sent by the j - th access - layer network device among the M1 access - layer network devices (i.e., the j - th local advertisement message), where the j - th local advertisement message includes the identifiers of S first end - side nodes connected to the j - th access - layer network device, j is an integer taking values from 1 to M1, the first network device in the first available area performs the following steps: For ease of understanding, a first end - side node in the j - th local advertisement message is denoted as the end - side node to be judged, The first network device directly uses the identifier of the end - side node to be determined in the j - th local advertisement message as the identifier of one of the N first end - side nodes.

[0111] In Embodiment B2, the first network device does not need to judge the j - th local advertisement message, but directly uses the identifier of the end - side node to be determined in the j - th local advertisement message as the identifier of one of 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 area.

[0112] S305. The first network device in the first available area generates a long - distance advertisement message according to the identifiers of the N first end - side nodes.

[0113] In the above S305, the long - distance advertisement message includes the identifiers of the N first end - side nodes in the first available area, and the long - distance advertisement 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 available area.

[0114] After the first network device in the first available area executes S305, the first network device in the first available area can add the long - distance advertisement message to the priority queue in the first network device that meets the first condition. The first condition refers to the foregoing and will not be elaborated here.

[0115] S306. The first network device in the first available area sends the long - distance advertisement message to the second network device in the second available area; correspondingly, the second network device in the second available area receives the long - distance advertisement message from the first network device in the first available area.

[0116] In the above S306, the first network device in the first available area can obtain the long - distance advertisement message from the priority queue in the first network device that meets the first condition and send the long - distance advertisement message to the second network device in the second available area. In the embodiments of the present application, the first network device sends the long - distance advertisement message to the second network device in the second available area 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 advertisement message as soon as possible and improve timeliness.

[0117] In the above S306, when the first network device is a cluster aggregation layer network device, the second network device can be a cluster aggregation layer network device. After obtaining the long - distance advertisement message, the cluster aggregation layer network device in the second available area can notify the second end - side nodes in the second available area that there is congestion in the transmission paths corresponding to the N first end - side nodes according to the long - distance advertisement message.

[0118] When the first network device is a cluster aggregation layer network device, the second network device can also be a core layer network device or an aggregation layer network device in the second availability zone. When the core layer network device or the aggregation layer network device in the second availability zone obtains the long-distance announcement message, it can directly send a congestion announcement message to the end-side nodes in the second availability zone according to the long-distance announcement message, instead of the cluster aggregation layer network device in the second availability zone sending the congestion announcement message to the end-side nodes in the second availability zone according to the long-distance announcement message, which can reduce the transmission distance to a certain extent, and then enable the end-side nodes in the second availability zone to perceive network congestion as soon as possible. In addition, since it is the core layer network device or the aggregation layer network device in the second availability zone that receives and processes the long-distance announcement message, the load on the cluster aggregation layer network device in the second availability zone can be reduced.

[0119] When 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 announcement 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 announcement message to the end-side nodes in the second availability zone according to the long-distance announcement message, the transmission distance can be reduced to a certain extent, and then the end-side nodes in the second availability zone can perceive network congestion as soon as possible. In addition, since the number of core layer network devices in the first availability zone is more 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 core layer network device in the first availability zone has to forward fewer long-distance announcement messages, so the load on each core layer network device is less.

[0120] When 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 announcement 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 announcement message to the end-side nodes in the second availability zone according to the long-distance announcement message, the transmission distance can be reduced to a certain extent, and then the end-side nodes in the second availability zone can perceive network congestion as soon as possible. In addition, since the number of aggregation layer network devices in the first availability zone is more 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 to forward fewer long-distance announcement messages, so the load on each aggregation layer network device is less.

[0121] S307, 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.

[0122] In the above S307, the data packet sent by the second end-side node may include the identifier of the source node and the identifier of the destination node. Among them, 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 available zone. For example, the identifier of the destination node is the IP address of the first end-side node in the first available zone.

[0123] The data packet sent by the second end-side node may also include the data information to be sent.

[0124] In a possible implementation, after receiving the data packet sent by the second end-side node, the second network device in the second available zone may sample the received data packet to obtain a partial data packet, and perform the steps in S308 using the partial data packet. Instead of performing subsequent processing on all the data packets sent by the second end-side node, the second network device only performs subsequent processing on some of the data packets sent by the second end-side node, which can reduce the load on the second network device.

[0125] S308, 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 in the second available zone generates a congestion notification packet according to the identifier of the destination node.

[0126] In the above S308, the congestion notification packet includes the identifier of the second end-side node, which facilitates the second network device in the second available zone to send the congestion notification packet to the second end-side node. The congestion notification packet also includes the identifier of the destination node, and the congestion notification packet can be used to indicate that there is congestion in the transmission path corresponding to the destination node.

[0127] After the second network device in the second available zone executes S308, the second network device in the second available zone may add the congestion notification packet to the priority queue in the second network device that meets the first condition. The first condition refers to the foregoing and will not be elaborated here.

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

[0129] In the above S309, the second network device in the second available zone may obtain the congestion notification packet from the priority queue in the second network device that meets the first condition and send the congestion notification packet to the second end-side node. In the embodiments of the present application, by sending the congestion notification packet to the second end-side node through the priority queue in the second network device that meets the first condition, it can ensure that the second network device sends the congestion notification packet as soon as possible and improve the timeliness.

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

[0131] In 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 available zone, 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, if 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, it can send a congestion notification message to the second end-side node, rather than the first end-side node sending the congestion notification message. This can enable 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 relieve network congestion.

[0132] Furthermore, the network device in each available zone sends the congestion notification message to the end-side nodes in each available zone, rather than the first end-side node sending the congestion notification message. Therefore, to a certain extent, it can alleviate the situation where the end-side nodes closer to the first end-side node receive the congestion notification message earlier than the end-side nodes farther from the first end-side node. Furthermore, to a certain extent, it can avoid the end-side nodes closer to the first end-side node significantly reducing the sending of data messages, while the end-side nodes farther from the first end-side node slightly reduce the sending of data messages, and the service fairness of each end-side node can be achieved.

[0133] In addition, in the prior art, only the second end-side node that sends the data message to the first end-side node can receive the congestion notification message, and the second end-side nodes in the second available zone that do not send the data message to the first end-side node cannot receive the congestion notification message. However, in the solution shown in this application, any second end-side node in the second available zone can receive the congestion notification message after sending the data message to the second network device in the second available zone, which is convenient for controlling the situation of the second end-side nodes in the second available zone sending data messages and further reducing the degree of network congestion.

[0134]

Embodiment 2

[0135] The embodiment of this application provides a network congestion notification method, which can be executed by the interaction between the network device in the first available zone and the network device in the second available zone involved in the Figure 2 related embodiments. Among them, the first available zone can be Figure 2 any available zone in Figure 2 and the second available zone is Figure 4 any available zone different from the first available zone in Any one of the M1 access layer network devices in the first available area can execute the steps in S401 to S403.

[0136] S401. The access layer network device in the first available area determines that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to this access layer network device, and the first congestion prediction durations respectively corresponding to the S first end-side nodes.

[0137] In the above S401, the description of the ports or priority queues in the access layer network device in the first available area refers to the description in S301, which will not be elaborated here.

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

[0139] Embodiment B1. After the access layer network device in the first available area determines that there is congestion in at least one port in this access layer network device, it determines the S first end-side nodes connected to the at least one port and the first congestion prediction durations respectively corresponding to the S first end-side nodes. Among them, the S first end-side nodes connected to the at least one port are the S first end-side nodes connected to this access layer network device. As an example, if the number of congested ports in this access layer network device is one, then this one port is connected to S first end-side nodes. As another example, if the number of congested ports in this 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 numbers of the first end-side nodes connected by the multiple ports is S.

[0140] In the above Embodiment B1, for the first port among the at least one port in this access layer network device, the first port is any port among 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.

[0141] In the above Embodiment B1, in order to continuously detect the congestion status of the 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 certain port is greater than or equal to the port congestion start threshold, the access layer network device determines that this port is congested, and the access layer network device can determine the first end-side nodes connected to this port and the first congestion prediction duration of this port in the access layer network device according to relevant configurations. Among them, the first congestion prediction duration of this port is the first congestion prediction duration corresponding to the first end-side nodes connected to this port.

[0142] It should be understood that for an access layer network device in the first available area, the access layer network device can only determine the first end-side nodes connected to the ports in the access layer network device, and cannot determine the first end-side nodes connected to the ports in other access layer network devices.

[0143] In the above Embodiment B1, the access layer network device in the first available area can determine the first congestion prediction duration of the ports in the access layer network device through the steps as Figure 5A shown to determine the first congestion prediction duration of the ports in the access layer network device.

[0144] S501A, the access layer network device in the first available area obtains the port congestion duration historical data, where the port congestion duration historical data includes the identifiers of N1 ports and the congestion historical durations respectively corresponding to the N1 ports.

[0145] For any port, the congestion historical duration corresponding to the port can be determined in the following way: when the congestion detection function of the port detects that the congestion state of the port 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 moment when the port becomes congested as the congestion start moment; when the congestion detection function of the port detects that the congestion state of the port is less than or equal to the port congestion end threshold, the access layer network device determines that the congestion of the port ends and records the moment when the port congestion ends as the congestion end moment. The access layer network device determines the difference between the congestion end moment and the congestion start moment as the congestion historical duration corresponding to the port.

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

[0147] For example, the access layer network device 1 includes 2 ports (i.e., port 6 and port 7), and the congestion historical durations respectively corresponding to the 2 ports determined by the access layer network device 1 are shown in Table 3. In Table 3, for the access layer network device 1: port 6 was congested in 3 different time periods, and the statistically obtained congestion historical durations are 200 us, 220 us, and 300 us respectively. For the access layer network device 1: port 7 was congested in 2 different time periods, and the statistically obtained congestion historical durations are 200 us and 400 us respectively.

[0148] Table 3.

[0149] S502A, the access layer network device in the first available area determines the first congestion prediction duration of the ports in the access layer network device according to the port congestion duration historical data and the identifiers of the ports in the access layer network device.

[0150] In a possible implementation, the access layer network device in the first available area may determine the first congestion prediction duration of the ports in the access layer network device through implementation C1 or C2.

[0151] Implementation C1: The access layer network device in the first available area may train a machine learning model based on the port congestion duration historical data to obtain the trained machine learning model. The access layer network device inputs the identifier of the port into the trained machine learning model, and the machine learning model outputs the first congestion prediction duration of the port.

[0152] Implementation C2: The access layer network device in the first available area may, according to the identifier of the port, obtain at least one congestion historical duration corresponding to the identifier of the port from the port congestion duration historical data, and determine the first congestion prediction duration of the port according to the at least one congestion historical duration corresponding to the identifier of the port.

[0153] In the above implementation C2, after the access layer network device in the first available area determines the at least one congestion historical duration corresponding to the identifier of the port, it may use the mean value of the at least one congestion historical duration corresponding to the identifier of the port as the first congestion prediction duration of the port, or may also use the median value of the at least one congestion historical duration corresponding to the identifier of the port as the first congestion prediction duration of the port.

[0154] Figure 5A The steps shown provide a specific method for determining the first congestion prediction duration of the ports in the access layer network device.

[0155] Implementation B2: After the access layer network device in the first available area determines that there is congestion in at least one priority queue in each port of at least one port in the access layer network device, it determines S2 first end-side nodes corresponding to each port of at least one port in the at least one port respectively, and the first congestion prediction duration corresponding to each of the S2 first end-side nodes. Among them, the S2 first end-side nodes corresponding to each port of at least one port in 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.

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

[0157] In the above-described Embodiment B2, in order to continuously detect the congestion status of the 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 the priority queue congestion start threshold, the access layer network device determines that the priority queue is congested. The access layer network device may determine, according to relevant configurations, a first end-side node corresponding to the priority queue and a first congestion prediction duration of the priority queue in the access layer network device. 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.

[0158] 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 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.

[0159] In the above-described Embodiment B2, 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 the steps as Figure 5B shown.

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

[0161] For any priority queue, the congestion historical duration corresponding to the priority queue may be determined in the following manner: If the congestion detection function of the priority queue detects that the congestion status 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 moment when the priority queue becomes congested as the congestion start moment; if the congestion detection function of the priority queue detects that the congestion status 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 ends and records the moment when the congestion of the priority queue ends as the congestion end moment. The access layer network device determines the difference between the congestion end moment and the congestion start moment as the congestion historical duration corresponding to the priority queue.

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

[0163] For example, the access layer network device 1 includes 2 ports (i.e., port 6 and port 7). Among them, port 6 includes the priority queue 3, and port 7 includes the priority queue 3. The congestion history durations corresponding to the priority queues in each port determined by the access layer network device 1 are shown in Table 4. In Table 4, for the access layer network device 1: the priority queue 3 in port 6 has congestion in 3 different time periods, and the statistically obtained congestion history durations are 50 us, 100 us, and 100 us respectively. For the access layer network device 1: the priority queue 3 in port 7 has congestion in 2 different time periods, and the statistically obtained congestion history durations are 200 us and 400 us respectively.

[0164] Table 4.

[0165] S502B. 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 according to the congestion duration historical data of the priority queue and the identifiers of the ports and the identifiers of the priority queues in the access layer network device.

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

[0167] Implementation D1. The access layer network device in the first available zone can train a machine learning model according to the congestion duration historical data of the priority queue to obtain the trained machine learning model. The access layer network device inputs the identifiers of the port and the identifier of the priority queue into the trained machine learning model, and the machine learning model outputs the first congestion prediction duration of the priority queue.

[0168] Implementation D2. The access layer network device in the first available zone can, according to the identifiers of the port and the identifier of the priority queue, obtain at least one congestion history duration corresponding to the identifier of the port and the identifier of the priority queue from the congestion duration historical data of the priority queue, and determine the first congestion prediction duration of the priority queue according to the at least one obtained congestion history duration.

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

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

[0171] In S401 above, after the access layer network device in the first available area determines the S first end-side nodes connected to the access layer network device and the first congestion prediction durations respectively corresponding to the S first end-side nodes, it can directly execute the steps in S402; it can also filter the first congestion prediction durations respectively corresponding to the S first end-side nodes, determine the first congestion prediction durations greater than the first duration threshold and the identifiers of the corresponding first end-side nodes, and then execute the steps in S402.

[0172] S402, the access layer network device in the first available area generates a local advertisement 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.

[0173] In the embodiment of the present application, the local advertisement message includes the identifiers of the S first end-side nodes and the first congestion prediction durations respectively corresponding to the S first end-side nodes. The local advertisement 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 in the transmission paths corresponding to the S first end-side nodes will last for the first congestion prediction durations respectively corresponding to the S first end-side nodes.

[0174] After the access layer network device in the first available area executes S402, the access layer network device in the first available area can add the local advertisement message to the priority queue in the access layer network device that meets the first condition. The first condition refers to the foregoing and will not be elaborated here.

[0175] S403, the access layer network device in the first available area sends the local advertisement message to the first network device in the first available area; correspondingly, the first network device in the first available area receives the local advertisement message from the access layer network device in the first available area.

[0176] In S403 above, the access layer network device in the first available area can obtain the local advertisement message from the priority queue in the access layer network device that meets the first condition and send the local advertisement message to the first network device in the first available area. In the embodiment of the present application, the access layer network device sends the local advertisement message to the first network device in the first available area 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 advertisement message as soon as possible and improve the timeliness.

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

[0178] When the first network device is a cluster aggregation layer network device, the access layer network device may send a local advertisement message to the cluster aggregation layer network device through the aggregation layer network device and the core layer network device.

[0179] When the first network device is a core layer network device, the access layer network device may send a local advertisement message to the core layer network device through the aggregation layer network device.

[0180] When the first network device is an aggregation layer network device, the access layer network device may directly send a local advertisement message to the aggregation layer network device.

[0181] It should be understood that any access layer network device among the M1 access layer network devices in the first availability zone may send a local advertisement message to the first network device in the first availability zone; correspondingly, the first network device in the first availability zone may receive local advertisement messages from the M1 access layer network devices in the first availability zone.

[0182] S404. The first network device in the first availability zone determines the identifiers of the N first end-side nodes in the first availability zone and the second congestion prediction durations respectively corresponding to the N first end-side nodes according to the identifiers of the S first end-side nodes carried in the local advertisement messages respectively sent by the M1 access layer network devices and the first congestion prediction durations respectively corresponding to the S first end-side nodes; wherein, 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 last for the second congestion prediction durations respectively corresponding to the N first end-side nodes; N is an integer greater than 0.

[0183] In the embodiments 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, the multiple local advertisement messages received by the first network device in the first availability zone may include the identifier of the same end-side node.

[0184] It should be noted that the number of identifiers of the first end-side nodes carried in the local advertisement message sent by each access layer network device may be the same or different. That is to say, the number S of the first end-side nodes carried in the local advertisement messages sent by different access layer network devices may be the same or different.

[0185] In S404 above, 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 and the second congestion prediction durations respectively corresponding to the N first end-side nodes through implementation manner E1 or E2.

[0186] Embodiment E1. For the 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 S first end-side nodes connected to the j-th access layer network device and the first congestion prediction durations respectively corresponding to the S first end-side nodes, j is an integer taking values from 1 to M1, the first network device in the first available area performs the following steps: For ease of understanding, a first end-side node in the j-th local announcement message is denoted as the to-be-determined end-side node, and a first end-side node in the k-th local announcement message is denoted as the reference end-side node, where the k-th local announcement message is any local announcement message different from the j-th local announcement message among the M1 local announcement messages, that is, k is an integer taking values from 1 to M1, and k is not equal to j.

[0187] If the identifier of the to-be-determined end-side node 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 both the j-th access layer network device corresponding to the to-be-determined end-side node and the k-th access layer network device corresponding to the reference end-side node are 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 according to the j-th local announcement message and the k-th local announcement message.

[0188] In a possible implementation manner, the first network device determines 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 according to the j-th local announcement message and the k-th local announcement message, including the following embodiments F1, F2, and F3.

[0189] Embodiment F1. If the first congestion prediction duration corresponding to the to-be-determined end-side node 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 to-be-determined end-side node is greater than the first congestion prediction duration corresponding to the reference end-side node, then use the identifier of the to-be-determined end-side node 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 to-be-determined end-side node as the second congestion prediction duration corresponding to a first end-side node among the N first end-side nodes.

[0190] In Embodiment F2, if the first congestion prediction duration corresponding to the to-be-determined end-side node in the j-th local advertisement message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local advertisement message is greater than the first time threshold, then the identifier of the to-be-determined end-side node is used as the identifier of one of the N first end-side nodes, and the average value of the first congestion prediction duration corresponding to the to-be-determined end-side node and the first congestion prediction duration corresponding to the reference end-side node is used as the second congestion prediction duration corresponding to one of the N first end-side nodes.

[0191] In Embodiment F3, if the first congestion prediction duration corresponding to the to-be-determined end-side node in the j-th local advertisement message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local advertisement message is greater than the first time threshold, and the first congestion prediction duration corresponding to the to-be-determined end-side node is less than or equal to the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the to-be-determined end-side node is used as the identifier of one of the N first end-side nodes, and the first congestion prediction duration corresponding to the to-be-determined end-side node is used as the second congestion prediction duration corresponding to one of the N first end-side nodes.

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

[0193] In Embodiment E1, the first network device makes a judgment based on the j-th local advertisement message and the k-th local advertisement message, and determines the identifier of one of the N first end-side nodes and the second congestion prediction duration corresponding to one of the first end-side nodes according to the j-th local advertisement message and the k-th local advertisement message, which is conducive to the diversity of the solution.

[0194] Embodiment E2. For the 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 S first end-side nodes connected to the j-th access layer network device and the first congestion prediction durations respectively corresponding to the S first end-side nodes, j is an integer taking values from [1, M1], the first network device in the first available area performs the following steps: For ease of understanding, a first end-side node in the j-th local announcement message is denoted as the to-be-determined end-side node. The first network device takes the identifier of the to-be-determined end-side node in the j-th local announcement message as the identifier of a first end-side node among N first end-side nodes, and takes the first congestion prediction duration corresponding to the to-be-determined end-side node as the second congestion prediction duration corresponding to a first end-side node.

[0195] In Embodiment E2, the first network device does not need to judge the j-th local announcement message, but directly takes the identifier of the to-be-determined end-side node in the j-th local announcement message as the identifier of a first end-side node among N first end-side nodes, and takes the first congestion prediction duration corresponding to the to-be-determined end-side node 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 area.

[0196] S405. The first network device in the first available area generates a long-distance announcement 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.

[0197] In the above S405, the long-distance announcement message includes the identifiers of the N first end-side nodes in the first available area and the second congestion prediction durations respectively corresponding to the N first end-side nodes. The long-distance announcement 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 available area, and the congestion in the transmission paths corresponding to the N first end-side nodes will last for the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0198] After the first network device in the first available area executes S405, the first network device in the first available area can add the long-distance announcement message to the priority queue in the first network device that meets the first condition. The first condition refers to the foregoing and will not be elaborated here.

[0199] S406. The first network device in the first available area sends the long-distance announcement message to the second network device in the second available area; correspondingly, the second network device in the second available area receives the long-distance announcement message from the first network device in the first available area.

[0200] In the above S406, the first network device in the first available area may obtain the long-distance announcement message from the priority queue in the first network device that meets the first condition, and send the long-distance announcement message to the second network device in the second available area. In the embodiment of the present application, the first network device sends the long-distance announcement message to the second network device in the second available area 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 announcement message as soon as possible and improve timeliness.

[0201] In the above S406, when the first network device is a cluster aggregation layer network device, the second network device may be a cluster aggregation layer network device. After obtaining the long-distance announcement message, the cluster aggregation layer network device in the second available area may notify, according to the long-distance announcement message, the second end-side node in the second available area that there is congestion in the transmission paths corresponding to N first end-side nodes, and the congestion in the transmission paths corresponding to the N first end-side nodes will last for the second congestion prediction duration corresponding to the N first end-side nodes respectively.

[0202] When the first network device is a cluster aggregation layer network device, the second network device may also be a core layer network device or an aggregation layer network device in the second available area. When the core layer network device or the aggregation layer network device in the second available area obtains the long-distance announcement message, it may directly send a congestion announcement packet to the end-side node in the second available area according to the long-distance announcement message, rather than the cluster aggregation layer network device in the second available area sending the congestion announcement packet to the end-side node in the second available area according to the long-distance announcement message. To a certain extent, the transmission distance can be reduced, and then the end-side node in the second available area can sense network congestion as soon as possible. In addition, since the core layer network device or the aggregation layer network device in the second available area receives and processes the long-distance announcement message, the load on the cluster aggregation layer network device in the second available area can be reduced.

[0203] When the first network device is a core layer network device, the second network device may be a core layer network device. Since the long-distance announcement message is transmitted between the core layer network device in the first available area and the core layer network device in the second available area, and the core layer network device in the second available area sends a congestion announcement packet to the end-side node in the second available area according to the long-distance announcement message, the transmission distance can be reduced to a certain extent, and then the end-side node in the second available area can sense network congestion as soon as possible. In addition, since the number of core layer network devices in the first available area is more than the number of cluster aggregation layer network devices in the first available area, compared with the cluster aggregation layer network devices in the first available area, each core layer network device in the first available area has to forward fewer long-distance announcement messages. Therefore, the load on each core layer network device is less.

[0204] When the first network device is an aggregation layer network device, the second network device can also be an aggregation layer network device. Since long-distance announcement messages are transmitted between the aggregation layer network devices in the first available zone and the aggregation layer network devices in the second available zone, and the aggregation layer network devices in the second available zone send congestion announcement messages to the end-side nodes in the second available zone according to the long-distance announcement messages, the transmission distance can be reduced to a certain extent, so that the end-side nodes in the second available zone can perceive network congestion as soon as possible. In addition, since the number of aggregation layer network devices in the first available zone is more than the number of cluster aggregation layer network devices in the first available zone, compared with the cluster aggregation layer network devices in the first available zone, each aggregation layer network device in the first available zone needs to forward fewer long-distance announcement messages. Therefore, the load of each aggregation layer network device is less.

[0205] 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.

[0206] In S407 above, the data packet sent by the second end-side node may include the identifier of the source node and the identifier of the destination node. Among them, 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 available zone. For example, the identifier of the destination node is the IP address of the first end-side node in the first available zone.

[0207] The data packet sent by the second end-side node may also include the data information to be sent.

[0208] In a possible implementation, after receiving the data packet sent by the second end-side node, the second network device in the second available zone may sample the received data packet to obtain a part of the data packet, and use the part of the data packet to execute the steps in S408. If the second network device does not perform subsequent processing on all the data packets sent by the second end-side node, but only performs subsequent processing on a part of the data packets sent by the second end-side node, the load of the second network device can be reduced.

[0209] S408. 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 in the second available zone determines the congestion prediction net duration corresponding to the destination node according to the second congestion prediction duration corresponding to the destination node.

[0210] In S408 above, the second network device can determine the congestion prediction net duration corresponding to the destination node through the steps as Figure 6 shown.

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

[0212] S602. The second network device determines the congestion prediction net duration corresponding to the destination node according to the second congestion prediction duration corresponding to the destination node and the message transmission duration between the first network device and the second network device.

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

[0214] Figure 6 The steps shown provide a specific method for determining the congestion prediction net duration corresponding to the destination node.

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

[0216] 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 congestion prediction net duration corresponding to the destination node.

[0217] In the above S409, the congestion notification message includes the identifier of the second end-side node, which facilitates the second network device in the second available zone to 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 prediction net 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 in the transmission path corresponding to the destination node will last for the congestion prediction net duration corresponding to the destination node. Among them, the congestion prediction net 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 congestion prediction net duration and invalid outside the congestion prediction net duration.

[0218] Optionally, in the above S409, the second network device in the second available zone may generate a congestion notification message according to the identifier of the destination node. Among them, the congestion notification message includes the identifier of the destination node, and the congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node. The congestion notification message generated by this method does not include the congestion prediction net duration corresponding to the destination node.

[0219] After the second network device in the second available area executes S409, the second network device in the second available area may add the congestion notification message to the priority queue in the second network device that meets the first condition. The first condition is referred to above and will not be elaborated here.

[0220] S410, the second network device in the second available area sends the 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 area.

[0221] In the above S410, the second network device in the second available area may obtain the congestion notification message from the priority queue in the second network device that meets the first condition, and send the congestion notification message to the second end-side node. In the embodiments of the present application, the second network device sends the 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 the timeliness.

[0222] 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 area 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 of sending data messages. If the second end-side node does not receive the congestion notification message from the second network device for 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 of sending data messages.

[0223] In the above S410, when the congestion notification message includes the identifier of the destination node and the congestion prediction net duration corresponding to the destination node, after the second end-side node receives the congestion notification message from the second network device, the second end-side node may reduce the rate of sending data messages within the congestion prediction net duration to relieve network congestion. The second end-side node may resume the rate of sending data messages outside the congestion prediction net duration to make full use of the network, and finally balance the problems of network congestion and network idle.

[0224] In Figure 4In the steps shown, when there is congestion in the transmission paths corresponding to the N first end-side nodes in the first available area, after the second end-side node in the second available area sends the data packet to the second network device in the second available area, when 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, it can send a congestion notification packet to the second end-side node, rather than the first end-side node sending the congestion notification packet. This can enable the second end-side node to obtain the congestion notification packet earlier and reduce the rate of sending data packets according to the congestion notification packet, so as to alleviate network congestion. Since the congestion notification packet includes the predicted net congestion duration corresponding to the destination node, it can enable the second end-side node to control the sending rate of the data packet according to the predicted net congestion duration, so that the second end-side node can more accurately regulate the sending of the data packet and balance the problems of network congestion and network idleness.

[0225] Furthermore, the network device in each available area sends a congestion notification packet to the end-side nodes in each available area, rather than the first end-side node sending the congestion notification packet. Therefore, to a certain extent, it can alleviate the situation that the end-side nodes closer to the first end-side node receive the congestion notification packet earlier than the end-side nodes farther from the first end-side node. Furthermore, to a certain extent, it can avoid that the end-side nodes closer to the first end-side node significantly reduce the sending of data packets, while the end-side nodes farther from the first end-side node slightly reduce the sending of data packets, and the service fairness of each end-side node can be achieved.

[0226] In addition, in the prior art, only the second end-side node that sends the data packet to the first end-side node can receive the congestion notification packet, and the second end-side nodes in the second available area that do not send the data packet to the first end-side node cannot receive the congestion notification packet. However, in the solution shown in this application, any second end-side node in the second available area can receive the congestion notification packet after sending the data packet to the second network device in the second available area, which is convenient for controlling the situation of the second end-side node in the second available area sending data packets and further reducing the degree of network congestion.

[0227]

Embodiment III

[0228] The embodiment of this application provides a network congestion notification method, which can be executed by the interaction of the network device in the first available area and the network device in the second available area involved in the Figure 2 related embodiments. Among them, the first available area can be Figure 2 any available area, and the second available area is Figure 2 any available area different from the first available area. Referring to Figure 7 shown, the process of this method includes: Any one of the M1 access layer network devices in the first available area can execute the steps in S701 to S703.

[0229] S701. The access layer network device in the first available area determines that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to the access layer network device, the first congestion prediction durations respectively corresponding to the S first end-side nodes, and the identifiers of at least one port.

[0230] In S701 above, the description of the ports in the access layer network device in the first available area refers to the description in S301 and will not be elaborated here.

[0231] In S701 above, the access layer network device in the first available area can determine the S first end-side nodes connected to the access layer network device, the first congestion prediction durations respectively corresponding to the S first end-side nodes, and the identifiers of at least one port through the following implementation methods. Specifically, after the access layer network device in the first available area determines that there is congestion in at least one port in the access layer network device, it determines the S first end-side nodes connected to the at least one port and the first congestion prediction durations respectively corresponding to the S first end-side nodes. 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 congested ports in 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 congested ports in 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 numbers of the first end-side nodes connected by the multiple ports is S.

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

[0233] In S701 above, in order to continuously detect the congestion status of the 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 certain port is greater than or equal to the port congestion start threshold, the access layer network device determines that the port is congested, and 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 according to relevant configurations. 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.

[0234] It should be understood that for an access layer network device in the first available area, the access layer network device can only determine the first end-side nodes connected to the ports in the access layer network device, and cannot determine the first end-side nodes connected to the ports in other access layer network devices.

[0235] In S701 above, the access layer network device in the first available area determines the first congestion prediction duration of the ports in the access layer network device, which can refer to Figure 5A the steps shown and will not be elaborated here.

[0236] For example, the access layer network device in the first available area is access layer network device 1, and access layer network device 1 includes 2 docking ports (i.e., port 6 and port 7). Among them, 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, and 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. Specifically, it can refer to Table 5.

[0237] Table 5.

[0238] In S701 above, after the access layer network device in the first available area determines the S first end-side nodes connected to the access layer network device, the first congestion prediction durations respectively corresponding to the S first end-side nodes, and the identifiers of at least one port, it can directly execute the steps in S702; or it can filter the first congestion prediction durations respectively corresponding to the S first end-side nodes, determine the first congestion prediction durations greater than the first duration threshold, as well as the identifiers of the corresponding first end-side nodes and the identifiers of the corresponding ports, and then execute the steps in S702.

[0239] S702, the access layer network device in the first available area generates a local advertisement 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 identifiers of at least one port.

[0240] In the embodiments of the present application, the local advertisement message includes 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 identifiers of at least one port. The local advertisement 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 in 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.

[0241] After the access layer network device in the first available area executes S702, the access layer network device in the first available area may add the local advertisement message to the priority queue that meets the first condition in the access layer network device. The first condition is referred to the previous text and will not be elaborated here.

[0242] S703. The access layer network device in the first available area sends the local advertisement message to the first network device in the first available area; correspondingly, the first network device in the first available area receives the local advertisement message from the access layer network device in the first available area.

[0243] In the above S703, the access layer network device in the first available area may obtain the local advertisement message from the priority queue that meets the first condition in the access layer network device and send the local advertisement message to the first network device in the first available area. In the embodiments of the present application, the access layer network device sends the local advertisement message to the first network device in the first available area through the priority queue that meets the first condition in the access layer network device, which can ensure that the access layer network device sends the local advertisement message as soon as possible and improve the timeliness.

[0244] 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 herein.

[0245] When the first network device is a cluster aggregation layer network device, the access layer network device may send the local advertisement message to the cluster aggregation layer network device through the aggregation layer network device and the core layer network device.

[0246] When the first network device is a core layer network device, the access layer network device may send the local advertisement message to the core layer network device through the aggregation layer network device.

[0247] When the first network device is an aggregation layer network device, the access layer network device may directly send the local advertisement message to the aggregation layer network device.

[0248] It should be understood that any one of the M1 access layer network devices in the first available area may send the local advertisement message to the first network device in the first available area; correspondingly, the first network device in the first available area may receive the local advertisement messages from the M1 access layer network devices in the first available area.

[0249] S704. The first network device in the first available area determines the identifiers of N first end-side nodes in the first available area and the second congestion prediction duration corresponding to each of the N first end-side nodes according to the identifiers of S first end-side nodes carried in the local advertisement messages respectively sent by M1 access layer network devices, the first congestion prediction duration corresponding to each of the S first end-side nodes, and the identifier of at least one port; where congestion exists in the transmission paths corresponding to the N first end-side nodes, and the congestion in the transmission paths corresponding to the N first end-side nodes will last for the second congestion prediction duration corresponding to each of the N first end-side nodes respectively; N is an integer greater than 0.

[0250] In the embodiments 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, the multiple local advertisement messages received by the first network device in the first available area include the identifier of the same end-side node, and the identifiers of the ports connected to this end-side node are different.

[0251] It should be noted that the number of identifiers of the first end-side nodes carried in the local advertisement messages sent by each access layer network device may be the same or different. That is to say, the number S of the first end-side nodes carried in the local advertisement messages sent by different access layer network devices may be the same or different.

[0252] In the above S704, the first network device in the first available area may determine the identifiers of N first end-side nodes in the first available area and the second congestion prediction duration corresponding to each of the N first end-side nodes through implementation manner G1 or G2.

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

[0254] The specific steps of implementation manner G1 are as follows: for the local advertisement message sent by the j-th access layer network device among the M1 access layer network devices (i.e., the j-th local advertisement message), where the j-th local advertisement message includes the identifiers of S first end-side nodes connected to the j-th access layer network device, the first congestion prediction duration corresponding to each of the S first end-side nodes, and the identifier of at least one port, j is an integer taking values in the range of [1, M1], the first network device in the first available area performs the following steps: For ease of understanding, a first end - side node in the j - th local advertisement message is denoted as the to - be - judged end - side node, and a first end - side node in the k - th local advertisement message is denoted as the reference end - side node, where the k - th local advertisement message is any local advertisement message different from the j - th local advertisement message among the M1 local advertisement messages, that is, k is an integer taking values from 1 to M1, and k is not equal to j. When the to - be - judged end - side node and the reference end - side node are the same, the to - be - judged end - side node and the reference end - side node can be regarded as the third end - side node described above.

[0255] If the identifier of the to - be - judged end - side node in the j - th local advertisement message is the same as the identifier of the reference end - side node in the k - th local advertisement message, and the identifier of the port in the j - th access - layer network device corresponding to the to - be - judged end - side node 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 to - be - judged end - side node 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 according to the j - th local advertisement message and the k - th local advertisement message.

[0256] In a possible implementation, the first network device determines 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 according to the j - th local advertisement message and the k - th local advertisement message, including the following implementation manners H1, H2, and H3.

[0257] Implementation manner H1: If the first congestion prediction duration corresponding to the to - be - judged end - side node in the j - th local advertisement message and / or the first congestion prediction duration corresponding to the reference end - side node in the k - th local advertisement message is greater than the first time threshold, and the first congestion prediction duration corresponding to the to - be - judged end - side node is greater than the first congestion prediction duration corresponding to the reference end - side node, then use the identifier of the to - be - judged end - side node 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 to - be - judged end - side node as the second congestion prediction duration corresponding to a first end - side node.

[0258] Implementation manner H2: If the first congestion prediction duration corresponding to the to - be - judged end - side node in the j - th local advertisement message and / or the first congestion prediction duration corresponding to the reference end - side node in the k - th local advertisement message is greater than the first time threshold, then use the identifier of the to - be - judged end - side node as the identifier of a first end - side node among the N first end - side nodes, and use the average value of the first congestion prediction duration corresponding to the to - be - judged end - side node and the first congestion prediction duration corresponding to the reference end - side node as the second congestion prediction duration corresponding to a first end - side node.

[0259] In Embodiment H3, if the first congestion prediction duration corresponding to the to-be-determined end-side node 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 to-be-determined end-side node is less than or equal to the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the to-be-determined end-side node is used as the identifier of one of the N first end-side nodes, and the first congestion prediction duration corresponding to the to-be-determined end-side node is used as the second congestion prediction duration corresponding to one of the first end-side nodes.

[0260] If the identifier of the to-be-determined end-side node 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 port in the j-th access layer network device corresponding to the to-be-determined end-side node is congested, and the ports in other access layer network devices connected to the to-be-determined end-side node are not congested. Therefore, the first network device can use the identifier of the to-be-determined end-side node as the identifier of one of the N first end-side nodes, and use the first congestion prediction duration corresponding to the to-be-determined end-side node as the second congestion prediction duration corresponding to one of the first end-side nodes. Or, if the identifier of the to-be-determined end-side node 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 port in the j-th access layer network device corresponding to the to-be-determined end-side node is congested, and the ports in other access layer network devices connected to the to-be-determined end-side node are not congested, and the first network device can not perform any processing on the identifier of the to-be-determined end-side node.

[0261] In Embodiment 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 one of the N first end-side nodes and the second congestion prediction duration corresponding to one of the first end-side nodes according to the j-th local announcement message and the k-th local announcement message, which is beneficial to the diversity of the solution.

[0262] Embodiment G2, 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 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 respectively, and the identifier of at least one port, j is an integer taking values from [1, M1], and the first network device in the first available area performs the following steps: For the sake of easy understanding, a first end-side node in the j-th local announcement message is denoted as the to-be-determined end-side node.

[0263] The first network device 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, and uses the first congestion prediction duration corresponding to the end - side node to be determined as the second congestion prediction duration corresponding to a first end - side node.

[0264] In Embodiment 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 determined 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 determined 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 area.

[0265] S705. The first network device in the first available area generates a long - distance announcement 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.

[0266] In the above S705, the long - distance announcement message includes the identifiers of the N first end - side nodes in the first available area and the second congestion prediction durations respectively corresponding to the N first end - side nodes. The long - distance announcement 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 available area, and the congestion of the transmission paths corresponding to the N first end - side nodes will last for the second congestion prediction durations respectively corresponding to the N first end - side nodes.

[0267] For example, the content in the long - distance announcement message can refer to Table 6. The long - distance announcement message includes the identifiers of 5 first end - side nodes, namely the first end - side node 1, the first end - side node 2, the first end - side node 3, the first end - side node 4, and the first end - side node 5. Among them, the second congestion prediction durations corresponding to the first end - side node 1, the first end - side node 2, and the first end - side node 3 are all 240 us, and the second congestion prediction durations corresponding to the first end - side node 4 and the first end - side node 5 are all 300 us.

[0268] Table 6.

[0269] After the first network device in the first available area executes S705, the first network device in the first available area can add the long - distance announcement message to the priority queue that meets the first condition in the first network device. The first condition refers to the previous text and will not be elaborated here.

[0270] S706. The first network device in the first available area sends the long - distance announcement message to the second network device in the second available area; correspondingly, the second network device in the second available area receives the long - distance announcement message from the first network device in the first available area.

[0271] In the above S706, the first network device in the first available area may obtain a long-distance announcement message from the priority queue in the first network device that meets the first condition, and send the long-distance announcement message to the second network device in the second available area. In the embodiment of the present application, the first network device sends the long-distance announcement message to the second network device in the second available area 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 announcement message as soon as possible and improve timeliness.

[0272] In the above S706, when the first network device is a cluster aggregation layer network device, the second network device may be a cluster aggregation layer network device. After obtaining the long-distance announcement message, the cluster aggregation layer network device in the second available area may notify, according to the long-distance announcement message, the second end-side node in the second available area that there is congestion in the transmission paths corresponding to N first end-side nodes, and the congestion in the transmission paths corresponding to the N first end-side nodes will last for the second congestion prediction duration corresponding to the N first end-side nodes respectively.

[0273] When the first network device is a cluster aggregation layer network device, the second network device may also be a core layer network device or an aggregation layer network device in the second available area. When the core layer network device or the aggregation layer network device in the second available area obtains the long-distance announcement message, it may directly send a congestion announcement message to the end-side nodes in the second available area according to the long-distance announcement message, rather than the cluster aggregation layer network device in the second available area sending the congestion announcement message to the end-side nodes in the second available area according to the long-distance announcement message. To a certain extent, this can reduce the transmission distance, and then enable the end-side nodes in the second available area to sense network congestion as soon as possible. In addition, since it is the core layer network device or the aggregation layer network device in the second available area that receives and processes the long-distance announcement message, the load on the cluster aggregation layer network device in the second available area can be reduced.

[0274] When the first network device is a core layer network device, the second network device may be a core layer network device. Since the long-distance announcement message is transmitted between the core layer network device in the first available area and the core layer network device in the second available area, and the core layer network device in the second available area sends a congestion announcement message to the end-side nodes in the second available area according to the long-distance announcement message, to a certain extent, this can reduce the transmission distance, and then enable the end-side nodes in the second available area to sense network congestion as soon as possible. In addition, since the number of core layer network devices in the first available area is more than the number of cluster aggregation layer network devices in the first available area, compared with the cluster aggregation layer network devices in the first available area, each core layer network device in the first available area has to forward fewer long-distance announcement messages. Therefore, the load on each core layer network device is less.

[0275] When the first network device is an aggregation layer network device, the second network device can also be an aggregation layer network device. Since long-distance notification messages are transmitted between the aggregation layer network devices in the first availability zone and the aggregation layer network devices in the second availability zone, and the aggregation layer network devices in the second availability zone send congestion notification messages to the end-side nodes in the second availability zone based on the long-distance notification messages, the transmission distance can be reduced to a certain extent, so that the end-side nodes in the second availability zone can perceive 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, each aggregation layer network device in the first availability zone has to forward fewer long-distance notification messages compared with the cluster aggregation layer network devices in the first availability zone. Therefore, the load of each aggregation layer network device is less.

[0276] 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.

[0277] In S707 above, the data packet sent by the second end-side node may include the identifier of the source node and the identifier of the destination node. Among them, 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.

[0278] The data packet sent by the second end-side node may also include the data information to be sent.

[0279] In a 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 to obtain a part of the data packet, and use the part of the data packet to execute the steps in S408. If the second network device does not perform subsequent processing on all the data packets sent by the second end-side node, but only performs subsequent processing on a part of the data packets sent by the second end-side node, the load of the second network device can be reduced.

[0280] S708, 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 in the second availability zone determines the congestion prediction net duration corresponding to the destination node according to the second congestion prediction duration corresponding to the destination node.

[0281] For example, the content in 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 240 us. After that, the second network device can determine the congestion prediction net duration corresponding to the destination node according to the second congestion prediction duration of 240 us corresponding to the destination node.

[0282] In the above S708, the second network device can determine the congestion prediction net duration corresponding to the destination node with reference to Figure 6 the steps shown, which will not be elaborated here.

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

[0284] 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 congestion prediction net duration corresponding to the destination node.

[0285] In the above S709, the congestion notification message includes the identifier of the second end-side node, which facilitates the second network device in the second available zone to 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 prediction net 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 in the transmission path corresponding to the destination node will last for the congestion prediction net duration corresponding to the destination node. Among them, the congestion prediction net duration corresponding to the destination node is used to indicate the time range of validity of this congestion notification message, that is, this congestion notification message is valid within the congestion prediction net duration and invalid outside the congestion prediction net duration.

[0286] Optionally, in the above S709, the second network device in the second available zone can generate a congestion notification message according to the identifier of the destination node. Among them, the congestion notification message includes the identifier of the destination node, and the congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node. The congestion notification message generated by this method does not include the congestion prediction net duration corresponding to the destination node.

[0287] After the second network device in the second available zone executes S709, the second network device in the second available zone can add the congestion notification message to the priority queue in the second network device that meets the first condition. The first condition refers to the foregoing and will not be elaborated here.

[0288] S710, the second network device in the second available area 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 area.

[0289] In the above S710, the second network device in the second available area can obtain the congestion notification message from the priority queue in the second network device that meets the first condition, and send the congestion notification message to the second end-side node. In the embodiments of the present application, the second network device sends the 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 the timeliness.

[0290] Optionally, in the above S710, when the congestion notification message does not include the congestion prediction net duration corresponding to the destination node among the identifiers of the destination node, the second network device in the second available area periodically sends the congestion notification message to the second end-side node within the congestion prediction net duration. After receiving the congestion notification message from the second network device, the second end-side node reduces the rate of sending data messages. If the second end-side node does not receive the congestion notification message from the second network device for a period of time, it means that the current time is outside the congestion prediction net duration. Therefore, the second end-side node can increase the rate of sending data messages.

[0291] In the above S710, when the congestion notification message includes the identifier of the destination node and the congestion prediction net duration corresponding to the destination node, after receiving the congestion notification message from the second network device, the second end-side node can reduce the rate of sending data messages within the congestion prediction net duration to alleviate network congestion. The second end-side node can restore the rate of sending data messages outside the congestion prediction net duration to make full use of the network, and finally balance the problems of network congestion and network idle.

[0292] In Figure 7In the steps shown, when there is congestion in the transmission paths corresponding to the N first end-side nodes in the first available area, after the second end-side node in the second available area sends the data packet to the second network device in the second available area, when 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, it can send a congestion notification packet to the second end-side node, rather than the first end-side node sending the congestion notification packet. This can enable the second end-side node to obtain the congestion notification packet earlier and reduce the rate of sending data packets according to the congestion notification packet to alleviate network congestion. Since the congestion notification packet includes the predicted net congestion duration corresponding to the destination node, the second end-side node can control the sending rate of the data packet according to the predicted net congestion duration, so that the second end-side node can more accurately regulate the sending of the data packet and balance the problems of network congestion and network idle.

[0293] Furthermore, the network device in each available area sends the congestion notification packet to the end-side node in each available area, rather than the first end-side node sending the congestion notification packet. Therefore, to a certain extent, it can alleviate the situation that the end-side node closer to the first end-side node receives the congestion notification packet earlier than the end-side node farther from the first end-side node. Furthermore, to a certain extent, it can avoid that the end-side node closer to the first end-side node significantly reduces the sending of data packets, while the end-side node farther from the first end-side node slightly reduces the sending of data packets, and the service fairness of each end-side node can be achieved.

[0294] In addition, in the prior art, only the second end-side node that sends the data packet to the first end-side node can receive the congestion notification packet, and the second end-side nodes in the second available area that do not send the data packet to the first end-side node cannot receive the congestion notification packet. However, in the solution shown in this application, any second end-side node in the second available area can receive the congestion notification packet after sending the data packet to the second network device in the second available area, which is convenient for simultaneously controlling the situation of the second end-side nodes in the second available area sending data packets and further reducing the degree of network congestion.

[0295]

Embodiment 4

[0296] The embodiment of this application provides a network congestion notification method, which can be executed by the interaction between the network device in the first available area and the network device in the second available area involved in the related embodiments, where the first available area can be Figure 2 any available area in Figure 2 and the second available area is Figure 2 any available area different from the first available area in Figure 8 As shown in Any one of the M1 access layer network devices in the first available area can execute the steps in S801 to S803.

[0297] S801. The access layer network device in the first available area determines that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to the access layer network device, the first congestion prediction durations respectively corresponding to the S first end-side nodes, the identifiers of at least one port, and the identifiers of at least one priority queue in each port of at least one port.

[0298] In the above S801, the description of the port or priority queue in the access layer network device in the first available area refers to the description in S301, which will not be elaborated here.

[0299] In the above S801, the access layer network device in the first available area can determine the S first end-side nodes connected to the access layer network device, the first congestion prediction durations respectively corresponding to the S first end-side nodes, the identifiers of at least one port, and the identifiers of at least one priority queue in each port of at least one port through the following implementation methods. Specifically, after the access layer network device in the first available area determines that there is congestion in at least one priority queue in each port of at least one port of the access layer network device, it determines the S2 first end-side nodes respectively corresponding to at least one priority queue in each port of at least one port and the first congestion prediction durations respectively corresponding to the S2 first end-side nodes. Among them, the S2 first end-side nodes respectively corresponding to at least one priority queue in each port of 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.

[0300] It should be understood that for the first priority queue in the first port among 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 the 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 in the first port.

[0301] In the above S801, in order to continuously detect the congestion status of the priority queues 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, based on the congestion detection function, that the congestion status of the priority queue is greater than or equal to the congestion start threshold of the priority queue, the access layer network device determines that there is congestion in the priority queue. 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 according to 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.

[0302] 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 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.

[0303] In the above S801, the access layer network device in the first available zone can determine the first congestion prediction duration of the priority queue in the access layer network device with reference to Figure 5B the steps shown and will not be elaborated here.

[0304] For example, the access layer network device in the first available zone is access layer network device 1. Access layer network device 1 includes 2 docking ports (i.e., port 6 and port 7). Port 6 includes priority queue 3, and port 7 includes priority queue 3. Among them, 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 80 us, and the first congestion prediction duration of priority queue 3 in port 7 of access layer network device 1 is 300 us. Specifically, it can refer to Table 7.

[0305] Table 7.

[0306] In S801 above, after the access layer network device in the first available area determines the S first end-side nodes connected to the access layer network device, the first congestion prediction durations respectively corresponding to the S first end-side nodes, the identifiers of at least one port, and the identifiers of at least one priority queue in each of the at least one port, it can directly execute the steps in S802; or it can filter the first congestion prediction durations respectively corresponding to the S first end-side nodes, and determine from them the first congestion prediction durations greater than the first duration threshold, as well as the identifiers of the corresponding first end-side nodes, the identifiers of the corresponding ports, and the identifiers of the corresponding priority queues, and then execute the steps in S802.

[0307] S802. The access layer network device in the first available area generates a local announcement 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, the identifiers of at least one port, and the identifiers of at least one priority queue in each of the at least one port.

[0308] In the embodiments of the present application, the local announcement message includes the identifiers of the S first end-side nodes, the first congestion prediction durations respectively corresponding to the S first end-side nodes, the identifiers of at least one port, and the identifiers of at least one priority queue in each of the at least one port. The local announcement 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 in the transmission paths corresponding to the S first end-side nodes will last for the first congestion prediction durations respectively corresponding to the S first end-side nodes.

[0309] After the access layer network device in the first available area executes S802, the access layer network device in the first available area can add the local announcement message to the priority queue in the access layer network device that meets the first condition. The first condition refers to the foregoing and will not be elaborated here.

[0310] S803. The access layer network device in the first available area sends the local announcement message to the first network device in the first available area; correspondingly, the first network device in the first available area receives the local announcement message from the access layer network device in the first available area.

[0311] In S803 above, the access layer network device in the first available area can obtain the local announcement message from the priority queue in the access layer network device that meets the first condition, and send the local announcement message to the first network device in the first available area. In the embodiments of the present application, by sending the local announcement message to the first network device in the first available area through the priority queue in the access layer network device that meets the first condition, it can ensure that the access layer network device sends the local announcement message as soon as possible, improving timeliness.

[0312] In S803 above, 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 herein.

[0313] When the first network device is a cluster aggregation layer network device, the access layer network device may send a local advertisement message to the cluster aggregation layer network device through the aggregation layer network device and the core layer network device.

[0314] When the first network device is a core layer network device, the access layer network device may send a local advertisement message to the core layer network device through the aggregation layer network device.

[0315] When the first network device is an aggregation layer network device, the access layer network device may directly send a local advertisement message to the aggregation layer network device.

[0316] It should be understood that any one of the M1 access layer network devices in the first availability zone may send a local advertisement message to the first network device in the first availability zone; correspondingly, the first network device in the first availability zone may receive local advertisement messages from the M1 access layer network devices in the first availability zone.

[0317] S804. The first network device in the first availability zone determines the identifiers of the 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 according to the identifiers of the S first end-side nodes carried in the local advertisement messages respectively sent by the M1 access layer network devices, the first congestion prediction durations respectively corresponding to the S first end-side nodes, the identifiers of at least one port, and the identifiers of at least one priority queue in each port of the at least one port; where congestion exists in the transmission paths corresponding to the N first end-side nodes, and the congestion in 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; N is an integer greater than 0.

[0318] In the embodiments 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, the multiple local advertisement messages received by the first network device in the 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, and the identifiers of the priority queues corresponding to the end-side node may be the same or different.

[0319] It should be noted that the number of identifiers of the first end-side nodes carried in the local advertisement messages sent by each access layer network device may be the same or different. That is to say, the number S of the first end-side nodes carried in the local advertisement messages sent by different access layer network devices may be the same or different.

[0320] In S804 above, the first network device in the first available area can determine the identifiers of the N first end-side nodes in the first available area, 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 through implementation manner J1 or J2.

[0321] Implementation manner J1 can be summarized as follows: at least two of the M1 local advertisement messages include the identifier of the third end-side node, and the identifiers of the ports and the priority queues corresponding to the third end-side node in the at least two local advertisement 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 advertisement messages is greater than the first time threshold, and the third end-side node is one of the N first end-side nodes.

[0322] The specific steps of implementation manner J1 are as follows: for the local advertisement message sent by the jth access layer network device among the M1 access layer network devices (i.e., the jth local advertisement message), where the jth local advertisement message includes the identifiers of the S first end-side nodes connected to the jth 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, j is an integer taking values from [1, M1], and the first network device in the first available area executes the following steps: For the sake of easy understanding, a first end-side node in the jth local advertisement message is denoted as the to-be-determined end-side node, and a first end-side node in the kth local advertisement message is denoted as the reference end-side node, where the kth local advertisement message is any local advertisement message different from the jth local advertisement message among the M1 local advertisement messages, that is, k is an integer taking values from [1, M1], and k is not equal to j. When the to-be-determined end-side node and the reference end-side node are the same, the to-be-determined end-side node and the reference end-side node can be regarded as the third end-side node described above.

[0323] If the identifier of the end - side node to be judged in the j - th local advertisement message is the same as the identifier of the reference end - side node in the k - th local advertisement message, and the identifier of the port and the identifier of the priority queue in the j - th access - layer network device corresponding to the end - side node to be judged are different from the identifier of the port and the identifier of the priority queue in the k - th access - layer network device corresponding to the reference end - side node, it means that there is congestion in the priority queue in the port of the j - th access - layer network device corresponding to the end - side node to be judged and the priority queue in the port of the k - th access - layer network device corresponding to the reference end - side node. 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 according to the j - th local advertisement message and the k - th local advertisement message.

[0324] In a possible implementation, the first network device determines 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 according to the j - th local advertisement message and the k - th local advertisement message, including the following implementation manners K1, K2, and K3.

[0325] Implementation manner K1: If the first congestion prediction duration corresponding to the end - side node to be judged in the j - th local advertisement message and / or the first congestion prediction duration corresponding to the reference end - side node in the k - th local advertisement 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 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.

[0326] Implementation manner K2: If the first congestion prediction duration corresponding to the end - side node to be judged in the j - th local advertisement message and / or the first congestion prediction duration corresponding to the reference end - side node in the k - th local advertisement message is greater than the first time threshold, then 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 average value 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 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.

[0327] In Embodiment K3, if the first congestion prediction duration corresponding to the to-be-determined end-side node in the j-th local advertisement message and / or the first congestion prediction duration corresponding to the reference end-side node in the k-th local advertisement message is greater than the first time threshold, and the first congestion prediction duration corresponding to the to-be-determined end-side node is less than or equal to the first congestion prediction duration corresponding to the reference end-side node, then the identifier of the to-be-determined end-side node is used as the identifier of one of the N first end-side nodes, the first congestion prediction duration corresponding to the to-be-determined end-side node is used as the second congestion prediction duration corresponding to one of the first end-side nodes, and the identifier of the priority queue in the j-th access layer network device corresponding to the to-be-determined end-side node is used as the identifier of the priority queue corresponding to one of the first end-side nodes.

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

[0329] In Embodiment J1, the first network device makes a judgment based on the j-th local advertisement message and the k-th local advertisement message, and determines the identifier of one of the N first end-side nodes, the second congestion prediction duration corresponding to one of the first end-side nodes, and the identifier of the priority queue corresponding to one of the first end-side nodes according to the j-th local advertisement message and the k-th local advertisement message, which is beneficial to the diversity of the solution.

[0330] Embodiment 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 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 identifiers of at least one port, and the identifiers of at least one priority queue in each of the at least one port in each port. j is an integer taking values from 1 to M1. The first network device in the first availability zone performs the following steps: For ease of understanding, a first end-side node in the j-th local announcement message is denoted as the to-be-determined end-side node.

[0331] The first network device uses the identifier of the to-be-determined end-side node 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 to-be-determined end-side node 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 to-be-determined end-side node as the identifier of the priority queue corresponding to a first end-side node.

[0332] In Embodiment J2, the first network device does not need to judge the j-th local announcement message. Instead, it directly uses the identifier of the to-be-determined end-side node 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 to-be-determined end-side node 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 to-be-determined end-side node 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 availability zone.

[0333] S805. The first network device in the first availability zone generates a long-distance announcement 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.

[0334] In the above S805, the long-distance announcement message includes the identifiers of the 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. The long-distance announcement 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 in 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.

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

[0336] Table 8.

[0337] After the first network device in the first available zone executes S805, the first network device in the first available zone can add the long-distance notification message to the priority queue in the first network device that meets the first condition. Among them, the first condition refers to the foregoing and will not be elaborated here.

[0338] S806. The first network device in the first available zone sends the long-distance notification message to the second network device in the second available zone; correspondingly, the second network device in the second available zone receives the long-distance notification message from the first network device in the first available zone.

[0339] In the above S806, the first network device in the first available zone can obtain the long-distance notification message from the priority queue in the first network device that meets the first condition, and send the long-distance notification message to the second network device in the second available zone. In the embodiments of the present application, the first network device sends the 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.

[0340] In the above S806, when the first network device is a cluster aggregation layer network device, the second network device can be a cluster aggregation layer network device. After the cluster aggregation layer network device in the second available zone obtains the long-distance notification message, it can notify the second-end-side nodes in the second available zone that there is congestion in the transmission paths corresponding to the N first-end-side nodes, and the congestion in 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.

[0341] When the first network device is a cluster aggregation layer network device, the second network device can also be a core layer network device or an aggregation layer network device in the second availability zone. When the core layer network device or the aggregation layer network device in the second availability zone obtains the long-distance notification message, it can directly send a congestion notification message to the end-side nodes in the second availability zone according to the long-distance notification message, rather than the cluster aggregation layer network device in the second availability zone sending a congestion notification message to the end-side nodes in the second availability zone according to the long-distance notification message, which can reduce the transmission distance to a certain extent, and then enable the end-side nodes in the second availability zone to sense network congestion as soon as possible. In addition, since it is the core layer network device or the aggregation layer network device in the second availability zone that receives and processes the long-distance notification message, the load on the cluster aggregation layer network device in the second availability zone can be reduced.

[0342] When 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 nodes in the second availability zone according to the long-distance notification message, the transmission distance can be reduced to a certain extent, and then the end-side nodes in the second availability zone can sense network congestion as soon as possible. In addition, since the number of core layer network devices in the first availability zone is more 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 core layer network device in the first availability zone has to forward fewer long-distance notification messages, so the load on each core layer network device is less.

[0343] When 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 nodes in the second availability zone according to the long-distance notification message, the transmission distance can be reduced to a certain extent, and then the end-side nodes in the second availability zone can sense network congestion as soon as possible. In addition, since the number of aggregation layer network devices in the first availability zone is more 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 to forward fewer long-distance notification messages, so the load on each aggregation layer network device is less.

[0344] 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.

[0345] In the above S807, the data packet sent by the second end-side node may include the identifier of the source node and the identifier of the destination node. Among them, 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 available zone. For example, the identifier of the destination node is the IP address of the first end-side node in the first available zone.

[0346] The data packet sent by the second end-side node may also include the data information to be sent.

[0347] In a possible implementation, after receiving the data packet sent by the second end-side node, the second network device in the second available zone may sample the received data packet to obtain a partial data packet, and use the partial data packet to execute the steps in S408. If the second network device does not perform subsequent processing on all the data packets sent by the second end-side node, but only performs subsequent processing on some of the data packets sent by the second end-side node, the load on the second network device can be reduced.

[0348] S808, when the identifiers of the N first end-side nodes include the identifier of the destination node in the data packet 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 packet, the second network device in the second available zone determines the congestion prediction net duration corresponding to the destination node according to the second congestion prediction duration corresponding to the destination node.

[0349] For example, referring to Table 8 for the content in the long-distance notification message, 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), therefore, the congestion prediction duration of 80 us in the first record is used as the congestion prediction duration corresponding to the destination node. After that, the congestion prediction net duration of 80 us corresponding to the destination node can be determined according to the congestion prediction duration of 80 us corresponding to the destination node.

[0350] In the above S808, the second network device can determine the congestion prediction net duration corresponding to the destination node with reference to Figure 6 the steps shown, which will not be elaborated here.

[0351] In the above S808, if the congestion prediction net duration corresponding to the destination node is greater than 0, execute the steps in S709; if the congestion prediction net duration corresponding to the destination node is less than or equal to 0, do not execute the subsequent steps.

[0352] S809. The second network device in the second available area generates a congestion notification message according to the identifier of the destination node and the congestion prediction net duration corresponding to the destination node.

[0353] In the above S809, the congestion notification message includes the identifier of the second end-side node, which facilitates the second network device in the second available area to send the congestion notification message to the second end-side node. The congestion notification message further includes the identifier of the destination node and the congestion prediction net 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 in the transmission path corresponding to the destination node will last for the congestion prediction net duration corresponding to the destination node. Among them, the congestion prediction net duration corresponding to the destination node is used to indicate the time range of validity of this congestion notification message, that is, this congestion notification message is valid within the congestion prediction net duration and invalid outside the congestion prediction net duration.

[0354] Optionally, in the above S809, the second network device in the second available area may generate a congestion notification message according to the identifier of the destination node. Among them, the congestion notification message includes the identifier of the destination node, and the congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node. The congestion notification message generated by this method does not include the congestion prediction net duration corresponding to the destination node.

[0355] After the second network device in the second available area executes S809, the second network device in the second available area may add the congestion notification message to the priority queue in the second network device that meets the first condition. The first condition refers to the foregoing and will not be elaborated here.

[0356] S810. The second network device in the second available area sends the 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 area.

[0357] In the above S810, the second network device in the second available area may obtain the congestion notification message from the priority queue in the second network device that meets the first condition and send the congestion notification message to the second end-side node. In the embodiments of the present application, the second network device sends the 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 the timeliness.

[0358] Optionally, in S810 above, when the congestion notification message does not include the congestion prediction net duration corresponding to the destination node among the identifiers of the destination node, the second network device in the second available area periodically sends the congestion notification message to the second end-side node within the congestion prediction net duration. After receiving the congestion notification message from the second network device, the second end-side node reduces the rate of sending data messages. If the second end-side node does not receive the congestion notification message from the second network device for a period of time, it means that the current time is outside the congestion prediction net duration. Therefore, the second end-side node can increase the rate of sending data messages.

[0359] In S810 above, when the congestion notification message includes the identifier of the destination node and the congestion prediction net duration corresponding to the destination node, after receiving the congestion notification message from the second network device, the second end-side node can reduce the rate of sending data messages within the congestion prediction net duration to relieve network congestion. The second end-side node can restore the rate of sending data messages outside the congestion prediction net duration to make full use of the network, and finally balance the problems of network congestion and network idleness.

[0360] In Figure 8 In the steps shown, when there is congestion in the transmission paths corresponding to the N first end-side nodes in the first available area, after the second end-side node in the second available area sends the data message to the second network device in the second available area, 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 when 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, it can send a congestion notification message to the second end-side node, rather than having the first end-side node send the congestion notification message. This can enable 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 relieve network congestion. Since the congestion notification message includes the congestion prediction net duration corresponding to the destination node, the second end-side node can control the sending rate of the data message according to the congestion prediction net duration, so that the second end-side node can more accurately regulate the sending of the data message and balance the problems of network congestion and network idleness. Since the second network device simultaneously judges the identifier of the destination node in the data message and the identifier of the priority queue corresponding to the data message, it can more finely reduce the number of second end-side nodes sending the congestion notification message, which is convenient for regulating the degree of network congestion.

[0361] Furthermore, congestion notification messages are sent from the network devices in each available zone to the end-side nodes in each available zone, rather than being sent by the first end-side node. Therefore, to a certain extent, it can alleviate the situation where the end-side nodes closer to the first end-side node receive congestion notification messages earlier than those farther away from the first end-side node. Furthermore, to a certain extent, it can avoid the situation where 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, thus achieving service fairness among end-side nodes.

[0362] In addition, in the prior art, only the second end-side nodes that send data messages to the first end-side node can receive congestion notification messages, while the second end-side nodes in the second available zone that do not send data messages to the first end-side node cannot receive congestion notification messages. However, in the solution shown in this application, any second end-side node in the second available zone can receive a congestion notification message after sending the data message to the second network device in the second available zone, which is convenient for simultaneously controlling the situation of the second end-side nodes in the second available zone sending data messages and further reducing the degree of network congestion.

[0363] Based on the same technical concept, the embodiment of this application also provides a network congestion notification device, which can be applied to the cluster aggregation layer network device or the core layer network device or the aggregation layer network device in the first available zone as shown in Figure 2 or can also be applied to implement the network congestion notification method provided by the embodiment shown in Figure 3 or Figure 4 or Figure 7 or Figure 8 Referring to what is shown in 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. Among them: The determination module 901 is configured to determine N first end-side nodes in the first available zone; there is congestion in the transmission paths corresponding to the N first end-side nodes; N is an integer greater than 0; The first sending module 902 is configured to send a long-distance notification message to the second network device in the second available zone; the long-distance notification message is used for the second network device to notify the second end-side nodes in the second available zone that there is congestion in the transmission paths corresponding to the N first end-side nodes.

[0364] In a possible implementation, the determining module 901 is specifically configured to: receive local advertisement messages respectively sent by M1 access layer network devices; the local advertisement message sent by the first access layer network device is used to indicate that there is congestion in the transmission paths corresponding to S first end-side nodes connected to the first access layer network device; the local advertisement 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 one of 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 carried in the M1 local advertisement messages; Wherein, the long-distance advertisement message includes the identifiers of N first end-side nodes.

[0365] In a possible implementation, the local advertisement message sent by the first access layer network device further includes the first congestion prediction durations respectively corresponding to the S first end-side nodes; Wherein, the long-distance advertisement message further includes the second congestion prediction durations respectively corresponding to the N first end-side nodes; the second congestion prediction duration corresponding to the third end-side node is determined according to the first congestion prediction duration corresponding to the third end-side node carried in at least one local advertisement message; the third end-side node is any one of the N first end-side nodes.

[0366] In a possible implementation, the local advertisement message sent by the first access layer network device further includes the identifiers 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 one of the at least one port; S1 is a positive integer less than or equal to S; At least two of the M1 local advertisement 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 advertisement messages are all different, and at least one of the first congestion prediction durations corresponding to the third end-side node in the at least two local advertisement messages is greater than the first time threshold, and the third end-side node is one of the N first end-side nodes.

[0367] In a possible implementation, the local advertisement message sent by the first access layer network device further includes the identifiers of at least one port in the first access layer network device and the identifiers 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 S2 first end-side nodes; the first port is any one of the at least one port; the first priority queue is any one of the at least one priority queue in the first port; S2 is a positive integer less than or equal to S; Among them, the long-distance notification message further includes the identifiers of the priority queues corresponding to the N first end-side nodes respectively; Among the M1 local notification messages, at least two local notification messages both include the identifier of the third end-side node, and the identifiers of the ports and the priority queues corresponding to the third end-side node in the at least two local notification 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 notification messages is greater than the first time threshold, and the third end-side node is one of the N first end-side nodes.

[0368] In a possible implementation manner, before the first adding module 903 sends the long-distance notification message to the second network device in the second available area, the long-distance notification message is added to the priority queue in the first network device that meets the first condition; The first sending module 902 is specifically configured to: obtain the long-distance notification message from the priority queue that meets the first condition, and send the long-distance notification message to the second network device in the second available area.

[0369] In a possible implementation manner, the first network device is any one of the cluster aggregation layer network device, the core layer network device, and the aggregation layer network device in the first available area.

[0370] Based on the same technical concept, an embodiment of the present application further provides a network congestion notification device, which can be applied to the access layer network device in the first available area as shown in Figure 2 or can be applied to implement the network congestion notification method provided by the embodiment shown in Figure 3 or Figure 4 or Figure 7 or Figure 8 shown. Referring to Figure 9 shown, the network congestion notification device includes: a determination module 901, a first sending module 902, and a first adding module 903. Among them: The determination module 901 is configured to determine that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to the access layer network device; The first sending module 902 is configured to send a local notification message to the first network device in the first available area; 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.

[0371] In a possible implementation, the determining module 901 is specifically configured to: determine that at least one port in the access layer network device is congested; the 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 port; S1 is a positive integer less than or equal to S; Wherein, one first end-side node is connected to one port.

[0372] In a possible implementation, the local advertisement message further includes first congestion prediction durations respectively corresponding to the S first end-side nodes; the first congestion prediction duration corresponding to one first end-side node among the S first end-side nodes is determined according to the port congestion duration historical data and the identifier of the port connected to the first end-side node; the port congestion duration historical data includes the identifiers of N1 ports and the congestion historical durations respectively corresponding to the N1 ports.

[0373] In a possible implementation, the local advertisement message further includes the identifiers of at least one port.

[0374] In a possible implementation, the determining module 901 is specifically configured to: determine that at least one priority queue in each port 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 one of the at least one port; 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 the data packets to be sent by one first end-side node corresponds to one priority queue.

[0375] In a possible implementation, the local advertisement message further includes first congestion prediction durations respectively corresponding to the S first end-side nodes; the first congestion prediction duration corresponding to one first end-side node among the S first end-side nodes is determined according to the priority queue congestion duration historical 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 historical data includes the identifiers of N2 ports, the identifiers of N3 priority queues in each of the N2 ports, and the congestion historical durations respectively corresponding to the N3 priority queues in each port.

[0376] In a possible implementation, the local advertisement message further includes the identifiers of at least one port and the identifiers of at least one priority queue in each port of at least one port.

[0377] In a possible implementation, before the first adding module 903 sends a local advertisement message to a first network device in a first available area, the local advertisement message is added to a priority queue that meets a first condition in an access layer network device; The first sending module 902 is specifically configured to: obtain the local advertisement message from the priority queue that meets the first condition, and send the local advertisement message to the first network device in the first available area.

[0378] Based on the same technical concept, an embodiment of the present application further provides a network congestion notification device, which can be applied to a cluster aggregation layer network device or a core layer network device or an aggregation layer network device in a second available area as shown in Figure 2 , or can also be applied to implement the network congestion notification method provided by the embodiment shown in Figure 3 or Figure 4 or Figure 7 or Figure 8 . Referring to Figure 10 shown, the network congestion notification device includes: a receiving module 1001, a second sending module 1002, and a second adding module 1003. Among them: The receiving module 1001 is configured to receive a long-distance notification message sent by a first network device in a first available area. The long-distance notification message includes identifiers of N first end-side nodes in the first available area, and the long-distance notification message is used to indicate that there is congestion in the transmission paths corresponding to the N first end-side nodes; The receiving module 1001 is further configured to receive a data packet sent by a second end-side node in a second available area; The second sending module 1002 is configured to, when the identifiers of the N first end-side nodes include the identifier of the destination node in the data packet, send a congestion notification packet to the second end-side node, and the congestion notification packet is used to indicate that there is congestion in the transmission path corresponding to the destination node.

[0379] In a possible implementation, the long-distance notification message further includes second congestion prediction durations respectively corresponding to the N first end-side nodes; the congestion notification packet is further used to indicate a congestion prediction net duration corresponding to the destination node; the congestion prediction net duration corresponding to the destination node is determined according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0380] In a possible implementation, the long-distance notification message further includes second congestion prediction durations respectively corresponding to the N first end-side nodes; The second sending module 1002 is specifically configured 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 according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0381] In a possible implementation manner, the long-distance notification message further includes the identifiers of the priority queues respectively corresponding to the N first end-side nodes; The second sending module 1002 is specifically 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 packet 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 packet.

[0382] In a possible implementation manner, the long-distance notification message further includes the second congestion prediction durations respectively corresponding to the N first end-side nodes; The congestion notification message is further used to indicate the congestion prediction net duration corresponding to the destination node; the congestion prediction net duration corresponding to the destination node is determined according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0383] In a possible implementation manner, the long-distance notification message further includes the second congestion prediction durations respectively corresponding to the N first end-side nodes; The second sending module 1002 is specifically configured 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 according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to the N first end-side nodes.

[0384] In a possible implementation manner, the congestion prediction net duration corresponding to the destination node is determined as follows: determine the message transmission duration between the first network device and the second network device according to the distance between the first network device and the second network device; determine the congestion prediction net duration corresponding to the destination node according to the second congestion prediction duration corresponding to the destination node and the message transmission duration between the first network device and the second network device.

[0385] In a possible implementation manner, before the second adding module 1003 sends a congestion notification message to the second end-side node, add the congestion notification message to the priority queue in the second network device that meets the first condition; The second sending module 1002 is specifically configured to: obtain the congestion notification message from the priority queue that meets the first condition and send the congestion notification message to the second end-side node.

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

[0387] 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 by software or by hardware. Exemplarily, next, taking the determination module as an example, the implementation manner of the determination module will be introduced. Similarly, the implementation manners 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 manner of the determination module.

[0388] As an example of a software functional unit, the determination module may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above computing instance may be one or more. For example, the determination module may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running the code may be distributed in the same region, or may be distributed in different regions. Further, the multiple hosts / virtual machines / containers for running the code may be distributed in the same availability zone (AZ), or may be distributed in different AZs, and each AZ includes one data center or multiple geographically proximate data centers. Among them, generally, one region may include multiple AZs.

[0389] Similarly, the multiple hosts / virtual machines / containers for running the code may be distributed in the same virtual private cloud (VPC), or may be distributed in multiple VPCs. Among them, generally, one VPC is set within one region. For cross-region communication between two VPCs within the same region and between VPCs in different regions, a communication gateway needs to be set in each VPC, and the interconnection between VPCs is achieved through the communication gateway.

[0390] As an example of a hardware functional unit, it is determined that the module may include at least one network device, such as a server, etc. Alternatively, it is determined that a device implemented by a programmable logic device (PLD), etc. Among them, the above PLD may be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0391] It is determined that the multiple network devices included in the module may be distributed in the same region or in different regions. It is determined that the multiple network devices included in the module may be distributed in the same availability zone (AZ) or in different AZs. Similarly, it is determined that the multiple network devices included in the module may be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Among them, the multiple network devices may be any combination of computing devices such as servers, application-specific integrated circuits (ASICs), PLDs, CPLDs, FPGAs, and GALs.

[0392] It should be noted that in some embodiments, the determination module is used to determine N first end-side nodes in a first available zone; there is congestion in the transmission paths 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 announcement message to a second network device in a second available zone; the long-distance announcement message is used for the second network device to notify the second end-side nodes in the second available zone that there is congestion in the transmission paths corresponding to the N first end-side nodes.

[0393] In other embodiments, the determination module is used to determine that there is congestion in the transmission paths corresponding to S first end-side nodes connected to the access layer network device; the first sending module is used to send a local announcement message to a first network device in the first available zone; the local announcement 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 announcement message includes the identifiers of the S first end-side nodes connected to the access layer network device.

[0394] In some other embodiments, the receiving module is configured to receive a long - distance advertisement message sent by a first network device in a first available area. The long - distance advertisement message includes the identifiers of N first end - side nodes in the first available area, and the long - distance advertisement message is used to indicate that there is congestion in the transmission paths corresponding to the N first end - side nodes. The receiving module is further configured to receive a data packet sent by a second end - side node in a second available area. The second sending module is configured to send a congestion advertisement packet 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 advertisement packet is used to indicate that there is congestion in the transmission path corresponding to the destination node.

[0395] The steps implemented by the determination module, the first sending module, the first adding module, the receiving module, the second sending module, and the second adding module can be specified as needed. The entire function of the network congestion advertisement device is realized by the determination module, the first sending module, the first adding module, the receiving module, the second sending module, and the second adding module respectively implementing different steps in the network congestion advertisement method.

[0396] This application also provides a network device 1100. As Figure 11 shown, the network device 1100 includes: a bus 1101, a processor 1102, a memory 1104, and a communication interface 1103. The processor 1102, the memory 1104, and the communication interface 1103 communicate with each other through the bus 1101. The 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 the network device 1100.

[0397] The bus 1101 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity of representation, Figure 11 only one line is shown here, but it does not mean that there is only one bus or one type of bus. The bus 1101 can include a path for transmitting information between various components of the network device 1100 (such as the memory 1104, the processor 1102, and the communication interface 1103).

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

[0399] 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).

[0400] The memory 1104 stores executable program code, and the processor 1102 executes the executable program code to respectively implement the functions of the foregoing determination module, first generation module, first transmission module, reception module, second generation module, and second transmission module, thereby implementing the network congestion notification method. That is, the memory 1104 stores instructions for executing network congestion notification.

[0401] 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 a communication network.

[0402] The embodiment of the present application also provides a network device cluster. The network device cluster includes at least one network device. The network device may 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 may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0403] As Figure 12 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.

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

[0405] It should be noted that the memories 1104 in different network devices 1100 in the network device cluster may store different instructions for respectively executing some functions of the network congestion notification device. That is, the instructions stored in the memories 1104 of 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.

[0406] In some possible implementations, one or more network devices in the network device cluster may be connected through a network. Among them, the network may be a wide area network or a local area network, etc. Figure 13 A possible implementation is shown. As Figure 13 shown, two network devices 1100A and 1100B are connected through a network. Specifically, they are connected to the network through the communication interfaces in each network device. In this type of possible implementation, the memory 1104 in the network device 1100A stores instructions for executing the functions of the determination module, the first sending module, and the first adding module. At the same time, the memory 1104 in the network device 1100B stores instructions for executing the functions of the receiving module, the second sending module, and the second adding module.

[0407] It should be understood that Figure 13 the functions of the network device 1100A shown in

[0408] can also be completed by multiple network devices 1100. Similarly, the functions of the network device 1100B can also be completed by multiple network devices 1100. Figure 12 and Figure 13 the connection manner of the network device cluster. The difference is that the memories 1104 of one or more network devices 1100 in this network device cluster may store the same instructions for executing the network congestion notification method.

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

[0410] An embodiment of the present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can run on a network device or be stored in any available medium. When the computer program product runs on at least one network device, at least one network device is caused to execute a network congestion notification method.

[0411] An embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium may be any available medium that can be stored by a network device or a data storage device such as a data center including one or more available media. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state drive), etc. The computer-readable storage medium includes instructions that instruct the network device to execute a network congestion notification method.

[0412] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the protection scope of the technical solutions of the embodiments of the present invention.

[0413] Those skilled in the art should understand that the embodiments of the present application may be provided as a method, a system, or a computer program product. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, 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 disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

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

[0415] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce a manufacture including an instruction means that implements the function specified in one or more of the processes and / or blocks Figure 1 of the one or more processes and / or blocks Figure 1 specified in the one or more blocks or blocks

[0416] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, so that the instructions executed on the computer or other programmable apparatus provide steps for implementing the function specified in one or more of the processes and / or blocks Figure 1 of the one or more processes and / or blocks Figure 1 specified in the one or more blocks or blocks

[0417] Obviously, those skilled in the art can 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 equivalent technologies, this application is also intended to include these modifications and variations.

Claims

1. A network congestion notification method, which is applied to a first network device in a first available zone, and is characterized in that, Including: Determine N first end-side nodes in the first available area; there is congestion in the transmission paths corresponding to the N first end-side nodes; N is an integer greater than 0; Send a long-distance announcement message to a second network device in the second available area; the long-distance announcement message is used for the second network device to notify the second end-side nodes in the second available area that there is congestion in the transmission paths corresponding to the N first end-side nodes.

2. The method according to claim 1, characterized in that, The determining the N first end-side nodes in the first available area includes: Receive local announcement messages respectively sent by M1 access layer network devices; the local announcement message sent by a first access layer network device is used to indicate that there is congestion in the transmission paths corresponding to 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 one of the M1 access layer network devices; M1 is a positive integer; Determine the identifiers of the N first end-side nodes according to the identifiers of the S first end-side nodes carried in the M1 local announcement messages respectively; Wherein, the long-distance announcement message includes the identifiers of the N first end-side nodes.

3. The method according to claim 2, wherein The local announcement message sent by the first access layer network device further includes the first congestion prediction duration corresponding to each of the S first end-side nodes; Wherein, the long-distance announcement message further includes the second congestion prediction duration corresponding to each of the N first end-side nodes; the second congestion prediction duration corresponding to a third end-side node is determined according to the first congestion prediction duration corresponding to the third end-side node carried in at least one local announcement message; the third end-side node is any one of the N first end-side nodes.

4. The method according to claim 3, wherein The local announcement message sent by the first access layer network device further includes the identifier of at least one port in the first access layer network device; a first port in the first access layer network device is used to connect S1 first end-side nodes; the first port is any one of 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 both 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 a first time threshold, and the third end-side node is one of the N first end-side nodes.

5. The method according to claim 3, characterized in that, The local advertisement message sent by the first access layer network device further includes the identifiers of at least one port in the first access layer network device and the identifiers 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 one of the at least one port; the first priority queue is any one of the at least one priority queue in the first port; S2 is a positive integer less than or equal to S; Wherein, the long-distance advertisement message further includes the identifiers of the priority queues respectively corresponding to the N first end-side nodes; At least two of the M1 local advertisement messages include the identifier of the third end-side node, and the identifiers of the ports and the priority queues corresponding to the third end-side node in the at least two local advertisement 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 advertisement messages is greater than the first time threshold, and the third end-side node is one of the N first end-side nodes.

6. The method according to claim 1, wherein Before sending the long-distance advertisement message to the second network device in the second availability zone, it further includes: Adding the long-distance advertisement message to the priority queue in the first network device that meets the first condition; Sending the long-distance advertisement message to the second network device in the second availability zone includes: Obtaining the long-distance advertisement message from the priority queue that meets the first condition and sending the long-distance advertisement message to the second network device in the second availability zone.

7. The method according to any one of claims 1-6, characterized in that, The first network device is any one of the cluster aggregation layer network device, the core layer network device, and the aggregation layer network device in the first availability zone.

8. A network congestion notification method, which is applied to an access layer network device in a first available zone, and is characterized in that It includes: Determining that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to the access layer network device; Sending a local advertisement message to the first network device in the first availability zone; the local advertisement 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 advertisement message includes the identifiers of the S first end-side nodes connected to the access layer network device.

9. The method according to claim 8, wherein The determining that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to the access layer network device includes: Determining that at least one port in the access layer network device is congested; the 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 port; S1 is a positive integer less than or equal to S; Wherein, one of the first end-side nodes is connected to one of the ports.

10. The method according to claim 9, characterized in that, The local announcement message further includes first congestion prediction durations respectively corresponding to the S first end-side nodes; the first congestion prediction duration corresponding to one of the S first end-side nodes is determined according to port congestion duration historical data and the identifier of the port connected to the one first end-side node; the port congestion duration historical data includes the identifiers of N1 ports and the congestion historical durations respectively corresponding to the N1 ports.

11. The method according to claim 10, wherein The local announcement message further includes the identifiers of the at least one port.

12. The method according to claim 8, wherein Determining that there is congestion in the transmission paths corresponding to the S first end-side nodes connected to the access layer network device includes: Determining that there is congestion in at least one priority queue in each 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 the S2 first end-side nodes; the first port is any one of the at least one port; the first priority queue is any one of the at least one priority queue in the first port; S2 is a positive integer less than or equal to S; Wherein, the priority of the data packets to be sent by one of the first end-side nodes corresponds to one of the priority queues.

13. The method according to claim 12, characterized in that, The local announcement message further includes first congestion prediction durations respectively corresponding to the S first end-side nodes; the first congestion prediction duration corresponding to one of the S first end-side nodes is determined according to priority queue congestion duration historical 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 historical data includes the identifiers of N2 ports, the identifiers of N3 priority queues in each of the N2 ports, and the congestion historical durations respectively corresponding to the N3 priority queues in each port.

14. The method according to claim 13, wherein, The local announcement message further includes the identifiers of the at least one port and the identifiers of at least one priority queue in each of the at least one port.

15. The method according to any one of claims 8-14, characterized in that, Before sending the local announcement message to the first network device in the first availability zone, it further includes: Adding the local announcement message to the priority queue in the access layer network device that meets the first condition; Sending the local announcement message to the first network device in the first availability zone includes: Obtaining the local announcement message from the priority queue that meets the first condition and sending the local announcement message to the first network device in the first availability zone.

16. A network congestion notification method, applied to a second network device in a second available zone, characterized in that, Includes: Receiving a long-distance announcement message sent by the first network device in the first availability zone, the long-distance announcement message includes the identifiers of N first end-side nodes in the first availability zone, and the long-distance announcement message is used to indicate that there is congestion in the transmission paths corresponding to the N first end-side nodes; Receiving data packets sent by the second end-side nodes 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, send a congestion notification packet to the second end-side node, where the congestion notification packet is used to indicate that there is congestion in the transmission path corresponding to the destination node.

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

18. The method according to claim 16, wherein The long-distance notification message further includes the second congestion prediction durations respectively corresponding to the N first end-side nodes; The sending the congestion notification packet to the second end-side node includes: Within the congestion prediction net duration corresponding to the destination node, periodically send the congestion notification packet to the second end-side node; the congestion prediction net duration corresponding to the destination node is determined according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to the N first end-side nodes.

19. The method according to claim 16, wherein The long-distance notification message further includes the identifiers of the priority queues respectively corresponding to the N first end-side nodes; The sending the congestion notification packet 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 includes: When the identifiers of the N first end-side nodes include the identifier of the destination node in the data packet, 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 packet, send the congestion notification packet to the second end-side node.

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

21. The method according to claim 19, wherein, The long-distance notification message further includes the second congestion prediction durations respectively corresponding to the N first end-side nodes; The sending the congestion notification packet to the second end-side node includes: Within the congestion prediction net duration corresponding to the destination node, periodically send the congestion notification packet to the second end-side node; the congestion prediction net duration corresponding to the destination node is determined according to the second congestion prediction duration corresponding to the destination node among the second congestion prediction durations respectively corresponding to the N first end-side nodes.

22. The method according to claim 17 or 21, characterized in that The congestion prediction net duration corresponding to the destination node is determined as follows: According to the distance between the first network device and the second network device, determine the message transmission duration between the first network device and the second network device; Determine the congestion prediction net duration corresponding to the destination node according to the second congestion prediction duration corresponding to the destination node and the message transmission duration between the first network device and the second network device.

23. The method according to claim 16, wherein Before sending the congestion notification message to the second end-side node, it further includes: Adding the congestion notification message to the priority queue in the second network device that meets the first condition; Sending the congestion notification message to the second end-side node includes: 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.

24. The method according to claim 16, wherein, 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 available zone.

25. A network congestion notification device, characterized in that, It includes: A determination module, configured to determine N first end-side nodes in the first available zone; there is congestion in the transmission paths corresponding to the N first end-side nodes; N is an integer greater than 0; A first sending module, configured to send a long-distance notification message to the second network device in the second available zone; the long-distance notification message is used for the second network device to notify the second end-side nodes in the second available zone that there is congestion in the transmission paths corresponding to the N first end-side nodes.

26. A network congestion notification device, characterized in that, It includes: A determination module, configured to determine that there is congestion in the transmission paths corresponding to S first end-side nodes connected to the access layer network device; A first sending module, configured to send a local notification message 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.

27. A network congestion notification device, characterized in that, It includes: A receiving module, configured to receive a long-distance notification message sent by the first network device in the first available zone, the long-distance notification message includes the identifiers of the N first end-side nodes in the first available zone, and the long-distance notification message is used to indicate that there is congestion in the transmission paths corresponding to the N first end-side nodes; The receiving module is further configured to receive data packets sent by the second end-side nodes in the second available zone; A second sending module, configured to, when the identifiers of the N first end-side nodes include the identifier of the destination node in the data packet, send a congestion notification message to the second end-side node, and the congestion notification message is used to indicate that there is congestion in the transmission path corresponding to the destination node.

28. A network device, characterized in that, It includes a processor and a memory; computer-executable instructions are stored in the memory; the processor is configured 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-7 or the method according to any one of claims 8-16 or the method according to any one of claims 17-24.

29. A computer-readable storage medium, characterized in that, It includes computer program instructions, when the computer program instructions are executed by a network device, the network device executes the method according to any one of claims 1-7 or the method according to any one of claims 8-16 or the method according to any one of claims 17-24.

30. A computer program product comprising instructions, characterized in that, When the instruction is run by a network device, the network device is caused to execute the method according to any one of claims 1-7 or the method according to any one of claims 8-16 or the method according to any one of claims 17-24.

Citation Information

Patent Citations

  • Control method for relieving LoRa network congestion based on linear frequency modulation spread spectrum

    CN115361703A

  • Network congestion control method, device, equipment, system and storage medium

    CN116886615A

  • Intelligent congestion control method, system and device for long-distance data center and storage medium

    CN117938763A

  • Congestion notification method and device, equipment and storage medium

    CN118303071A

  • Method and electronic device for traffic shaping for a user equipment in a wireless communication network

    US20230100136A1