Notification message sending method and processing method, and apparatus

By sending notification messages between communication devices, which include link anomaly information, the problem of insufficient link status awareness in routing methods is solved, and more efficient network communication quality is achieved.

WO2026002173A1PCT designated stage Publication Date: 2026-01-02HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/104142
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-23
Filing Date
2025-06-26
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing routing methods cannot accurately perceive link status, leading to the selection of links with lower network quality for data forwarding, resulting in poor network communication quality.

Method used

The first communication device generates and sends a notification message containing a link anomaly identifier and link anomaly information, such as the available bandwidth of the port group. The second communication device adjusts the proportion of sent service flows based on this information in order to select a forwarding path that better matches the actual link status.

Benefits of technology

It improves the quality of network communication after routing, ensures that data transmission is more consistent with the link status, reduces network congestion and out-of-order phenomena, and improves overall communication efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025104142_02012026_PF_FP_ABST
    Figure CN2025104142_02012026_PF_FP_ABST
Patent Text Reader

Abstract

Provided are a notification message sending method and processing method, and an apparatus, relating to the technical field of communications. A first communication apparatus detects a local link abnormality or congestion of the first communication apparatus to generate a notification message, and sends the notification message to a second communication apparatus; the second communication apparatus receives the notification message, and on the basis of link abnormality information or link congestion information carried in the notification message, reduces the proportion of service flow messages sent to the first communication apparatus, wherein the link abnormality information comprises an available bandwidth of a port group of the first communication apparatus, the link congestion information comprises a service flow forwarding type, and the service flow forwarding type comprises packet-level forwarding or flow-level forwarding. In this way, the second communication apparatus can accurately perceive link abnormalities or congestion at a remote communication apparatus, and reduce the proportion of service flow messages sent to the first communication apparatus, making the selection of a message forwarding path more in line with the actual link status, thereby improving the quality of network communication after routing.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, processing methods and apparatus for sending and processing notification messages

[0001] This application claims priority to Chinese Patent Application No. 202410855400.4, filed on June 27, 2024, entitled "Package-by-Package Routing Method and Apparatus", and Chinese Patent Application No. 202410855400.4, filed on August 23, 2024, entitled "Method, Processing Method and Apparatus for Sending Announcement Messages", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a method, processing method and apparatus for sending and processing notification messages. Background Technology

[0003] In network communication technology, in order to ensure communication quality, link load balancing can be achieved by using flow-by-flow routing or packet-by-packet routing.

[0004] However, the current routing method cannot accurately perceive the status of the link, and may choose a link with lower network quality for data forwarding, resulting in poor network communication quality after routing. Summary of the Invention

[0005] This application provides a method, processing method, and apparatus for sending and processing notification messages to solve the problems of poor link awareness during the routing process and poor network communication quality after routing.

[0006] A first aspect provides a method for sending a notification message, the method being executed by a first communication device, the first communication device being communicatively connected to a second communication device. The method includes: the first communication device detecting a local link anomaly, and generating a first notification message based on the link anomaly. The first notification message includes a link anomaly identifier and link anomaly information; the link anomaly identifier indicates that the first notification message is for notifying a link anomaly; the link anomaly information includes the available bandwidth of a port group of the first communication device, and the port group includes the ports corresponding to the link with the link anomaly. The first communication device then sends the first notification message to the second communication device.

[0007] Based on the aforementioned method of sending notification messages, a first notification message is sent to the second communication device in response to a link anomaly in the first communication device. This allows the second communication device, upon receiving the first notification message, to determine, based on the link anomaly identifier carried in the first notification message, that the first notification message indicates a local link anomaly in the first communication device. Furthermore, the first notification message carries link anomaly information, such as the available bandwidth of the first communication device's port group, enabling the second communication device to determine the precise status of the local link anomaly in the first communication device. This provides an accurate routing basis for the second communication device to send messages, improving the quality of network communication after routing.

[0008] In conjunction with the notification message sending method provided in the first aspect, as a possible implementation, the link anomaly information also includes the link anomaly type. The link anomaly type includes link disconnection, link speed reduction, link bit error rate exceeding a threshold, or link packet loss rate exceeding a threshold. Thus, the first notification message can notify the second communication device of the specific type of link anomaly, serving as a routing reference for subsequent message transmission by the second communication device, thereby improving the quality of network communication after routing.

[0009] In conjunction with the notification message sending method provided in the first aspect, as a possible implementation, the notification message sending method further includes: a first communication device receiving a first service message and, in response to the first service message, sending a first notification message to a second communication device, or sending a first notification message to at least one upstream communication device of the first communication device. Thus, the first communication device can send the first notification message to a designated second communication device or multiple upstream communication devices communicatively connected to the first communication device, enabling the second communication device to accurately route subsequent messages, or enabling multiple upstream communication devices communicatively connected to the first communication device to accurately route subsequent messages, thereby improving the overall network communication quality after routing.

[0010] In conjunction with the notification message sending method provided in the first aspect, as a possible implementation, the notification message sending method further includes: a first communication device detecting link congestion and sending link congestion information to a second communication device based on the link congestion. The link congestion information includes the service flow forwarding type, which includes packet-level forwarding or flow-level forwarding, and the service flow is the service flow forwarded through the link congestion. Thus, in addition to informing the second communication device of the link anomaly, the first communication device also notifies the second communication device of link congestion through the link congestion information, enabling the second communication device to determine whether the service flow forwarding type is packet-level forwarding or flow-level forwarding, thereby more accurately routing subsequent messages and reducing congestion after routing.

[0011] In conjunction with the notification message sending method provided in the first aspect, as a possible implementation, the notification message sending method further includes: a first communication device receiving a second notification message sent by a downstream communication device. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier indicates that the second notification message is used to notify of link congestion. The link congestion information includes a congestion identifier and a service flow forwarding type. The congestion identifier indicates the congestion level of the port group of the downstream communication device. The service flow forwarding type includes packet-level forwarding or flow-level forwarding, and the service flow is a service flow forwarded through a link with link congestion. When the service flow forwarding type of the second notification message is packet-level forwarding, the first communication device reduces the proportion of service flow packets sent to the downstream communication device based on the congestion identifier. Thus, the first communication device can adjust the proportion of service flow packets sent to the downstream communication device locally based on the congestion level of the port group of the downstream communication device, according to the notification message from the downstream communication device, to achieve message routing, thereby improving the real-time nature of routing processing.

[0012] In conjunction with the notification message sending method provided in the first aspect, as a possible implementation, the notification message sending method further includes: the first communication device sending out-of-order information to the second communication device. The out-of-order information is used to indicate the degree of out-of-order status of service messages arriving at the destination communication device. Thus, the first communication device also notifies the second communication device of the out-of-order status of messages along different paths, increasing the basis for the second communication device to make judgments when subsequently sending messages for route selection, and further improving the network communication quality after route selection.

[0013] Optionally, the method for sending the notification message further includes: the first communication device receiving out-of-order information sent by a downstream communication device. The out-of-order information indicates the degree of out-of-order status of service messages arriving at the destination communication device. Based on the out-of-order information, the first communication device prunes or reduces the amount of data sent to forwarding paths where the out-of-order status exceeds a preset threshold. Thus, the first communication device can adjust the forwarding path of messages based on the out-of-order information sent by the downstream communication device, avoiding forwarding messages through paths with a high degree of out-of-order status, thereby improving the quality of network communication after routing.

[0014] Secondly, a method for processing notification messages is provided, executed by a second communication device, which is communicatively connected to a first communication device. The method includes: the second communication device receiving a first notification message sent by the first communication device. The first notification message includes a link anomaly identifier and link anomaly information. The link anomaly identifier indicates that the first notification message is used to notify of a link anomaly. The link anomaly information includes the available bandwidth of the port group of the first communication device. The first notification message is generated when a link anomaly occurs locally on the first communication device. The port group includes the ports corresponding to the link with the link anomaly. Based on the available bandwidth of the port group of the first communication device, the second communication device reduces the proportion of service flow messages sent to the first communication device.

[0015] Based on the above-described method for processing notification messages, the second communication device can determine the local link anomaly indicated by the first notification message based on the link anomaly identifier carried in the first notification message. Furthermore, the first notification message carries link anomaly information such as the available bandwidth of the first communication device's port group, enabling the second communication device to determine the accurate state of the local link anomaly. This allows the second communication device to more accurately detect the link anomaly of the first communication device and reduce the proportion of service flow messages sent to the first communication device, making the message forwarding path selection more consistent with the actual link state and improving the quality of network communication after routing.

[0016] In conjunction with the notification message processing method provided in the second aspect, as a possible implementation, the link anomaly information also includes link anomaly types, which include link disconnection, link speed reduction, link bit error rate exceeding the threshold, or link packet loss rate exceeding the threshold.

[0017] In conjunction with the notification message processing method provided in the second aspect, as one possible implementation, the first communication device and the second communication device belong to a network system. The network system includes multiple communication devices, and multiple forwarding paths exist between these devices. Messages in the service flow of the source communication device are forwarded to the destination communication device through these multiple forwarding paths. These multiple forwarding paths include a first forwarding path, which passes through both the second and first communication devices. The second communication device reduces the proportion of service flow messages sent to the first communication device based on the available bandwidth of the port group of the first communication device and the available bandwidth of the port groups of downstream communication devices on other forwarding paths. These other forwarding paths include all forwarding paths other than the first forwarding path. Thus, the second communication device adjusts the proportion of service flow messages sent to the first communication device by comprehensively calculating the available bandwidth of the port group of the first communication device carried in the first notification message and the available bandwidth of the port groups of downstream communication devices on other forwarding paths. This allows for accurate routing of messages from the second communication device, taking into account the overall link status of the multiple forwarding paths in the network system, thereby improving the network communication quality of the network system after routing.

[0018] Optionally, the second communication device is configured with a network quality table, which includes the proportion of service flow packets sent by the second communication device through port groups corresponding to multiple forwarding paths. The second communication device updates the proportion of service flow packets sent through port groups corresponding to multiple forwarding paths in the network quality table based on the available bandwidth of the port groups of the first communication device and the available bandwidth of the port groups corresponding to the second communication device on other forwarding paths. Then, the second communication device reduces the proportion of service flow packets sent to the first communication device according to the network quality table. The proportion of service flow packets sent by the second communication device through port groups corresponding to multiple forwarding paths is the same as the proportion of available bandwidth of the port groups corresponding to the second communication device on the multiple forwarding paths.

