Information processing method and apparatus

By receiving and utilizing the congestion control capability information of network devices through the controller, path-level and flow queue-level congestion control is performed, solving the problem that PFC cannot be applied in wide area networks and realizing effective congestion mitigation and flow control in wide area networks.

WO2026051547A1PCT designated stage Publication Date: 2026-03-12HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

PFC technology is not suitable for wide area network (WAN) scenarios because the paths are long in WANs, causing congestion control to affect non-congestion forwarding paths, resulting in network congestion and low throughput.

Method used

The controller receives congestion control processing capability information from network devices, saves and uses this information to perform path-level and flow queue-level congestion control, selects paths with congestion control capabilities for priority transmission, and calculates backpressure paths to alleviate congestion.

Benefits of technology

It enables effective mitigation of network congestion in wide area networks even when some devices have congestion control capabilities, improves the granularity of traffic control, and avoids network blockage and deadlock.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025105330_12032026_PF_FP_ABST
    Figure CN2025105330_12032026_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides an information processing method applied to a controller. The controller receives a first message sent by a first network device, the first message comprising first indication information, and the first indication information being used for indicating that the first network device has a congestion control processing capability. Upon receiving the first message, the controller stores congestion control processing capability information of the first network device, the congestion control processing capability information of the first network device indicating that the first network device has the congestion control processing capability. Hence, the first network device notifies the controller of its congestion control processing capability, and correspondingly, the controller stores the congestion control processing capability information of the first network device, to facilitate subsequent execution of corresponding processing measures on the basis of the congestion control processing capability information of the first network device, so that even if only some network devices have a congestion control processing capability, the corresponding congestion control method can be performed in wide area network scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing method and device

[0001] The present application claims priority from the Chinese patent application No. 202411230396.9 filed on September 3, 2024, and entitled "Information processing method and device", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The present application relates to the field of communication, and in particular, to an information processing method and device. BACKGROUND

[0003] Priority-based flow control (PFC) is a commonly used congestion control algorithm in data center networks. It supports selecting the priority of different types of traffic in the network and is a mechanism to prevent packet loss in congested situations. The PFC mechanism mainly acts on the ingress port of the switch (or other network devices such as routers, etc.), controls according to the queue length (or called the length of the ingress queue) of the ingress port, and the specific means is to send indication information (such as pause frame) to inform the upstream port to stop data transmission.

[0004] Compared with data center networks, in wide area network scenarios, the path of network transmission between the sending device and the receiving device is longer, and the messages transmitted between the sending device and the receiving device are usually encapsulated by tunnels. Moreover, the PFC technology controls the flow of the queue of the ingress port, and since the queue may carry multiple forwarding paths, the speed reduction of a certain queue causes all forwarding paths of this queue to pause transmission, affecting the normal operation of the non-congestion forwarding paths carried by this queue.

[0005] For the above reasons, the PFC technology cannot be applied to wide area network scenarios, and therefore, there is an urgent need for a congestion control method suitable for wide area network scenarios. SUMMARY

[0006] The present application provides an information processing method and device, which enables the corresponding congestion control method to be executed in a wide area network scenario even if only part of the network devices have congestion control processing capabilities.

[0007] In a first aspect, the present application provides an information processing method, which can be applied to a controller. The controller can receive a first message sent by a first network device, and the first message includes first indication information, which is used to indicate that the first network device has congestion control processing capability. The first network device having congestion control processing capability can include that the first network device has the capability of performing congestion control processing on its out-port. After receiving the first message, the controller can save the congestion control processing capability information of the first network device, which indicates that the first network device has the congestion control processing capability. As can be seen, the first network device can inform the controller that it has the congestion control processing capability, and accordingly, the controller can save the congestion control processing capability information of the first network device, so as to perform corresponding processing measures based on the congestion control processing capability information of the first network device in the future, so that even if only part of the network devices have the congestion control processing capability, the corresponding congestion control method can be performed in the wide area network scenario.

[0008] In a possible implementation, the congestion control processing capability can be the congestion control processing capability of a forwarding path. That is, the first network device has the congestion control processing capability at the forwarding path level. For this case, the first network device can report its congestion control processing capability at the forwarding path level to the controller, so that the controller can perform corresponding processing measures.

[0009] In a possible implementation, if the aforementioned congestion control processing capability is the congestion control processing capability of a forwarding path, the first network device can send a first congestion control processing request to a network device upstream of the first network device in the first forwarding path when determining that the network is congested, to request the upstream network device to perform congestion control processing on the first forwarding path. In addition, the first network device can also perform congestion control processing on the first forwarding path when receiving a second congestion control processing request sent by a network device downstream of the first network device in the first forwarding path.

[0010] In a possible implementation, the congestion control processing capability can be the congestion control processing capability of FQ under a forwarding path. For this case, the first network device can report its congestion control processing capability at the FQ level under the forwarding path to the controller, so that the controller can perform corresponding processing measures.

[0011] In a possible implementation, if the congestion control processing capability is a congestion control processing capability for a forwarding path, the first network device can send a first congestion control processing request to an upstream network device of the first network device on the first forwarding path to request the upstream network device to perform congestion control processing on FQs on the first forwarding path when it is determined that the network is congested. In addition, the first network device can perform congestion control processing on FQs on the first forwarding path when it receives a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path.

[0012] In a possible implementation, the congestion control processing capability can be a network device granularity capability. In this case, the congestion control processing capability can indicate a capability of a network device to perform congestion control processing on each egress port of the network device. In this scenario, the first network device can report the capability of performing congestion control processing on each egress port of the network device to the controller through a message (i.e., a first message).

[0013] In a possible implementation, if the congestion control processing capability is a network device granularity capability, the first message can be a first BGP-LS message, and the first BGP-LS message can include a node attribute, and the node attribute can include the first indication information. Accordingly, the controller can obtain the node attribute by analyzing the first BGP-LS message, and determine that the first network device has the congestion control processing capability.

[0014] In a possible implementation, if the congestion control processing capability is a network device granularity capability, the first message can be a first PCEP-LS message, and the first PCEP-LS message can include a node attribute TLV, and the node attribute TLV can include a first sub-TLV, and the first sub-TLV can include the first indication information. Accordingly, the controller can obtain the first sub-TLV in the node attribute TLV by analyzing the first PCEP-LS message, and determine that the first network device has the congestion control processing capability.

[0015] In a possible implementation, the congestion control processing capability can be a port granularity capability. In this case, the congestion control processing capability can indicate a capability of a network device to perform congestion control processing on a certain egress port of the network device. In this scenario, the first network device can report the congestion control processing capability corresponding to each egress port to the controller respectively when the congestion control processing capabilities of different egress ports of the first network device are different.

[0016] In a possible implementation, if the congestion control processing capability is a port granularity capability, the first message can be a second BGP-LS message, the second BGP-LS message includes a link attribute, the link attribute includes the first indication information, and the link attribute corresponds to a first link including a first port, and the first port belongs to the first network device. Accordingly, when the controller receives the second BGP-LS message, the controller can parse the link attribute corresponding to the first link, and determine that the first port has the congestion control processing capability. That is, the first network device has the capability of performing congestion control processing on the first port.

[0017] In a possible implementation, if the congestion control processing capability is a port granularity capability, the first message includes a second PCEP LS message, the second PCEP LS message includes a link attribute TLV, the link attribute TLV includes a second sub-TLV, the second sub-TLV includes the first indication information, and the link attribute TLV corresponds to a first link including a first port, and the first port belongs to the first network device. Accordingly, when the controller receives the second PCEP LS message, the controller can parse the second sub-TLV in the link attribute TLV corresponding to the first link, and determine that the first port has the congestion control processing capability. That is, the first network device has the capability of performing congestion control processing on the first port.

[0018] In a possible implementation, the controller can further receive a second message sent by the first network device, the second message includes second indication information, and the second indication information indicates that a second network device has the congestion control processing capability. The second network device having the congestion control processing capability includes a capability of the second network device performing congestion control processing on an out port of the second network device. The controller saves congestion control processing capability information of the second network device, and the congestion control processing capability information of the second network device indicates that the second network device has the congestion control processing capability. That is, the first network device can further notify the controller that the second network device has the congestion control processing capability. Accordingly, the controller can save the congestion control processing capability information of the second network device, so as to subsequently perform corresponding processing measures based on the congestion control processing capability information of the first network device and the congestion control processing capability information of the second network device. In this way, even if only part of the network devices have the congestion control processing capability, the corresponding congestion control method can also be performed in the wide area network scenario.

[0019] In a possible implementation, when planning a transmission path for a service, the controller can combine the congestion control processing capability information of the network devices saved by itself. As a specific example, the controller can obtain path computation requirements and congestion control processing capability information of at least one network device, which includes the first network device, and in some examples, the at least one network device can also include the second network device. After obtaining the path computation requirements and the congestion control processing capability information of the at least one network device, the controller can calculate a second forwarding path according to the path computation requirements and the congestion control processing capability information of the at least one network device, according to the principle of giving priority to network devices with the congestion control processing capability, and the second forwarding path includes the first network device. That is, in this application, when planning a transmission path for a service, the controller can preferentially select a path with more network devices with congestion control processing capability, so that as many network devices as possible on the determined second forwarding path can perform path-level-based congestion control methods or congestion control methods based on FQ under the path, thereby guaranteeing the quality of service provided for the service.

[0020] In a possible implementation, the controller can also calculate a back pressure path for the second forwarding path according to the congestion control processing capability information of the network devices on the second forwarding path. The back pressure path is used to deliver congestion control processing requests. When calculating the back pressure path, the calculated back pressure path includes the network devices with the congestion control processing capability in the second forwarding path and does not include the network devices without the congestion control processing capability in the first path. After the controller calculates the back pressure path, the controller can issue table item information of the back pressure path to the network devices in the back pressure path. Correspondingly, the network devices in the back pressure path can receive and save the control-issued table item information. The table item information of the back pressure path can include, for example, identification information of the second forwarding path and identification information of a next-hop network device. In this way, for the network devices on the back pressure path, when determining network congestion, the network devices can send congestion control processing requests to the next-hop network devices on the back pressure path based on the foregoing table item information. Since the network devices on the back pressure path all have congestion control processing capability, the network devices on the back pressure path that receive the congestion control processing requests can process corresponding congestion control processing measures based on the congestion control processing requests, thereby avoiding or reducing network congestion.

[0021] In a second aspect, the present application provides an information processing method, which can be applied to a first network device. The first network device can generate a first message, and the first message includes first indication information, which is used to indicate that the first network device has congestion control processing capability. Wherein, the first network device having congestion control processing capability can include that the first network device has the capability of performing congestion control processing on its out port. After the first network device generates the first message, the first network device can send the first message to a controller, so as to inform the controller that the first network device has congestion control processing capability. Correspondingly, the controller can save the congestion control processing capability information of the first network device, so as to perform corresponding processing measures based on the congestion control processing capability information of the first network device in the future, so that even if only part of the network devices have congestion control processing capability, the corresponding congestion control method can also be performed in the wide area network scenario.

[0022] In a possible implementation, the congestion control processing capability includes a congestion control processing capability for a forwarding path, or a congestion control processing capability for a flow queue (FQ) under the forwarding path.

[0023] In a possible implementation, the first network device having congestion control processing capability includes that, when the network is determined to be congested, the first network device sends a first congestion control processing request to an upstream network device of the first network device on a first forwarding path, to request the upstream network device to perform congestion control processing on the first forwarding path or an FQ under the first forwarding path; and when the first network device receives a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path, the first network device performs congestion control processing on the first forwarding path or the FQ under the first forwarding path.

[0024] In a possible implementation, the first message includes a first border gateway protocol link state (BGP-LS) message, and the first BGP-LS message includes a node attribute (Node Attribute), and the Node Attribute includes the first indication information.

[0025] In a possible implementation, the first message includes a first path computation element communication protocol link state (PCEP-LS) message, and the first PCEP-LS message includes a node attribute type length value (Node Attribute TLV), and the Node Attribute TLV includes a first sub-TLV, and the first sub-TLV includes the first indication information.

[0026] In a possible implementation, the first network device has the congestion control processing capability, including: a capability of the first network device to perform congestion control processing on each out port of the first network device.

[0027] In a possible implementation, the first message includes: a second BGP-LS message, the second BGP-LS message including a link attribute Link Attribute, the Link Attribute including the first indication information, and the Link Attribute corresponding to a first link including a first port, the first port belonging to the first network device.

[0028] In a possible implementation, the first message includes: a second PCEP LS message, the second PCEP LS message including a link attribute type length value Link Attribute TLV, the Link Attribute TLV including a second sub TLV, the second sub TLV including the first indication information, and the Link Attribute TLV corresponding to a first link including a first port, the first port belonging to the first network device.

[0029] In a possible implementation, the first network device has the congestion control processing capability, including: a capability of the first network device to perform congestion control processing on the first port.

[0030] In a possible implementation, the method further includes: sending, by the first network device, a second message to the controller, the second message including second indication information, the second indication information indicating that a second network device has the congestion control processing capability, and the second network device having the congestion control processing capability including: a capability of the second network device to perform congestion control processing on an out port of the second network device.

[0031] In a possible implementation, if a BGP-LS neighbor relationship and a PCEP LS neighbor relationship are not established between the second network device and the controller, the second network device cannot directly advertise its congestion control processing capability to the controller through BGP-LS or PCEP LS. For this case, in a case where the first network device and the second network device belong to the same IGP domain, the second network device can send an ISIS message to the first network device to advertise its congestion control processing capability to the first network device.