[0019] In conjunction with the notification message processing method provided in the second aspect, as a possible implementation, the notification message processing method further includes: the second communication device sending a first notification message to at least one upstream communication device of the second communication device. In this way, at least one upstream communication device of the second communication device can also obtain the first notification message, thereby sensing the remote link status.

[0020] Thirdly, a method for sending a notification message is provided, the method being executed by a first communication device, the first communication device being communicatively connected to a second communication device. The method for sending the notification message includes: the first communication device detecting local link congestion, generating a second notification message based on the link congestion, and sending the second notification message to the second communication device. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier indicates that the second notification message is used to notify of link congestion, and the link congestion information includes a service flow forwarding type, which may be packet-level forwarding or flow-level forwarding, and the service flow is a service flow forwarded through a link experiencing link congestion.

[0021] Based on the aforementioned method of sending notification messages, the first communication device notifies the second communication device of link congestion via a second notification message. This enables the second communication device, upon receiving the second notification message, to determine the local link congestion indicated by the second notification message based on the link congestion identifier carried in the second notification message. Furthermore, the second notification message carries link congestion information such as the traffic flow forwarding type, allowing the second communication device to determine whether the traffic flow forwarding type is packet-level forwarding or flow-level forwarding. This enables more accurate routing of subsequent messages and reduces congestion after routing.

[0022] In conjunction with the method for sending the notification message provided in the third aspect, as one possible implementation, the second notification message includes a congestion flag. The congestion flag is used to indicate the degree of congestion in the port group of the first communication device.

[0023] In conjunction with the notification message sending method provided in the third aspect, as a possible implementation, the notification message sending method further includes: the first communication device receiving a second service message and, in response to the second service message, sending a second notification message to the second communication device, or sending a second notification message to at least one upstream communication device of the second communication device. Thus, the first communication device can send the second notification message to a designated second communication device or multiple upstream communication devices communicatively connected to the first communication device, enabling the second communication device to accurately route subsequent messages, or enabling multiple upstream communication devices communicatively connected to the first communication device to accurately route subsequent messages, thereby improving the overall network communication quality after routing.

[0024] In conjunction with the notification message sending method provided in the third aspect, as a possible implementation, the notification message sending method further includes: the first communication device sending out-of-order information to the second communication device. The out-of-order information is used to indicate the degree of out-of-order status of service messages arriving at the destination communication device. Thus, the first communication device also notifies the second communication device of the out-of-order status of messages along different paths, increasing the basis for the second communication device to make judgments when subsequently sending messages for route selection, and further improving the network communication quality after route selection.

[0025] Optionally, the method for sending the notification message further includes: the first communication device receiving out-of-order information sent by a downstream communication device. The out-of-order information indicates the degree of out-of-order status of service messages arriving at the destination communication device. Based on the out-of-order information, the first communication device prunes or reduces the amount of data sent to forwarding paths where the out-of-order status exceeds a preset threshold. Thus, the first communication device can adjust the forwarding path of messages based on the out-of-order information sent by the downstream communication device, avoiding forwarding messages through paths with a high degree of out-of-order status, thereby improving the quality of network communication after routing.

[0026] Fourthly, a method for processing a notification message is provided, which is executed by a second communication device and is communicatively connected to a first communication device. The method for sending the notification message includes: the second communication device receiving a second notification message sent by the first communication device. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier indicates that the second notification message is used to notify of link congestion, and the link congestion information includes a congestion identifier and a traffic flow forwarding type. The congestion identifier indicates the degree of congestion in the port group of the first communication device. The traffic flow forwarding type includes packet-level forwarding or flow-level forwarding, and the traffic flow is a traffic flow forwarded through a link with link congestion. Then, if the traffic flow forwarding type is packet-level forwarding, the second communication device reduces the proportion of traffic flow messages sent to the second communication device according to the congestion identifier.

[0027] Based on the above-described method for processing notification messages, the second communication device can determine the local link congestion of the first communication device indicated by the second notification message based on the link congestion identifier carried in the second notification message. Furthermore, the link congestion information carried in the second notification message, such as the congestion identifier, enables the second communication device to accurately determine the degree of local link congestion of the first communication device. This allows the second communication device to more accurately perceive the link congestion of the first communication device and reduce the proportion of service flow messages sent to the first communication device, making the message forwarding path selection more consistent with the actual link status and improving the quality of network communication after routing.

[0028] In conjunction with the notification message processing method provided in the fourth aspect, as one possible implementation, the first communication device and the second communication device belong to a network system. The network system includes multiple communication devices, and multiple forwarding paths exist between these devices. Messages in the service flow of the source communication device are forwarded to the destination communication device through these multiple forwarding paths. These multiple forwarding paths include a first forwarding path, which passes through both the second and first communication devices. The second communication device reduces the proportion of service flow messages sent to it based on the congestion flag and the congestion flags of the port groups of downstream communication devices on other forwarding paths. These other forwarding paths include all forwarding paths other than the first forwarding path. Thus, the second communication device adjusts the proportion of service flow messages sent to the first communication device by comprehensively calculating the congestion level of the second communication device as informed by the second notification message and the congestion levels of downstream communication devices on other forwarding paths. This allows for accurate routing of messages from the second communication device, taking into account the overall link status of the multiple forwarding paths in the network system, thereby improving the network communication quality of the network system after routing.

[0029] Optionally, if no idle links exist among the multiple forwarding paths, the second communication device sends a rate-reduction notification to the source communication device. The rate-reduction notification instructs the source communication device to reduce the transmission rate of service flow packets. In this way, the second communication device can identify the cause of congestion, perform load balancing when the load is unevenly distributed among the multiple forwarding paths, and reduce the transmission rate of service flow packets by the source communication device when there is no remaining load on any of the multiple forwarding paths, thereby eliminating congestion.

[0030] Fifthly, a communication device is provided, the communication device including a processor and a memory, the processor being configured to execute instructions stored in the memory to cause the communication device to perform the method for sending a notification message or the method for processing a notification message as described in any possible implementation of the first to fourth aspects.

[0031] Sixthly, a computer program (product) is provided, the computer program (product) comprising: computer program code, which, when executed by a computer or communication device, causes the computer or communication device to perform the method for sending or processing a notification message as described in any possible implementation of the first to fourth aspects.

[0032] In a seventh aspect, a chip is provided, including a processor for retrieving and executing instructions stored in a memory, causing a communication device on which the chip is installed to perform a method for sending or processing a notification message as described in any possible implementation of the first to fourth aspects.

[0033] Eighthly, another chip is provided, comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected via an internal connection path, and the processor is used to execute code in the memory, wherein when the code is executed, the processor is used to execute the method for sending a notification message or the method for processing a notification message as described in any possible implementation of the first to fourth aspects above.

[0034] Ninth aspect, a network system is provided, including multiple network devices and multiple servers, the multiple network devices being divided into at least one level, the network devices at different levels communicating with each other, and each of the multiple servers communicating with at least one network device among the multiple servers.

[0035] In one possible implementation, the plurality of network devices includes a first communication device and a second communication device, wherein the first communication device is a downstream communication device of the second communication device, the first communication device is used to perform the method for sending announcement messages as described in any possible implementation of the first aspect or the third aspect, and the second communication device is used to perform the method for processing announcement messages as described in any possible implementation of the second aspect or the fourth aspect.

[0036] A tenth aspect provides an apparatus for sending a notification message, comprising a transceiver module and a processing module. The processing module is configured to detect a link anomaly on a first communication device and generate a first notification message based on the link anomaly; the first notification message includes a link anomaly identifier and link anomaly information, wherein the link anomaly identifier indicates that the first notification message is used to notify of a link anomaly, and the link anomaly information includes the available bandwidth of a port group of the first communication device, the port group including the port corresponding to the link with the link anomaly. The transceiver module is configured to send the first notification message to a second communication device.

[0037] As one possible implementation, the above-mentioned notification message sending device may further include other modules that perform the operational steps of the notification message sending method described in the first aspect.

[0038] Eleventhly, a device for processing notification messages is provided, comprising a transceiver module and a processing module. The transceiver module receives a first notification message sent by a first communication device; the first notification message includes a link anomaly identifier and link anomaly information, wherein the link anomaly identifier indicates that the first notification message is used to notify of a link anomaly, and the link anomaly information includes the available bandwidth of the port group of the first communication device; the first notification message is generated when a link anomaly occurs locally on the first communication device, and the port group includes the port corresponding to the link with the link anomaly. The processing module reduces the proportion of service flow messages sent to the first communication device based on the available bandwidth of the port group of the first communication device.

[0039] As one possible implementation, the above-mentioned notification message processing apparatus may further include other modules that perform the operational steps of the notification message processing method described in the second aspect.

[0040] In a twelfth aspect, an apparatus for sending a notification message is provided, comprising a transceiver module and a processing module. The processing module is used to detect link congestion locally on the first communication device. The processing module is used to generate a second notification message based on the link congestion; the second notification message includes a link congestion identifier and link congestion information, wherein the link congestion identifier indicates that the second notification message is used to notify of link congestion, and the link congestion information includes a service flow forwarding type, wherein the service flow forwarding type includes packet-level forwarding or flow-level forwarding, and the service flow is a service flow forwarded through the link congested. The transceiver module is used to send the second notification message to the second communication device.

[0041] As one possible implementation, the above-mentioned notification message sending device may further include other modules that perform the operational steps of the notification message sending method described in the third aspect.

[0042] In a thirteenth aspect, an apparatus for processing notification messages is provided, comprising a transceiver module and a processing module. The transceiver module is configured to receive a second notification message sent by a first communication device; the second notification message includes a link congestion identifier and link congestion information, wherein the link congestion identifier indicates that the second notification message is used to notify of link congestion, and the link congestion information includes a congestion identifier and a service flow forwarding type, wherein the congestion identifier indicates the congestion level of the port group of the first communication device, and the service flow forwarding type includes packet-level forwarding or flow-level forwarding, and the service flow is a service flow forwarded through the link congested. The processing module is configured to, if the service flow forwarding type is packet-level forwarding, reduce the proportion of service flow messages sent to the second communication device according to the congestion identifier.