[0032] As a specific example, the ISIS message includes a routing capability TLV, and the routing capability TLV carries third indication information, and the third indication information indicates that the second network device has the congestion control processing capability. In an example, the routing capability TLV can include a third sub-TLV, and the third sub-TLV is used to carry the third indication information.

[0033] As another specific example, the ISIS message includes an extended intermediate system reachability TLV, and the extended intermediate system reachability TLV carries third indication information, and the third indication information indicates that the second network device has the congestion control processing capability. In an example, the extended intermediate system reachability TLV can include a fourth sub-TLV, and the fourth sub-TLV is used to carry the third indication information.

[0034] In a possible implementation, the method further includes: the first network device receiving the table item information sent by the controller, and the table item information is table item information of a back pressure path for the second forwarding path, and the back pressure path is used to transmit a congestion control processing request for requesting to perform congestion control processing.

[0035] In a possible implementation, it is assumed that the second forwarding path includes: a third network device - a fourth network device - the first network device, wherein the fourth network device is an upstream network device of the first network device on the second forwarding path, and the third network device is an upstream network device of the fourth network device on the second forwarding path. If the third network device has the congestion control processing capability, and the fourth network device does not have the congestion control processing capability, then the back pressure path can include: the first network device - the third network device, and correspondingly, when the first network device determines that congestion occurs, the first network device can generate a third congestion control processing request, and the third congestion control request is used for the third network device to perform congestion control processing on the second forwarding path or an FQ under the second forwarding path. Further, the first network device can send the third congestion control processing request to the third network device according to the aforementioned table item information, so that the third network device performs congestion control processing on the second forwarding path or the FQ under the second forwarding path based on the third congestion control processing request.

[0036] In a third aspect, the present application provides an information processing device applied to a controller, the device comprising: a receiving unit and a processing unit. The receiving unit is configured to receive a first message sent by a first network device, wherein the first message comprises first indication information, and the first indication information indicates that the first network device has congestion control processing capability. The first network device has congestion control processing capability, which includes the capability of the first network device to perform congestion control processing on an out port of the first network device. The processing unit is configured to save congestion control processing capability information of the first network device, and the congestion control processing capability information of the first network device indicates that the first network device has the congestion control processing capability.

[0037] In a possible implementation, the congestion control processing capability includes congestion control processing capability for a forwarding path, or congestion control processing capability for a flow queue (FQ) under a forwarding path.

[0038] In a possible implementation, the first network device having the congestion control processing capability includes: when the first network device determines that the network is congested, the first network device sends a first congestion control processing request to an upstream network device of the first network device on a first forwarding path, to request the upstream network device to perform congestion control processing on the first forwarding path or an FQ under the first forwarding path; and when the first network device receives a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path, the first network device performs congestion control processing on the first forwarding path or the FQ under the first forwarding path.

[0039] In a possible implementation, the first message comprises a first border gateway protocol link state (BGP-LS) message, and the first BGP-LS message comprises a node attribute (Node Attribute), and the Node Attribute comprises the first indication information.

[0040] In a possible implementation, the first message comprises a first path computation element communication protocol link state (PCEP-LS) message, and the first PCEP-LS message comprises a node attribute type length value (Node Attribute TLV), and the Node Attribute TLV comprises a first sub-TLV, and the first sub-TLV comprises the first indication information.

[0041] In a possible implementation, the first network device having the congestion control processing capability includes the capability of the first network device to perform congestion control processing on each out port of the first network device.

[0042] In a possible implementation, the first message comprises a second BGP-LS message, the second BGP-LS message comprises a link attribute Link Attribute, the Link Attribute comprises the first indication information, and the Link Attribute corresponds to a first link comprising a first port, and the first port belongs to the first network device.

[0043] In a possible implementation, the first message comprises a second PCEP LS message, the second PCEP LS message comprises a link attribute type length value Link Attribute TLV, the Link Attribute TLV comprises a second sub-TLV, the second sub-TLV comprises the first indication information, and the Link Attribute TLV corresponds to a first link comprising a first port, and the first port belongs to the first network device.

[0044] In a possible implementation, the first network device has the congestion control processing capability, and the first network device comprises the capability of performing congestion control processing on the first port.

[0045] In a possible implementation, the receiving unit is further configured to receive a second message sent by the first network device, the second message comprises second indication information, the second indication information indicates that a second network device has the congestion control processing capability, the second network device has the congestion control processing capability, and the second network device comprises the capability of performing congestion control processing on an out port of the second network device. The processing unit is further configured to save congestion control processing capability information of the second network device, and the congestion control processing capability information of the second network device indicates that the second network device has the congestion control processing capability.

[0046] In a possible implementation, the processing unit is further configured to acquire path calculation requirements and congestion control processing capability information of at least one network device, the at least one network device comprises the first network device, and according to the path calculation requirements and the congestion control processing capability information of the at least one network device, a second forwarding path is calculated according to the principle that network devices having the congestion control processing capability are given priority, and the second forwarding path comprises the first network device.

[0047] In a possible implementation, the processing unit is further configured to: calculate a back pressure path for the second forwarding path according to congestion control processing capability information of the network devices on the second forwarding path, the back pressure path including the network devices with the congestion control processing capability in the second forwarding path and excluding the network devices without the congestion control processing capability in the first path, and the back pressure path being used to transmit a congestion control processing request for requesting to perform congestion control processing; and the apparatus further includes a sending unit configured to send table item information of the back pressure path to the network devices in the back pressure path.

[0048] In a fourth aspect, the present application provides an information processing apparatus applied to a first network device, the apparatus including a processing unit and a sending unit. The processing unit is configured to generate a first message including first indication information indicating that the first network device has a congestion control processing capability, and the congestion control processing capability of the first network device includes the capability of the first network device to perform congestion control processing on an out port of the first network device. The sending unit is configured to send the first message to a controller.

[0049] In a possible implementation, the congestion control processing capability includes a congestion control processing capability for a forwarding path, or a congestion control processing capability for a flow queue (FQ) under a forwarding path.

[0050] In a possible implementation, the first network device having the congestion control processing capability includes that, when the first network device determines that a network is congested, the first network device sends a first congestion control processing request to an upstream network device of the first network device on a first forwarding path to request the upstream network device to perform congestion control processing on the first forwarding path or a FQ under the first forwarding path; and when the first network device receives a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path, the first network device performs congestion control processing on the first forwarding path or the FQ under the first forwarding path.

[0051] In a possible implementation, the first message includes a first border gateway protocol link state (BGP-LS) message, and the first BGP-LS message includes a node attribute (Node Attribute), and the Node Attribute includes the first indication information.

[0052] In a possible implementation, the first message comprises: a first path computation element communication protocol (PCEP) link state (LS) message, a node attribute type length value (Node Attribute TLV) is included in the first PCEP LS message, a first sub-TLV is included in the Node Attribute TLV, and the first indication information is included in the first sub-TLV.

[0053] In a possible implementation, the first network device has the congestion control processing capability, and the first network device has the capability of performing congestion control processing on each out port of the first network device.

[0054] In a possible implementation, the first message comprises: a second BGP-LS message, a link attribute (Link Attribute) is included in the second BGP-LS message, the first indication information is included in the Link Attribute, the Link Attribute corresponds to a first link including a first port, and the first port belongs to the first network device.

[0055] In a possible implementation, the first message comprises: a second PCEP LS message, a link attribute type length value (Link Attribute TLV) is included in the second PCEP LS message, a second sub-TLV is included in the Link Attribute TLV, the first indication information is included in the second sub-TLV, and the Link Attribute TLV corresponds to a first link including a first port, and the first port belongs to the first network device.

[0056] In a possible implementation, the first network device has the congestion control processing capability, and the first network device has the capability of performing congestion control processing on the first port.

[0057] In a possible implementation, the sending unit is further configured to: send, to the controller, a second message, and the second message includes second indication information, and the second indication information indicates that a second network device has the congestion control processing capability, and the second network device has the congestion control processing capability, including the capability of the second network device of performing congestion control processing on an out port of the second network device.

[0058] In a possible implementation, the apparatus further includes a receiving unit configured to receive an intermediate system to intermediate system (ISIS) message sent by the second network device, wherein the ISIS message includes a router capability type length value (Router Capability TLV), the Router Capability TLV includes a third sub-TLV, and the third sub-TLV includes third indication information indicating that the second network device has the congestion control processing capability; or the ISIS message includes an extended IS reachability type length value (Extended IS reachability TLV), the Extended IS reachability TLV includes a fourth sub-TLV, and the fourth sub-TLV includes the third indication information.

[0059] In a possible implementation, the receiving unit included in the apparatus is further configured to receive table item information sent by the controller, wherein the table item information is table item information of a back pressure path for the second forwarding path, and the back pressure path is used to deliver a congestion control processing request for requesting to perform congestion control processing.

[0060] In a possible implementation, the processing unit is further configured to determine that congestion occurs, and generate a third congestion control processing request, wherein the third congestion control request is used for a third network device to perform congestion control processing on the second forwarding path or a FQ under the second forwarding path; and the sending unit is further configured to send, according to the table item information, the third congestion control processing request to the third network device, wherein the fourth network device is an upstream network device of the first network device on the second forwarding path, the third network device is an upstream network device of the fourth network device on the second forwarding path, the third network device has the congestion control processing capability, and the fourth network device does not have the congestion control processing capability.

[0061] In a fifth aspect, an apparatus is provided, which includes a processor and a memory, the memory is configured to store instructions or a computer program, and the processor is configured to execute the instructions or the computer program to perform the method in the first aspect and any one of the first aspect.

[0062] In a sixth aspect, an embodiment of the present application provides a computer readable storage medium, including instructions or a computer program, which, when executed on a computer, cause the computer to perform the method in the first aspect above and any one of the first aspect above, or, when executed on a computer, cause the computer to perform the method in the second aspect above and any one of the second aspect above.

[0063] In a seventh aspect, an embodiment of the present application provides a computer program product including instructions or a computer program, which, when executed on a computer, cause the computer to perform the method in the first aspect above and any one of the first aspect above, or, when executed on a computer, cause the computer to perform the method in the second aspect above and any one of the second aspect above.

[0064] In an eighth aspect, the present application provides a communication system, including a controller performing the method in the first aspect above and any one of the first aspect above, and a first network device performing the method in the second aspect above and any one of the second aspect above. BRIEF DESCRIPTION OF DRAWINGS

[0065] FIG. 1 is a schematic diagram of a scenario of PFC;

[0066] FIG. 2 is a schematic diagram of a structure of a communication system in an embodiment of the present application;

[0067] FIG. 3 is a schematic diagram of an embodiment flow of a congestion control method in an embodiment of the present application;

[0068] FIG. 4 is a schematic diagram of an embodiment flow of a congestion control method in an embodiment of the present application;

[0069] FIG. 5 is a schematic diagram of a flow of an information processing method provided by an embodiment of the present application;

[0070] FIG. 6a is a schematic diagram of a structure of a first TLV provided by an embodiment of the present application;

[0071] FIG. 6b is a schematic diagram of a structure of a sub-TLV provided by an embodiment of the present application;

[0072] FIG. 7a is a schematic diagram of an exemplary application scenario provided by an embodiment of the present application;

[0073] FIG. 7b is a schematic diagram of another exemplary application scenario provided by an embodiment of the present application;

[0074] FIG. 7c is a schematic diagram of another exemplary application scenario provided by an embodiment of the present application;

[0075] FIG. 7d is a schematic diagram of another exemplary application scenario provided by an embodiment of the present application;

[0076] FIG. 8 is a structural schematic diagram of an information processing apparatus according to an embodiment of the present application;

[0077] FIG. 9 is a structural schematic diagram of another information processing apparatus according to an embodiment of the present application;

[0078] FIG. 10 is a structural schematic diagram of an apparatus according to an embodiment of the present application. DETAILED DESCRIPTION

[0079] Firstly, some concepts related to embodiments of the present application are introduced.

[0080] 1. PFC

[0081] For the convenience of understanding, please refer to FIG. 1, which is a schematic diagram of a PFC scenario. An Ethernet link is established between device A and device B. The sending interface of device A is divided into 8 priority queues, and the receiving interface of device B includes corresponding 8 receiver buffers, which are one-to-one corresponding. When congestion occurs in a receiver buffer on the receiving interface of device B, a backpressure signal "STOP" is sent to device A, and device A stops sending traffic of the corresponding priority queue.

[0082] The above PFC and other congestion control methods are usually applicable to short-distance data center networks. In a wide-area network scenario, the path between the sending end and the receiving end is relatively long. The PFC technology stops sending the traffic of the queue to alleviate network congestion. In the case where network congestion has been alleviated, the receiving end or the network device cannot timely notify the sending end that network congestion has been alleviated due to the long path between the sending end and the receiving end in the wide-area network scenario. Therefore, the queue of the sending end may continue to stop sending traffic. Moreover, the PFC technology controls the traffic of the queue at the ingress port. Since the queue may carry multiple forwarding paths, i.e., the queue can be used to carry traffic corresponding to flow queues (FQs) under multiple forwarding paths, the speed reduction of a certain queue causes all forwarding paths of this queue to stop sending, which affects the normal operation of non-congestion forwarding paths carried by this queue. Therefore, the use of PFC for congestion control causes head-of-line blocking, deadlock, congestion diffusion, and network under-throughput problems.

[0083] The path-level-based congestion control method and the FQ-based congestion control method under the path can improve the fineness of congestion control, making it possible to control traffic in a wide-area network scenario.

[0084] Next, the path-level-based congestion control method and the FQ-based congestion control method under the path are introduced.

[0085] Firstly, a path-level based congestion control method and some communication systems to which a path-level based FQ congestion control method is applied are introduced. Please refer to FIG. 2, which is a structural schematic diagram of a communication system in the embodiments of the present application.