[0043] As one possible implementation, the above-mentioned notification message processing apparatus may further include other modules that perform the operational steps of the notification message processing method described in the fourth aspect.

[0044] In a fourteenth aspect, a computer-readable storage medium is provided, the storage medium storing at least one instruction, the instruction being loaded and executed by a processor to implement the method for sending a notification message or the method for processing a notification message as described in any possible implementation of the first to fourth aspects above. Attached Figure Description

[0045] Figure 1 is a schematic diagram of the structure of a network system provided in this application;

[0046] Figure 2 is a flowchart illustrating a method for sending and processing a notification message provided in this application.

[0047] Figure 3 is a schematic diagram of a method for calculating available bandwidth provided in this application;

[0048] Figure 4 is a flowchart illustrating a method for sending and processing a notification message provided in this application.

[0049] Figure 5 is a flowchart illustrating a method for sending and processing a notification message provided in this application.

[0050] Figure 6 is a flowchart illustrating a method for sending and processing a notification message provided in this application.

[0051] Figure 7 is a schematic diagram of the structure of a notification message sending device provided in this application;

[0052] Figure 8 is a schematic diagram of the structure of a notification message processing device provided in this application;

[0053] Figure 9 is a schematic diagram of the structure of a communication device provided in this application. Detailed Implementation

[0054] This application provides a method for sending and processing notification messages. In this method, a first communication device detects a local link anomaly and generates a first notification message based on the link anomaly, then sends the first notification message to a second communication device. The second communication device receives the first notification message and, based on the available bandwidth of its port group, reduces the proportion of service flow messages sent to the first communication device. The first notification message includes a link anomaly identifier and link anomaly information. The link anomaly identifier indicates that the first notification message is used to notify of a link anomaly, and the link anomaly information includes the available bandwidth of the first communication device's port group, which includes the ports corresponding to the link with the link anomaly. The first communication device then sends the first notification message to the second communication device. Thus, by sending a first notification message to the second communication device in response to a link anomaly in the first communication device, the second communication device receiving the first notification message can determine, based on the link anomaly identifier carried in the first notification message, that the first notification message indicates a local link anomaly in the first communication device. In addition, the first notification message carries link anomaly information, such as the available bandwidth of the port group of the first communication device, enabling the second communication device to determine the accurate status of the local link anomaly of the first communication device. This allows the second communication device to more accurately perceive the link anomaly of the first communication device, such as the degree of the link anomaly, and reduce the proportion of service flow messages sent to the first communication device. This makes the message forwarding path selection more consistent with the actual link status and improves the network communication quality after routing.

[0055] This application also provides a method for sending and processing a notification message. In this method, a first communication device detects local link congestion, generates a second notification message based on the link congestion, and sends the second notification message to a second communication device. The second communication device receives the second notification message sent by the first communication device. If the service flow forwarding type is packet-level forwarding, the second communication device reduces the proportion of service flow messages sent to it based on a congestion identifier. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier indicates that the second notification message is used to notify of link congestion. The link congestion information includes the service flow forwarding type, which may be packet-level forwarding or flow-level forwarding, and the service flow is a service flow forwarded through a congested link. Thus, the second communication device can determine the local link congestion indicated by the second notification message based on the link congestion identifier carried in the second notification message. In addition, the second notification message carries link congestion information such as congestion identifiers, enabling the second communication device to determine the accuracy of the local link congestion of the first communication device. This allows the second communication device to more accurately perceive the link congestion of the first communication device and reduce the proportion of service flow messages sent to the first communication device, making the message forwarding path selection more consistent with the actual link status and improving the network communication quality after routing.

[0056] The technical solutions involved in this application may be applied not only to current communication technologies or communication devices, but also to future communication technologies or communication devices, or to communication systems and network systems that include communication devices. The terminology used in the embodiments section of this application is only for explaining specific embodiments of this application and is not intended to limit this application. A brief introduction to some concepts that may be involved in this application is given below.

[0057] Bandwidth refers to the width of the frequency band occupied by a signal. When used to describe a channel, bandwidth refers to the maximum frequency band of signals that can effectively pass through that channel. For digital signals, bandwidth refers to the amount of data that a link can transmit per unit time.

[0058] Congestion refers to a phenomenon in network communication where the number of data packets (such as data packets and messages) arriving at a certain part of the communication subnet is too large, causing that part of the network to be unable to process them, thus leading to a decline in network performance.

[0059] To make the objectives, technical solutions, and advantages of this application clearer, the application will now be described in further detail with reference to the accompanying drawings.

[0060] In the following description, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined with "first," "second," etc., may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.

[0061] Furthermore, in this application, directional terms such as "upper" and "lower" are defined relative to the orientation of the components shown in the accompanying drawings. It should be understood that these directional terms are relative concepts, used for relative description and clarification, and can change accordingly depending on the orientation of the components in the accompanying drawings.

[0062] In a packet-by-packet balanced routing scheme, when a node in the network experiences local congestion or a failure, it constructs an adaptive routing notification (ARN) message and sends it to upstream nodes. The upstream nodes then avoid selecting the path of the node that generated the ARN message when forwarding subsequent packets. However, in this scheme, upstream nodes can only perform basic perception and processing of congestion or failures, and cannot accurately perceive link states. This results in an inability to perform subsequent routing based on accurate link states, potentially leading to the selection of links with lower network quality for data forwarding, resulting in poor network communication quality after routing.

[0063] To address the aforementioned issues, the application scenarios of the embodiments of this application will be described below with reference to the accompanying drawings.

[0064] Figure 1 is a schematic diagram of a network system provided in this application. This network system can belong to a data center network topology, an interconnection between multiple data centers, or a wide area network. The service scenarios of the network system can be high-performance service scenarios such as distributed machine learning training, distributed storage, high-performance computing, and containerization. The communication protocol of the network system can be remote direct memory access (RDMA) protocol, transmission control protocol (TCP), etc., such as Infiniband and RoCEv2 (RDMA over Converged Ethernet version 2) RDMA protocols.

[0065] For example, network system 100 includes multiple servers and multiple network devices.

[0066] Multiple servers are used to support high-performance services with different communication requirements, such as AI training, AI inference, and storage. As shown in Figure 1, the network system 100 includes multiple server groups (only server groups 101, 102, 103, and 104 are shown in Figure 1, but it is not limited to four server groups). Each server group includes one or more servers (only three servers are shown in Figure 1, but it is not limited to three servers). The servers in each server group are connected to network devices via network interface cards (NICs). The NICs are used to send and receive data and have the capability to receive packets out of order.

[0067] Multiple network devices can be routers, switches, gateways, and other devices with data exchange and transmission functions, possessing capabilities such as link quality identification, generating / sending / processing announcement messages, modifying message fields, and adjusting the path of each packet. As shown in Figure 1, network system 100 includes multiple network devices (Figure 1 only shows network devices 105, 106, 107, 108, 109, 110, 111, 112, 113, and 114, but is not limited to 10 network devices). Network devices can be located at different layers in network system 100. For example, if network system 100 is a spine-leaf network architecture, network devices 105, 106, 107, and 108 can be leaf switches in the access layer, network devices 109, 110, 111, and 112 can be spine switches in the aggregation layer, and network devices 113 and 114 can be core switches in the core layer.

[0068] For example, in network system 100, each server in server group 101 communicates with network device 105 via a network interface card (NIC), each server in server group 102 communicates with network device 106 via a NIC, each server in server group 103 communicates with network device 107 via a NIC, and each server in server group 104 communicates with network device 108 via a NIC. Network device 105 communicates with network devices 109 and 110, network device 106 communicates with network devices 109 and 110, network device 107 communicates with network devices 111 and 112, and network device 108 communicates with network devices 111 and 112. Network device 113 communicates with network devices 109, 110, 111, and 112, and network device 114 communicates with network devices 109, 110, 111, and 112.

[0069] In the embodiments of this application, both the network devices and servers in the network system 100 described above can be referred to as communication devices. A communication device can also be a processor in a server (such as a neural network processing unit (NPU), central processing unit (CPU), graphics processing unit (GPU), etc.), a network interface card (NIC) in a server, a switching chip in a network device, or a CPU in a network device, etc., and this application does not limit it to these specific types.

[0070] It should be understood that Figure 1 is a simplified schematic diagram for ease of understanding only. The network system 100 may also include other network devices, servers, and / or other devices, and the connection relationships between nodes may also vary, which are not shown in Figure 1.

[0071] It should be understood that Figure 1 only shows a network architecture with three-layer network devices. This embodiment can also be applied to a network architecture with two-layer network devices. In this case, network devices 109, 110, 111, and 112 can be considered non-existent. Network devices 105, 106, 107, and 108 are directly connected to network devices 113 and 114, respectively. In this case, network devices 105, 106, 107, and 108 are Leaf switches in the access layer, and network devices 113 and 114 are Spine switches in the aggregation layer.

[0072] Next, the method for sending and processing announcement messages provided in the embodiments of this application will be described in detail with reference to the accompanying drawings. Here, taking the network device in the network system 100 in Figure 1 executing the method for sending and processing announcement messages as an example, the specific steps of the method for sending and processing announcement messages will be explained.

[0073] Figure 2 is a flowchart illustrating a method for sending and processing a notification message according to this application. Referring to Figure 2, the method may include the following steps S201-S205.

[0074] S201, The first communication device detects a local link anomaly.

[0075] The first communication device detects a link anomaly in the local outbound link.

[0076] Here, the outgoing link refers to the link between the first communication device and its downstream communication device. A link anomaly in the local outgoing link of the first communication device can be due to a port anomaly, a port anomaly connecting the first communication device to its downstream communication device, or a link anomaly connecting the first communication device to its downstream communication device. The downstream communication device of the first communication device refers to the next-hop device of the first communication device along the message transmission direction of the service flow.

[0077] For example, the first communication device queries the port status of its local egress link via a command, and determines that the local egress link is abnormal based on the port status. The command used to query the port status varies depending on the type of the first communication device, and this application does not limit its specific use.