[0086] A communication system in the embodiments of the present application comprises a plurality of network devices and a controller (or network controller, or network management controller) for managing the network devices. The network devices comprise node A, node B, node C, node D, node E, node F, node G and node H. Node A and node E are connected with customer edge (CE) 1, and node H and node D are connected with CE 2, so that node A, node E, node H and node D are provider edge (PE). Node B, node C, node F and node G are provider (P). Exemplarily, the PE node and the P node can be a router or a switch, etc. It should be noted that in the present application, the meanings of "node" and "network device" are the same, and the two can be used alternately.

[0087] Optionally, the communication system can further comprise a source device (not shown in the figure) and a receiving device (not shown in the figure), wherein the source device can be connected with CE 1, and the receiving device can be connected with CE 2.

[0088] In an example, the source device can be a server or the like, and the receiving device can be a terminal device or the like. The terminal device, which can also be referred to as a user equipment (UE), a mobile station (MS), a mobile terminal (MT), a terminal, or the like, is a device that provides voice and / or data connectivity to a user, or a chip set set in the device, such as a handheld device having wireless connection capability, a vehicle-mounted device, or the like. Examples of the terminal device include a mobile phone, a desktop computer, a tablet computer, a laptop computer, a palmtop computer, a mobile internet device (MID), a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in an industrial control, a wireless terminal in self driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a 5G-residential gateway (5G-RG) supporting 5G access, or the like.

[0089] In another example, the source device can be an access network device, and the receiving device can be a core network, an internet data center (IDC), or a content distribute network (CDN).

[0090] In another example, the source device can be a core network, an IDC, or a CDN, and the receiving device can be an access network device.

[0091] In addition, the first forwarding path involved in the path-level based congestion control method and the path-based FQ based congestion control method includes, but is not limited to, a tunnel, a path, a network slice, or the like.

[0092] Optionally, the first forwarding path can be configured with a flexible bandwidth resource. Specifically, the bandwidth value of the bandwidth resource used by the first forwarding path is allowed to change from a first bandwidth value to a second bandwidth value, and the second bandwidth value is greater than the first bandwidth value.

[0093] The bandwidth resource configured according to the first bandwidth value is referred to as first bandwidth resource, which can also be referred to as rigid bandwidth. The node should guarantee that the first bandwidth resource can be used by the first forwarding path, regardless of whether the node has free bandwidth resource. For example, the first bandwidth value is 200 megabits per second (Mbps), and the node needs to guarantee that the first forwarding path can use at least 200M bandwidth resource.

[0094] The bandwidth resource configured according to the second bandwidth value is referred to as second bandwidth resource, which is referred to as elastic bandwidth. The sum of the bandwidth value of the second bandwidth resource and the bandwidth value of the first bandwidth resource is less than or equal to the second bandwidth value. When the bandwidth resource pool of the node can provide free bandwidth resource (and the free bandwidth resource is greater than or equal to the second bandwidth resource), the node allows the free bandwidth resource in the bandwidth resource pool to be allocated to the first forwarding path as the second bandwidth resource, so that the first forwarding path can use the first bandwidth resource and the second bandwidth resource. The bandwidth resource pool includes free bandwidth resources in the node, and the bandwidth resource pool supports allocating the free bandwidth resources to one or more first forwarding paths. For example, the second bandwidth value is 500M, and the bandwidth value of the second bandwidth resource is 500-200=300M, which is referred to as elastic bandwidth. Only when the first forwarding path requests to use bandwidth resource exceeding 200M (the first bandwidth resource), and the bandwidth resource pool of the node can provide free bandwidth resource greater than or equal to 300M, the node is allowed to allocate the second bandwidth resource 300M to the first forwarding path, and the total bandwidth resource allocated to the first forwarding path by the node is 200+300=500M.

[0095] In a possible implementation, the first bandwidth value can be a committed information rate (CIR), and the second bandwidth value can be a peak information rate (PIR). The controller can configure the CIR and the PIR of the first forwarding path for the network device. So that the network device can allocate the first bandwidth resource corresponding to the CIR to the first forwarding path. When the data flow carried by the first forwarding path requests bandwidth resource exceeding the first bandwidth resource, the network device can allocate the second bandwidth resource corresponding to the PIR to the first forwarding path.

[0096] Optionally, the network device on the first forwarding path can reserve buffer resource for the forwarding path, and the buffer resource is used to buffer the data flow carried by the forwarding path. Specifically, the controller configures the path buffer (buffer-size) and / or buffer threshold (buffer_threshold) of the forwarding path for the network device.

[0097] The controller configures a network device with a forwarding path buffer value, so that the network device allocates buffer resources for the forwarding path, ensuring that the network device can use the buffer resources to cache data streams carried by the forwarding path. In the process of triggering the speed reduction processing of the forwarding path, the network device can use the buffer resources to cache the data streams carried by the forwarding path, avoid packet loss of the data streams, and ensure lossless data streams. By configuring the network device with a buffer waterline threshold value, when the buffer used by the forwarding path exceeds the buffer waterline threshold value, it is considered that network congestion occurs in the network device for the forwarding path. Further, the network device notifies the upstream network device to perform speed reduction processing on the data streams carried by the forwarding path or to perform load sharing processing on the data streams carried by the forwarding path. The upstream network device includes but is not limited to any hop or multi-hop network device between the network device and the head node of the forwarding path, the head node of the forwarding path, or the sending end (i.e., the source device) corresponding to the data streams carried by the forwarding path.

[0098] Optionally, the network device on the first forwarding path can reserve buffer resources for each FQ under the first forwarding path, and the buffer resources are used to cache data streams carried by each FQ. Specifically, the controller can configure the network device with a queue buffer of each FQ, and configure a corresponding buffer waterline threshold value (buffer_threshold) for at least one FQ.

[0099] The controller configures the network device with an FQ buffer value, so that the network device allocates buffer resources for the FQ, ensuring that the network device can use the buffer resources to cache data streams carried by the FQ. In the process of triggering the speed reduction processing of the FQ, the network device can use the buffer resources to cache the data streams carried by the FQ, avoid packet loss of the data streams, and ensure lossless data streams.

[0100] Next, the path-level-based congestion control method and the FQ-under-path-based congestion control method are introduced.

[0101] 1. Path-level-based congestion control method

[0102] The path-level-based congestion control method can refer to FIG. 3, which is an embodiment flow diagram of the congestion control method in the present application. The method shown in FIG. 3 can include the following steps G1-G3. Optionally, it can also include G4-G6 or G7.

[0103] G1, the network device 1 determines that network congestion occurs.

[0104] In step G1, in one possible implementation, the network device 1 detects that a local egress port is congested. The network device 1 can determine a first forwarding path corresponding to the egress port according to the egress port that is congested. For example, the data flow carried by the first forwarding path generates burst traffic, causing the egress port corresponding to the first forwarding path to be congested.

[0105] Further, since one egress port can correspond to multiple forwarding paths, after the network device 1 determines that a certain egress port (for example, the first egress port) is congested, the network device 1 can further determine which forwarding paths corresponding to the first egress port need to perform congestion control processing. In the embodiments of the present application, the forwarding paths that need to perform congestion control processing are referred to as first forwarding paths, and the first forwarding paths include one or more forwarding paths. For example, when the first egress port corresponds to multiple forwarding paths, the network device 1 can select a forwarding path with a higher bandwidth occupancy among the multiple forwarding paths as the first forwarding path according to the bandwidth occupancy information of the multiple forwarding paths. Alternatively, when the first egress port corresponds to multiple forwarding paths, the network device 1 can select a forwarding path with a higher cache resource occupancy rate among the multiple forwarding paths as the first forwarding path according to the cache resource occupancy information of the multiple forwarding paths.

[0106] Optionally, when the first forwarding path includes multiple forwarding paths, the network device 1 can determine the speed reduction amplitude (first speed reduction information) and / or the speed reduction duration (second speed reduction information) of the multiple forwarding paths in a proportionally equal manner according to the traffic of the multiple forwarding paths.

[0107] In another possible implementation, the network device 1 allocates a cache resource for the first forwarding path, and the cache resource is used to cache the data flow carried by the first forwarding path. When the usage of the cache resource is greater than a cache waterline threshold, the network device 1 determines that the first forwarding path corresponding to the cache resource is congested on the network device 1.

[0108] G2, in response to the network congestion, the network device 1 sends a first congestion control processing request to the network device 2, and the first congestion control processing request is used to request the network device 2 to perform congestion control processing on the first forwarding path.

[0109] In step G2, after determining the first forwarding path on which the congestion control processing needs to be performed, the network device 1 can send a first congestion control processing request to the network device 2, where the first congestion control processing request is used to request the network device 2 to perform the congestion control processing on the first forwarding path. The first congestion control processing request can carry the identification information of the first forwarding path, which includes but is not limited to: identification information (path-ID), tunnel identification (tunnel-ID), binding segment identifier (BSID), network slice identification (network slice-ID or slice-ID), identification of Segment Routing Policy (SR Policy), or identification of Segment Routing IPv6 Policy (SRv6 Policy) based on IPv6 forwarding plane, etc.

[0110] In one example, the network device 2 is the last hop node of the network device 1 on the first forwarding path.

[0111] Optionally, the first congestion control processing request can also carry relevant information for guiding the network device 2 to perform the congestion control processing on the first forwarding path. For example, the first congestion control processing request further includes first speed reduction information, where the first speed reduction information is used to indicate the expected speed reduction amplitude of the first forwarding path. For another example, the first congestion control processing request further includes second speed reduction information, where the second speed reduction information is used to indicate the expected speed reduction time of the first forwarding path.

[0112] Optionally, when the network device 1 is the tail node of the first forwarding path, the network device 1 detects that the network congestion occurs on the port direction and the link of the CE node, where the link is an access (AC) side link. Then, the network device 1 determines that the VPN instance bound to the link is the first VPN instance. Further, the network device 1 determines that the forwarding path corresponding to the first VPN instance is the first forwarding path. The network device 1 can maintain a first mapping relationship set, where the first mapping relationship set includes one or more mapping relationships between VPN instances and forwarding paths, for example, as shown in Table 1. After determining the first VPN instance, the network device 1 determines the forwarding path corresponding to the first VPN instance from the first mapping relationship set, and then takes the forwarding path as the first forwarding path.

[0113] Table 1

[0114] The network device 1 can determine whether the AC side link is congested in multiple ways. In one possible implementation, whether the AC side link is congested is determined according to a link usage rate of the AC side link. For example, when the link usage rate of the AC side link is greater than 95%, it is considered that the AC side link is congested. In another possible implementation, whether the AC side link is congested can also be determined by combining a duration during which the link usage rate is greater than 95%. For example, when the link usage rate of the AC side link is greater than 95% and the duration is longer than 30 seconds, it is considered that the AC side link is congested.

[0115] Optionally, the first congestion control processing request can also carry an Ethernet Virtual Private Network (VPN) instance identifier.

[0116] It should be noted that since a VPN instance can be bound to multiple forwarding paths, when the AC side link corresponding to a VPN instance is congested, the network device 1 can select one or more forwarding paths from the multiple forwarding paths bound to the VPN instance as the first forwarding path. For example, a forwarding path with a larger bandwidth resource occupancy rate can be selected as the first forwarding path.

[0117] In addition, since an AC side link can be bound to multiple VPN instances, when the AC side link is congested, the network device 1 can select one or more VPN instances from the multiple VPN instances as the VPN instance causing the AC side link to be congested. Then, the first forwarding path is determined according to the forwarding paths bound to the one or more VPN instances. For example, the network device 1 can determine the VPN instance causing the AC side link to be congested according to packet loss of the VPN instance, and the network device 1 can select a VPN instance with a high packet loss rate as the VPN instance causing the AC side link to be congested. Optionally, the network device 1 can also adjust the forwarding paths bound to the multiple VPN instances bound to the AC side link according to packet loss of the VPN instances. For example, the network device 1 can preferentially perform congestion control on the forwarding paths bound to the VPN instances with high packet loss rates, and then perform congestion control on the forwarding paths bound to the VPN instances with low packet loss rates. For another example, the network device 1 can determine the speed reduction amplitude and the speed reduction duration of the multiple forwarding paths according to the traffic of the multiple forwarding paths.

[0118] Optionally, the first congestion control processing request can further comprise identification information of a previous hop node of the network device 1, the previous hop node referring to a previous hop node of the network device 1 in the first forwarding path, and the identification information of the previous hop node comprising, but not limited to, identification of a lookback interface or an endpoint segment routing (endpoint SID). The network device 1 takes the identification information of the previous hop node of the network device 1 as a destination address of the first congestion control processing request. The network device 1 looks up a routing table according to the identification information of the previous hop node, and then determines a corresponding outgoing interface and guides forwarding of the first congestion control processing request according to the outgoing interface. The network device 1 can obtain the identification information of the previous hop node according to a message carried by the first forwarding path, for example, a source address of the message as the identification information of the previous hop node.

[0119] Optionally, the first congestion control processing request can further comprise ingress interface information of the network device 1 in the first forwarding path. The network device 1 does not need to look up a table, and directly forwards the first congestion control processing request from the ingress interface according to the ingress interface information.

[0120] Optionally, the first congestion control processing request further comprises first status information, the first status information indicating that the network device 2 performs congestion control processing. For example, the first status information is carried in a field with a length of 1 bit. When a value of the field is “1”, the field carries the first status information.

[0121] The first congestion control processing request in the embodiment of the present application has multiple possible implementation manners, which are described as follows.

[0122] Implementation manner one:

[0123] The first congestion control processing request is carried in a transmission control protocol (TCP) message, a user datagram protocol (UDP) message, or an internet control message protocol (ICMP) message.

[0124] For example, a payload field of a TCP packet is used to carry the first congestion control processing request, or a payload field of a UDP packet is used to carry the first congestion control processing request, or a payload field of an ICMP packet is used to carry the first congestion control processing request. It can be understood that, in the above-mentioned TCP packet, UDP packet or ICMP packet, the first congestion control processing request can also be carried by other fields in addition to the payload field. In addition, since the first congestion control processing request can include multiple types of information, in the above-mentioned TCP packet, UDP packet or ICMP packet, multiple types of information of the first congestion control processing request can be carried by multiple different fields respectively, and embodiments of the present application do not limit this.

[0125] Implementation mode two:

[0126] The first congestion control processing request is carried in an Internet protocol (IP) packet or an Internet Protocol Version 6 (IPv6) packet.

[0127] For example, the first congestion control processing request is carried in a Hop-by-Hop Options Header (HBH) of an IPv6 packet, or the first congestion control processing request is carried in a Destination Options Header (DOH) of an IPv6 packet. For another example, the first congestion control processing request is carried in an option field of an IP packet.

[0128] Implementation mode three:

[0129] The first congestion control processing request is carried in a two-layer packet in an Open System Interconnect (OSI) model. The OSI model defines a seven-layer model: a physical layer, a data link layer, a network layer, a transmission layer, a session layer, a representation layer and an application layer. The two-layer packet of the OSI model also refers to a data link layer packet in the OSI model.

[0130] The above technical solution can also be referred to as hop-by-hop back pressure. Through the above technical solution, the nodes on the first forwarding path dilute the large flow carried by the first forwarding path, so as to relieve the network congestion of the first forwarding path.

[0131] G3, the network device 2 performs congestion control processing on the first forwarding path according to the first congestion control processing request.

[0132] In step G3, after receiving the first congestion control processing request, the network device 2 can perform congestion control processing on the first forwarding path. In embodiments of the present application, the congestion control processing performed by the network device 2 on the first forwarding path includes but is not limited to: performing rate reduction processing on the first forwarding path; and / or, using the buffer space of the network device 2 to buffer data carried by the first forwarding path; and / or, using other forwarding paths by the network device 2 to forward data carried by the first forwarding path; and / or, notifying the sending end of the first data stream to perform rate reduction processing on the first data stream, the first data stream being carried by the first forwarding path.

[0133] Specifically, regarding the network device 2 using other forwarding paths to forward data carried by the first forwarding path. The network device 2 load balances the data stream carried by the first forwarding path to multiple forwarding paths in an unequal-cost multiple path (UCMP) manner. When the network device 2 cannot determine the multiple forwarding paths for load balancing, or the residual bandwidth resources (also referred to as available bandwidth resources) of the multiple forwarding paths for load balancing cannot carry the data stream of the first forwarding path, the network device 2 continues to notify the upstream device to perform congestion control processing on the first forwarding path, the upstream device including the upstream node of the network device 2 on the first forwarding path, or the sending end of the data stream carried by the first forwarding path.

[0134] Specifically, when the network device 2 is the head node of the first forwarding path, the network device 2 can also notify the sending end of the first data stream to perform rate reduction processing on the first data stream, the first data stream being carried by the first forwarding path. In one example, the sending end and the corresponding receiving end can be a host with communication needs. The host can have various possible implementations, including but not limited to: a computing device, a computing unit, a cloud device, a virtual machine, or a physical machine. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center.

[0135] In another example, the sending end is a remote direct memory access (RDMA) network card, and the corresponding receiving end is another RDMA network card.

[0136] In another example, the sending end is a core network, and the receiving end is an access network device. In another example, the sending end is an access network device, and the receiving end is a core network.

[0137] In addition, each network device on the first forwarding path except the head node can be the aforementioned network device 1 and perform the method steps performed by the network device 1. In other words, the network device 1 can also receive a second congestion control processing request sent by the network device 3, the second congestion control processing request being used to request the network device 1 to perform congestion control processing on the first forwarding path, and accordingly, the network device 1 can perform congestion control processing on the first forwarding path based on the second congestion control processing request.

[0138] In one example, if the network device 2 and the network device 1 are in a loose path, the network device 2 can not perform G3, but send the first congestion control processing request to the last hop node of the network device 2 on the first forwarding path, and perform congestion control processing on the first forwarding path by the last hop node of the network device 2 on the first forwarding path. The loose path refers to a path that only specifies the head node and the tail node, or a path that specifies the head node, the tail node and one or more nodes. The strict path is opposite to the loose path, and the strict path specifies each node on the path.

[0139] After step G3, the network device 2 can implement the de-congestion control processing on the first forwarding path in various schemes, as follows:

[0140] Scheme one:

[0141] G4, the network device 1 determines that the first forwarding path is de-congested.

[0142] In step G4, the network device 1 can detect whether the out port of itself recovers from network congestion, and if so, determine that the first forwarding path corresponding to the out port is de-congested (or recovers from network congestion).

[0143] G5, in response to the first forwarding path being de-congested, the network device 1 sends a third congestion control processing request to the network device 2, the third congestion control processing request being used to request the network device 2 to perform de-congestion control processing on the first forwarding path.

[0144] In step G5, the third congestion control processing request is similar to the first congestion control processing request, and is carried in a transmission control protocol (TCP) message, a user datagram protocol (UDP) message, or an internet control message protocol (ICMP) message; or is carried in an internet protocol (IP) message; or is carried in a layer 2 message in an open systems interconnection (OSI) model. Specifically, a payload field of the TCP message is used to carry the third congestion control processing request; or a payload field of the UDP message is used to carry the third congestion control processing request; or a payload field of the ICMP message is used to carry the third congestion control processing request; or a hop-by-hop options header (HBH) of the IP message is used to carry the third congestion control processing request; or a destination options header (DOH) of the IP message is used to carry the third congestion control processing request; or an option field of the IP message is used to carry the third congestion control processing request.

[0145] The third congestion control processing request includes any one or more of the following information: identification information of the first forwarding path, identification information of the last hop node of the network device 1, corresponding ingress interface information of the network device 1, path information of the second forwarding path, nodes passed through by the second forwarding path including a node that needs to perform the congestion control processing release on the first forwarding path, or second state information indicating that the network device 2 performs the congestion control processing release.

[0146] G6, the network device 2 performs the congestion control processing release on the first forwarding path according to the third congestion control processing request.

[0147] In step G6, the network device 2 performs the congestion control processing release on the first forwarding path according to the third congestion control processing request, including: increasing the occurrence rate of a data flow carried by the first forwarding path. If the network device 2 is a head node of the first forwarding path, the network device 2 can also notify a sending end of the first data flow carried by the first forwarding path to increase the sending rate of the first data flow.

[0148] In the above technical solution, after the network device 1 determines that the first forwarding path recovers from network congestion, the network device 1 can notify an upstream device to release the congestion control processing on the first forwarding path through the third congestion control processing request, so as to increase the network throughput. In addition, the congestion control processing release is avoided to be performed too early, which can prevent the network congestion from being further aggravated, and the communication quality is improved.

[0149] Solution two:

[0150] G7. After a period of time, the network device 2 releases the congestion control processing on the first forwarding path.

[0151] In step G7, the network device 2 sets a timer after performing the congestion control processing on the first forwarding path, and automatically releases the congestion control processing performed on the first forwarding path when the timer expires. For example, the network device 2 gradually increases the sending rate of the data flow carried by the first forwarding path in a slow growth manner.

[0152] The path-level-based congestion control method implements flow control at the forwarding path level through the first congestion control processing request, improves the precision of congestion control, and makes it possible to control flow in a wide-area network scenario. The method avoids problems such as line head congestion, deadlock, and congestion diffusion. The embodiments of the present application provide multiple possible implementation schemes of the first congestion control processing request, and improve the implementation flexibility of the scheme. In addition, the first congestion control processing request requests the upstream device of the forwarding path to perform congestion control processing on the forwarding path, rather than stopping sending processing on the entire queue of data, and thus can effectively avoid network under-throttling. Since the forwarding path is used to carry a data flow related to a service, performing congestion control on the forwarding path improves the correlation between congestion control and the service, and effectively improves user experience.

[0153] 2. Congestion control method based on FQ at path level

[0154] The congestion control method based on FQ at path level can refer to FIG. 4, which is an embodiment flowchart of the congestion control method in the embodiments of the present application. The method shown in FIG. 4 can include the following steps G1'-G3'. Optionally, it can also include G4'-G6' or G7'.

[0155] G1', the network device 1 determines that network congestion occurs.

[0156] In step G1', in a possible implementation, the network device 1 detects that network congestion occurs at a local egress port. In an example, the egress port can correspond to at least one subscriber queue (SQ), and one queue corresponds to one forwarding path. The at least one forwarding path includes a first forwarding path. In other words, the egress port can correspond to the first forwarding path.

[0157] The first forwarding path can correspond to one SQ, and the SQ at the first forwarding path can correspond to multiple FQs. The flow queue can correspond to a service demand type, for example, flow queue 1 is used to carry a high-latency service, and flow queue 2 is used to carry a large-bandwidth service.

[0158] In one example, G1’ the network device 1 can determine that at least one FQ under the first forwarding path is congested in implementation. As a specific example, the network device 1 can determine that the at least one FQ is congested according to a buffer usage of the at least one FQ. For example, when the buffer usage of the at least one FQ is greater than or equal to a buffer watermark threshold corresponding to the at least one FQ, it is determined that the at least one FQ is congested.

[0159] In one specific example, the at least one FQ can include a first FQ. In this scenario, the network device 1 can determine that the first FQ is congested when the buffer usage of the first FQ is greater than or equal to a buffer watermark threshold corresponding to the first FQ.

[0160] In another specific example, the at least one FQ can include a third FQ different from the first FQ. In this scenario, the network device 1 can determine that the third FQ is congested when the buffer usage of the third FQ is greater than or equal to a buffer watermark threshold corresponding to the third FQ.

[0161] In another example, the at least one FQ can include all FQs under the first forwarding path, in which case the at least one FQ can also be considered as an SQ under the first forwarding path. In this scenario, the network device 1 can determine that the SQ is congested when a buffer usage of the SQ is greater than or equal to a buffer watermark threshold corresponding to the SQ.

[0162] G2’ in response to the network congestion, the network device 1 sends a first congestion control processing request to the network device 2, the first congestion control processing request being used to request the network device 2 to perform a congestion control processing for the first FQ under the first forwarding path.

[0163] In one example, the network device 2 is a previous hop node of the network device 1 on the first forwarding path.

[0164] In step G2', after the network device 1 determines the first FQ that needs to perform the congestion control processing, the network device 1 can send a first congestion control processing request to the network device 2, where the first congestion control processing request is used to request the network device 2 to perform the congestion control processing on the first FQ. The first congestion control processing request can carry the identification information of the first forwarding path and the identification information of the first FQ. The identification information of the first forwarding path includes but is not limited to: identification information, tunnel identification, binding segment identifier, network slice identification, identification of segment routing policy, or identification of segment routing policy based on IPv6 forwarding plane, etc. The identification information of the first FQ can be the number of the first FQ, or the service class corresponding to the first FQ, which is not limited in the embodiments of the present application.

[0165] Optionally, the first congestion control processing request can also carry related information for guiding the network device 2 to perform the congestion control processing on the first FQ. For example, the first congestion control processing request further includes first speed reduction information, where the first speed reduction information is used to indicate the expected speed reduction amplitude of the first FQ. For another example, the first congestion control processing request further includes second speed reduction information, where the second speed reduction information is used to indicate the expected speed reduction time of the first FQ.

[0166] Optionally, the first congestion control processing request can also include a first performance metric value. The first performance metric value is the performance metric value introduced by the speed reduction processing on at least one FQ under the first forwarding path. In the present application, the performance metric value includes but is not limited to: delay and / or jitter.

[0167] In one example, the first performance metric value can be the delay and / or jitter introduced by the congestion control processing on the first FQ. In a specific example, the first performance metric value can be the delay and / or jitter introduced by the speed reduction processing on the first FQ based on the aforementioned first speed reduction information and / or second speed reduction information.

[0168] In yet another example, the network device 1 can further receive a second congestion control processing request sent by the device 3 before performing the step G1', the second congestion control processing request is used to request the network device 1 to perform congestion control processing on a second FQ under the first forwarding path. The device 3 is a downstream device (e.g. next-hop device) of the network device 1 under the first forwarding path. The device 3 can send the second congestion control processing request to the network device 1 in case of determining that at least one FQ under the first forwarding path is congested, for example. Correspondingly, after receiving the second congestion control processing request, the network device 1 can perform congestion control processing on the second FQ, for example, perform rate reduction processing on the second FQ. In one example, the network device 1 performing congestion control processing on the second FQ introduces certain time delay and / or jitter. For convenience of description, the time delay and / or jitter introduced by performing congestion control processing on the second FQ is referred to as a "third performance metric value". In this scenario, the third performance metric value is included in the second congestion control processing request. Correspondingly, the first performance metric value can be the sum of the second performance metric value and the third performance metric value. The second performance metric value is the time delay and / or jitter introduced by performing congestion control processing on the first FQ. In a specific example, the second performance metric value mentioned here can be the time delay and / or jitter introduced by performing rate reduction processing on the first FQ based on the first rate reduction information and / or the second rate reduction information.