[0078] The ports of the aforementioned outgoing lines can be referred to as a port group, which includes the ports corresponding to the links that are experiencing link failures.

[0079] For example, a link anomaly can refer to a link disconnection, a link speed reduction (such as reducing lanes), a link error rate exceeding a threshold, a link packet loss rate exceeding a threshold, or other link anomalies.

[0080] Figure 2 illustrates the method for sending and processing notification messages provided in this application, using the example of a service flow from network device 105 to network device 107 and network device 114 as the first communication device. The downstream communication device of the first communication device can be network device 111, and the outgoing link can be the link between network device 114 and network device 111. However, this application does not limit the specific locations of the first and second communication devices. The first communication device can also be any network device in the aggregation layer or core layer, such as network device 113, network device 109, etc.

[0081] S202, The first communication device generates a first notification message based on the link anomaly.

[0082] The first notification message includes a link anomaly identifier and link anomaly information. The link anomaly identifier indicates that the first notification message is used to notify of a link anomaly, enabling the communication device receiving the first notification message to determine that the first notification message indicates a link anomaly on the local outgoing link of the first communication device. The link anomaly information indicates detailed information about the link anomaly.

[0083] For example, the link anomaly information includes available bandwidth; for instance, the available bandwidth of the first notification message is the available bandwidth of the port group of the first communication device. The port group refers to all ports of the link between the first communication device and downstream communication devices along the message transmission direction of the service flow, including the port corresponding to the link with the link anomaly.

[0084] The available bandwidth of the port group of the first communication device differs between Layer 2 and Layer 3 switch scenarios. For example, in a Layer 2 switch scenario, there is only one forwarding path for the service flow to reach the first communication device, and the available bandwidth of the port group of the first communication device can be the available bandwidth of the outgoing port group of the first communication device. Conversely, in a Layer 3 switch scenario, there are multiple forwarding paths for the service flow to reach the first communication device, and the available bandwidth of the port group of the first communication device can be the available bandwidth of all multiple forwarding paths.