[0169] Optionally, the first congestion control processing request can further include identification information of a previous-hop node of the network device 1, the previous-hop node refers to a previous-hop node of the network device 1 in the first forwarding path, and the identification information of the previous-hop node includes but is not limited to identification of a local loopback interface or a terminal node segment routing. The network device 1 takes the identification information of the previous-hop node of the network device 1 as a destination address of the first congestion control processing request. The network device 1 looks up a routing table according to the identification information of the previous-hop node, and then determines a corresponding outgoing interface and guides the forwarding of the first congestion control processing request according to the outgoing interface. The network device 1 can obtain the identification information of the previous-hop node according to a packet carried by the first forwarding path, for example, a source address of the packet as the identification information of the previous-hop node.

[0170] Optionally, the first congestion control processing request can further include ingress interface information of the first forwarding path at the network device 1. The network device 1 does not need to look up a table, and directly forwards the first congestion control processing request from the ingress interface according to the ingress interface information.

[0171] Optionally, the first congestion control processing request further includes first status information, the first status information indicating that the network device 2 performs congestion control processing. For example, the first status information is carried in a field with a length of 1 bit. When the value of the field is "1", the field carries the first status information.

[0172] Similar to the first congestion control processing request in the path-level congestion control method, the first congestion control processing request in the congestion control method of the FQ under the path also has multiple possible implementation manners. In one example, the first congestion control processing request mentioned herein can be carried in a TCP packet, a UDP packet, or an ICMP packet. For example, the payload field of the TCP packet is used to carry the first congestion control processing request, or the payload field of the UDP packet is used to carry the first congestion control processing request, or the payload field of the ICMP packet is used to carry the first congestion control processing request. It can be understood that in addition to the payload field, the first congestion control processing request can also be carried by other fields in the above-mentioned TCP packet, UDP packet, or ICMP packet. In addition, since the first congestion control processing request can include multiple types of information, in the above-mentioned TCP packet, UDP packet, or ICMP packet, multiple types of information of the first congestion control processing request can be carried by multiple different fields respectively, and the embodiments of the present application do not limit this.

[0173] The first congestion control processing request is carried in an IP packet or an IPv6 packet.

[0174] In another example, the first congestion control processing request mentioned herein can be carried in the HBH of the IPv6 packet, or carried in the DOH of the IPv6 packet, or carried in the optional field of the IP packet.

[0175] In another example, the first congestion control processing request mentioned herein can be carried in a two-layer packet in the OSI model. The OSI model defines a seven-layer model: physical layer, data link layer, network layer, transport layer, session layer, presentation layer, and application layer. The two-layer packet of the OSI model also refers to the data link layer packet in the OSI model.

[0176] In one possible implementation manner, when the network device 2 is the last hop node of the network device 1 on the first forwarding path: the network device 1 sends the first congestion control processing request to the network device 2, and the network device 2 can discard the first congestion control processing request after performing the congestion control processing on the first forwarding path according to the first congestion control processing request.

[0177] The above technical solution can also be referred to as hop-by-hop back pressure. Through the above technical solution, the nodes on the first forwarding path dilute the large flow carried by the first forwarding path, so as to relieve the network congestion of the first forwarding path.

[0178] G3', the network device 2 performs congestion control processing on the first FQ according to the first congestion control processing request.

[0179] After receiving the first congestion control processing request, the network device 2 can perform congestion control processing on the first FQ in step G3'. In embodiments of the present application, the congestion control processing performed by the network device 2 on the first FQ includes but is not limited to: performing speed reduction processing on the first FQ; and / or, using the buffer space of the network device 2 to buffer data carried by the first FQ; and / or, using other FQs of the network device 2 to forward data carried by the first FQ; and / or, notifying the sending end of the first data stream to perform speed reduction processing on the first data stream, the first data stream being carried by the first FQ.

[0180] Specifically, when the network device 2 is the head node of the first forwarding path, the network device 2 can also notify the sending end of the first data stream to perform speed reduction processing on the first data stream, the first data stream being carried by the first FQ. In an example, the sending end and the corresponding receiving end can be a host with communication needs. The host can have various possible implementations, including but not limited to: a computing device, a computing unit, a cloud device, a virtual machine, or a physical machine. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center.

[0181] In an example, if the network device 2 and the network device 1 are loosely coupled, the network device 2 can not perform G3', but send the first congestion control processing request to the previous hop node of the network device 2 on the first forwarding path, and the previous hop node of the network device 2 on the first forwarding path can perform congestion control processing on the first FQ.

[0182] In an example, after step G3', the network device 2 can implement de-congestion control processing on the first FQ through various schemes, as follows:

[0183] Scheme One:

[0184] G4', the network device 1 determines to de-congest the network.

[0185] In step G4', the network device 1 can determine whether to de-congest the network according to the buffer usage of the at least one FQ. For example, when the buffer usage of the at least one FQ is less than the buffer watermark threshold corresponding to the at least one FQ, it is determined to de-congest the network.

[0186] G5', in response to de-congesting the network, the network device 1 sends a third congestion control processing request to the network device 2, the third congestion control processing request being used to request the network device 2 to perform de-congestion control processing on the first FQ.

[0187] In step G5', the third congestion control processing request is similar to the first congestion control processing request, and the third congestion control processing request is carried in a TCP packet, a UDP packet, or an ICMP packet, or the third congestion control processing request is carried in an IP packet, or the third congestion control processing request is carried in a layer 2 packet in the OSI model. Specifically, a payload field of the TCP packet is used to carry the third congestion control processing request, or a payload field of the UDP packet is used to carry the third congestion control processing request, or a payload field of the ICMP packet is used to carry the third congestion control processing request, or a hop-by-hop option header HBH of the IP packet is used to carry the third congestion control processing request, or a destination option header DOH of the IP packet is used to carry the third congestion control processing request, or an option field of the IP packet is used to carry the third congestion control processing request.

[0188] The third congestion control processing request includes any one or more of the following information: identification information of the first forwarding path, identification information of the first FQ, identification information of the last hop node of the network device 1, corresponding ingress interface information of the network device 1 on the first forwarding path, path information of the second forwarding path, nodes passed through by the second forwarding path including a node that needs to perform the congestion control processing release on the first forwarding path, or second state information indicating that the network device 2 performs the congestion control processing release.

[0189] The field in the third congestion control processing request that carries the second state information and the field in the first congestion control processing request that carries the first state information can be the same field. When the value of the field is "1", the field carries the first state information; and when the value of the field is "0", the field carries the second state information.

[0190] G6', the network device 2 performs the congestion control processing release on the first FQ according to the third congestion control processing request.

[0191] In step G6', the network device 2 performs the congestion control processing release on the first FQ according to the third congestion control processing request, including: increasing the sending rate of the data flow carried by the first FQ. If the network device 2 is the head node of the first forwarding path, the network device 2 can also notify the sending end of the first data flow carried by the first FQ to increase the sending rate of the first data flow.

[0192] In the above technical solution, after the network device 1 determines that the first FQ releases the network congestion, the network device 1 can notify the upstream device to release the congestion control processing on the first FQ through the third congestion control processing request, so as to improve the network throughput. In addition, the congestion control processing release is avoided to be released too early, which leads to further aggravation of the network congestion, and the communication quality is improved.

[0193] Scheme two:

[0194] G7', a time later, the network device 2 releases the congestion control processing on the first FQ.

[0195] In step G7', the network device 2 sets a timer after performing the congestion control processing on the first FQ, and automatically releases the congestion control processing performed on the first FQ when the timer ends. For example, the network device 2 gradually increases the sending rate of the data flow carried by the first FQ in a slow growth manner. The timing length of the timer may, for example, be the expected speed-down time indicated by the second speed-down information carried in the first congestion control processing request.

[0196] The congestion control method based on the FQ under the path realizes the FQ granularity flow control under the forwarding path through the first congestion control processing request, improves the precision of the congestion control, and makes the flow control in the wide area network scenario possible. The network head-of-line blocking problem, deadlock problem, and congestion diffusion problem are avoided. The present application embodiment provides multiple possible implementation schemes of the first congestion control processing request, and improves the implementation flexibility of the scheme. In addition, the first congestion control processing request requests the upstream device of the forwarding path to perform the congestion control processing on the FQ under the forwarding path, rather than performing the stop sending processing on the data of the entire queue, so that the network under-throughput can be effectively avoided. Since a certain FQ under the forwarding path is used to carry a certain type of service related data flow corresponding to a certain user, the congestion control on the FQ under the forwarding path improves the association degree of the congestion control and the service, and effectively improves the user experience.

[0197] In addition, the scheme provided by the present application embodiment is not limited to be applied to the wide area network scenario, but can also be applied to other scenarios, such as data center scenarios, and the like, which are not listed one by one here.

[0198] In one example, each node on the first forwarding path except the head node can perform the method steps performed by the network device 1. For example, if the network device 2 is an intermediate node on the first forwarding path, for example, the last hop node of the network device 1 on the first forwarding path, the network device 2 can also perform the method steps performed by the network device 1.

[0199] As mentioned above, the first congestion control processing request can further include a first performance metric value. In one example, considering that the number of nodes experienced by the first forwarding path can be large, for example, the first forwarding path is a path between customer-premises equipment (CPE) 1 and CPE 2, CPE 1 is connected to metropolitan area network 1, CPE 2 is connected to metropolitan area network 2, and the metropolitan area network 1 and the metropolitan area network 2 include a backbone network therebetween. Then, the first forwarding path includes devices in the three networks of metropolitan area network 1, the backbone network, and metropolitan area network 2. If multiple nodes perform the method steps performed by network device 1 as described above, since each device performs the method steps as described above, a certain delay and jitter are introduced, resulting in a large usage and / or jitter of the entire first forwarding path, which does not meet the service requirements. In view of this, in one example, at least one device (for example, each device) on the first forwarding path can maintain a performance metric value upper limit corresponding to the first forwarding path, which includes a delay upper limit and / or a jitter upper limit. In this scenario:

[0200] After network device 2 receives the first congestion control processing request, it can determine whether the first performance metric value is greater than or equal to the performance metric value upper limit. For example, it can be determined whether the delay in the first performance metric value is greater than or equal to the delay upper limit, and / or whether the jitter in the first performance metric value is greater than or equal to the jitter upper limit. If the delay in the first performance metric value is greater than or equal to the delay upper limit, and / or the jitter in the first performance metric value is greater than or equal to the jitter upper limit, it is determined that the first performance metric value is greater than or equal to the performance metric value upper limit. Further, network device 2 can forward the first congestion control processing request to the head node of the first forwarding path, so that the head node of the first forwarding path performs corresponding congestion control processing measures. For example, the head node can trigger adaptive routing, adjust part of the first FQ corresponding traffic to other adaptive routing paths, thereby relieving the congestion of the first FQ under the first forwarding path. In this scenario, network device 2 directly sends the first congestion control processing request to the head node of the first forwarding path, which can be referred to as "one-hop back pressure".

[0201] In one example, if the first performance metric value is greater than or equal to the upper limit of performance metric value, the network device 2 can also send the first congestion control processing request to the head node of the first forwarding path in a multi-hop backpressure manner. In one specific example, the network device 2 can forward the first congestion control processing request to the next-hop node of the network device 2 on the first forwarding path, and accordingly, the next-hop node of the network device 2 on the first forwarding path can also pass the first congestion control processing request to the next-hop node of itself on the first forwarding path, and so on, until the first congestion control processing request is sent to the head node of the first forwarding path.

[0202] As an example, each node on the first forwarding path can maintain the aforementioned upper limit of performance metric value. Accordingly, for the node receiving the first congestion control processing request, it can compare the first performance metric value carried in the first congestion control processing request with the upper limit of performance metric value, and when it is determined that the first performance metric value is greater than or equal to the aforementioned upper limit of performance metric value, the first congestion control processing request can be passed to the next-hop node of itself on the first forwarding path.

[0203] As another example, the first congestion control processing request can include indication information indicating that the device receiving the first congestion control processing request passes the first congestion control processing request to the next-hop node of itself on the first forwarding path. In this way, the node receiving the first congestion control processing request does not need to compare the first performance metric value carried in the first congestion control processing request with the upper limit of performance metric value, and it can directly pass the first congestion control processing request to the next-hop node of itself on the first forwarding path according to the indication information. In one specific example, the network device 2 can add the indication information to the first congestion control processing request after determining that the first performance metric value is greater than or equal to the upper limit of performance metric value, and further forward the first congestion control processing request with the indication information to the next-hop node of the network device 2 on the first forwarding path.

[0204] As mentioned above, each node on the first forwarding path can maintain the aforementioned upper limit of performance metric value, and in one example, the upper limit of performance metric value can be issued by the controller to each node on the first forwarding path, and accordingly, each node on the first forwarding path can receive and save the upper limit of performance metric value issued by the controller.

[0205] In addition, the FQs under the first forwarding path can also be created by the controller. Specifically, the FQs can be elastic FQs or rigid FQs. An elastic FQ refers to a FQ whose allocated buffer resources can be dynamically adjusted, or in other words, a FQ whose allocated buffer resources can support dynamic adjustment. A rigid FQ can also be understood as a non-elastic FQ, which is allocated a fixed value of buffer resources.

[0206] The controller can configure buffer resources for at least one FQ (e.g., an elastic FQ) and configure corresponding buffer waterline thresholds for part or all of the at least one FQ. In addition, the controller can also configure buffer resources for the entire SQ and configure corresponding buffer waterline thresholds for the entire SQ.

[0207] At present, the aforementioned path-level-based congestion control method and the FQ-under-path-based congestion control method require that each network device on the first forwarding path have congestion control processing capability. In this way, when the network device 1 on the first forwarding path determines that congestion occurs, it can send a first congestion control processing request to its previous hop node, so that the previous hop node performs corresponding congestion control processing measures.

[0208] The network device having congestion control processing capability means that the network device has the capability to perform congestion control processing on its own egress port. Specifically, the congestion control processing capability can include congestion control processing capability for a forwarding path or congestion control processing capability for FQs under a forwarding path. As a specific example, the congestion control processing capability of a certain network device (e.g., the first network device) can include two aspects.

[0209] For the congestion control processing capability for a forwarding path, one aspect is that when the first network device determines that the network is congested, it sends a first congestion control processing request to the upstream network device of the first network device on the first forwarding path to request the upstream network device to perform congestion control processing on the first forwarding path. Another aspect is that when the first network device receives a second congestion control processing request sent by the downstream network device of the first network device on the first forwarding path, it performs congestion control processing on the first forwarding path.

[0210] For the congestion control processing capability for the FQ under the forwarding path, one aspect is that the first network device sends a first congestion control processing request to an upstream network device of the first network device on the first forwarding path to request the upstream network device to perform congestion control processing on the FQ under the first forwarding path when the first network device determines that network congestion occurs. Another aspect is that the first network device performs congestion control processing for the FQ under the first forwarding path when the first network device receives a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path.

[0211] For the foregoing two aspects, reference can be made to the description of the “path-level-based congestion control method” and the “congestion control method based on the FQ under the forwarding path” in the foregoing description, which is not repeated here.

[0212] However, it is difficult to require each network device on the first forwarding path to have the congestion control processing capability in actual networking. For example, the network includes network devices of different manufacturers, and some devices of some manufacturers do not support the congestion control processing capability. In this scenario, how to apply the “path-level-based congestion control method” and the “congestion control method based on the FQ under the forwarding path” to perform the corresponding congestion control method in the wide-area network scenario is a problem to be solved at present.

[0213] Therefore, the embodiments of the present application provide an information processing method and device, so that even if only part of the network devices have the congestion control processing capability, the corresponding congestion control method can be performed in the wide-area network scenario.

[0214] Next, the scheme provided by the embodiments of the present application is introduced in combination with the drawings.

[0215] Referring to FIG. 5, which is a flowchart of an information processing method provided by an embodiment of the present application. The method shown in FIG. 5 includes the following S101-S104. In one example, the first network device can correspond to any one of the network devices in the foregoing first forwarding path, for example, the network device 1.

[0216] S101: The first network device generates a first message, and the first message includes first indication information indicating that the first network device has a congestion control processing capability. The congestion control processing capability of the first network device includes the capability of the first network device to perform congestion control processing on the out port of the first network device.

[0217] For the congestion control processing capability, reference can be made to the related description in the foregoing description, which is not repeated here.

[0218] In an example, the first message can be carried by a Border Gateway Protocol Link State (BGP LS) or a Path Computation Element Communication Protocol Link State (PCEP LS).

[0219] In the present application, the congestion control processing capability can be a network device granularity capability or a port granularity capability. When the congestion control processing capability is a network device granularity capability, the congestion control processing capability can indicate a capability of the network device to perform congestion control processing on each of the egress ports of the network device. When the congestion control processing capability is a port granularity capability, the congestion control processing capability can indicate a capability of the network device to perform congestion control processing on a certain egress port of the network device.

[0220] If the congestion control processing capability is a network device granularity capability, then:

[0221] In an example, the first message described above can be a first BGP LS message, and the first BGP LS message includes a node attribute, and the node attribute includes the first indication information. As a specific example, the node attribute can be embodied as a first type length value (TLV), and the first TLV is used to carry the first indication information. In some scenarios, the first TLV can also be referred to as a node attribute TLV. In an example, the structure of the first TLV can refer to FIG. 6a, which is a structure diagram of a first TLV provided by an embodiment of the present application. As shown in FIG. 6a, the first TLV includes a type field, a length field, a flags field, and a reserved field. In an example, the type field of the first TLV can be used to indicate that the first TLV carries the first indication information, and in this case, the flags field and the reserved field are both reserved. In another example, the type field and the flags field of the first TLV are used together to carry the first indication information. For example, the type field indicates a congestion control processing capability, and the flags field indicates whether the congestion control processing capability is possessed. For example, when the value of the flags field is 1, it indicates that the congestion control processing capability is possessed, and when the value of the flags field is 0, it indicates that the congestion control processing capability is not possessed.

[0222] In another example, the aforementioned first message can be a first PCEP LS message, and the first PCEP LS message includes a node attribute TLV, and the node attribute TLV includes the aforementioned first indication information. As a specific example, the node attribute TLV can include a first sub-TLV, and the first sub-TLV includes the first indication information. The structure of the first sub-TLV can also be the structure shown in FIG. 6a. In one example, the type field of the first sub-TLV can be used to indicate that the first sub-TLV carries the first indication information, and for this case, the flag field and the reserved field of the first sub-TLV are both reserved. In yet another example, the type field and the flag field of the first sub-TLV are used together to carry the first indication information, for example, the type field indicates the congestion control processing capability, and the flag field indicates whether the congestion control processing capability is possessed, for example, when the value of the flag field is 1, it indicates that the congestion control processing capability is possessed, and when the value of the flag field is 0, it indicates that the congestion control processing capability is not possessed.

[0223] If the congestion control processing capability is a port granularity capability, then:

[0224] In one example, the aforementioned first message can be a second BGP LS message, and the second BGP LS message includes a link attribute, and the link attribute corresponds to a first link including a first port, and the first port belongs to the first network device. For this case, the link attribute includes the aforementioned first indication information, and correspondingly, the first network device has the congestion control processing capability, which can be the capability of the first network device to perform congestion control processing on the first port.

[0225] As a specific example, the link attribute can be embodied as a second TLV, and the second TLV is used to carry the first indication information. In some scenarios, the second TLV can also be referred to as a link attribute TLV. In one example, the structure of the second TLV can be the same as the structure of the aforementioned first TLV. That is, the second TLV includes a type field, a length field, a flag field, and a reserved field. In one example, the type field of the second TLV can be used to indicate that the second TLV carries the first indication information, and for this case, the flag field and the reserved field are both reserved. In yet another example, the type field and the flag field of the second TLV are used together to carry the first indication information, for example, the type field indicates the congestion control processing capability, and the flag field indicates whether the congestion control processing capability is possessed, for example, when the value of the flag field is 1, it indicates that the congestion control processing capability is possessed, and when the value of the flag field is 0, it indicates that the congestion control processing capability is not possessed.

[0226] In another example, the first message can be a second PCEP LS message, and the second PCEP LS message includes a link attribute TLV, and the link attribute TLV corresponds to a first link including a first port. The first port belongs to the first network device. In this case, the first indication information is included in the link attribute TLV, and the first network device has the congestion control processing capability, which can be the capability of the first network device to perform congestion control processing on the first port.

[0227] In one example, the link attribute TLV can include a second sub-TLV, and the second sub-TLV includes the first indication information. The structure of the second sub-TLV can also be as shown in FIG. 6a. In one example, the type field of the second sub-TLV can be used to indicate that the second sub-TLV carries the first indication information, and in this case, the flag field and the reserved field of the second sub-TLV are both reserved. In another example, the type field and the flag field of the second sub-TLV are used together to carry the first indication information, for example, the type field indicates the congestion control processing capability, and the flag field indicates whether the congestion control processing capability is possessed, for example, when the value of the flag field is 1, it indicates that the congestion control processing capability is possessed, and when the value of the flag field is 0, it indicates that the congestion control processing capability is not possessed.

[0228] S102: The first network device sends the first message to the controller.

[0229] S103: The controller receives the first message sent by the first network device.

[0230] S104: The controller saves the congestion control processing capability information of the first network device, and the congestion control processing capability information of the first network device indicates that the first network device has the congestion control processing capability.

[0231] After the first network device generates the first message, the first network device can send the first message to the controller to notify the controller of its congestion control processing capability. Correspondingly, the controller can receive the first message sent by the first network device. After the controller receives the first message, the controller can parse the first message to determine that the first network device has the congestion control processing capability, and further, the controller can save the congestion control processing capability information of the first network device.

[0232] As described previously, in one example, the first network device can advertise its congestion control processing capability to the controller through BGP LS. In this scenario, the first network device needs to establish a BGP LS neighbor relationship with the controller. In another example, the first network device can advertise its congestion control processing capability to the controller through PCEP LS. In this scenario, the first network device needs to establish a PCEP LS neighbor relationship with the controller.

[0233] In one example, if the second network device does not establish a BGP LS neighbor relationship and a PCEP LS neighbor relationship with the controller, the second network device cannot directly advertise its congestion control processing capability to the controller through BGP LS or PCEP LS. For this case, in the case that the first network device and the second network device belong to the same Interior Gateway Protocol (IGP) domain, the second network device can send an intermediate system to intermediate system (ISIS) message to the first network device to advertise its congestion control processing capability to the first network device. As a specific example, the ISIS message includes a Router Capability TLV, and the Router Capability TLV carries third indication information indicating that the second network device has the congestion control processing capability. In one example, the Router Capability TLV can include a third sub-TLV for carrying the third indication information. As another specific example, the ISIS message includes an Extended IS reachability TLV, and the Extended IS reachability TLV carries third indication information indicating that the second network device has the congestion control processing capability. In one example, the Extended IS reachability TLV can include a fourth sub-TLV for carrying the third indication information.

[0234] As to the third and fourth sub-TLVs, their structures can be understood with reference to FIG. 6b, which is a structure diagram of a sub-TLV provided in an embodiment of the present application. The sub-TLV shown in FIG. 6b includes a type field, a length field and a flag field. In one example, the type field of the sub-TLV can be used to indicate that the sub-TLV carries the third indication information, and for this case, the flag field of the sub-TLV is reserved. In another example, the type field and the flag field of the sub-TLV are used together to carry the third indication information, for example, the type field indicates the congestion control processing capability, and the flag field indicates whether the congestion control processing capability is possessed, for example, when the value of the flag field is 1, it indicates that the congestion control processing capability is possessed, and when the value of the flag field is 0, it indicates that the congestion control processing capability is not possessed.

[0235] The second network device possesses the congestion control processing capability, including the capability of the second network device to perform congestion control processing on an out port of the second network device. As to the congestion control processing capability possessed by the second network device, reference can be made to the foregoing description of the congestion control processing capability possessed by the first network device, and no repeated description is made herein.

[0236] Correspondingly, after the first network device receives the ISIS message, it can determine that the second network device possesses the congestion control processing capability, and further, the first network device can notify the controller of the congestion control processing capability of the second network device through BGP LS or PCEP LS. Specifically, the first network device can generate a second message, and the second message includes second indication information, which indicates that the second network device possesses the congestion control processing capability. After the first network device generates the second message, it can send the second message to the controller. Correspondingly, after the controller receives the second message, it can parse the second message, thereby determining that the second network device possesses the congestion control processing capability, and further, the controller can save the congestion control processing capability information of the second network device.

[0237] As to the second message and the carrying position of the second indication information in the second message, reference can be made to the foregoing description of the carrying position of the first message and the first indication information in the first message, and no repeated description is made herein.

[0238] In one example, the controller can take into account the congestion control processing capability information of the network devices when planning a transmission path for a service. As a specific example, the controller can obtain path computation requirements and congestion control processing capability information of at least one network device, which can include the first network device, and in some examples, can also include the second network device. The path computation requirements mentioned herein can include, for example, the service requirements for quality of service, which can include, but is not limited to, bandwidth, latency, and jitter, etc. The bandwidth mentioned herein can include, for example, elastic bandwidth and rigid bandwidth. After obtaining the path computation requirements and the congestion control processing capability information of at least one network device, the controller can calculate a second forwarding path according to the path computation requirements and the congestion control processing capability information of at least one network device, with the principle of giving priority to network devices with the congestion control processing capability. The second forwarding path can include the first network device. That is, in the present application, the controller can preferentially select a path with more network devices with congestion control processing capability when planning a transmission path for a service, so that as many network devices as possible on the determined second forwarding path can perform path-level-based congestion control methods or FQ-based congestion control methods under the path, thereby guaranteeing the quality of service provided for the service. For example:

[0239] The controller calculates two paths that meet the path computation requirements, namely path 1 and path 2, based on the path computation requirements. Path 1 includes three network devices with congestion control processing capability, and path 2 includes two network devices with congestion control processing capability. Alternatively, path 1 includes three egress ports with congestion control processing capability, and path 2 includes two egress ports with congestion control processing capability. The controller determines path 1 as the second forwarding path.

[0240] Regarding the second forwarding path mentioned herein and the first forwarding path mentioned in the foregoing, it should be noted that the first forwarding path is a general concept, which can generally refer to any path in which the network device (e.g., network device 1) is located. The second forwarding path is a specific forwarding path calculated based on the path computation requirements and the congestion control processing capability information of the at least one network device.

[0241] In one example, after the controller calculates the second forwarding path, the controller can issue information of the second forwarding path to the network devices on the second forwarding path. For example, for the first network device, the controller can issue identification information of the second forwarding path, ingress port information and egress port information on the first network device that belong to the second forwarding path to the first network device.

[0242] In one example, as described before, for a network device with congestion control processing capability, when it determines that network congestion occurs, it can send a congestion control processing request to its previous hop node on the forwarding path to request its previous hop node to perform congestion control processing on the forwarding path or FQs under the forwarding path. In this application, since there can be some network devices in the second forwarding path that do not have the aforementioned congestion control processing capability, for example, the previous hop node of the first network device on the second forwarding path does not have the congestion control processing capability, when the first network device sends a congestion control processing request to the previous hop node, the previous hop node cannot perform the corresponding congestion control processing measure.