[0085] As shown in Figure 3, in a Layer 3 switch scenario, assuming the service flow packets travel from network device 105 to network device 107, and the bandwidth of a link between any two network devices is 1 unit, with network device 109 as the first communication device. If network device 114 fails, it will advertise the available bandwidth of its outgoing port group to network device 109 via an announcement message; for example, the available bandwidth of network device 114's outgoing port group is bandwidth_c2. If network device 113 fails, it will advertise the available bandwidth of its outgoing port group to network device 109 via an announcement message; for example, the available bandwidth of network device 113's outgoing port group is bandwidth_c1. The downstream communication devices in the optional path for the service flow message sent by network device 109 include network device 113 and network device 114. The total available local physical bandwidth is 2(bandwidth_s1_c1, bandwidth_s1_c2). Therefore, the available bandwidth of the port group of network device 109 is sum(min(bandwidth_s1_c1, bandwidth_c1), min(bandwidth_s1_c2, bandwidth_c2) = sum(1,0) = 1. Here, bandwidth_s1_c1 represents the bandwidth of the link between network device 109 and network device 113 as 1 unit, and bandwidth_s1_c2 represents the bandwidth of the link between network device 109 and network device 114 as 1 unit.

[0086] When the bandwidth of links between network devices is the same, the unit of bandwidth can be the number of links. For example, if there are n links between network devices 109 and 113, and m links between network devices 109 and 113 experience link failures, then the available bandwidth of network device 109 is (nm) * the bandwidth of a single link. When the bandwidth of links between network devices is different, the unit of bandwidth can be megabits per second (Mbps), gigabits per second (Gbps), etc. This application does not limit the specific representation of available bandwidth.

[0087] For example, the link anomaly information may also include the link anomaly type, such as link disconnection, link speed reduction, link bit error rate exceeding a threshold, or link packet loss rate exceeding a threshold.

[0088] In the event of a link disconnection, a link error rate exceeding a threshold, or a link packet loss rate exceeding a threshold, and with only one forwarding path, the available bandwidth of the port group of the first communication device in the first announcement message can be zero.

[0089] S203, The first communication device sends a first notification message to the second communication device.

[0090] As one possible implementation, the first communication device sends a first notification message to the second communication device.

[0091] As another possible implementation, the first communication device sends a first notification message to at least one upstream communication device. The upstream communication device of the first communication device refers to the device preceding the first communication device in the message transmission direction of the service flow. For example, taking network device 114 as the first communication device, at least one upstream communication device includes network device 109 and network device 110.

[0092] For example, the first notification message may be triggered by a first service message. For instance, in response to a received first service message, the first communication device sends a first notification message to a second communication device, or sends a first notification message to at least one upstream communication device.

[0093] In possible embodiments of this application, steps S201-S203 described above may also be performed by a centralized controller or management server. For example, the centralized controller detects link anomalies in all communication devices of the network system 100, generates a first notification message based on the link anomaly, and then sends the first notification message to the upstream communication device of the communication device with the link anomaly. Alternatively, after generating the first notification message based on the link anomaly, the centralized controller instructs the upstream communication device of the communication device with the link anomaly to perform subsequent step S205 based on the first notification message.

[0094] S204. The second communication device receives the first notification message sent by the first communication device.

[0095] S205. The second communication device reduces the proportion of service flow messages sent to the first communication device based on the available bandwidth of the port group of the first communication device.

[0096] The second communication device reduces the proportion of service flow packets sent to the first communication device based on the available bandwidth of the port group of the first communication device and the available bandwidth of the port groups of downstream communication devices on other forwarding paths of the first communication device.

[0097] Other forwarding paths include forwarding paths other than the path to which the second communication device belongs when sending service flow packets. For example, if the first communication device is network device 114 and the second communication device is network device 109, other forwarding paths include forwarding paths other than the path to which network device 114 belongs among multiple forwarding paths in network system 100. For example, the port group of downstream communication devices on other forwarding paths of network device 109 includes the corresponding outgoing port group on network device 113 for the link between network device 109 and network device 113.

[0098] For example, the second communication device is configured with a network quality table and an Equal-Cost Multi-Path routing (ECMP) table. The network quality table points to the ECMP table, or the network quality table includes the ECMP table, or the network quality table and the ECMP table are the same table. The proportion of available bandwidth for each port group in the network quality table is the same as the proportion of packets of the service flow forwarded by each port group in the ECMP table.

[0099] The network quality table includes the available bandwidth of the outgoing port groups corresponding to all forwarding paths of the second communication device. After receiving the first announcement message, the second communication device updates the available bandwidth of both its own and the first communication device's outgoing port groups based on the available bandwidth of the first communication device's port groups. This adjusts the proportion of service flow packets forwarded by each port group in the ECMP table, thereby reducing the proportion of service flow packets sent by the second communication device to the first communication device. The proportion of service flow packets forwarded by each port group in the ECMP table can also be represented by weights; this application does not limit its specific form.

[0100] Among them, the network quality table can be a flow table, that is, a separate network quality table is set up for each service flow.

[0101] For example, as shown in Table 1, taking network device 114 as the first communication device and network device 109 as the second communication device, the network quality table of network device 109 includes port group 1 and port group 2, as well as the available bandwidth of port group 1 and port group 2. Among them, port group 1 can be the output port group from network device 109 to network device 113, and port group 2 can be the output port group from network device 109 to network device 114.

[0102] Table 1

[0103] For example, as shown in Table 2, the ECMP table of network device 109 includes port group 1 and port group 2, as well as the proportion of service flow packets sent by port group 1 and port group 2.

[0104] Table 2

[0105] If the available bandwidth of the port group of network device 114 decreases from 400Gbps to 100Gbps, and network device 109 receives the first announcement message stating that the available bandwidth of the port group of network device 114 is 100Gbps, then the available bandwidth corresponding to port group 1 in Table 1 will be updated to 100Gbps, thereby updating the packet ratio corresponding to port group 1 in Table 2 to 0.2 and the packet ratio corresponding to port group 2 to 0.8.

[0106] In a possible embodiment of this application, if network device 114 sends a first notification message to at least one upstream communication device of network device 114, then at least one upstream communication device of network device 114 (e.g., network device 109, network device 110) performs the operation of network device 109 according to the first notification message.

[0107] In possible embodiments of this application, if the network device 109 also has a preceding forwarding device, i.e. an upstream communication device, in the network system 100, the network device 109 can also send a first notification message to at least one upstream communication device of the network device 109 (e.g., network device 105) so that at least one upstream communication device of the network device 109 performs the same operation of the network device 109 according to the first notification message.

[0108] For example, the first notification message also includes a processing identifier. The processing identifier is used to indicate the communication device processing the first notification message. The processing identifier is a string or number that uniquely identifies a communication device, such as a serial number (SN), segment ID (SID), or network address (e.g., IP address). Thus, when network device 109 recognizes that the processing identifier in the first notification message indicates an upstream communication device, it sends the first notification message to at least one upstream communication device (e.g., network device 105) of network device 109. If network device 109 recognizes that the processing identifier in the first notification message indicates itself, it does not forward the first notification message or process the first notification message.

[0109] In possible embodiments of this application, in addition to the first communication device sending a first notification message to the second communication device, the first communication device can further detect link congestion and send link congestion information to the second communication device based on the link congestion. This allows the second communication device to reduce the proportion of service flow packets sent to downstream communication devices based on the congestion identifier when the service flow forwarding type is packet-level forwarding. The link congestion information can be carried in a notification message other than the first notification message, or it can be carried in a field in the first notification message that is different from the link anomaly information.

[0110] The specific method by which the first communication device notifies the second communication device of link congestion information can be referred to in steps S401-S403 of Figure 4, and will not be repeated here. The specific method by which the second communication device reduces the proportion of service flow packets sent to downstream communication devices based on the congestion identifier can be referred to in step S405 of Figure 4, and will not be repeated here.

[0111] In possible embodiments of this application, in addition to the first communication device sending a first notification message to the second communication device, the first communication device may also receive a second notification message sent by the downstream communication device. If the service flow forwarding type is packet-level forwarding, the first communication device reduces the proportion of service flow messages sent to the downstream communication device according to the congestion flag.

[0112] The specific method by which the first communication device reduces the proportion of service flow packets sent to downstream communication devices based on the congestion identifier can be referred to in the relevant step S405 in Figure 4, and will not be repeated here. Based on the method provided in the above embodiments of this application, a first notification message is sent to the second communication device in response to a link anomaly of the first communication device. This enables the second communication device, upon receiving the first notification message, to determine, based on the link anomaly identifier carried in the first notification message, that the first notification message indicates a local link anomaly in the first communication device. Furthermore, the first notification message carries link anomaly information, such as the available bandwidth of the port group of the first communication device, enabling the second communication device to determine the accurate state of the local link anomaly in the first communication device. This allows the second communication device to more accurately perceive the link anomaly of the first communication device and reduce the proportion of service flow packets sent to the first communication device, making the packet forwarding path selection more consistent with the actual link state and improving the network communication quality after routing.

[0113] In the preceding text, the first communication device notified the second communication device of a link anomaly via a first notification message. Besides link anomalies, link congestion may also exist in the network. The following explanation, in conjunction with the accompanying drawings, illustrates how the first communication device notifies the second communication device of link congestion via a second message. Here, the specific steps of the notification message sending and processing method are explained using the network device in network system 100 in Figure 1 as an example.

[0114] Figure 4 is a flowchart illustrating a method for sending and processing a notification message according to this application. Referring to Figure 4, the method may include the following steps S401-S405.

[0115] S401, The first communication device detects local link congestion.

[0116] The first communication device detects abnormal congestion on the local outbound link.

[0117] Here, the outgoing link refers to the link between the first communication device and its downstream communication devices. Local link congestion in the first communication device can be link congestion between the first communication device and its downstream communication devices. For example, each port in the outgoing port group connecting the first and downstream communication devices may experience a preset level of link congestion, such as queuing of port buffers. The downstream communication device of the first communication device refers to the next-hop device of the first communication device along the message transmission direction of the service flow.

[0118] For example, the first communication device queries the port status of its local egress link via a command, and determines whether the local egress link is congested based on the port status. The command used to query the port status varies depending on the type of the first communication device, and this application does not limit its specific use.

[0119] Figure 4 illustrates the method for sending and processing notification messages provided in this application, using the example of a service flow from network device 105 to network device 107 and network device 114 as the first communication device. The downstream communication device of the first communication device can be network device 111, and the outgoing link can be the link between network device 114 and network device 111. However, this application does not limit the specific locations of the first and second communication devices. The first communication device can also be any network device in the aggregation layer or core layer, such as network device 113, network device 109, etc.

[0120] S402, The first communication device generates a second notification message based on the link congestion.

[0121] The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier indicates that the second notification message is used to notify of link congestion, enabling the communication device receiving the second notification message to determine that the second notification message indicates link congestion on the local outgoing link of the first communication device. The link congestion information indicates detailed information about the link anomaly, such as the traffic flow forwarding type (packet-level forwarding or flow-level forwarding) and the traffic flow being a traffic flow forwarded through the link experiencing the congestion.

[0122] Packet-level forwarding refers to forwarding packets destined for the same network segment using different next-hop devices or communication devices in turn, i.e., using different forwarding paths to forward packets destined for the same network segment in turn. Flow-level forwarding refers to selecting the next-hop device or communication device for forwarding based on the packet's five-tuple (source address, destination address, source port number, destination port number, and protocol number), ensuring that packets in the same flow are forwarded using only the same forwarding path.

[0123] The granularity of packet-level forwarding can be a data packet or a data unit after a data packet is segmented. The granularity of stream-level forwarding can be a data stream or a sub-stream within a data stream.

[0124] For example, the link congestion information includes a congestion identifier, such as the congestion identifier in a second notification message, used to indicate the degree of congestion in the port group of the first communication device. The port group refers to all ports of the link between the first communication device and downstream communication devices along the message transmission direction of the service flow.

[0125] Congestion indicators can be any type of information that represents the degree of congestion, such as congestion level, congestion message transmission time, or congestion order. Taking congestion level as an example, different levels of congestion, from low to high, can be sequentially mapped to congestion levels 1 to 10. The different levels of congestion can be determined based on the transmission time of messages under congestion conditions.

[0126] Link congestion information may also include address information, which may be the source address of the service flow to which the message is to be forwarded through the port group of the first communication device.

[0127] As one possible implementation, the generation of the second notification message by the first communication device is a step triggered by the first communication device after detecting local link congestion.

[0128] As another possible implementation, the first communication device generates the second notification message by sampling the messages forwarded by the congested link, such as obtaining the second service message, and responding to the steps triggered after the second service message.

[0129] S403, The first communication device sends a second notification message to the second communication device.

[0130] As one possible implementation, the first communication device sends a second notification message to the second communication device.

[0131] As another possible implementation, the first communication device sends a second notification message to at least one upstream communication device or apparatus. The upstream communication device of the first communication device refers to the device preceding the first communication device in the message transmission direction of the service flow. For example, taking network device 114 as the first communication device, at least one upstream communication device includes network device 109 and network device 110.

[0132] For example, the second notification message may be triggered by a second service message. For instance, in response to the acquired second service message, the first communication device sends a second notification message to the second communication device, or sends a second notification message to at least one upstream communication device.

[0133] S404, The second communication device receives the second notification message sent by the first communication device.

[0134] S405. If the service flow forwarding type is packet-level forwarding, the second communication device reduces the proportion of service flow packets sent to the second communication device according to the congestion flag.

[0135] The second communication device reduces the proportion of service flow packets sent to the first communication device based on the congestion flags of the port groups of the first communication device and the congestion flags of the port groups of downstream communication devices on other forwarding paths. These other forwarding paths include forwarding paths other than the path to which the second communication device belongs when sending service flow packets. For example, if the first communication device is network device 114 and the second communication device is network device 109, the other forwarding paths include forwarding paths other than the path to which network device 114 belongs among the multiple forwarding paths in network system 100.

[0136] For example, the port group of the downstream communication device of network device 109 on other forwarding paths includes the outgoing port group of the link between network device 109 and network device 113 on network device 113.

[0137] For example, the second communication device is configured with a network quality table and an ECMP table. The network quality table points to the ECMP table, or the network quality table may include the ECMP table, or the network quality table and the ECMP table may be the same table. The proportion of congestion flag values ​​for each port group in the network quality table is inversely proportional to the proportion of service flow packets forwarded by each port group in the ECMP table. This inverse proportionality between the proportion of congestion flag values ​​for each port group in the network quality table and the proportion of service flow packets forwarded by each port group in the ECMP table is merely one example in this application embodiment. In other possible examples, the proportion of congestion flag values ​​for each port group in the network quality table and the proportion of service flow packets forwarded by each port group in the ECMP table may also be inversely proportional, or any other arbitrary proportional relationship may exist.

[0138] Taking congestion identification including congestion level as an example, the network quality table includes the congestion level of the outgoing port group corresponding to all forwarding paths of the second communication device. After receiving the second announcement message, the second communication device updates the congestion level of the outgoing port group of the second communication device and the first communication device according to the congestion level of the port group of the first communication device, so as to adjust the proportion of service flow packets forwarded by each port group in the ECMP table, thereby reducing the proportion of service flow packets sent by the second communication device to the first communication device.

[0139] Among them, the network quality table can be a flow table, that is, a separate network quality table is set up for each service flow.

[0140] For example, as shown in Table 3, taking network device 114 as the first communication device and network device 109 as the second communication device, the network quality table of network device 109 includes port group 1 and port group 2, as well as the congestion levels of port group 1 and port group 2. Port group 1 can be the output port group from network device 109 to network device 113, and port group 2 can be the output port group from network device 109 to network device 114.

[0141] In the embodiments of this application, a higher congestion level indicates a more severe degree of congestion.

[0142] Table 3

[0143] For example, as shown in Table 4, the ECMP table of network device 109 includes port group 1 and port group 2, as well as the proportion of service flow packets sent by port group 1 and port group 2.

[0144] Table 4

[0145] If the congestion level of port group 114 of network device 114 increases from 1 to 3, and network device 109 receives a second notification message indicating that the congestion level of port group 114 of network device 114 is 3, then the congestion level corresponding to port group 1 in Table 3 is updated to 3, thereby updating the packet ratio corresponding to port group 1 in Table 4 to 0.25 and the packet ratio corresponding to port group 2 to 0.75. The adjustment of the ratio between congestion level and packet ratio is unrestricted; in other embodiments, the rate of change of congestion level may be higher than the rate of change of packet ratio, or the rate of change of congestion level may be lower than the rate of change of packet ratio.

[0146] In a possible embodiment of this application, network device 109 may superimpose the congestion level in the second announcement message with the congestion level of the local port group, and select the port group with the lowest congestion level to send the messages of subsequent service flows.

[0147] In a possible embodiment of this application, if network device 114 receives a second notification message from at least one downstream communication device (e.g., network device 111, network device 112), then network device 114 may also perform the operation of network device 109 as described above based on the second notification message.

[0148] In a possible embodiment of this application, if network device 114 sends a second notification message to at least one upstream communication device of network device 114, then at least two upstream communication devices of network device 114 (e.g., network device 109, network device 110) perform the operation of network device 109 according to the second notification message.

[0149] In possible embodiments of this application, if the network device 109 also has a preceding forwarding device, i.e. an upstream communication device, in the network system 100, the network device 109 can also send a second notification message to at least one upstream communication device of the network device 109 (e.g., network device 105) so that at least one upstream communication device of the network device 109 performs the same operation of the network device 109 according to the second notification message.

[0150] In a possible embodiment of this application, if the service flow forwarding type is flow-level forwarding, when the second communication device detects link congestion for a certain service flow, it may not perform forwarding path switching adjustment for that service flow to avoid causing out-of-order delivery or diverting congestion points. However, in another possible embodiment of this application, if the service flow forwarding type is flow-level forwarding, when the second communication device detects link congestion for a certain service flow, and when the second communication device detects that there is a forwarding path among the multiple forwarding paths in the network system 100 that can carry the service flow without causing congestion, the second communication device may switch the service flow to that forwarding path.

[0151] In possible embodiments of this application, in addition to the first communication device sending a second notification message to the second communication device, the first communication device can also detect link anomalies and send link anomaly information to the second communication device based on the link anomaly. This allows the second communication device to reduce the proportion of service flow messages sent to the first communication device based on the available bandwidth of the first communication device's port group. The link anomaly information can be carried in a notification message other than the second notification message, or it can be carried in a field in the second notification message that is different from the link congestion information.

[0152] The specific method by which the first communication device notifies the second communication device of link anomaly information can be referred to in steps S201-S203 of Figure 2, and will not be repeated here. The specific method by which the second communication device reduces the proportion of service flow packets sent to the first communication device based on the available bandwidth of the port group of the first communication device can be referred to in step S205 of Figure 2, and will not be repeated here.

[0153] In possible embodiments of this application, based on the first communication device sending a second notification message to the second communication device, the first communication device may also receive a first notification message sent by a downstream communication device, and reduce the proportion of service flow messages sent to the first communication device according to the available bandwidth of the port group of the first communication device.

[0154] The specific method by which the first communication device reduces the proportion of service flow messages sent to the first communication device based on the available bandwidth of the port group of the first communication device can be referred to the relevant step S205 in Figure 2, and will not be repeated here.

[0155] Based on the method provided in the above embodiments of this application, the second communication device can determine the local link congestion of the first communication device indicated by the second notification message based on the link congestion identifier carried in the second notification message. Furthermore, the link congestion information carried in the second notification message, such as the congestion identifier, enables the second communication device to accurately determine the degree of local link congestion of the first communication device. This allows the second communication device to more accurately perceive the link congestion of the first communication device and reduce the proportion of service flow packets sent to the first communication device, making the packet forwarding path selection more consistent with the actual link status and improving the network communication quality after routing.

[0156] In the above text, the first communication device notified the network device 109 of link congestion through a first notification message. Link congestion may be caused by uneven load sharing, such as multiple service flows being concentrated on a single forwarding path, or it may not be caused by uneven load sharing, such as all forwarding paths in network system 100 being congested. Therefore, based on the above steps S401-S405, step S506 as shown in Figure 5 can be added to determine whether to perform packet forwarding and routing of the service flow, or to reduce the speed from the source communication device to alleviate congestion.

[0157] Figure 5 is a flowchart illustrating a method for sending and processing a notification message according to this application. Referring to Figure 5, the method may include the following steps S501-S505.

[0158] S501, The first communication device detects local link congestion.

[0159] S502, The first communication device generates a second notification message based on the link congestion.

[0160] S503, the first communication device sends a second notification message to the second communication device.

[0161] S504, The second communication device receives the second notification message sent by the first communication device.

[0162] For details of steps S501-S504 above, please refer to the relevant content of S401-S404 shown in Figure 4, which will not be repeated here.

[0163] S505. If there are no idle links among the multiple forwarding paths, the second communication device sends a speed reduction notice to the source communication device.

[0164] A rate reduction notification is used to instruct the source communication device to reduce the rate at which service flow messages are sent. For example, in this embodiment, the source communication device may be server 101 or server 102.

[0165] In a possible embodiment of this application, when the second communication device receives a notification message from all downstream communication devices indicating that the port groups of all downstream communication devices are congested, it determines that there are no idle links among the multiple forwarding paths.

[0166] In this way, the second communication device can identify the cause of congestion, perform load sharing when the load is unevenly distributed across multiple forwarding paths, and reduce the sending rate of service flow messages from the source communication device when there is no remaining load on multiple forwarding paths, so as to eliminate congestion.

[0167] The embodiments shown in Figure 2 and Figure 4 of this application illustrate the sending, receiving, and processing flow of notification messages for link anomalies and link congestion, respectively. In possible embodiments of this application, the notification messages for link anomalies and link congestion can be either different independent messages or the same message.

[0168] For example, the first notification message in the embodiment shown in FIG2 may carry a link congestion identifier and a link congestion information in addition to the link anomaly identifier and the link anomaly information.

[0169] As another example, the second notification message in the embodiment shown in FIG4 may carry a link fault identifier and a link fault information in addition to the link congestion identifier and the link congestion information.

[0170] This application does not limit the manner in which the first or second announcement message simultaneously carries the link congestion identifier and link congestion information, as well as the link anomaly identifier and link anomaly information. For example, the first or second announcement message may use different fields to carry the link congestion identifier and link congestion information, and the link anomaly identifier and link anomaly information. Furthermore, the first or second announcement message may use different type-length-value (TLV) structures to carry the link congestion identifier and link congestion information, and the link anomaly identifier and link anomaly information, respectively.

[0171] When the first or second notification message includes both a link anomaly identifier and link anomaly information as well as a link congestion identifier and link congestion information, the second communication device may execute S205 for the link anomaly identifier and link anomaly information extracted from the message, and execute S405 for the link congestion identifier and link congestion information extracted from the message, which will not be elaborated here.

[0172] Based on the above embodiments, the first notification message or the second notification message may also carry out-of-order information. The out-of-order information is used to indicate the degree of out-of-order status of the service message when it arrives at the destination communication device, so that the device or equipment that receives the first notification message or the second notification message can prune or reduce the amount of data sent for forwarding paths with out-of-order status greater than a preset threshold according to the degree of out-of-order status of the message in different forwarding paths.

[0173] As one possible implementation, the first or second announcement message may use fields different from the link congestion identifier, link congestion information, link anomaly identifier, and link anomaly information to carry out-of-order information, or it may use a structure different from the link congestion identifier, link congestion information, link anomaly identifier, and link anomaly information to carry out-of-order information.

[0174] As another possible implementation, as shown in Figure 6, out-of-order information can be announced by the corresponding third announcement message.

[0175] Figure 6 is a flowchart illustrating a method for sending and processing a notification message according to this application. Referring to Figure 6, the method may include the following steps S601-S606.

[0176] S601, The first communication device obtains the third notification message.

[0177] The third notification message includes out-of-order information, which indicates the degree of out-of-order status of service messages arriving at the destination communication device.

[0178] For example, the first communication device may detect the out-of-order status of the received service flow packets, determine the out-of-order information based on the out-of-order status, generate a third notification message, and add the out-of-order information to the third notification message.

[0179] As another example, the first communication device may receive a third notification message sent by a downstream communication device, the third notification message including out-of-order information. Correspondingly, the downstream communication device, such as network device 111, forwards the third notification message received from server group 103 to network device 114, the third notification message being generated by server group 103 based on the out-of-order degree of the message.

[0180] S602, The first communication device sends a third notification message to the second communication device.

[0181] S603, The second communication device receives the third notification message sent by the first communication device.

[0182] S604. The second communication device prunes or reduces the amount of data sent for forwarding paths where the out-of-order degree of the message exceeds a preset threshold, based on the out-of-order information.

[0183] Taking network device 114 as the first communication device and network device 109 as the second communication device as an example, network device 109 extracts out-of-order information from the third announcement message and prunes or reduces the amount of data sent on forwarding paths where the out-of-order degree of the message is greater than a preset threshold based on the out-of-order degree information. For example, if the out-of-order degree between network device 109 and network device 114 is greater than the preset threshold, or if the out-of-order degree between network device 109 and network device 114 is less than the preset threshold, then network device 109 prunes or reduces the amount of data sent on the forwarding path between network device 109 and network device 114.

[0184] The preset threshold can be flexibly set according to the requirements of the service flow for the degree of out-of-order delivery. There can be one or more forwarding paths with an out-of-order delivery degree greater than the preset threshold. The preset threshold can also be the out-of-order delivery degree of the nth forwarding path after sorting the out-of-order delivery degree of multiple forwarding paths from high to low.

[0185] The third notification message may also include path indication information. This path indication information may include device identifiers and forwarding port identifiers of each communication device along the forwarding path of the third notification message, enabling the second communication device to calculate the out-of-order order of messages arriving from different paths based on the path indication information. Furthermore, for forward data flows (e.g., sequentially passing through network device 109, network device 114, and network device 112), network device 112 can also perform a reverse notification based on the path indication information.

[0186] In possible embodiments of this application, any communication device that receives the third notification message can execute the steps corresponding to S604 above based on the out-of-order information, and can also forward the third notification message to the upstream communication device. For example, after the first communication device obtains the third notification message, it can prune or reduce the amount of data sent for forwarding paths where the out-of-order degree of the message is greater than a preset threshold based on the out-of-order information.

[0187] To complement the notification message sending method provided in the embodiments of this application, this application also provides a notification message sending apparatus 700, which is used to execute the notification message sending method described above. As shown in FIG7, the apparatus includes a transceiver module 710 and a processing module 720.

[0188] For example, the network device 114 in FIG2 can be implemented in the notification message sending device 700.

[0189] The processing module 720 is used to detect local link anomalies in the first communication device.

[0190] The processing module 720 is also used to generate a first notification message based on the link anomaly; the first notification message includes a link anomaly identifier and link anomaly information, the link anomaly identifier is used to indicate that the first notification message is used to notify of the link anomaly, and the link anomaly information includes the available bandwidth of the port group of the first communication device, and the port group includes the port corresponding to the link with the link anomaly.

[0191] The transceiver module 710 is used to send a first notification message to the second communication device.

[0192] As one possible implementation, the link anomaly information also includes link anomaly types, such as link disconnection, link speed reduction, link bit error rate exceeding a threshold, or link packet loss rate exceeding a threshold.

[0193] As one possible implementation, the transceiver module 710 is also configured to: receive a first service message, and in response to the first service message, send a first notification message to a second communication device, or send a first notification message to at least one upstream communication device of the first communication device.

[0194] As one possible implementation, the processing module 720 is also used to: detect link congestion. The transceiver module 710 is also used to: send link congestion information to the second communication device based on the link congestion, the link congestion information including the service flow forwarding type, the service flow forwarding type including packet-level forwarding or flow-level forwarding, and the service flow being the service flow forwarded through the link congestion.

[0195] As one possible implementation, the transceiver module 710 is further configured to: receive a second notification message sent by a downstream communication device of the first communication device; the second notification message includes a link congestion identifier and link congestion information, wherein the link congestion identifier indicates that the second notification message is used to notify of link congestion, and the link congestion information includes a congestion identifier and a service flow forwarding type, wherein the congestion identifier indicates the degree of congestion in the port group of the downstream communication device, and the service flow forwarding type includes packet-level forwarding or flow-level forwarding, and the service flow is a service flow forwarded through a link with link congestion. The processing module 720 is further configured to: if the service flow forwarding type is packet-level forwarding, reduce the proportion of service flow messages sent to the downstream communication device according to the congestion identifier.

[0196] As one possible implementation, the transceiver module 710 is also used to: send out-of-order information to the second communication device, the out-of-order information being used to indicate the degree of out-of-order status of service messages arriving at the destination communication device.

[0197] As one possible implementation, the transceiver module 710 is further configured to: receive out-of-order information sent by a downstream communication device of the first communication device, wherein the out-of-order information indicates the degree of out-of-order status of service messages arriving at the destination communication device. The processing module 720 is further configured to: prune or reduce the amount of data sent from forwarding paths where the out-of-order status exceeds a preset threshold, based on the out-of-order information.

[0198] As another example, the network device 114 in FIG4 can be implemented in the notification message sending device 700.

[0199] The processing module 720 is used to detect local link congestion in the first communication device.

[0200] The processing module 720 is also used to generate a second notification message based on the link congestion; the second notification message includes a link congestion identifier and link congestion information, the link congestion identifier is used to indicate that the second notification message is used to notify the link congestion, and the link congestion information includes the service flow forwarding type, the service flow forwarding type includes packet-level forwarding or flow-level forwarding, and the service flow is the service flow forwarded through the link congestion.

[0201] The transceiver module 710 is used to send a second notification message to the second communication device.

[0202] As one possible implementation, the second notification message includes a congestion flag indicating the degree of congestion in the port group of the first communication device.

[0203] As one possible implementation, the transceiver module 710 is also configured to: receive a second service message, and in response to the second service message, send a second notification message to the second communication device, or send a second notification message to at least one upstream communication device of the second communication device.

[0204] As one possible implementation, the transceiver module 710 is also used to: send out-of-order information to the second communication device, the out-of-order information being used to indicate the degree of out-of-order status of service messages arriving at the destination communication device.

[0205] As one possible implementation, the transceiver module 710 is further configured to: receive out-of-order information sent by the downstream communication device, the out-of-order information indicating the degree of out-of-order status of service messages arriving at the destination communication device. The processing module 720 is further configured to: prune or reduce the amount of data sent from forwarding paths where the out-of-order status exceeds a preset threshold, based on the out-of-order information.

[0206] To complement the notification message processing method provided in the embodiments of this application, this application also provides a notification message processing apparatus 800, which is used to execute the notification message processing method described above. As shown in FIG8, the apparatus includes a transceiver module 810 and a processing module 820.

[0207] For example, the network device 109 in FIG2 can be implemented in the notification message processing device 800.

[0208] The transceiver module 810 is used to receive a first notification message sent by the first communication device. The first notification message includes a link abnormality identifier and link abnormality information. The link abnormality identifier is used to indicate that the first notification message is used to notify of a link abnormality. The link abnormality information includes the available bandwidth of the port group of the first communication device. The first notification message is generated when the link is abnormal locally in the first communication device. The port group includes the port corresponding to the link with the abnormal link.

[0209] The processing module 820 is used to reduce the proportion of service flow packets sent to the first communication device based on the available bandwidth of the port group of the first communication device.

[0210] As one possible implementation, the link anomaly information also includes link anomaly types, such as link disconnection, link speed reduction, link bit error rate exceeding a threshold, or link packet loss rate exceeding a threshold.

[0211] In one possible implementation, the first and second communication devices belong to a network system. The network system includes multiple communication devices, and multiple forwarding paths exist between these devices. Packets in the service flow of the source communication device are forwarded to the destination communication device via these multiple forwarding paths. These forwarding paths include a first forwarding path, which passes through both the second and first communication devices. The processing module 820 is specifically used to: reduce the proportion of service flow packets sent to the first communication device based on the available bandwidth of the port group of the first communication device and the available bandwidth of the port groups of downstream communication devices of the second communication device on other forwarding paths; these other forwarding paths include forwarding paths other than the first forwarding path among the multiple forwarding paths.

[0212] As one possible implementation, the second communication device is configured with a network quality table, which includes the proportion of service flow packets sent by the second communication device through port groups corresponding to multiple forwarding paths. The processing module 820 is specifically used to: update the proportion of service flow packets sent by the second communication device through port groups corresponding to multiple forwarding paths in the network quality table based on the available bandwidth of the port groups of the first communication device and the available bandwidth of the port groups corresponding to the second communication device on other forwarding paths; ensure that the proportion of service flow packets sent by the second communication device through port groups corresponding to multiple forwarding paths is the same as the proportion of available bandwidth of the port groups corresponding to the second communication device on the multiple forwarding paths; and reduce the proportion of service flow packets sent to the first communication device according to the network quality table.

[0213] As one possible implementation, the transceiver module 810 is also configured to: send a first notification message to at least one upstream communication device of the second communication device.

[0214] As another example, the network device 109 in FIG4 can be implemented in the notification message processing device 800.

[0215] The transceiver module 810 is used to receive a second notification message sent by the first communication device. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier is used to indicate that the second notification message is used to notify of link congestion. The link congestion information includes a congestion identifier and a service flow forwarding type. The congestion identifier is used to indicate the degree of congestion of the port group of the first communication device. The service flow forwarding type includes packet-level forwarding or flow-level forwarding. The service flow is a service flow forwarded through a link with link congestion.

[0216] The processing module 820 is used to reduce the proportion of service flow packets sent to the second communication device based on the congestion flag if the service flow forwarding type is packet-level forwarding.

[0217] In one possible implementation, the first and second communication devices belong to a network system. The network system includes multiple communication devices, and multiple forwarding paths exist between these devices. Packets in the service flow of the source communication device are forwarded to the destination communication device via these multiple forwarding paths. These forwarding paths include a first forwarding path, which passes through both the second and first communication devices. The processing module 820 is specifically used to: reduce the proportion of service flow packets sent to the second communication device based on a congestion identifier and the congestion identifiers of the port groups of downstream communication devices on other forwarding paths; these other forwarding paths include forwarding paths other than the first forwarding path.

[0218] As one possible implementation, the transceiver module 810 is also used to: send a rate reduction notice to the source communication device if there is no idle link among the multiple forwarding paths; the rate reduction notice is used to instruct the source communication device to reduce the transmission rate of service flow messages.

[0219] As one possible implementation, the transceiver module 810 is also configured to: send a second notification message to at least one upstream communication device of the second communication device.

[0220] It should be understood that the devices provided in Figures 7 and 8 above are only illustrative examples of the division of functional modules. In practical applications, the functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the devices and methods provided in the above embodiments belong to the same concept, and their specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0221] Figure 9 is a schematic diagram of the structure of a communication device provided in this embodiment. As shown in Figure 9, the communication device 900 includes a processor 910, a bus 920, a memory 930, a communication interface 940, and a memory unit 950 (also referred to as a main memory unit). The processor 910, the memory 930, the memory unit 950, and the communication interface 940 are connected through the bus 920.