[0243] Therefore, in one example, the controller can further calculate a backpressure path for the second forwarding path according to the congestion control processing capability information of the network devices on the second forwarding path. The backpressure path is used to transmit the aforementioned congestion control processing request. When calculating the backpressure path, the controller can calculate the backpressure path for the second forwarding path according to the principle that the network devices with the congestion control processing capability in the second forwarding path are included in the backpressure path and the network devices without the congestion control processing capability in the first path are not included in the backpressure path. In this way, the calculated backpressure path includes the network devices with the congestion control processing capability in the second forwarding path and does not include the network devices without the congestion control processing capability in the first path.

[0244] After the controller calculates the backpressure path, it can distribute table item information of the backpressure path to the network devices in the backpressure path. Correspondingly, the network devices in the backpressure path can receive and save the table item information distributed by the controller. The table item information of the backpressure path can include, for example, identification information of the second forwarding path and identification information of the next hop network device. For example, if the backpressure path is network device A-B-C-D, the table item information distributed to network device A can include identification information of the second forwarding path and identification information of network device B (i.e. the next hop network device). The identification information of the next hop network device can be, for example, a loopback address of the next hop network device.

[0245] In this way, for the network devices on the backpressure path, when they determine that network congestion occurs, they can send a congestion control processing request to the next hop network device on the backpressure path based on the aforementioned table item information. Since the network devices on the backpressure path all have the congestion control processing capability, the network devices on the backpressure path that receive the congestion control processing request can perform the corresponding congestion control processing measure based on the congestion control processing request, thereby avoiding or reducing network congestion.

[0246] In one example, it is assumed that the second forwarding path comprises: a third network device - a fourth network device - the first network device, wherein the fourth network device is an upstream network device of the first network device on the second forwarding path, and the third network device is an upstream network device of the fourth network device on the second forwarding path. If the third network device has congestion control processing capability, and the fourth network device does not have specific congestion control processing capability, the backpressure path can comprise: the first network device - the third network device. Correspondingly, when the first network device determines that congestion occurs, the first network device can generate a third congestion control processing request, and the third congestion control request is used for the third network device to perform congestion control processing on the second forwarding path or FQ under the second forwarding path. Further, the first network device can send the third congestion control processing request to the third network device according to the aforementioned table item information, so that the third network device performs congestion control processing on the second forwarding path or FQ under the second forwarding path based on the third congestion control processing request.

[0247] Regarding the third congestion control processing request, reference can be made to the foregoing description of the first congestion control processing request, which will not be repeated here. Correspondingly, regarding the congestion control processing performed by the third network device, reference can be made to the foregoing description of step G3 or step G3', which will not be repeated here.

[0248] Regarding the second forwarding path and the backpressure path, specific scenarios will be described.

[0249] Referring to FIG. 7a, FIG. 7a is a schematic diagram of an exemplary application scenario provided by an embodiment of the present application. As shown in FIG. 7a, a flexible tunnel path from a source node A to a destination node D is created by a controller based on path calculation requirements and congestion control processing capability information of network devices. The flexible tunnel path refers to a forwarding path implemented by a flexible network slice. The flexible network slice refers to a network slice whose occupied resources can be changed as needed (for example, the bandwidth value of the bandwidth resource can be changed from a first bandwidth value to a second bandwidth value). The flexible tunnel path mentioned here can correspond to the second forwarding path mentioned above.

[0250] In FIG. 7a, the elastic tunnel path is an explicit path <A, B, C, D> using strict label stack, and the nodes A, B and C have congestion control processing capability. When calculating the back pressure path, the controller obtains the back pressure path C→B→A. Correspondingly, when determining that congestion occurs, the node C sends a congestion control processing request to the node B. Correspondingly, the node B performs congestion control processing based on the received congestion control processing request. Similarly, when determining that congestion occurs, the node B sends a congestion control processing request to the node A. Correspondingly, the node A performs congestion control processing based on the received congestion control processing request.

[0251] Referring to FIG. 7b, FIG. 7b is a schematic diagram of another exemplary application scenario provided by the embodiment of the present application. As shown in FIG. 7b, through dynamic path calculation by the controller based on path calculation requirements and congestion control processing capability information of network devices, an elastic tunnel path from a source node A to a destination node D is created.

[0252] In FIG. 7b, the elastic tunnel path is an explicit path <A, B, C, D> using strict label stack, and the nodes A and C have congestion control processing capability, and the node B does not have congestion control processing capability. When calculating the back pressure path, the controller obtains the back pressure path C→A. Correspondingly, when determining that congestion occurs, the node C sends a congestion control processing request to the node A. Correspondingly, the node A performs congestion control processing based on the received congestion control processing request.

[0253] Referring to FIG. 7c, FIG. 7c is a schematic diagram of another exemplary application scenario provided by the embodiment of the present application. As shown in FIG. 7c, through dynamic path calculation by the controller based on path calculation requirements and congestion control processing capability information of network devices, an elastic tunnel path from a source node A to a destination node H is created.

[0254] In FIG. 7c, the elastic tunnel path is a loose path <A, B, G, H>, and the nodes A, B and G have congestion control processing capability. When calculating the back pressure path, the controller obtains the back pressure path G→B→A. Correspondingly, when determining that congestion occurs, the node G sends a congestion control processing request to the node B. Since the nodes B and G are in a loose path, there is no elastic slice dedicated line, and thus the node B continues to send the congestion control processing request to the node A. Correspondingly, the node A performs congestion control processing based on the received congestion control processing request.

[0255] Referring to FIG. 7d, FIG. 7d is a schematic diagram of another exemplary application scenario provided by the embodiment of the present application. As shown in FIG. 7d, through dynamic path calculation by the controller based on path calculation requirements and congestion control processing capability information of network devices, an elastic tunnel path from a source node A to a destination node H is created.

[0256] In FIG. 7d, the elastic tunnel path is loose path <A, B, G, H>, node A and node G have congestion control processing capability, and node B does not have congestion control processing capability. When calculating the back pressure path, the controller obtains back pressure path G→A, and correspondingly, when node G determines that congestion occurs, node G sends a congestion control processing request to node A, and correspondingly, node A performs congestion control processing based on the received congestion control processing request.

[0257] As can be seen from the above description, by using the scheme provided in the embodiments of the present application, the network device (for example, the first network device) can notify the controller that it has congestion control processing capability, and correspondingly, the controller can save the congestion control processing capability information of the network device, so as to subsequently perform corresponding processing measures based on the congestion control processing capability information of the network device, for example, the controller can calculate the second forwarding path for the service according to the principle of giving priority to the network device having congestion control processing capability. For another example, the back pressure path can be calculated for the second forwarding path according to the congestion control processing capability information of the network device, so that even if only part of the network devices have congestion control processing capability, the corresponding congestion control method can also be performed in the wide area network scenario.

[0258] Referring to FIG. 8, FIG. 8 is a structural schematic diagram of an information processing apparatus provided in the embodiments of the present application. The information processing apparatus 800 shown in FIG. 8 can be applied to the controller, and is used to perform the method steps performed by the controller provided in the above method embodiments.

[0259] As shown in FIG. 8, the apparatus 800 includes a receiving unit 801 and a processing unit 802.

[0260] The receiving unit 801 is configured to receive the first message sent by the first network device, and the first message includes first indication information, the first indication information indicating that the first network device has congestion control processing capability, and the congestion control processing capability of the first network device includes the capability of the first network device performing congestion control processing on the out port of the first network device.

[0261] The processing unit 802 is configured to save the congestion control processing capability information of the first network device, and the congestion control processing capability information of the first network device indicates that the first network device has the congestion control processing capability.

[0262] In a possible implementation manner, the congestion control processing capability includes congestion control processing capability for a forwarding path, or congestion control processing capability for a flow queue FQ under the forwarding path.

[0263] In a possible implementation, the first network device has a congestion control processing capability, including: when the first network device determines that network congestion occurs, the first network device sends a first congestion control processing request to an upstream network device of the first network device on a first forwarding path, to request the upstream network device to perform congestion control processing on the first forwarding path or a FQ under the first forwarding path; and when the first network device receives a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path, the first network device performs congestion control processing on the first forwarding path or the FQ under the first forwarding path.

[0264] In a possible implementation, the first message includes a first Border Gateway Protocol-Link State, BGP-LS, message, and the first BGP-LS message includes a node attribute, Node Attribute, and the Node Attribute includes the first indication information.

[0265] In a possible implementation, the first message includes a first Path Computation Element Protocol-Link State, PCEP-LS, message, and the first PCEP-LS message includes a node attribute type length value, Node Attribute TLV, and the Node Attribute TLV includes a first sub-TLV, and the first sub-TLV includes the first indication information.

[0266] In a possible implementation, the first network device has a congestion control processing capability, including: the first network device has a capability of performing congestion control processing on each egress port of the first network device.

[0267] In a possible implementation, the first message includes a second BGP-LS message, and the second BGP-LS message includes a link attribute, Link Attribute, and the Link Attribute includes the first indication information, and the Link Attribute corresponds to a first link including a first port, and the first port belongs to the first network device.

[0268] In a possible implementation, the first message includes a second PCEP-LS message, and the second PCEP-LS message includes a link attribute type length value, Link Attribute TLV, and the Link Attribute TLV includes a second sub-TLV, and the second sub-TLV includes the first indication information, and the Link Attribute TLV corresponds to a first link including a first port, and the first port belongs to the first network device.

[0269] In a possible implementation, the first network device has the congestion control processing capability, including: the capability of the first network device to perform congestion control processing on the first port.

[0270] In a possible implementation, the receiving unit 801 is further configured to receive a second message sent by the first network device, the second message including second indication information indicating that a second network device has the congestion control processing capability, the second network device having the congestion control processing capability including: the capability of the second network device to perform congestion control processing on an out port of the second network device; and the processing unit 802 is further configured to save congestion control processing capability information of the second network device, the congestion control processing capability information of the second network device indicating that the second network device has the congestion control processing capability.

[0271] In a possible implementation, the processing unit 802 is further configured to: obtain path calculation requirements and congestion control processing capability information of at least one network device, the at least one network device including the first network device; and calculate a second forwarding path according to the path calculation requirements and the congestion control processing capability information of the at least one network device, the second forwarding path including the first network device, and the second forwarding path being calculated according to a principle of giving priority to network devices having the congestion control processing capability.

[0272] In a possible implementation, the processing unit 802 is further configured to: calculate, according to the congestion control processing capability information of network devices on the second forwarding path, a back pressure path for the second forwarding path, the back pressure path including network devices having the congestion control processing capability in the second forwarding path and not including network devices not having the congestion control processing capability in the first path, and the back pressure path being used to deliver a congestion control processing request for requesting to perform congestion control processing.

[0273] The apparatus further includes a sending unit configured to send, to network devices in the back pressure path, table item information of the back pressure path.

[0274] Referring to FIG. 9, which is a structural schematic diagram of another information processing apparatus provided by an embodiment of the present application. The information processing apparatus 900 shown in FIG. 9 can be applied to a first network device, and is configured to perform the method steps performed by the first network device according to the above method embodiments.

[0275] As shown in FIG. 9, the apparatus 900 includes a processing unit 901 and a sending unit 902.

[0276] The processing unit 901 is configured to generate a first message, wherein the first message comprises first indication information, and the first indication information indicates that the first network device has congestion control processing capability. The first network device has congestion control processing capability, which includes the capability of the first network device to perform congestion control processing on an out port of the first network device.

[0277] The sending unit 902 is configured to send the first message to a controller.

[0278] In a possible implementation, the congestion control processing capability includes congestion control processing capability for a forwarding path, or congestion control processing capability for a flow queue (FQ) under a forwarding path.

[0279] In a possible implementation, the first network device having congestion control processing capability includes that, when the first network device determines that network congestion occurs, the first network device sends a first congestion control processing request to an upstream network device of the first network device on a first forwarding path, to request the upstream network device to perform congestion control processing on the first forwarding path or an FQ under the first forwarding path; and when the first network device receives a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path, the first network device performs congestion control processing on the first forwarding path or the FQ under the first forwarding path.

[0280] In a possible implementation, the first message includes a first border gateway protocol link state (BGP-LS) message, and the first BGP-LS message comprises a node attribute (Node Attribute), and the Node Attribute comprises the first indication information.

[0281] In a possible implementation, the first message includes a first path computation element communication protocol link state (PCEP-LS) message, and the first PCEP-LS message comprises a node attribute type length value (Node Attribute TLV), and the Node Attribute TLV comprises a first sub-TLV, and the first sub-TLV comprises the first indication information.

[0282] In a possible implementation, the first network device having congestion control processing capability includes the capability of the first network device to perform congestion control processing on each out port of the first network device.

[0283] In a possible implementation, the first message comprises: a second BGP-LS message, the second BGP-LS message comprising a link attribute Link Attribute, the Link Attribute comprising the first indication information, and the Link Attribute corresponding to a first link comprising a first port, the first port belonging to the first network device.

[0284] In a possible implementation, the first message comprises: a second PCEP LS message, the second PCEP LS message comprising a link attribute type length value Link Attribute TLV, the Link Attribute TLV comprising a second sub-TLV, the second sub-TLV comprising the first indication information, and the Link Attribute TLV corresponding to a first link comprising a first port, the first port belonging to the first network device.

[0285] In a possible implementation, the first network device has the congestion control processing capability, and the first network device comprises: a capability of performing congestion control processing on the first port.

[0286] In a possible implementation, the sending unit 902 is further configured to send, to the controller, a second message comprising second indication information, the second indication information indicating that a second network device has the congestion control processing capability, and the second network device having the congestion control processing capability comprising: a capability of the second network device of performing congestion control processing on an out port of the second network device.

[0287] In a possible implementation, the apparatus further comprises a receiving unit configured to receive an intermediate system to intermediate system ISIS message sent by the second network device, the ISIS message comprising a router capability type length value Router Capability TLV, the Router Capability TLV comprising a third sub-TLV, the third sub-TLV comprising third indication information, and the third indication information indicating that the second network device has the congestion control processing capability; or the ISIS message comprising an extended IS reachability type length value Extended IS reachability TLV, the Extended IS reachability TLV comprising a fourth sub-TLV, and the fourth sub-TLV comprising the third indication information.

[0288] In a possible implementation, the apparatus includes a receiving unit, which is further configured to receive the table item information sent by the controller, the table item information being table item information of a back pressure path for the second forwarding path, the back pressure path being used to transmit a congestion control processing request for requesting execution of congestion control processing.

[0289] In a possible implementation, the processing unit 901 is further configured to determine that congestion occurs, generate a third congestion control processing request, the third congestion control request being used to request a third network device to perform congestion control processing on the second forwarding path or an FQ under the second forwarding path, and the sending unit 902 is further configured to send the third congestion control processing request to the third network device according to the table item information, wherein the fourth network device is an upstream network device of the first network device on the second forwarding path, the third network device is an upstream network device of the fourth network device on the second forwarding path, the third network device has congestion control processing capability, and the fourth network device does not have congestion control processing capability.

[0290] For the specific implementation of each unit of the apparatuses 800 and 900, refer to the related description of the above method embodiments, which is not repeated here.

[0291] Please refer to FIG. 10, which is a structural schematic diagram of an apparatus provided by an embodiment of the present application. The apparatus 1000 shown in FIG. 10 includes a processor 1010, a communication interface 1020 and a memory 1030. The number of the processor 1010 in the apparatus 1000 can be one or more, and one processor is taken as an example in FIG. 10. In an embodiment of the present application, the processor 1010, the communication interface 1020 and the memory 1030 can be connected through a bus system or other manners, and the connection through the bus system 1040 is taken as an example in FIG. 10.

[0292] The processor 1010 can be a CPU, an NP or a combination of the CPU and the NP. The processor 1010 can further include a hardware chip. The hardware chip can be an ASIC, a programmable logic device (PLD) or a combination thereof. The PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.

[0293] The memory 1030 can include a volatile memory (e.g., random access memory (RAM)) and / or a non-volatile memory (e.g., flash memory, a hard disk drive (HDD), or a solid-state drive (SSD)). The memory 1030 can also include a combination of the above-mentioned types of memories. The memory 1030 can store, for example, the congestion control processing capability information of the first network device.

[0294] Optionally, the memory 1030 stores an operating system and a program, an executable module, or a data structure, or a subset thereof, or an extended set thereof, where the program can include various operation instructions for implementing various operations. The operating system can include various system programs for implementing various basic services and processing hardware-based tasks. The processor 1010 can read the program in the memory 1030 to implement the method provided by the embodiments of the present application, for example, to implement the steps performed by the first network device or the controller in FIG. 5.

[0295] The bus system 1040 can be a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The bus system 1040 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in FIG. 10, but it does not mean that there is only one bus or only one type of bus.

[0296] The embodiments of the present application provide a computer-readable storage medium including instructions or a computer program, which, when executed on a computer, causes the computer to perform the method described in the above method embodiments. For example, the computer is caused to perform the steps performed by the first network device or the controller in FIG. 5.

[0297] The embodiments of the present application provide a computer program product including instructions or a computer program, which, when executed on a computer, causes the computer to perform the method described in the above method embodiments. For example, the computer is caused to perform the steps performed by the first network device or the controller in FIG. 5.

[0298] The embodiments of the present application also provide a communication system, which can include a first network device and a controller that perform the method shown in FIG. 5.

[0299] The terms "first", "second", "third", "fourth", and the like in the description and in the claims of the present application, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the use of these terms herein is to be construed to cover a general order and / or structure unless there comes forth a particular meaning based on context. Furthermore, the terms "comprising", "having", "containing", and "including" and any variations thereof used in the present application are intended to cover a non-exclusive inclusion, such that a process, method, system, product, or apparatus that comprises, has, contains, or includes an item or list of items who does not also preclude any other items not expressly listed or inherent to such process, method, system, product, or apparatus.

[0300] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.

[0301] In several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic, for example, the division of units is only a logical business division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed units can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0302] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or they can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0303] In addition, each business unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of software business unit.

[0304] If the integrated unit is implemented in the form of a software service unit and sold or used as a separate product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0305] Those skilled in the art should realize that, in one or more examples described above, the services described in the present application can be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, these services can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. The computer-readable medium includes a computer storage medium and a communication medium, wherein the communication medium includes any medium that facilitates the transfer of a computer program from one place to another. The storage medium can be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0306] The above detailed description of the specific embodiments of the present application has further explained the purposes, technical solutions, and beneficial effects of the present application. It should be understood that the above is only a specific embodiment of the present application.

[0307] The above, the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements to some technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. An information processing method characterized by comprising: The method comprises: The controller receives a first message sent by a first network device, the first message comprising first indication information, the first indication information indicating that the first network device has congestion control processing capability, the first network device having the congestion control processing capability comprising the capability of the first network device performing congestion control processing on an out port of the first network device; The controller saves congestion control processing capability information of the first network device, the congestion control processing capability information of the first network device indicating that the first network device has the congestion control processing capability.

2. The method of claim 1, wherein, The congestion control processing capability comprises congestion control processing capability for a forwarding path or congestion control processing capability for a flow queue (FQ) under a forwarding path.

3. The method according to claim 1 or 2, characterized in that, The first network device having the congestion control processing capability comprises: When the first network device determines that network congestion occurs, the first network device sends a first congestion control processing request to an upstream network device of the first network device on a first forwarding path to request the upstream network device to perform congestion control processing on the first forwarding path or an FQ under the first forwarding path; and When the first network device receives a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path, the first network device performs congestion control processing on the first forwarding path or the FQ under the first forwarding path.

4. The method according to any one of claims 1 to 3, characterized in that, The first message comprises: A first border gateway protocol link state (BGP-LS) message, the first BGP-LS message comprising a node attribute (Node Attribute), the Node Attribute comprising the first indication information.

5. The method according to any one of claims 1 to 3, characterized in that, The first message comprises: A first path computation element communication protocol link state (PCEP-LS) message, the first PCEP-LS message comprising a node attribute type length value (Node Attribute TLV), the Node Attribute TLV comprising a first sub-TLV, the first sub-TLV comprising the first indication information.

6. The method according to claim 4 or 5, characterized in that, The first network device having the congestion control processing capability comprises: The capability of the first network device performing congestion control processing on each out port of the first network device.

7. The method according to any one of claims 1 to 3, characterized in that, The first message comprises: A second BGP-LS message, the second BGP-LS message comprising a link attribute (Link Attribute), the Link Attribute comprising the first indication information, the Link Attribute corresponding to a first link comprising a first port, the first port belonging to the first network device.

8. The method according to any one of claims 1 to 3, characterized in that, The first message comprises: a second PCEP LS message, the second PCEP LS message including a Link Attribute TLV, the Link Attribute TLV including a second sub-TLV, the second sub-TLV including the first indication information, the Link Attribute TLV corresponding to a first link including a first port, the first port belonging to the first network device.

9. The method according to claim 7 or 8, characterized in that, The first network device has a congestion control processing capability, including: The first network device has a congestion control processing capability, including:

10. The method according to any one of claims 1 to 9, characterized in that, The method further includes: The controller receives a second message sent by the first network device, the second message including second indication information, the second indication information indicating that a second network device has the congestion control processing capability, the second network device having a congestion control processing capability, including: the second network device having a capability of performing congestion control processing on an out-port of the second network device; The controller saves congestion control processing capability information of the second network device, the congestion control processing capability information of the second network device indicating that the second network device has the congestion control processing capability.

11. The method according to any one of claims 1 to 10, characterized in that, The method further includes: The controller obtains path computation requirements and congestion control processing capability information of at least one network device, the at least one network device including the first network device; The controller calculates a second forwarding path according to the path computation requirements and the congestion control processing capability information of the at least one network device, the second forwarding path including the first network device, and the second forwarding path being calculated according to a principle of giving priority to network devices having the congestion control processing capability.

12. The method of claim 11, wherein, The method further includes: The controller calculates a back pressure path for the second forwarding path according to the congestion control processing capability information of network devices on the second forwarding path, the back pressure path including network devices having the congestion control processing capability in the second forwarding path and not including network devices not having the congestion control processing capability in the first path, the back pressure path being used to transmit a congestion control processing request for requesting to perform congestion control processing; The controller issues table item information of the back pressure path to network devices in the back pressure path.

13. An information processing method characterized by comprising: The method includes: The first network device generates a first message, the first message including first indication information, the first indication information indicating that the first network device has a congestion control processing capability, the first network device having a congestion control processing capability, including: the first network device having a capability of performing congestion control processing on an out-port of the first network device; The first network device sends the first message to a controller.

14. The method of claim 13, wherein, The congestion control processing capability includes a congestion control processing capability for a forwarding path, or a congestion control processing capability for a flow queue FQ under a forwarding path.

15. The method according to claim 13 or 14, characterized in that, The first network device has a congestion control processing capability, including: The first network device sends a first congestion control processing request to an upstream network device of the first network device on a first forwarding path to request the upstream network device to perform congestion control processing on the first forwarding path or a FQ under the first forwarding path when determining that network congestion occurs; and The first network device performs congestion control processing on the first forwarding path or a FQ under the first forwarding path when receiving a second congestion control processing request sent by a downstream network device of the first network device on the first forwarding path.

16. The method according to any one of claims 13-15, characterized in that, The first message comprises: A first Border Gateway Protocol Link State, BGP-LS, message, the first BGP-LS message comprising a node attribute, Node Attribute, the Node Attribute comprising the first indication information.

17. The method according to any one of claims 13-15, characterized by, The first message comprises: A first Path Computation Element Communication Protocol Link State, PCEP-LS, message, the first PCEP-LS message comprising a node attribute type length value, Node Attribute TLV, the Node Attribute TLV comprising a first sub-TLV, the first sub-TLV comprising the first indication information.

18. The method according to claim 16 or 17, characterized in that The first network device has a congestion control processing capability, comprising: The first network device has a capability of performing congestion control processing on each egress port of the first network device.

19. The method according to any one of claims 13-15, characterized in that, The first message comprises: A second BGP-LS message, the second BGP-LS message comprising a link attribute, Link Attribute, the Link Attribute comprising the first indication information, the Link Attribute corresponding to a first link comprising a first port, the first port belonging to the first network device.

20. The method of any one of claims 13-15, wherein, The first message comprises: A second PCEP-LS message, the second PCEP-LS message comprising a link attribute type length value, Link Attribute TLV, the Link Attribute TLV comprising a second sub-TLV, the second sub-TLV comprising the first indication information, the Link Attribute TLV corresponding to a first link comprising a first port, the first port belonging to the first network device.

21. The method according to claim 19 or 20, characterized in that, The first network device has a congestion control processing capability, comprising: The first network device has a capability of performing congestion control processing on the first port.

22. The method of any of claims 13-21, wherein, The method further comprises: The first network device sends a second message to the controller, the second message comprising second indication information, the second indication information indicating that a second network device has the congestion control processing capability, the second network device having a congestion control processing capability, comprising: the second network device having a capability of performing congestion control processing on an egress port of the second network device.

23. The method of claim 22, wherein, The method further comprises: The first network device receives an intermediate system to intermediate system (ISIS) message sent by the second network device, the ISIS message including a router capability type length value (Router Capability TLV), the Router Capability TLV including a third sub-TLV, and the third sub-TLV including third indication information indicating that the second network device has the congestion control processing capability. Alternatively, the ISIS message includes an extended IS reachability type length value (Extended IS reachability TLV), the Extended IS reachability TLV including a fourth sub-TLV, and the fourth sub-TLV including the third indication information.

24. The method of any of claims 13-23, wherein, The method further includes: The first network device receives table item information sent by the controller, the table item information being table item information of a back pressure path for a second forwarding path, the back pressure path being used to transmit a congestion control processing request for requesting to perform congestion control processing.

25. The method of claim 24, wherein, The method further includes: The first network device determines that congestion occurs; The first network device generates a third congestion control processing request, the third congestion control request being used for a third network device to perform congestion control processing on the second forwarding path or FQ under the second forwarding path; The first network device sends the third congestion control processing request to the third network device according to the table item information, wherein the fourth network device is an upstream network device of the first network device on the second forwarding path, the third network device is an upstream network device of the fourth network device on the second forwarding path, the third network device has the congestion control processing capability, and the fourth network device does not have the congestion control processing capability.

26. An information processing apparatus for enabling a user to efficiently search for a desired information, comprising: The apparatus includes a plurality of functional modules that interact to implement the method of any of claims 1-25.

27. A communication system, characterized by The communication system includes a controller and / or a first network device, the controller being configured to perform the method of any of preceding claims 1-12, and the first network device being configured to perform the method of any of preceding claims 13-25.

28. An information processing apparatus for enabling a user to efficiently search for a desired information, comprising: The information processing apparatus includes a processor and a memory, the memory being configured to store program code, and the processor being configured to invoke the program code in the memory to cause the information processing apparatus to perform the method of any of claims 1-25.

29. A computer-readable storage medium, characterized in that, The computer program product includes instructions that, when executed on a computer, cause the computer to perform the method of any of claims 1-25.

30. A computer program product, characterised in that, The computer program product includes program code that, when executed on a computer, causes the computer to perform the method of any of claims 1-25.

Citation Information

Patent Citations

  • Method for processing network congestion and related device

    CN112311685A

  • Congestion fault tolerance method, network device, storage medium and computer program product

    CN116032842A

  • Dynamic network load rebalancing

    US20140269305A1

  • Congestion notification system

    US20160344631A1