[0222] It should be understood that in this embodiment, the processor 910 can be a CPU, but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0223] The processor may also be a graphics processing unit (GPU), a neural network processing unit (NPU), a microprocessor, or one or more integrated circuits used to control the execution of the program in this application.

[0224] In a possible embodiment, communication device 900 may refer to processor 910.

[0225] The communication interface 940 is used to enable communication between the communication device 900 and external devices or components. In this embodiment, when the communication device 900 is used to implement the function of any network device or server in FIG1, the communication interface 940 is used as a physical port for sending and receiving data packets.

[0226] Bus 920 may include a pathway for transferring information between the aforementioned components (such as processor 910, memory unit 950, and memory 930). In addition to a data bus, bus 920 may also include a power bus, control bus, and status signal bus. However, for clarity, all buses are labeled as bus 920 in the figure. Bus 920 may be a Peripheral Component Interconnect Express (PCIe) bus, or an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL) bus, a Cache Coherent Interconnect for Accelerators (CCIX) bus, etc. Bus 920 can be divided into address bus, data bus, control bus, etc.

[0227] As an example, the communication device 900 may include multiple processors. A processor may be a multi-core (multi-CPU) processor. Here, a processor may refer to one or more devices, circuits, and / or computing units used to process data (e.g., computer program instructions).

[0228] It is worth noting that Figure 9 only shows an example of a communication device 900 including one processor 910 and one memory 930. Here, the processor 910 and the memory 930 are used to indicate a type of device or equipment. In specific embodiments, the number of each type of device or equipment can be determined according to business needs.

[0229] Memory cell 950 may be volatile memory or non-volatile memory, or may include both. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0230] The memory 930 can correspond to the storage medium used to store computer instructions and other information in the above method embodiments, such as a disk, like a mechanical hard disk or a solid-state hard disk.

[0231] The aforementioned communication device 900 can be a general-purpose device or a special-purpose device. For example, the communication device 900 can be an edge device (e.g., a box carrying a chip with processing capabilities). Alternatively, the communication device 900 can also be a chip, network equipment, server, or other device with computing capabilities.

[0232] It should be understood that the communication device 900 according to this embodiment may correspond to the notification message sending device 700 or the notification message processing device 800 in this embodiment, and may correspond to the corresponding subject executing the method according to FIG2 or FIG4. The above and other operations and / or functions of each module in the notification message sending device 700 or the notification message processing device 800 are respectively for implementing the corresponding process of the method in FIG2 or FIG4. For the sake of brevity, they will not be described in detail here.

[0233] This application also provides a computer program product containing instructions. This computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product runs on at least one computing device, it causes the at least one computing device to perform the aforementioned method for sending and processing notification messages.

[0234] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the aforementioned method for sending and processing notification messages.

[0235] This application also provides a chip, including a processor. The processor is used to retrieve and execute instructions stored in a memory, causing a communication device equipped with the chip to perform the aforementioned method for sending or processing notification messages.

[0236] As one possible implementation, the chip also includes an input interface, an output interface, and a memory. The input interface, the output interface, the processor, and the memory are connected via internal interconnection paths. The processor is used to execute code in the memory. When the code is executed, the processor is used to perform the aforementioned method for sending or processing the notification message.

[0237] The method steps in this embodiment can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in an electronic device (such as a network device). Of course, the processor and storage medium can also exist as discrete components in an electronic device.

[0238] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); or it can be a semiconductor medium, such as a solid-state drive (SSD). The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for sending a notification message, characterized in that, The method is executed by the first communication device, and the method includes: Detect local link anomalies in the first communication device; A first notification message is generated based on the link anomaly. The first notification message includes a link anomaly identifier and link anomaly information. The link anomaly identifier is used to indicate that the first notification message is used to notify of the link anomaly. The link anomaly information includes the available bandwidth of the port group of the first communication device. The port group includes the port corresponding to the link with the link anomaly. The first notification message is sent to the second communication device.

2. The method according to claim 1, characterized in that, The link anomaly information also includes link anomaly types, which include link disconnection, link speed reduction, link bit error rate exceeding a threshold, or link packet loss rate exceeding a threshold.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Receive the first service message; Sending the first notification message to the second communication device includes: In response to the first service message, the first notification message is sent to the second communication device, or the first notification message is sent to at least one upstream communication device of the first communication device.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: Detect link congestion; Based on the link congestion, link congestion information is sent to the second communication device. The link congestion information includes the service flow forwarding type, which includes packet-level forwarding or flow-level forwarding. The service flow is the service flow forwarded through the link congestion.

5. The method according to any one of claims 1-3, characterized in that, The method further includes: The first communication device receives a second notification message sent by a downstream communication device. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier indicates that the second notification message is used to notify of link congestion. The link congestion information includes a congestion identifier and a service flow forwarding type. The congestion identifier indicates the degree of congestion in the port group of the downstream communication device. The service flow forwarding type includes packet-level forwarding or flow-level forwarding. The service flow is a service flow forwarded through the link congested by the first communication device. If the service flow forwarding type is packet-level forwarding, the proportion of service flow packets sent to the downstream communication device is reduced according to the congestion identifier.

6. The method according to any one of claims 1-5, characterized in that, The method further includes: Send out-of-order information to the second communication device, the out-of-order information being used to indicate the degree of out-of-order status of service messages arriving at the destination communication device.

7. The method according to any one of claims 1-5, characterized in that, The method further includes: The first communication device receives out-of-order information sent by a downstream communication device, the out-of-order information being used to indicate the degree of out-of-order status of service messages arriving at the destination communication device; Based on the out-of-order information, forwarding paths with message out-of-order levels exceeding a preset threshold are pruned or have their data transmission volume reduced.

8. A method for processing notification messages, characterized in that, The method is performed by the second communication device, and the method includes: The system receives a first notification message sent by a first communication device. The first notification message includes a link anomaly identifier and link anomaly information. The link anomaly identifier is used to indicate that the first notification message is used to notify of a link anomaly. The link anomaly information includes the available bandwidth of the port group of the first communication device. The first notification message is generated when the link is anomaly on the first communication device. The port group includes the port corresponding to the link with the link anomaly. Based on the available bandwidth of the port group of the first communication device, reduce the proportion of service flow packets sent to the first communication device.

9. The method according to claim 8, characterized in that, The link anomaly information also includes link anomaly types, which include link disconnection, link speed reduction, link bit error rate exceeding a threshold, or link packet loss rate exceeding a threshold.

10. The method according to claim 8 or 9, characterized in that, The first communication device and the second communication device belong to a network system. The network system includes multiple communication devices and multiple forwarding paths exist between the multiple communication devices. The packets in the service flow of the source communication device among the multiple communication devices are forwarded to the destination communication device through the multiple forwarding paths respectively. The multiple forwarding paths include a first forwarding path, which passes through the second communication device and the first communication device. The step of reducing the proportion of service flow packets sent to the first communication device based on the available bandwidth of the port group of the first communication device includes: Based on the available bandwidth of the port group of the first communication device and the available bandwidth of the port group of the downstream communication devices of the second communication device on other forwarding paths, the proportion of service flow packets sent to the first communication device is reduced; the other forwarding paths include forwarding paths other than the first forwarding path among the multiple forwarding paths.

11. The method according to claim 10, characterized in that, The second communication device is configured with a network quality table, which includes the proportion of service flow packets sent by the second communication device through port groups corresponding to the multiple forwarding paths. The step of reducing the proportion of service flow packets sent to the first communication device based on the available bandwidth of the port groups of the first communication device and the available bandwidth of the port groups corresponding to the second communication device on other forwarding paths includes: Based on the available bandwidth of the port group of the first communication device and the available bandwidth of the port group corresponding to the second communication device on other forwarding paths, update the proportion of service flow packets sent by the second communication device through the port groups corresponding to the multiple forwarding paths in the network quality table; the proportion of service flow packets sent by the second communication device through the port groups corresponding to the multiple forwarding paths is the same as the proportion of available bandwidth of the port groups corresponding to the second communication device on the multiple forwarding paths. The proportion of service flow packets sent to the first communication device is reduced according to the network quality table.

12. The method according to any one of claims 8-11, characterized in that, The method further includes: The first notification message is sent to at least one upstream communication device of the second communication device.

13. The method according to any one of claims 8-12, characterized in that, The method further includes: The first communication device receives a second notification message sent by a downstream communication device. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier indicates that the second notification message is used to notify of link congestion. The link congestion information includes a congestion identifier and a service flow forwarding type. The congestion identifier indicates the degree of congestion in the port group of the downstream communication device. The service flow forwarding type includes packet-level forwarding or flow-level forwarding. The service flow is a service flow forwarded through the link congested by the first communication device. If the service flow forwarding type is packet-level forwarding, the proportion of service flow packets sent to the downstream communication device is reduced according to the congestion identifier.

14. The method according to any one of claims 8-12, characterized in that, The method further includes: The first communication device receives out-of-order information sent by a downstream communication device, the out-of-order information being used to indicate the degree of out-of-order status of service messages arriving at the destination communication device; Based on the out-of-order information, forwarding paths with message out-of-order levels exceeding a preset threshold are pruned or have their data transmission volume reduced.

15. A method for sending a notification message, characterized in that, The method is executed by the first communication device, and the method includes: Detect local link congestion in the first communication device; A second notification message is generated based on the link congestion. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier is used to indicate that the second notification message is used to notify of link congestion. The link congestion information includes the service flow forwarding type, which includes packet-level forwarding or flow-level forwarding. The service flow is a service flow forwarded through the link congested. Send the second notification message to the second communication device.

16. The method according to claim 15, characterized in that, The second notification message includes a congestion identifier, which indicates the congestion level of the port group of the first communication device, the port group including the ports corresponding to the links with congestion.

17. The method according to claim 16, characterized in that, The method further includes: Receive the second service message; Sending the second notification message to the second communication device includes: In response to the second service message, the second notification message is sent to the second communication device, or the second notification message is sent to at least one upstream communication device of the second communication device.

18. The method according to any one of claims 15-17, characterized in that, The method further includes: Send out-of-order information to the second communication device, the out-of-order information being used to indicate the degree of out-of-order status of service messages arriving at the destination communication device.

19. The method according to any one of claims 15-17, characterized in that, The method further includes: Receive out-of-order information sent by a downstream communication device, wherein the out-of-order information is used to indicate the degree of out-of-order status of service messages arriving at the destination communication device; Based on the out-of-order information, forwarding paths with message out-of-order levels exceeding a preset threshold are pruned or have their data transmission volume reduced.

20. A method for processing notification messages, characterized in that, The method is performed by the second communication device, and the method includes: The system receives a second notification message sent by the first communication device. The second notification message includes a link congestion identifier and link congestion information. The link congestion identifier indicates that the second notification message is used to notify of link congestion. The link congestion information includes a congestion identifier and a service flow forwarding type. The congestion identifier indicates the degree of congestion in the port group of the first communication device. The service flow forwarding type includes packet-level forwarding or flow-level forwarding. The service flow is a service flow forwarded through the link congested by the first communication device. If the service flow forwarding type is packet-level forwarding, the proportion of service flow packets sent to the second communication device is reduced according to the congestion identifier.

21. The method according to claim 20, characterized in that, The first communication device and the second communication device belong to a network system. The network system includes multiple communication devices and multiple forwarding paths exist between the multiple communication devices. The packets in the service flow of the source communication device among the multiple communication devices are forwarded to the destination communication device through the multiple forwarding paths respectively. The multiple forwarding paths include a first forwarding path, which passes through the second communication device and the first communication device. The step of reducing the proportion of service flow packets sent to the second communication device based on the congestion identifier includes: Based on the congestion identifier and the congestion identifier of the port group of the downstream communication device on other forwarding paths, the proportion of packets sent to the second communication device for service flows is reduced; the other forwarding paths include forwarding paths other than the first forwarding path among the multiple forwarding paths.

22. The method according to claim 21, characterized in that, The method further includes: If there are no idle links among the multiple forwarding paths, a rate reduction notification is sent to the source communication device; the rate reduction notification is used to instruct the source communication device to reduce the transmission rate of service flow packets.

23. The method according to any one of claims 20-22, characterized in that, The method further includes: Receive out-of-order information sent by a downstream communication device, wherein the out-of-order information is used to indicate the degree of out-of-order status of service messages arriving at the destination communication device; Based on the out-of-order information, forwarding paths with message out-of-order levels exceeding a preset threshold are pruned or have their data transmission volume reduced.

24. The method according to any one of claims 20-23, characterized in that, The method further includes: The second notification message is sent to at least one upstream communication device of the second communication device.

25. A communication device, characterized in that, The communication device includes a processor and a memory; The processor is configured to execute instructions stored in the memory to cause the communication device to perform the method as described in any one of claims 1-24.

26. A computer program product containing instructions, characterized in that, When the instruction is executed by the communication device, the communication device performs the method as described in any one of claims 1-24.

27. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by a communication device, perform the method as described in any one of claims 1-24.

Citation Information

Patent Citations

  • Congestion control method and device

    CN107547418A

  • Switch-initiated congestion messages

    CN117157957A

  • Method and system for admission and congestion control of network communication traffic

    US20080075003A1

  • Method For Congestion Management of a Network, a Signalling Protocol, a Switch, an End Station and a Network

    US20080253289A1