Information processing method and device
By receiving and utilizing the congestion control capability information of network devices through the controller, path-level and flow queue-level congestion control processing is performed, solving the problem that PFC cannot be applied in wide area networks and realizing effective congestion control and quality of service assurance in wide area networks.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-03
- Publication Date
- 2026-03-10
AI Technical Summary
Existing priority-based flow control (PFC) technology is not suitable for wide area network (WAN) scenarios, causing network congestion to affect the normal operation of non-congested forwarding paths and failing to effectively control congestion in WANs.
The controller receives information on the congestion control processing capabilities of network devices, saves and uses this information to perform path-level or flow queue-level congestion control processing, prioritizes paths with congestion control capabilities for transmission path planning and backpressure path calculation, and ensures the effective execution of congestion control.
It enables effective congestion control in wide area network scenarios, even when some network devices have congestion control capabilities, thereby preventing the spread of network congestion and improving service quality.
Smart Images

Figure CN121644458A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to an information processing method and apparatus. Background Technology
[0002] Priority-based flow control (PFC) is a commonly used congestion control algorithm in data center networks. It allows for the selection of priorities for different types of traffic within the network, serving as a mechanism to prevent packet loss during congestion. PFC primarily operates on the ingress ports of switches (or other network devices such as routers), controlling traffic based on the queue length of the ingress port (or the length of the ingress queue). Specifically, it uses instruction messages (such as pause frames) to notify upstream ports to stop sending data.
[0003] Compared to data center networks, in wide area network (WAN) scenarios, due to the longer network transmission path between sending and receiving devices, tunneling is typically used to encapsulate the packets transmitted between them. Furthermore, PFC (Power Flow Control) technology performs flow control on inbound port queues. Since a queue may carry multiple forwarding paths, slowing down a particular queue causes all forwarding paths for that queue to suspend transmission, affecting the normal operation of the non-congestion-prone forwarding paths carried by that queue.
[0004] For the reasons mentioned above, PFC technology is not suitable for wide area network (WAN) scenarios. Therefore, there is an urgent need for a congestion control method applicable to WAN scenarios. Summary of the Invention
[0005] This application provides an information processing method and apparatus that enables the execution of corresponding congestion control methods in wide area network scenarios, even when only some network devices have congestion control processing capabilities.
[0006] Firstly, this application provides an information processing method applicable to a controller. The controller can receive a first message sent by a first network device, the first message including first indication information indicating that the first network device possesses congestion control processing capability. This congestion control processing capability may include the ability of the first network device to perform congestion control processing on its own outgoing ports. 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 possesses the congestion control processing capability. Therefore, the first network device can notify the controller that it possesses congestion control processing capability, and correspondingly, the controller can save the congestion control processing capability information of the first network device to subsequently execute corresponding processing measures based on this information. This ensures that even if only some network devices possess congestion control processing capability, the corresponding congestion control method can still be executed in a wide area network scenario.
[0007] In one possible implementation, the congestion control processing capability can be a congestion control processing capability at the forwarding path level. That is, the first network device has congestion control processing capability at the forwarding path level. In this case, the first network device can report its own forwarding path-level congestion control processing capability to the controller so that the controller can execute corresponding processing measures.
[0008] In one possible implementation, if the aforementioned congestion control processing capability is for a forwarding path, then when the first network device determines that network congestion has occurred, it can send a first congestion control processing request to an upstream network device on the first forwarding path, requesting the upstream network device to perform congestion control processing on the first forwarding path. Furthermore, the first network device can also perform congestion control processing on the first forwarding path upon receiving a second congestion control processing request from a downstream network device on the first forwarding path.
[0009] In one possible implementation, the congestion control processing capability can be a congestion control processing capability for FQ (Free Qualifier) levels under the forwarding path. In this case, the first network device can report its own congestion control processing capability at the FQ level under the forwarding path to the controller, so that the controller can execute corresponding processing measures.
[0010] In one possible implementation, if the aforementioned congestion control processing capability is for congestion control processing under a forwarding path, then when the first network device determines that network congestion has occurred, it can send a first congestion control processing request to the upstream network device in the first forwarding path, requesting the upstream network device to perform congestion control processing on the FQ under the first forwarding path. Furthermore, the first network device can also perform congestion control processing on the FQ under the first forwarding path upon receiving a second congestion control processing request sent by the first network device to the downstream network device in the first forwarding path.
[0011] In one possible implementation, the congestion control processing capability can be a network device-level capability. In this case, the congestion control processing capability can instruct a network device to perform congestion control processing on each of its own outgoing ports. In this scenario, the first network device can report its ability to perform congestion control processing on each of its own outgoing ports to the controller via a message (i.e., a first message).
[0012] In one possible implementation, if the congestion control processing capability is a network device-level capability, then: the first message can be a first BGP LS message, which includes node attributes, and the node attributes include the first indication information. Accordingly, the controller can parse the first BGP LS message to obtain the node attributes, thereby determining that the first network device possesses congestion control processing capability.
[0013] In one possible implementation, if the congestion control processing capability is a network device-level capability, then: the first message can be a first PCEP LS message, which includes a node attribute TLV, a first sub-TLV, and the first sub-TLV includes the first indication information. Accordingly, the controller can parse the first PCEP LS message to obtain the first sub-TLV in the node attribute TLV, thereby determining that the first network device possesses congestion control processing capability.
[0014] In one possible implementation, the congestion control processing capability can be a port-level capability. In this case, the congestion control processing capability can instruct a network device to perform congestion control processing on a specific outgoing port of itself. In this scenario, when the congestion control processing capabilities of different outgoing ports of the first network device are different, the congestion control processing capabilities corresponding to each outgoing port can be reported to the controller separately.
[0015] In one possible implementation, if the congestion control processing capability is a port-level capability, then: the first message can be a second BGP-LS message, which includes link attributes, including the first indication information. These link attributes correspond 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, it can parse the link attributes corresponding to the first link, thereby determining that the first port has congestion control processing capability. That is, the first network device has the capability to perform congestion control processing on the first port.
[0016] In one possible implementation, if the congestion control processing capability is a port-level capability, then: the first message includes: 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, and the first port belonging to the first network device. Accordingly, when the controller receives the second PCEP LS message, it can parse the second sub-TLV in the link attribute TLV corresponding to the first link, thereby determining that the first port has congestion control processing capability. That is: the first network device has the capability to perform congestion control processing on the first port.
[0017] In one possible implementation, the controller can further receive a second message sent by the first network device. The second message includes second indication information indicating that the second network device possesses the congestion control processing capability. This capability includes the ability of the second network device to perform congestion control processing on its output ports. The controller stores the congestion control processing capability information of the second network device, which indicates that the second network device possesses the congestion control processing capability. That is, the first network device can also notify the controller that the second network device possesses the congestion control processing capability. Correspondingly, the controller can store the congestion control processing capability information of the second network device so that, based on the congestion control processing capability information of both the first and second network devices, corresponding processing measures can be executed. This ensures that even if only some network devices possess the congestion control processing capability, the corresponding congestion control method can still be executed in a wide area network scenario.
[0018] In one possible implementation, when planning transmission paths for services, the controller can incorporate its stored information on the congestion control processing capabilities of network devices. As a specific example, the controller can obtain path calculation requirements and congestion control processing capability information for at least one network device, including the first network device. In some examples, the at least one network device may also include the second network device. After obtaining the path calculation requirements and the congestion control processing capability information of the at least one network device, the controller can calculate a second forwarding path based on the path calculation requirements and the congestion control processing capability information of the at least one network device, prioritizing network devices with the congestion control processing capabilities. The second forwarding path includes the first network device. In other words, in this application, when planning transmission paths for services, the controller can prioritize paths with more network devices possessing greater congestion control processing capabilities, thereby ensuring that as many network devices as possible on the determined second forwarding path can execute path-level congestion control methods or path-based FQ congestion control methods, thus guaranteeing the quality of service provided to the services.
[0019] In one possible implementation, the controller can further calculate a backpressure path for the second forwarding path based on the congestion control processing capability information of the network devices on the second forwarding path. This backpressure path is used to transmit congestion control processing requests. Furthermore, when calculating the backpressure path, the calculated backpressure path includes network devices in the second forwarding path that possess the congestion control processing capability, but excludes network devices in the first path that do not possess the congestion control processing capability. After calculating the backpressure path, the controller can issue the backpressure path's entry information to the network devices in the backpressure path. Correspondingly, the network devices in the backpressure path can receive and save the control-issued entry information. The backpressure path's entry information may, for example, include: the identification information of the second forwarding path and the identification information of the next-hop network device. In this way, network devices on the backpressure path can send a congestion control processing request to their next-hop network device on the backpressure path based on the aforementioned table information when network congestion is detected. Since all network devices on the backpressure path have congestion control processing capabilities, the network device that receives the congestion control processing request on the backpressure path can process the corresponding congestion control processing measures based on the congestion control processing request, thereby avoiding or reducing network congestion.
[0020] Secondly, this application provides an information processing method that can be applied to a first network device. The first network device can generate a first message, which includes first indication information indicating that the first network device possesses congestion control processing capabilities. This congestion control processing capability can include the ability of the first network device to perform congestion control processing on its own outgoing ports. After generating the first message, the first network device can send the first message to a controller, thereby announcing to the controller that it possesses congestion control processing capabilities. Correspondingly, the controller can store the congestion control processing capability information of the first network device so that it can subsequently execute corresponding processing measures based on this information. This ensures that even if only some network devices possess congestion control processing capabilities, the corresponding congestion control method can still be executed in a wide area network scenario.
[0021] In one possible implementation, the congestion control processing capability includes: congestion control processing capability for forwarding paths, or congestion control processing capability for flow queues (FQs) under a forwarding path.
[0022] In one possible implementation, the first network device has congestion control processing capability, including: when the first network device determines that network congestion has occurred, sending a first congestion control processing request to an upstream network device in a first forwarding path, requesting the upstream network device to perform congestion control processing on the first forwarding path or the 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 in the first forwarding path, performing congestion control processing on the first forwarding path or the FQ under the first forwarding path.
[0023] In one possible implementation, the first message includes: a first border gateway protocol link state BGP-LS message, the first BGP-LS message including a node attribute, the node attribute including the first indication information.
[0024] In one possible implementation, the first message includes: a first path calculation unit communication protocol link state (PCEP LS) message, the first PCEP LS message including a node attribute type length value (Node Attribute TLV), the Node Attribute TLV including a first sub-TLV, and the first sub-TLV including the first indication information.
[0025] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on each outgoing port of the first network device.
[0026] In one possible implementation, the first message includes: a second BGP-LS message, the second BGP-LS message including a link attribute, the link attribute including the first indication information, the link attribute corresponding to a first link including a first port, the first port belonging to the first network device.
[0027] In one possible implementation, the first message includes: a second PCEPLS message, the second PCEPLS 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, the Link Attribute TLV corresponding to a first link including a first port, the first port belonging to the first network device.
[0028] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on the first port.
[0029] In one possible implementation, the method further includes: the first network device sending a second message to the controller, the second message including second indication information, the second indication information indicating that the second network device has the congestion control processing capability, the second network device having the congestion control processing capability including: the ability of the second network device to perform congestion control processing on the output port of the second network device.
[0030] In one possible implementation, if the second network device and the controller do not have a BGP LS neighbor relationship or a PCEP LS neighbor relationship, the second network device cannot directly advertise its congestion control processing capabilities to the controller via BGP LS or PCEP LS. In this case, if the first and second network devices 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 capabilities to the first network device.
[0031] As a specific example, the ISIS message includes a routing capability TLV, which carries third indication information indicating that the second network device possesses the congestion control processing capability. In one example, the routing capability TLV may include a third sub-TLV, which carries the third indication information.
[0032] As another specific example, the ISIS message includes an Extended Intermediate System Reachability TLV, which carries third indication information indicating that the second network device possesses the congestion control processing capability. In one example, the Extended Intermediate System Reachability TLV may include a fourth sub-TLV, which carries the third indication information.
[0033] In one possible implementation, the method further includes: the first network device receiving table entry information sent by the controller, the table entry information being table entry information for a backpressure path of a second forwarding path, the backpressure path being used to transmit a congestion control processing request for requesting the execution of congestion control processing.
[0034] In one possible implementation, assume the second forwarding path includes: a third network device - a fourth network device - a first network device, where the fourth network device is the upstream network device of the first network device on the second forwarding path, and the third network device is the upstream network device of the fourth network device on the second forwarding path. If the third network device has congestion control processing capabilities, and the fourth network device does not, then the backpressure path may include: a first network device - a third network device. Accordingly, when the first network device determines that congestion has occurred, it can generate a third congestion control processing request. This third congestion control request is used by the third network device to perform congestion control processing on the second forwarding path or the 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 information, so that the third network device can perform congestion control processing on the second forwarding path or the FQ under the second forwarding path based on the third congestion control processing request.
[0035] Thirdly, this application provides an information processing apparatus applied to a controller, the apparatus comprising: a receiving unit and a processing unit. The receiving unit is configured to receive a first message sent by a first network device, the first message including first indication information indicating that the first network device possesses congestion control processing capability, the first network device possessing congestion control processing capability including: the ability of the first network device to perform congestion control processing on the output port of the first network device. The processing unit is configured to store 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 possesses the congestion control processing capability.
[0036] In one possible implementation, the congestion control processing capability includes: congestion control processing capability for forwarding paths, or congestion control processing capability for flow queues (FQs) under a forwarding path.
[0037] In one possible implementation, the first network device has congestion control processing capability, including: when the first network device determines that network congestion has occurred, sending a first congestion control processing request to an upstream network device in a first forwarding path, requesting the upstream network device to perform congestion control processing on the first forwarding path or the 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 in the first forwarding path, performing congestion control processing on the first forwarding path or the FQ under the first forwarding path.
[0038] In one possible implementation, the first message includes: a first border gateway protocol link state BGP-LS message, the first BGP-LS message including a node attribute, the node attribute including the first indication information.
[0039] In one possible implementation, the first message includes: a first path calculation unit communication protocol link state (PCEP LS) message, the first PCEP LS message including a node attribute type length value (Node Attribute TLV), the Node Attribute TLV including a first sub-TLV, and the first sub-TLV including the first indication information.
[0040] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on each outgoing port of the first network device.
[0041] In one possible implementation, the first message includes: a second BGP-LS message, the second BGP-LS message including a link attribute, the link attribute including the first indication information, the link attribute corresponding to a first link including a first port, the first port belonging to the first network device.
[0042] In one possible implementation, the first message includes: a second PCEPLS message, the second PCEPLS 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, the Link Attribute TLV corresponding to a first link including a first port, the first port belonging to the first network device.
[0043] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on the first port.
[0044] In one possible implementation, the receiving unit is further configured to: receive a second message sent by the first network device, the second message including second indication information, the second indication information indicating that the second network device possesses the congestion control processing capability, the second network device possessing the congestion control processing capability including: the ability of the second network device to perform congestion control processing on the output port of the second network device. The processing unit is further configured to store 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 possesses the congestion control processing capability.
[0045] In one 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 including the first network device; and calculate a second forwarding path based on the path calculation requirements and the congestion control processing capability information of at least one network device, according to the principle of prioritizing network devices with the congestion control processing capability, the second forwarding path including the first network device.
[0046] In one possible implementation, the processing unit is further configured to: calculate a backpressure path for the second forwarding path based on the congestion control processing capability information of the network devices on the second forwarding path, wherein the backpressure path includes network devices in the second forwarding path that have the congestion control processing capability, but does not include network devices in the first path that do not have the congestion control processing capability, and the backpressure path is used to transmit a congestion control processing request for requesting to perform congestion control processing; the apparatus further includes a sending unit configured to send the entry information of the backpressure path to the network devices in the backpressure path.
[0047] Fourthly, this application provides an information processing apparatus applied to a first network device, the apparatus comprising: a processing unit and a sending unit. The processing unit is configured to generate a first message, the first message including first indication information, the first indication information indicating that the first network device possesses congestion control processing capability, the first network device possessing congestion control processing capability including: the ability of the first network device to perform congestion control processing on the output port of the first network device. The sending unit is configured to send the first message to a controller.
[0048] In one possible implementation, the congestion control processing capability includes: congestion control processing capability for forwarding paths, or congestion control processing capability for flow queues (FQs) under a forwarding path.
[0049] In one possible implementation, the first network device has congestion control processing capability, including: when the first network device determines that network congestion has occurred, sending a first congestion control processing request to an upstream network device in a first forwarding path, requesting the upstream network device to perform congestion control processing on the first forwarding path or the 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 in the first forwarding path, performing congestion control processing on the first forwarding path or the FQ under the first forwarding path.
[0050] In one possible implementation, the first message includes: a first border gateway protocol link state BGP-LS message, the first BGP-LS message including a node attribute, the node attribute including the first indication information.
[0051] In one possible implementation, the first message includes: a first path calculation unit communication protocol link state (PCEP LS) message, the first PCEP LS message including a node attribute type length value (Node Attribute TLV), the Node Attribute TLV including a first sub-TLV, and the first sub-TLV including the first indication information.
[0052] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on each outgoing port of the first network device.
[0053] In one possible implementation, the first message includes: a second BGP-LS message, the second BGP-LS message including a link attribute, the link attribute including the first indication information, the link attribute corresponding to a first link including a first port, the first port belonging to the first network device.
[0054] In one possible implementation, the first message includes: a second PCEPLS message, the second PCEPLS 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, the Link Attribute TLV corresponding to a first link including a first port, the first port belonging to the first network device.
[0055] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on the first port.
[0056] In one possible implementation, the sending unit is further configured to: send a second message to the controller, the second message including second indication information, the second indication information indicating that the second network device has the congestion control processing capability, the second network device having the congestion control processing capability including: the ability of the second network device to perform congestion control processing on the output port of the second network device.
[0057] In one 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, the ISIS message including a RouterCapability TLV, the RouterCapability TLV including a third sub-TLV, the third sub-TLV including third indication information, the third indication information indicating that the second network device has the congestion control processing capability; or, the ISIS message including an Extended IS reachability TLV, the Extended IS reachability TLV including a fourth sub-TLV, the fourth sub-TLV including the third indication information.
[0058] In one possible implementation, the receiving unit of the apparatus is further configured to: receive table entry information sent by the controller, the table entry information being table entry information for a backpressure path of a second forwarding path, the backpressure path being used to transmit a congestion control processing request for requesting the execution of congestion control processing.
[0059] In one possible implementation, the processing unit is further configured to determine that congestion has occurred; generate a third congestion control processing request, the third congestion control request being used by a third network device to perform congestion control processing on the second forwarding path or the FQ under the second forwarding path; the sending unit is further configured to send the third congestion control processing request to the third network device according to the table entry information, wherein the fourth network device is the upstream network device of the first network device on the second forwarding path, the third network device is the 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.
[0060] Fifthly, embodiments of this application provide an apparatus, including: a processor and a memory; the memory being used to store instructions or computer programs; the processor being used to execute the instructions or computer programs to perform the methods described in the first aspect above and any one of the first aspects above; or, the processor being used to execute the instructions or computer programs to perform the methods described in the second aspect above and any one of the second aspects above.
[0061] Sixthly, embodiments of this application provide a computer-readable storage medium, including instructions or a computer program that, when run on a computer, causes the computer to perform the methods described in the first aspect and any one of the first aspects above, or, when run on a computer, causes the computer to perform the methods described in the second aspect and any one of the second aspects above.
[0062] In a seventh aspect, embodiments of this application provide a computer program product comprising instructions or a computer program, which, when run on a computer, causes the computer to perform the methods described in the first aspect and any one of the first aspects above, or, when run on a computer, causes the computer to perform the methods described in the second aspect and any one of the second aspects above.
[0063] Eighthly, this application provides a communication system comprising: a controller for performing the method described in the first aspect and any one of the first aspects above, and a first network device for performing the method described in the second aspect and any one of the second aspects above. Attached Figure Description
[0064] Figure 1 This is a schematic diagram of a PFC scenario;
[0065] Figure 2 This is a schematic diagram of the structure of a communication system according to an embodiment of this application;
[0066] Figure 3 This is a schematic flowchart of an embodiment of the congestion control method in this application;
[0067] Figure 4 This is a schematic flowchart of an embodiment of the congestion control method in this application;
[0068] Figure 5 A flowchart illustrating an information processing method provided in an embodiment of this application;
[0069] Figure 6a This is a schematic diagram of the structure of a first TLV provided in an embodiment of this application;
[0070] Figure 6b This is a schematic diagram of the structure of a sub-TLV provided in an embodiment of this application;
[0071] Figure 7a This is a schematic diagram illustrating an exemplary application scenario provided in an embodiment of this application;
[0072] Figure 7b This is a schematic diagram illustrating another exemplary application scenario provided in the embodiments of this application;
[0073] Figure 7cThis is a schematic diagram illustrating another exemplary application scenario provided in the embodiments of this application;
[0074] Figure 7d This is a schematic diagram illustrating another exemplary application scenario provided in the embodiments of this application;
[0075] Figure 8 This is a schematic diagram of the structure of an information processing device provided in an embodiment of this application;
[0076] Figure 9 This is a schematic diagram of the structure of another information processing device provided in the embodiments of this application;
[0077] Figure 10 This is a schematic diagram of the structure of a device provided in an embodiment of this application. Detailed Implementation
[0078] First, let's introduce some concepts involved in the embodiments of this application.
[0079] 1. PFC.
[0080] For easier understanding, please refer to Figure 1 , Figure 1 This is a schematic diagram of a PFC scenario. An Ethernet link is established between device A and device B. Device A's transmit interface is divided into 8 priority queues, and device B's receive interface includes 8 corresponding receive buffers, with a one-to-one correspondence. When congestion occurs in a receive buffer on device B's receive interface, it sends a backpressure signal "STOP" to device A, and device A then stops transmitting traffic from the corresponding priority queue.
[0081] The congestion control methods described above, such as PFC, are typically suitable for short-distance data center networks. In wide area network (WAN) scenarios, the network transmission path between the sender and receiver is long. While PFC alleviates network congestion by stopping traffic in the sending queue, the long path in a WAN means the receiver or network device may not be able to promptly notify the sender of this relief. Therefore, the sender's queue may continue to stop sending traffic. Furthermore, PFC performs flow control on inbound queues. Since a queue may carry multiple forwarding paths (i.e., a queue can carry traffic corresponding to multiple flow queues (FQs) under different forwarding paths), slowing down a particular queue causes all forwarding paths for that queue to pause transmission, affecting the normal operation of non-congested forwarding paths carried by that queue. Therefore, using PFC for congestion control leads to head-of-line blocking, deadlock, congestion propagation, and insufficient network throughput.
[0082] Path-based congestion control methods and path-based FQ congestion control methods can improve the granularity of congestion control, making traffic control possible in wide area network scenarios.
[0083] Next, we will introduce the path-based congestion control method and the path-based FQ congestion control method.
[0084] First, we introduce some communication systems where path-level congestion control methods and path-based FQ congestion control methods are applied. Please refer to [link / reference]. Figure 2 , Figure 2 This is a schematic diagram of the structure of a communication system according to an embodiment of this application.
[0085] A communication system according to an embodiment of this application includes: multiple network devices and a controller (or network controller, or network management controller) for managing the network devices. The network devices include: node A, node B, node C, node D, node E, node F, node G, and node H. Nodes A and E are connected to a customer edge device (CE) 1, and nodes H and D are connected to CE 2. Therefore, nodes A, E, H, and D serve as provider edge devices (PE). Nodes B, C, F, and G serve as provider backbone devices (P). Exemplarily, PE nodes and P nodes can be routers or switches, etc. It should be noted that in this application, "node" and "network device" have the same meaning and can be used interchangeably.
[0086] Optionally, the above communication system may further include: a source device (not shown in the figure) and a receiver device (not shown in the figure), wherein the source device may be connected to CE1 and the receiver device may be connected to CE2.
[0087] In one example, the aforementioned source device can be a server or similar device, and the receiving device can be a terminal device or similar device. A terminal device, also known as user equipment (UE), mobile station (MS), mobile terminal (MT), or simply a terminal, is a device that provides voice and / or data connectivity to a user, or a chip embedded within that device, such as a handheld device or vehicle-mounted device with wireless connectivity. Currently, examples of terminal devices include: mobile phones, desktop computers, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, or 5G-residential gateways (5G-RG) that support 5G access.
[0088] 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 distribution network (CDN).
[0089] In another example, the source device can be a core network, IDC, or CDN, and the receiving device can be an access network device.
[0090] In addition, the first forwarding path involved in path-based congestion control methods and path-based FQ congestion control methods includes, but is not limited to, tunnels, paths, or network slices.
[0091] Optionally, the first forwarding path can be configured with flexible bandwidth resources. Specifically, the bandwidth value used by the first forwarding path can be changed from using a first bandwidth value to a second bandwidth value, where the second bandwidth value is greater than the first bandwidth value.
[0092] The bandwidth resource configured for the first forwarding path based on the first bandwidth value is called the first bandwidth resource, which can also be called rigid bandwidth. Regardless of whether the node has available bandwidth resources, the node should ensure that the first forwarding path can use the first bandwidth resource. For example, if the first bandwidth value is 200 megabits per second (mbps), then the node needs to ensure that the first forwarding path can use at least 200M of bandwidth resources.
[0093] The bandwidth resource configured according to the second bandwidth value is called the second bandwidth resource, also known 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 a node's bandwidth resource pool can provide idle bandwidth resources (and these idle bandwidth resources are greater than or equal to the second bandwidth resource), the node is allowed to obtain idle bandwidth resources from the bandwidth resource pool and allocate them as the second bandwidth resource to the first forwarding path, enabling the first forwarding path to use both the first and second bandwidth resources. The bandwidth resource pool includes idle bandwidth resources in the node, and the bandwidth resource pool supports allocating these idle bandwidth resources to one or more first forwarding paths. For example, if the second bandwidth value is 500M, the bandwidth value of the second bandwidth resource is 500-200=300M, and this 300M is used as elastic bandwidth. Only when the bandwidth resources requested by the first forwarding path exceed 200M (first bandwidth resources), and the node's bandwidth resource pool can provide more than or equal to 300M of idle bandwidth resources, is the node allowed to allocate 300M of second bandwidth resources to the first forwarding path. In total, the bandwidth resources allocated by the node to the first forwarding path are 200 + 300 = 500M.
[0094] In one possible implementation, the first bandwidth value can be the committed information rate (CIR), and the second bandwidth value can be the peak information rate (PIR). The controller can configure the CIR and PIR of the first forwarding path for the network device, enabling the network device to allocate the first bandwidth resource corresponding to the CIR for the first forwarding path. When the bandwidth resource requested by the data flow carried by the first forwarding path exceeds the first bandwidth resource, the network device can allocate the second bandwidth resource corresponding to the PIR for the first forwarding path.
[0095] Optionally, network devices on the first forwarding path can reserve buffer resources for the forwarding path, which are used to cache the data stream carried by the forwarding path. Specifically, the controller configures the path buffer (buffer-size) and / or buffer watermark threshold (buffer_threshold) for the network devices.
[0096] The controller configures forwarding path buffer values for network devices, enabling the devices to allocate buffer resources for those forwarding paths. This ensures the network devices can use these buffer resources to cache the data streams carried by the forwarding paths. During the rate-reduction process triggered by a forwarding path, the network devices can use these buffer resources to cache the data streams carried by those paths, preventing packet loss and ensuring data integrity. By configuring a buffer watermark threshold for the network devices, when the buffer used by a forwarding path exceeds the threshold, network congestion is considered to have occurred on that forwarding path. This triggers the network device to notify upstream network devices to either perform rate-reduction processing on the data streams carried by the forwarding path or to perform load balancing processing. Upstream network devices include, but are not limited to: any one or more hops 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 stream carried by the forwarding path.
[0097] Optionally, network devices on the first forwarding path can reserve buffer resources for each FQ under the first forwarding path. These buffer resources are used to cache the data streams carried by each FQ. Specifically, the controller can configure queue buffers for each FQ for the network devices and configure a corresponding buffer waterline threshold (buffer_threshold) for at least one FQ.
[0098] The controller configures FQ (Free Request) cache values for network devices, enabling the devices to allocate cache resources for that FQ. This ensures the network devices can use these cache resources to buffer the data stream carried by the FQ. During FQ-triggered rate reduction processing, the network devices can use the cache resources to buffer the data stream carried by the FQ, preventing packet loss and ensuring lossless data flow.
[0099] Next, we will introduce the path-based congestion control method and the path-based FQ congestion control method.
[0100] 1. Path-level congestion control method
[0101] For path-level congestion control methods, please refer to... Figure 3 , Figure 3 This is a schematic flowchart of an embodiment of the congestion control method in this application. Figure 3The method shown may include steps G1-G3. Optionally, it may also include G4-G6 or G7.
[0102] G1, Network Device 1 has determined that network congestion has occurred.
[0103] In step G1, in one possible implementation, network device 1 detects network congestion at its local outgoing port. Network device 1 can determine the first forwarding path corresponding to the outgoing port experiencing network congestion. For example, a sudden surge in traffic carried by the data stream on the first forwarding path causes network congestion at the outgoing port corresponding to the first forwarding path.
[0104] Furthermore, since one egress port may correspond to multiple forwarding paths, when network device 1 determines that a certain egress port (e.g., the first egress port) is experiencing network congestion, network device 1 can further determine which forwarding paths corresponding to the first egress port need to undergo congestion control processing. In this embodiment, the forwarding path that needs to undergo congestion control processing is referred to as the first forwarding path, which includes one or more forwarding paths. For example, when the first egress port corresponds to multiple forwarding paths, network device 1 can select the forwarding path with higher bandwidth usage as the first forwarding path based on the bandwidth usage information of the multiple forwarding paths. Alternatively, when the first egress port corresponds to multiple forwarding paths, network device 1 can select the forwarding path with higher cache resource usage rate as the first forwarding path based on the cache resource usage information of the multiple forwarding paths.
[0105] Optionally, when the first forwarding path includes multiple forwarding paths, network device 1 determines the speed reduction magnitude (first speed reduction information) and / or speed reduction duration (second speed reduction information) of the multiple forwarding paths proportionally based on the traffic of the multiple forwarding paths.
[0106] In another possible implementation, network device 1 allocates cache resources for the first forwarding path, which are used to cache the data stream carried by the first forwarding path. When the usage of the cache resources exceeds the cache waterline threshold, network device 1 determines that the first forwarding path corresponding to the cache resources is experiencing network congestion on network device 1.
[0107] G2. In response to network congestion, network device 1 sends a first congestion control processing request to network device 2. The first congestion control processing request is used to request network device 2 to perform congestion control processing for the first forwarding path.
[0108] In step G2, after network device 1 determines the first forwarding path that requires congestion control processing, network device 1 can send a first congestion control processing request to network device 2. The first congestion control processing request is used to request network device 2 to perform congestion control processing for the first forwarding path. The first congestion control processing request may carry identification information of the first forwarding path, which includes, but is not limited to: path-ID, tunnel-ID, binding segment identifier (BSID), network slice-ID (or slice-ID), segment routing policy (SRPolicy) identifier, or segment routing IPv6 policy (SRv6 Policy) identifier, etc.
[0109] In one example, network device 2 is the previous hop node of network device 1 on the first forwarding path.
[0110] Optionally, the first congestion control processing request may also carry information instructing network device 2 to perform congestion control processing on the first forwarding path. For example, the first congestion control processing request may also include first deceleration information, which indicates the expected deceleration magnitude of the first forwarding path. As another example, the first congestion control processing request may also include second deceleration information, which indicates the expected deceleration time of the first forwarding path.
[0111] Optionally, when network device 1 is the tail node of the first forwarding path, network device 1 detects network congestion on the link between the port direction and the CE node, and this link is an access (AC) side link. Then, network device 1 determines that the VPN instance bound to this link is the first VPN instance. Furthermore, network device 1 determines that the forwarding path corresponding to the first VPN instance is the first forwarding path. Network device 1 may maintain a first mapping relationship set, which includes mapping relationships between one or more VPN instances and forwarding paths, as shown in Table 1, for example. After determining the first VPN instance, network device 1 determines the forwarding path corresponding to the first VPN instance from the first mapping relationship set, and then uses this forwarding path as the first forwarding path.
[0112] Table 1
[0113]
[0114] Network device 1 can determine network congestion on the AC-side link in several ways. One possible implementation is to determine network congestion based on the link utilization rate of the AC-side link. For example, when the link utilization rate of the AC-side link is greater than 95%, it is considered that network congestion has occurred. Another possible implementation can also consider the duration for which the link utilization rate is greater than 95% to determine whether network congestion has occurred on the AC-side link. For example, if the link utilization rate of the AC-side link is greater than 95% and the duration exceeds 30 seconds, it is considered that network congestion has occurred on the AC-side link.
[0115] Optionally, the first congestion control processing request may also carry the Ethernet Virtual Private Network (VPN) instance identifier.
[0116] It should be noted that since a VPN instance may be bound to multiple forwarding paths, if network congestion occurs on the AC side link corresponding to a VPN instance, network device 1 can select one or more forwarding paths from the multiple forwarding paths bound to that VPN instance as the first forwarding path. For example, the forwarding path with higher bandwidth resource utilization can be selected as the first forwarding path.
[0117] Furthermore, since an AC-side link may be bound to multiple VPN instances, when network congestion occurs on this AC-side link, network device 1 can select one or more VPN instances from these instances as the VPN instances causing the congestion. Then, a first forwarding path is determined based on the forwarding paths bound to these one or more VPN instances. For example, network device 1 can determine the VPN instance causing the congestion based on the packet loss rate of the VPN instance; network device 1 can select a VPN instance with a high packet loss rate as the VPN instance causing the congestion. Optionally, network device 1 can also adjust the forwarding paths bound to the VPN instances bound to the AC-side link sequentially according to the packet loss rate of the VPN instances. For example, network device 1 prioritizes congestion control on the forwarding paths bound to VPN instances with high packet loss rates, and then performs congestion control on the forwarding paths bound to VPN instances with low packet loss rates. Another example is that network device 1 determines the rate reduction magnitude and duration of multiple forwarding paths proportionally based on the traffic of multiple forwarding paths.
[0118] Optionally, the first congestion control processing request may further include the identification information of the previous-hop node of network device 1. This previous-hop node refers to the node preceding network device 1 in the first forwarding path. The identification information of the previous-hop node includes, but is not limited to, the identifier of the local lookback interface or the endpoint SID. Network device 1 uses the identification information of its previous-hop node as the destination address of the first congestion control processing request. Network device 1 looks up the routing table based on the identification information of the previous-hop node, then determines the corresponding outgoing interface and guides the forwarding of the first congestion control processing request according to that outgoing interface. Network device 1 can obtain the identification information of the previous-hop node based on the packets carried in the first forwarding path; for example, the source address of the packet can be used as the identification information of the previous-hop node.
[0119] Optionally, the first congestion control processing request may further include the ingress interface information of the first forwarding path in network device 1. Network device 1 does not need to look up a table; it can directly forward the first congestion control processing request from the ingress interface based on the ingress interface information.
[0120] Optionally, the first congestion control processing request may further include first status information, which instructs network device 2 to perform congestion control processing. For example, the first status information is carried in a field of length 1 bit. When the value of this field is "1", the field carries the first status information.
[0121] The first congestion control processing request in this embodiment of the application has several possible implementations, which will be described below.
[0122] Implementation Method 1:
[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, the payload field of a TCP packet may be used to carry the first congestion control processing request, or the payload field of a UDP packet may be used to carry the first congestion control processing request, or the payload field of an ICMP packet may be used to carry the first congestion control processing request. It is understood that, in the aforementioned TCP, UDP, or ICMP packets, the first congestion control processing request can also be carried using other fields besides the payload field. Furthermore, since the first congestion control processing request may include various types of information, various different fields can be used to carry different types of information related to the first congestion control processing request in the aforementioned TCP, UDP, or ICMP packets; this embodiment of the application does not impose any limitations on this.
[0125] Implementation Method Two:
[0126] The first congestion control processing request is carried in an Internet Protocol (IP) message, or an Internet Protocol Version 6 (IPv6) message.
[0127] For example, the first congestion control processing request is carried in the hop-by-hop options header (HBH) of the IPv6 packet, or in the destination options header (DOH) of the IPv6 packet. Another example is that the first congestion control processing request is carried in the option field of the IP packet.
[0128] Implementation method three:
[0129] The first congestion control processing request is carried in a Layer 2 message within the Open Systems Interconnection (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 Layer 2 message in the OSI model refers specifically to the Data Link Layer message.
[0130] The above technical solution can also be called hop-by-hop backpressure. Through this technical solution, the nodes on the first forwarding path dilute the large traffic carried by the first forwarding path, thereby alleviating network congestion on the first forwarding path.
[0131] G3 and network device 2 perform 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, network device 2 can perform congestion control processing on the first forwarding path. In this embodiment, the congestion control processing performed by network device 2 on the first forwarding path includes, but is not limited to: performing speed reduction processing on the first forwarding path; and / or, using the cache space of network device 2 to cache the data carried by the first forwarding path; and / or, using other forwarding paths to forward the data carried by the first forwarding path; and / or, notifying the sender of the first data stream to perform speed reduction processing on the first data stream, wherein the first data stream is carried on the first forwarding path.
[0133] Specifically, regarding network device 2 forwarding the data carried by the first forwarding path using other forwarding paths, network device 2 distributes the data flow carried by the first forwarding path across multiple forwarding paths using unequal-cost multiple path (UCMP) load balancing. When network device 2 cannot determine the multiple forwarding paths for load balancing, or when the remaining bandwidth resources (also known as available bandwidth resources) of the multiple forwarding paths for load balancing are insufficient to carry the data flow of the first forwarding path, network device 2 continues to notify upstream devices to perform congestion control processing on the first forwarding path. These upstream devices include the upstream node of network device 2 on the first forwarding path, or the sender of the data flow carried by the first forwarding path.
[0134] Specifically, when network device 2 is the head node of the first forwarding path, network device 2 can also notify the sender of the first data stream to perform rate reduction processing on the first data stream, which is carried on the first forwarding path. In one example, the sender and the corresponding receiver can be hosts with communication needs. This host can be implemented in various ways, including but not limited to: computing devices, computing units, cloud devices, virtual machines, or physical machines. 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 sender is the core network, and the receiver is the access network device.
[0137] Furthermore, each network device on the first forwarding path, except for the head node, can act as the aforementioned network device 1 and execute the method steps performed by network device 1. In other words, network device 1 can also receive a second congestion control processing request sent by network device 3. This second congestion control request is used to request network device 1 to perform congestion control processing on the first forwarding path. Accordingly, network device 1 can perform congestion control processing on the first forwarding path based on this second congestion control processing request.
[0138] In one example, if the path between network device 2 and network device 1 is loose, network device 2 may not execute G3. Instead, it can send the first congestion control request to the upstream node on the first forwarding path, which will then perform congestion control processing on the first forwarding path. A loose path refers to a path that specifies only the head and tail nodes, or a path that specifies one or more nodes in addition to the head and tail nodes. The opposite of a loose path is a strict path, which specifies the path for every node traversed.
[0139] After step G3, network device 2 can perform congestion control decongestion on the first forwarding path through various schemes, as follows:
[0140] Option 1:
[0141] G4, Network Device 1 determines the first forwarding path to relieve network congestion.
[0142] In step G4, network device 1 can detect whether its own outgoing port has recovered from network congestion. If it has recovered, it determines that the first forwarding path corresponding to the outgoing port has been unblocked (or recovered from network congestion).
[0143] G5. In response to the first forwarding path being decongested, network device 1 sends a third congestion control processing request to network device 2. The third congestion control processing request is used to request network device 2 to perform decongestion control processing on the first forwarding path.
[0144] In step G5, the third congestion control processing request is similar to the aforementioned first congestion control processing request. The third congestion control processing request is carried in a Transmission Control Protocol (TCP) packet, a User Datagram Protocol (UDP) packet, or an Internet Control Message Protocol (ICMP) packet; or, the third congestion control processing request is carried in an Internet Protocol (IP) packet; or, the third congestion control processing request is carried in a Layer 2 packet of the Open Systems Interconnection (OSI) model. Specifically, the payload field of the TCP packet is used to carry the third congestion control processing request; or, the payload field of the UDP packet is used to carry the third congestion control processing request; or, the payload field of the ICMP packet is used to carry the third congestion control processing request; or, the hop-by-hop option header (HBH) of the IP packet is used to carry the third congestion control processing request; or, the destination option header (DOH) of the IP packet is used to carry the third congestion control processing request; or, the optional field of the IP packet 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 previous hop node of network device 1, ingress interface information of the first forwarding path corresponding to network device 1, path information of the second forwarding path, the nodes traversed by the second forwarding path including nodes that need to perform congestion control decongestion processing on the first forwarding path, or, second status information, the second status information instructing network device 2 to perform congestion control decongestion processing.
[0146] G6, Network Device 2 performs congestion control relief processing on the first forwarding path according to the third congestion control processing request.
[0147] In step G6, network device 2 performs congestion control relief processing on the first forwarding path according to the third congestion control processing request, including increasing the transmission rate of the data stream carried by the first forwarding path. If network device 2 is the head node of the first forwarding path, network device 2 can also notify the sender of the first data stream carried by the first forwarding path to increase the transmission rate of the first data stream.
[0148] In the above technical solution, after network device 1 determines that the first forwarding path has recovered from network congestion, it can notify the upstream device to lift the congestion control processing on the first forwarding path through a third congestion control processing request, thereby improving network throughput. Furthermore, it avoids prematurely lifting the congestion control processing, which could further exacerbate network congestion and improve communication quality.
[0149] Option 2:
[0150] G7. After a period of time, network device 2 releases the congestion control process for the first forwarding path.
[0151] In step G7, after performing congestion control processing on the first forwarding path, network device 2 sets a timer. When the timer expires, network device 2 automatically releases the congestion control processing performed on the first forwarding path. For example, network device 2 gradually increases the transmission rate of the data stream carried by the first forwarding path using a slow-increase method.
[0152] This path-level congestion control method achieves flow control at the forwarding path level through a first congestion control processing request, improving the granularity of congestion control and enabling flow control in wide area network scenarios. It avoids network head-end congestion, deadlock, and congestion propagation problems. This application provides multiple possible implementation schemes for the first congestion control processing request, enhancing the flexibility of the implementation. Furthermore, the first congestion control processing request requests the upstream device of the forwarding path to perform congestion control processing on that forwarding path, rather than stopping the transmission of data for the entire queue, thus effectively preventing network underthrough. Since the forwarding path carries service-related data flows, congestion control of the forwarding path improves the correlation between congestion control and services, effectively enhancing the user experience.
[0153] 2. Congestion control method based on path-based FQ
[0154] For congestion control methods based on path-based FQ, please refer to... Figure 4 , Figure 4 This is a schematic flowchart of an embodiment of the congestion control method in this application. Figure 4 The method shown may include steps G1'-G3'. Optionally, it may also include G4'-G6' or G7'.
[0155] G1', Network device 1 has determined that network congestion has occurred.
[0156] In step G1', in one possible implementation, network device 1 detects network congestion at its local egress port. In one example, the egress port may correspond to at least one subscriber queue (SQ), and one queue may correspond to one forwarding path, including a first forwarding path. In other words, the egress port may correspond to the first forwarding path.
[0157] The first forwarding path can correspond to one SQ, and the SQ under the first forwarding path can correspond to multiple FQs. The flow queue can correspond to the service requirement type. For example, flow queue 1 is used to carry high-latency services, and flow queue 2 is used to carry high-bandwidth services.
[0158] In one example, in a specific implementation, network device 1 can determine that at least one FQ under the first forwarding path is congested. As a concrete example, network device 1 can determine that at least one FQ is congested based on the cache usage of the at least one FQ. For example, when the cache usage of the at least one FQ is greater than or equal to the cache watermark threshold corresponding to the at least one FQ, network congestion is determined to have occurred in the at least one FQ.
[0159] In a specific example, the at least one FQ may include a first FQ. In this scenario, network device 1 can determine that the first FQ is experiencing network congestion when the cache usage of the first FQ is greater than or equal to the cache watermark threshold corresponding to the first FQ.
[0160] In yet another specific example, the at least one FQ may include a third FQ different from the first FQ. In this scenario, network device 1 can determine that the third FQ is experiencing network congestion when the cache usage of the third FQ is greater than or equal to the cache waterline threshold corresponding to the third FQ.
[0161] In another example, the at least one FQ may include all FQs under the first forwarding path. In this scenario, the at least one FQ can also be considered as a SQ under the first forwarding path. In this scenario, network device 1 can determine that the SQ is experiencing network congestion when the cache usage of the SQ is greater than or equal to the cache waterline threshold corresponding to the SQ.
[0162] G2' In response to network congestion, network device 1 sends a first congestion control processing request to network device 2. The first congestion control processing request is used to request network device 2 to perform congestion control processing for the first FQ under the first forwarding path.
[0163] In one example, network device 2 is the previous hop node of network device 1 on the first forwarding path.
[0164] In step G2', after network device 1 determines that a first FQ requiring congestion control processing needs to be performed, network device 1 can send a first congestion control processing request to network device 2. This first congestion control processing request requests network device 2 to perform congestion control processing on the first FQ. The first congestion control processing request may carry identification information of a first forwarding path and identification information of the first FQ. The identification information of the first forwarding path includes, but is not limited to: identification information, tunnel identifier, binding segment identifier, network slice identifier, segment routing policy identifier, or segment routing policy identifier based on the IPv6 forwarding plane, etc. The identification information of the first FQ may be the number of the first FQ or the service class corresponding to the first FQ; this embodiment does not impose specific limitations.
[0165] Optionally, the first congestion control processing request may also carry information instructing network device 2 to perform congestion control processing on the first FQ. For example, the first congestion control processing request may also include first rate reduction information, which indicates the expected rate reduction magnitude of the first FQ. As another example, the first congestion control processing request may also include second rate reduction information, which indicates the expected rate reduction time of the first FQ.
[0166] Optionally, the first congestion control processing request may further include a first performance metric. This first performance metric is the performance metric introduced by performing rate-down processing on at least one FQ under the first forwarding path. In this application, the performance metric includes, but is not limited to, latency and / or jitter.
[0167] In one example, the first performance metric may be the latency and / or jitter introduced by performing congestion control processing on the first FQ. In a specific example, the first performance metric may be the latency and / or jitter introduced by performing speed-down processing on the first FQ based on the aforementioned first speed-down information and / or second speed-down information.
[0168] In another example, before executing step G1', network device 1 may also receive a second congestion control processing request sent by device 3. This second congestion control processing request requests network device 1 to perform congestion control processing on a second FQ under the first forwarding path. Device 3 is a downstream device (e.g., a next-hop device) of network device 1 under the first forwarding path. Device 3 may send the second congestion control processing request to network device 1, for example, if it determines that at least one FQ under the first forwarding path is congested. Accordingly, after receiving the second congestion control processing request, network device 1 may perform congestion control processing on the second FQ, for example, performing speed reduction processing on the second FQ. In one example, network device 1's performance of congestion control processing on the second FQ introduces a certain delay and / or jitter. For ease of description, the delay and / or jitter introduced by performing congestion control processing on the second FQ is referred to as the "third performance metric". In this scenario, the second congestion control processing request includes the aforementioned third performance metric. Accordingly, the first performance metric may be the sum of the second performance metric and the third performance metric. The second performance metric is the latency and / or jitter introduced by performing congestion control processing on the first FQ. In a specific example, the second performance metric mentioned here may be the latency and / or jitter introduced by performing speed-down processing on the first FQ based on the aforementioned first speed-down information and / or second speed-down information.
[0169] Optionally, the first congestion control processing request may further include the identification information of the previous-hop node of network device 1. This previous-hop node refers to the node preceding network device 1 in the first forwarding path. The identification information of the previous-hop node includes, but is not limited to, the identifier of the local loopback interface or the endpoint segment route. Network device 1 uses the identification information of its previous-hop node as the destination address of the first congestion control processing request. Network device 1 looks up the routing table based on the identification information of the previous-hop node, then determines the corresponding outgoing interface and guides the forwarding of the first congestion control processing request according to that outgoing interface. Network device 1 can obtain the identification information of the previous-hop node based on the packets carried in the first forwarding path; for example, the source address of the packet can be used as the identification information of the previous-hop node.
[0170] Optionally, the first congestion control processing request may further include the ingress interface information of the first forwarding path in network device 1. Network device 1 does not need to look up a table; it can directly forward the first congestion control processing request from the ingress interface based on the ingress interface information.
[0171] Optionally, the first congestion control processing request may further include first status information, which instructs network device 2 to perform congestion control processing. For example, the first status information is carried in a field of length 1 bit. When the value of this field is "1", the field carries the first status information.
[0172] Similar to the first congestion control request in path-level congestion control methods, the first congestion control request in path-based FQ congestion control methods can also have multiple possible implementations. In one example, the first congestion control request mentioned here can be carried in a TCP packet, a UDP packet, or an ICMP packet. For example, the payload field of a TCP packet, the payload field of a UDP packet, or the payload field of an ICMP packet can all carry the first congestion control request. It is understood that, in the aforementioned TCP, UDP, or ICMP packets, the first congestion control request can also be carried through other fields besides the payload field. Furthermore, since the first congestion control request may include various information, different fields can be used to carry various information related to the first congestion control request in the aforementioned TCP, UDP, or ICMP packets. This application embodiment does not impose any limitations on 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 here may be carried in the HBH of an IPv6 packet, or in the DOH of an IPv6 packet, or in an optional field of an IP packet.
[0175] In another example, the first congestion control processing request mentioned here could be carried as a Layer 2 message 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. Layer 2 messages in the OSI model also refer to Data Link Layer messages within the OSI model.
[0176] In one possible implementation, when network device 2 is the previous hop node of network device 1 on the first forwarding path: network device 1 sends a first congestion control processing request to network device 2, and after network device 2 performs congestion control processing on the first forwarding path according to the first congestion control processing request, it can discard the first congestion control processing request.
[0177] The above technical solution can also be called hop-by-hop backpressure. Through this technical solution, the nodes on the first forwarding path dilute the large traffic carried by the first forwarding path, thereby alleviating network congestion on the first forwarding path.
[0178] G3' and network device 2 perform congestion control processing on the first FQ according to the first congestion control processing request.
[0179] In step G3', after receiving the first congestion control processing request, network device 2 can perform congestion control processing on the first FQ. In this embodiment, the congestion control processing performed by network device 2 on the first FQ includes, but is not limited to: performing rate reduction processing on the first FQ; and / or, using the cache space of network device 2 to cache the data carried by the first FQ; and / or, using other FQs to forward the data carried by the first FQ; and / or, notifying the sender of the first data stream to perform rate reduction processing on the first data stream, wherein the first data stream is carried on the first FQ.
[0180] Specifically, when network device 2 is the head node of the first forwarding path, network device 2 can also notify the sender of the first data stream to perform rate reduction processing on the first data stream, which is carried on the first FQ. In one example, the sender and the corresponding receiver can be hosts with communication needs. This host can be implemented in various ways, including but not limited to: computing devices, computing units, cloud devices, virtual machines, or physical machines. 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 one example, if there is a loose path between network device 2 and network device 1, network device 2 may not execute G3', but instead send the first congestion control processing request to the upstream node of network device 2 on the first forwarding path, and the upstream node of network device 2 on the first forwarding path will perform congestion control processing on the first FQ.
[0182] In one example, after step G3', network device 2 can perform congestion control decongestion control on the first FQ through various schemes, as follows:
[0183] Option 1:
[0184] G4', Network Device 1 confirms the resolution of network congestion.
[0185] In step G4', network device 1 can determine whether to relieve network congestion based on the cache usage of the aforementioned at least one FQ. For example, if the cache usage of the aforementioned at least one FQ is less than the cache watermark threshold corresponding to the at least one FQ, then network congestion can be relieved.
[0186] G5' In response to relieving network congestion, network device 1 sends a third congestion control processing request to network device 2. The third congestion control processing request is used to request network device 2 to perform congestion relief processing on the first FQ.
[0187] In step G5', the third congestion control processing request is similar to the aforementioned first congestion control processing request. The third congestion control processing request is carried in a TCP packet, UDP packet, or ICMP packet; or, it is carried in an IP packet; or, it is carried in a Layer 2 packet in the OSI model. Specifically, the payload field of the TCP packet is used to carry the third congestion control processing request; or, the payload field of the UDP packet is used to carry the third congestion control processing request; or, the payload field of the ICMP packet is used to carry the third congestion control processing request; or, the hop-by-hop option header (HBH) of the IP packet is used to carry the third congestion control processing request; or, the destination option header (DOH) of the IP packet is used to carry the third congestion control processing request; or, the 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 previous hop node of network device 1, ingress interface information of the first forwarding path corresponding to network device 1, path information of the second forwarding path, the nodes traversed by the second forwarding path including nodes that need to perform congestion control decongestion processing on the first forwarding path, or, second status information, the second status information instructing network device 2 to perform congestion control decongestion processing.
[0189] Specifically, the field carrying the second state information in the third congestion control processing request can be the same field as the field carrying the first state information in the first congestion control processing request. When the value of this field is "1", it carries the first state information; when the value of this field is "0", it carries the second state information.
[0190] G6' and network device 2 perform congestion control release processing on the first FQ according to the third congestion control processing request.
[0191] In step G6', network device 2 performs congestion control relief processing on the first FQ according to the third congestion control processing request, including increasing the transmission rate of the data stream carried by the first FQ. If network device 2 is the head node of the first forwarding path, network device 2 can also notify the sender of the first data stream carried by the first FQ to increase the transmission rate of the first data stream.
[0192] In the above technical solution, after network device 1 determines that the first FQ has cleared network congestion, it can notify the upstream device to clear the congestion control process for the first FQ through a third congestion control processing request, thereby improving network throughput. Furthermore, it avoids prematurely clearing congestion control, which could further exacerbate network congestion and improve communication quality.
[0193] Option 2:
[0194] G7' After a period of time, network device 2 releases the congestion control processing of the first FQ.
[0195] In step G7', after performing congestion control processing on the first FQ, network device 2 sets a timer. When the timer expires, network device 2 automatically releases the congestion control processing performed on the first FQ. For example, network device 2 gradually increases the transmission rate of the data stream carried by the first FQ using a slow-increase method. The duration of this timer can be, for example, the expected rate-reduction time indicated by the second rate-reduction information carried in the aforementioned first congestion control processing request.
[0196] The congestion control method based on FQs (Function Queues) along a forwarding path achieves flow control at the FQ granularity through a first congestion control processing request, improving the fineness of congestion control and enabling flow control in wide area network scenarios. This avoids network head-end congestion, deadlock, and congestion propagation problems. This application provides multiple possible implementation schemes for the first congestion control processing request, improving the flexibility of the implementation. Furthermore, the first congestion control processing request requests the upstream device of the forwarding path to perform congestion control processing on the FQs under that forwarding path, rather than stopping the transmission of data for the entire queue, thus effectively avoiding network underthrough. Since a specific FQ under a forwarding path is used to carry data streams related to a specific type of service for a specific user, congestion control of the FQs under the forwarding path improves the correlation between congestion control and services, effectively enhancing the user experience.
[0197] Furthermore, the solutions provided in this application are not limited to wide area network scenarios, but can also be applied to other scenarios, such as data centers, which will not be listed here.
[0198] In one example, each node on the first forwarding path, except for the head node, can execute the method steps described above performed by network device 1. For example, if network device 2 is an intermediate node on the first forwarding path, such as the previous hop node of network device 1 on the first forwarding path, then network device 2 can also execute the method steps described above performed by network device 1.
[0199] As mentioned earlier, the first congestion control processing request may also include a first performance metric. In one example, considering that the number of nodes traversed by the first forwarding path may be large, for example, the first forwarding path is the path between customer-premises equipment (CPE) 1 and CPE 2, where CPE 1 connects to metropolitan area network 1 and CPE 2 connects to metropolitan area network 2, and a backbone network is included between metropolitan area network 1 and metropolitan area network 2. Therefore, the first forwarding path includes devices in three networks: metropolitan area network 1, the backbone network, and metropolitan area network 2. If multiple nodes execute the aforementioned method steps performed by network device 1, the execution of these steps by each device introduces a certain latency and jitter, resulting in a large usage and / or jitter of the entire first forwarding path, failing to meet business requirements. Therefore, in one example, at least one device on the first forwarding path (e.g., each device) can maintain an upper limit for the performance metric corresponding to the first forwarding path, which includes a latency upper limit and / or a jitter upper limit. In this scenario:
[0200] After receiving the first congestion control processing request, network device 2 can determine whether the first performance metric is greater than or equal to the upper limit of the performance metric. For example, it can determine whether the latency in the first performance metric is greater than or equal to the upper limit of latency, and / or whether the jitter in the first performance metric is greater than or equal to the upper limit of jitter. If the latency in the first performance metric is greater than or equal to the upper limit of latency, and / or the jitter in the first performance metric is greater than or equal to the upper limit of jitter, then it is determined that the first performance metric is greater than or equal to the upper limit of the performance metric. 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 can perform corresponding congestion control processing measures. For example, the head node can trigger adaptive routing to adjust some of the traffic corresponding to the first FQ to other adaptive routing paths, thereby alleviating 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 called "one-hop backpressure".
[0201] In one example, if the first performance metric is greater than or equal to the upper limit of the performance metric, network device 2 can also use a multi-hop backpressure approach to send the first congestion control processing request to the head node of the first forwarding path. In a specific example, network device 2 can forward the first congestion control processing request to the previous hop node on the first forwarding path. Correspondingly, the previous hop node on the first forwarding path also passes the first congestion control processing request to its own previous hop node 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 the performance metric. Accordingly, for a node that receives the first congestion control processing request, it can compare the first performance metric carried in the first congestion control processing request with the upper limit of the performance metric. If it determines that the upper limit of the first performance metric is greater than or equal to the aforementioned upper limit of the performance metric, it can pass the first congestion control processing request to its previous hop node on the first forwarding path.
[0203] As another example, the first congestion control processing request may include indication information. This indication information instructs the device receiving the first congestion control processing request to forward it to its upstream node 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 and the upper limit of the performance metric value carried in the first congestion control processing request; it can directly forward the first congestion control processing request to its upstream node on the first forwarding path based on the indication information. In a specific example, network device 2 may 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 the performance metric value, and then further forward the first congestion control processing request with the added indication information to the upstream node on the first forwarding path.
[0204] As mentioned earlier, each node on the first forwarding path can maintain the aforementioned performance metric upper limit. In one example, the performance metric upper limit can be issued by the controller to each node on the first forwarding path. Accordingly, each node on the first forwarding path can receive and save the performance metric upper limit issued by the controller.
[0205] In addition, each FQ under the first forwarding path can also be created by the controller. Specifically, each FQ can be an elastic FQ or a rigid FQ. An elastic FQ means that the cache resources allocated to it can be dynamically adjusted, or that it is allocated the upper limit of the cache it can occupy. The cache resources it occupies can support the dynamic adjustment of the FQ. A rigid FQ can also be understood as a non-elastic FQ, in which the cache resources allocated to it are a fixed value.
[0206] The controller can configure cached resources for at least one Free Queued Query (FQ) (e.g., a Resilient FQ) and configure corresponding cache waterline thresholds for some or all of the FQs within that FQ. Alternatively, the controller can cache resources separately for the entire Single Queued Query (SQ) and configure the corresponding cache waterline threshold for the entire SQ.
[0207] Currently, the aforementioned path-level congestion control method and path-based FQ congestion control method require each network device on the first forwarding path to have congestion control processing capabilities. In this way, when network device 1 on the first forwarding path determines that congestion has occurred, it can send a first congestion control processing request to its upstream node, so that the upstream node can execute the corresponding congestion control processing measures.
[0208] In this context, "network device possessing congestion control processing capability" refers to the network device's ability to perform congestion control processing on its own outgoing ports. Specifically, congestion control capability can include congestion control processing capability for forwarding paths, or congestion control processing capability for FQ (Free Request) within a forwarding path. As a concrete example, a network device (e.g., the first network device) possessing congestion control processing capability can include two aspects.
[0209] Regarding congestion control processing capabilities for forwarding paths, one aspect is: when the first network device determines that network congestion has occurred, it sends a first congestion control processing request to the upstream network device of the first forwarding path, requesting the upstream network device to perform congestion control processing on the first forwarding path. Another aspect is: when the first network device receives a second congestion control processing request sent by the first network device to the downstream network device of the first forwarding path, it performs congestion control processing on the first forwarding path.
[0210] Regarding congestion control processing capabilities for FQs (Free Queues) along a forwarding path, one aspect is: when the first network device determines that network congestion has occurred, it sends a first congestion control processing request to an upstream network device along the first forwarding path, requesting the upstream network device to perform congestion control processing on the FQs along the first forwarding path. Another aspect is: when the first network device receives a second congestion control processing request from a downstream network device along the first forwarding path, it performs congestion control processing on the FQs along the first forwarding path.
[0211] Regarding the two aspects mentioned above, please refer to the descriptions of "path-based congestion control methods" and "path-based FQ congestion control methods" in the previous text, which will not be repeated here.
[0212] However, requiring every network device on the first forwarding path to have congestion control capabilities presents certain difficulties in practical network deployments. For example, the network may include network devices from different vendors, some of which may not support congestion control. In this scenario, how to apply the aforementioned "path-level congestion control method" and "path-based FQ congestion control method" to execute the corresponding congestion control methods in a wide area network (WAN) environment remains an unresolved issue.
[0213] In view of this, embodiments of this application provide an information processing method and apparatus that enable the execution of corresponding congestion control methods in wide area network scenarios, even when only some network devices have congestion control processing capabilities.
[0214] Next, the solutions provided by the embodiments of this application will be described in conjunction with the accompanying drawings.
[0215] See Figure 5 The figure is a flowchart illustrating an information processing method provided in an embodiment of this application. Figure 5 The method shown includes the following steps S101-S104. In one example, the first network device may correspond to any one of the network devices in the aforementioned first forwarding path, for example, to the aforementioned network device 1.
[0216] S101: The first network device generates a first message, which includes first indication information. The first indication information indicates that the first network device has congestion control processing capability. The first network device having congestion control processing capability includes: the ability of the first network device to perform congestion control processing on the output port of the first network device.
[0217] Regarding the congestion control processing capabilities, please refer to the relevant description above, which will not be repeated here.
[0218] In one example, the first message can be carried by either the Border Gateway Protocol Link State (BGP LS) or the Path Computation Element Communication Protocol Link State (PCEP LS).
[0219] In this application, the congestion control processing capability can be a network device-level capability or a port-level capability. Specifically, when the congestion control processing capability is a network device-level capability, it instructs the network device to perform congestion control processing on each of its own egress ports. When the congestion control processing capability is a port-level capability, it instructs the network device to perform congestion control processing on a specific egress port of itself.
[0220] If the congestion control processing capability is a capability at the network device granularity, then:
[0221] In one example, the aforementioned first message may be a first BGP LS message, which includes node attributes. These node attributes include the aforementioned first indication information. As a specific example, the node attribute may be represented as a first type length value (TLV), which carries the first indication information. In some scenarios, the first TLV may also be referred to as a node attribute TLV. In one example, the structure of the first TLV can be referenced... Figure 6a As shown, Figure 6a This is a schematic diagram of a first TLV provided in an embodiment of this application. Figure 6a As shown, the first TLV includes a type field, a length field, a flags field, and a reserved field. In one example, the type field of the first TLV can be used to indicate that the first TLV carries the first indication information; in this case, both the flags field and the reserved field are 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 congestion control processing capability, and the flags field indicates whether the congestion control processing capability is available. For example, when the value of the flags field is 1, it indicates that the congestion control processing capability is available; when the value of the flags field is 0, it indicates that the congestion control processing capability is not available.
[0222] In another example, the aforementioned first message could be a first PCEP LS message, which includes a node attribute TLV, and the node attribute TLV includes the aforementioned first indication information. As a specific example, the node attribute TLV may include a first sub-TLV, which includes the first indication information. The structure of the first sub-TLV can also be... Figure 6a The structure is shown. 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. In this case, both the flag field and the reservation field of the first sub-TLV are reserved. In 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 congestion control processing capability, and the flag field indicates whether the congestion control processing capability is available. For example, when the value of the flag field is 1, it indicates that the congestion control processing capability is available, and when the value of the flag field is 0, it indicates that the congestion control processing capability is not available.
[0223] If the congestion control processing capability is a port-level capability, then:
[0224] In one example, the aforementioned first message could be a second BGP LS message, which includes a link attribute corresponding to a first link including a first port, wherein the first port belongs to the first network device. In this case, the link attribute includes the aforementioned first indication information, and correspondingly, the first network device has congestion control processing capability, which could 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 represented as a second TLV, which carries the first indication information. In some scenarios, the second TLV can also be called a link attribute TLV. In one example, the structure of the second TLV can be the same as that of the aforementioned first TLV. That is, the second TLV includes a type field, a length field, a flag field, and a reservation 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. In this case, both the flag field and the reservation field are reserved. In 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 congestion control processing capability, and the flag field indicates whether the congestion control processing capability is available. For example, when the value of the flag field is 1, it indicates that the congestion control processing capability is available; when the value of the flag field is 0, it indicates that the congestion control processing capability is not available.
[0226] In another example, the aforementioned first message could be a second PCEP LS message, which includes a Link Attribute (TLV) corresponding to a first link including a first port. The first port belongs to the first network device. In this case, the TLV includes the aforementioned first indication information, and correspondingly, the first network device possesses congestion control processing capabilities, which could be the ability of the first network device to perform congestion control processing on the first port.
[0227] In one example, the link attribute TLV may include a second sub-TLV, which includes the first indication information. The structure of the second sub-TLV may also be... Figure 6a The structure is shown. 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. In this case, both the flag field and the reservation field of the second sub-TLV are 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 congestion control processing capability, and the flag field indicates whether the congestion control processing capability is available. For example, when the value of the flag field is 1, it indicates that the congestion control processing capability is available, and when the value of the flag field is 0, it indicates that the congestion control processing capability is not available.
[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 stores the congestion control processing capability information of the first network device, which indicates that the first network device has the congestion control processing capability.
[0231] After generating the first message, the first network device can send the first message to the controller to announce its congestion control processing capability. Correspondingly, the controller can receive the first message sent by the first network device. After receiving the first message, the controller can parse it to determine that the first network device possesses congestion control processing capability. Furthermore, the controller can store the congestion control processing capability information of the first network device.
[0232] As described above, in one example, the first network device can advertise its congestion control capabilities to the controller via 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 capabilities to the controller via PCEP LS. In this scenario, the first network device also needs to establish a PCEP LS neighbor relationship with the controller.
[0233] In one example, if the second network device and the controller do not have a BGP LS neighbor relationship or a PCEPLS neighbor relationship, the second network device cannot directly advertise its congestion control processing capability to the controller via BGP LS or PCEP LS. In this case, if the first and second network devices 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. As a specific example, the ISIS message includes a Router Capability TLV, which carries third indication information indicating that the second network device possesses the congestion control processing capability. In one example, the Router Capability TLV may include a third sub-TLV, which carries the third indication information. As another specific example, the ISIS message includes an Extended Intermediate System Reachability TLV, which carries third indication information indicating that the second network device possesses the congestion control processing capability. In one example, the Extended Intermediate System Reachability TLV may include a fourth sub-TLV, which carries the third indication information.
[0234] The structures of the third and fourth sub-TLVs can be referenced. Figure 6b To understand, Figure 6b This is a schematic diagram of the structure of a sub-TLV provided in an embodiment of this application. Figure 6bThe sub-TLV shown 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; in 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 congestion control processing capability, and the flag field indicates whether the congestion control processing capability is available. For example, when the value of the flag field is 1, it indicates that the congestion control processing capability is available; when the value of the flag field is 0, it indicates that the congestion control processing capability is not available.
[0235] The second network device possesses congestion control processing capabilities, including the ability to perform congestion control processing on its output ports. Regarding the second network device's congestion control processing capabilities, please refer to the preceding description of the first network device's congestion control processing capabilities; this description will not be repeated here.
[0236] Accordingly, after receiving the ISIS message, the first network device can determine that the second network device possesses congestion control processing capabilities. Further, the first network device can notify the controller of the second network device's congestion control processing capabilities via BGP LS or PCEP LS. Specifically, the first network device can generate a second message, which includes second indication information indicating that the second network device possesses the congestion control processing capabilities. After generating the second message, the first network device can send it to the controller. Correspondingly, after receiving the second message, the controller can parse it to determine that the second network device possesses congestion control processing capabilities. Further, the controller can store the congestion control processing capability information of the second network device.
[0237] Regarding the carrying position of the second message and the second indication information in the second message, please refer to the description of the carrying position of the first message and the first indication information in the first message above, which will not be repeated here.
[0238] In one example, when planning a transmission path for a service, the controller can combine its stored information on the congestion control processing capabilities of network devices. As a specific example, the controller can obtain path calculation requirements and congestion control processing capability information of at least one network device, including the first network device. In some examples, the at least one network device may also include the second network device. The path calculation requirements mentioned herein include, for example, the service's quality of service requirements, which include, but are not limited to, bandwidth, latency, and jitter. The bandwidth mentioned herein may include, for example, elastic bandwidth and rigid bandwidth. After obtaining the path calculation requirements and the congestion control processing capability information of at least one network device, the controller can calculate a second forwarding path based on the path calculation requirements and the congestion control processing capability information of at least one network device, prioritizing network devices with the congestion control processing capabilities. The second forwarding path includes the first network device. In other words, in this application, when planning transmission paths for services, the controller can prioritize paths with network devices that have greater congestion control processing capabilities. This ensures that as many network devices as possible on the determined second forwarding path can execute path-level congestion control methods or path-based FQ congestion control methods, thereby guaranteeing the quality of service provided to the services. For example:
[0239] Based on the path calculation requirements, the controller calculates two paths that meet these requirements: path 1 and path 2. Path 1 includes three network devices with congestion control capabilities, while path 2 includes two network devices with congestion control capabilities. Alternatively, path 1 includes three outgoing ports with congestion control capabilities, while path 2 includes two outgoing ports with congestion control capabilities. The controller then designates path 1 as the second forwarding path.
[0240] Regarding the second forwarding path mentioned here and the first forwarding path mentioned above, it should be noted that the first forwarding path is a general concept, which can refer to any path where the network device (e.g., network device 1) is located. The second forwarding path, on the other hand, is a specific forwarding path calculated based on path calculation requirements and the congestion control processing capacity information of at least one of the aforementioned network devices.
[0241] In one example, after calculating the second forwarding path, the controller can send information about the second forwarding path to the network devices along that path. For instance, for the first network device, the controller can send the identifier information of the second forwarding path, the ingress port information of the first network device belonging to the second forwarding path, and the egress port information.
[0242] In one example, as described above, a network device with congestion control processing capabilities can send a congestion control processing request to its upstream node on the forwarding path when it determines that network congestion has occurred. This request requests the upstream node to perform congestion control processing on the forwarding path or the FQ (Free Qualifier) within the forwarding path. However, in this application, since some network devices in the second forwarding path may not possess the aforementioned congestion control processing capability—for example, if the upstream node of the first network device on the second forwarding path does not possess this capability—when the first network device sends a congestion control processing request to that upstream node, the upstream node cannot execute the corresponding congestion control processing measures.
[0243] In view of this, in one example, the controller can also calculate a backpressure path for the second forwarding path based on the congestion control processing capability information of the network devices on the second forwarding path. This backpressure path is used to transmit the aforementioned congestion control processing request. Furthermore, when calculating the backpressure path, the controller can calculate the backpressure path for the second forwarding path according to the principle that "the backpressure path includes network devices in the second forwarding path that have the congestion control processing capability, but does not include network devices in the first path that do not have the congestion control processing capability." Thus, the calculated backpressure path includes network devices in the second forwarding path that have the congestion control processing capability, but does not include network devices in the first path that do not have the congestion control processing capability.
[0244] After calculating the backpressure path, the controller can send the backpressure path entry information to the network devices in the backpressure path. Correspondingly, the network devices in the backpressure path can receive and save the entry information sent by the controller. The backpressure path entry information may include, for example, the identification information of the second forwarding path and the identification information of the next-hop network device. For example, if the backpressure path is network devices ABCD, the entry information sent to network device A may include the identification information of the second forwarding path and the identification information of network device B (i.e., the next-hop network device). The identification information of the next-hop network device may, for example, be the loopback address of the next-hop network device.
[0245] In this way, network devices on the backpressure path can send a congestion control processing request to their next-hop network device on the backpressure path based on the aforementioned table information when network congestion is detected. Since all network devices on the backpressure path have congestion control processing capabilities, the network device that receives the congestion control processing request on the backpressure path can process the corresponding congestion control processing measures based on the congestion control processing request, thereby avoiding or reducing network congestion.
[0246] In one example, assume the second forwarding path includes: third network device - fourth network device - first network device, where the fourth network device is the upstream network device of the first network device on the second forwarding path, and the third network device is the upstream network device of the fourth network device on the second forwarding path. If the third network device has congestion control processing capabilities, and the fourth network device does not, then the backpressure path may include: first network device - third network device. Accordingly, when the first network device determines that congestion has occurred, it can generate a third congestion control processing request. The third congestion control request is used by the third network device to perform congestion control processing on the second forwarding path or the 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 information, so that the third network device can perform congestion control processing on the second forwarding path or the FQ under the second forwarding path based on the third congestion control processing request.
[0247] Regarding the third congestion control processing request, please refer to the description of the first congestion control processing request above; it will not be repeated here. Similarly, regarding the third network device performing congestion control processing, please refer to the description of step G3 or step G3' above; it will not be repeated here.
[0248] The second forwarding path and the backpressure path will now be explained in conjunction with specific scenarios.
[0249] refer to Figure 7a , Figure 7a This is a schematic diagram illustrating an exemplary application scenario provided by an embodiment of this application. For example... Figure 7a As shown, the controller dynamically calculates the path based on path calculation requirements and the congestion control processing capacity information of network devices, creating a resilient tunnel path from source node A to destination node D. Here, the resilient tunnel path refers to a forwarding path implemented through resilient network slicing. Resilient network slicing refers to a network slice whose resource usage is allowed to change on demand (e.g., the bandwidth value can be changed from a first bandwidth value to a second bandwidth value). The resilient tunnel path mentioned here corresponds to the second forwarding path mentioned earlier.
[0250] exist Figure 7aIn this context, the flexible tunnel path is an explicit path using a strict label stack.<A,B,C,D> Nodes A, B, and C possess congestion control capabilities. When calculating the backpressure path, the controller obtains the backpressure path C→B→A. Accordingly, when node C determines that congestion has occurred, it sends a congestion control request to node B, and node B performs congestion control processing based on the received request. Similarly, when node B determines that congestion has occurred, it sends a congestion control request to node A, and node A performs congestion control processing based on the received request.
[0251] refer to Figure 7b , Figure 7b This is a schematic diagram illustrating yet another exemplary application scenario provided by an embodiment of this application. For example... Figure 7b As shown, the controller dynamically calculates the path based on path calculation requirements and the congestion control processing capacity information of network devices, creating a resilient tunnel path from source node A to destination node D.
[0252] exist Figure 7b In this context, the flexible tunnel path is an explicit path using a strict label stack.<A,B,C,D> Nodes A and C have congestion control processing capabilities, while node B does not. When the controller calculates the backpressure path, it obtains the backpressure path C→A. Accordingly, when node C determines that congestion has occurred, it sends a congestion control processing request to node A. Node A then performs congestion control processing based on the received congestion control processing request.
[0253] refer to Figure 7c , Figure 7c This is a schematic diagram illustrating yet another exemplary application scenario provided by an embodiment of this application. For example... Figure 7c As shown, the controller dynamically calculates the path based on path calculation requirements and the congestion control processing capacity information of network devices, creating a resilient tunnel path from source node A to destination node H.
[0254] exist Figure 7c In the middle, the flexible tunnel path adopts a loose path.<A,B,G,H> Nodes A, B, and G possess congestion control capabilities. When calculating the backpressure path, the controller obtains the backpressure path G→B→A. Accordingly, when node G determines that congestion has occurred, it sends a congestion control request to node B. Since the path between node B and node G is loose and lacks a flexible slice dedicated line, node B continues to forward the congestion control request to node A. Node A then performs congestion control processing based on the received request.
[0255] refer to Figure 7d , Figure 7d This is a schematic diagram illustrating yet another exemplary application scenario provided by an embodiment of this application. For example... Figure 7d As shown, the controller dynamically calculates the path based on path calculation requirements and the congestion control processing capacity information of network devices, creating a resilient tunnel path from source node A to destination node H.
[0256] exist Figure 7d In the middle, the flexible tunnel path adopts a loose path.<A,B,G,H> Nodes A and G have congestion control processing capabilities, while node B does not. When the controller calculates the backpressure path, it obtains the backpressure path G→A. Accordingly, when node G determines that congestion has occurred, it sends a congestion control processing request to node A. Node A then performs congestion control processing based on the received congestion control processing request.
[0257] As described above, using the solution provided in this application embodiment, a network device (e.g., a first network device) can notify the controller that it possesses congestion control processing capabilities. Correspondingly, the controller can store the network device's congestion control processing capability information to facilitate subsequent execution of corresponding processing measures based on this information. For example, the controller can calculate a second forwarding path for services according to the principle of prioritizing network devices with congestion control processing capabilities. Furthermore, a backpressure path can be calculated for the second forwarding path based on the network device's congestion control processing capability information, thereby enabling the corresponding congestion control method to be executed in a wide area network scenario even when only some network devices possess congestion control processing capabilities.
[0258] See Figure 8 The figure is a schematic diagram of the structure of an information processing device provided in an embodiment of this application. Figure 8 The information processing device 800 shown can be applied to a controller to execute the method steps provided by the controller in the above method embodiments.
[0259] like Figure 8 The device 800 includes a receiving unit 801 and a processing unit 802.
[0260] The receiving unit 801 is configured to receive a first message sent by the first network device. The first message includes first indication information, which indicates that the first network device has congestion control processing capability. The first network device having congestion control processing capability includes the ability of the first network device to perform congestion control processing on the output port of the first network device.
[0261] The processing unit 802 is used to store the congestion control processing capability information of the first network device, wherein 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 one possible implementation, the congestion control processing capability includes: congestion control processing capability for forwarding paths, or congestion control processing capability for flow queues (FQs) under a forwarding path.
[0263] In one possible implementation, the first network device has congestion control processing capability, including: when the first network device determines that network congestion has occurred, sending a first congestion control processing request to an upstream network device in a first forwarding path, requesting the upstream network device to perform congestion control processing on the first forwarding path or the 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 in the first forwarding path, performing congestion control processing on the first forwarding path or the FQ under the first forwarding path.
[0264] In one possible implementation, the first message includes: a first border gateway protocol link state BGP-LS message, the first BGP-LS message including a node attribute, the node attribute including the first indication information.
[0265] In one possible implementation, the first message includes: a first path calculation unit communication protocol link state (PCEP LS) message, the first PCEP LS message including a node attribute type length value (Node Attribute TLV), the Node Attribute TLV including a first sub-TLV, and the first sub-TLV including the first indication information.
[0266] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on each outgoing port of the first network device.
[0267] In one possible implementation, the first message includes: a second BGP-LS message, the second BGP-LS message including a link attribute, the link attribute including the first indication information, the link attribute corresponding to a first link including a first port, the first port belonging to the first network device.
[0268] In one possible implementation, the first message includes: a second PCEPLS message, the second PCEPLS 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, the Link Attribute TLV corresponding to a first link including a first port, the first port belonging to the first network device.
[0269] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on the first port.
[0270] In one 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, the second indication information indicating that the second network device has the congestion control processing capability, the second network device having the congestion control processing capability including: the ability of the second network device to perform congestion control processing on the output port of the second network device; the processing unit 802 is further configured to store the 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 one possible implementation, the processing unit 802 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 including the first network device; and calculate a second forwarding path based on the path calculation requirements and the congestion control processing capability information of at least one network device, according to the principle of prioritizing network devices with the congestion control processing capability, the second forwarding path including the first network device.
[0272] In one possible implementation, the processing unit 802 is further configured to: calculate a backpressure path for the second forwarding path based on the congestion control processing capability information of the network devices on the second forwarding path, wherein the backpressure path includes network devices in the second forwarding path that have the congestion control processing capability, but does not include network devices in the first path that do not have the congestion control processing capability, and the backpressure path is used to transmit a congestion control processing request for requesting to perform congestion control processing;
[0273] The device further includes a sending unit for sending table entry information of the backpressure path to network devices in the backpressure path.
[0274] See Figure 9The figure is a schematic diagram of the structure of another information processing device provided in the embodiment of this application. Figure 9 The information processing device 900 shown can be applied to a first network device to execute the method steps provided in the above method embodiments by the first network device.
[0275] like Figure 9 The device 900 includes a processing unit 901 and a sending unit 902.
[0276] Processing unit 901 is configured to generate a first message, the first message including first indication information, the first indication information indicating that the first network device has congestion control processing capability, the first network device having congestion control processing capability including: the ability of the first network device to perform congestion control processing on the output port of the first network device.
[0277] The sending unit 902 is used to send the first message to the controller.
[0278] In one possible implementation, the congestion control processing capability includes: congestion control processing capability for forwarding paths, or congestion control processing capability for flow queues (FQs) under a forwarding path.
[0279] In one possible implementation, the first network device has congestion control processing capability, including: when the first network device determines that network congestion has occurred, sending a first congestion control processing request to an upstream network device in a first forwarding path, requesting the upstream network device to perform congestion control processing on the first forwarding path or the 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 in the first forwarding path, performing congestion control processing on the first forwarding path or the FQ under the first forwarding path.
[0280] In one possible implementation, the first message includes: a first border gateway protocol link state BGP-LS message, the first BGP-LS message including a node attribute, the node attribute including the first indication information.
[0281] In one possible implementation, the first message includes: a first path calculation unit communication protocol link state (PCEP LS) message, the first PCEP LS message including a node attribute type length value (Node Attribute TLV), the Node Attribute TLV including a first sub-TLV, and the first sub-TLV including the first indication information.
[0282] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on each outgoing port of the first network device.
[0283] In one possible implementation, the first message includes: a second BGP-LS message, the second BGP-LS message including a link attribute, the link attribute including the first indication information, the link attribute corresponding to a first link including a first port, the first port belonging to the first network device.
[0284] In one possible implementation, the first message includes: a second PCEPLS message, the second PCEPLS 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, the Link Attribute TLV corresponding to a first link including a first port, the first port belonging to the first network device.
[0285] In one possible implementation, the first network device has congestion control processing capability, including: the ability of the first network device to perform congestion control processing on the first port.
[0286] In one possible implementation, the sending unit 902 is further configured to: send a second message to the controller, the second message including second indication information, the second indication information indicating that the second network device has the congestion control processing capability, the second network device having the congestion control processing capability including: the ability of the second network device to perform congestion control processing on the output port of the second network device.
[0287] In one 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, the ISIS message including a RouterCapability TLV, the RouterCapability TLV including a third sub-TLV, the third sub-TLV including third indication information, the third indication information indicating that the second network device has the congestion control processing capability; or, the ISIS message including an Extended IS reachability TLV, the Extended IS reachability TLV including a fourth sub-TLV, the fourth sub-TLV including the third indication information.
[0288] In one possible implementation, the receiving unit of the apparatus is further configured to: receive table entry information sent by the controller, the table entry information being table entry information for a backpressure path of a second forwarding path, the backpressure path being used to transmit a congestion control processing request for requesting the execution of congestion control processing.
[0289] In one possible implementation, the processing unit 901 is further configured to determine that congestion has occurred; generate a third congestion control processing request, the third congestion control request being used by a third network device to perform congestion control processing on the second forwarding path or the FQ under the second forwarding path; the sending unit 902 is further configured to send the third congestion control processing request to the third network device according to the table entry information, wherein the fourth network device is the upstream network device of the first network device on the second forwarding path, the third network device is the 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 details on the specific implementation of each unit of the devices 800 and 900, please refer to the relevant descriptions in the above method embodiments; they will not be repeated here.
[0291] Please see Figure 10 As shown, Figure 10 This is a schematic diagram of the structure of a device provided in an embodiment of this application. Figure 10 The device 1000 shown includes a processor 1010, a communication interface 1020, and a memory 1030. The number of processors 1010 in the device 1000 can be one or more. Figure 10Taking a processor as an example. In this embodiment, the processor 1010, communication interface 1020, and memory 1030 can be connected via a bus system or other means, wherein, Figure 10 Taking the connection between China and Israel via the 1040 bus system as an example.
[0292] Processor 1010 may be a CPU, NP, or a combination of CPU and NP. Processor 1010 may further include hardware chips. The aforementioned hardware chips may be ASICs, programmable logic devices (PLDs), or combinations thereof. The aforementioned PLDs may be complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), generic array logic (GALs), or any combination thereof.
[0293] The memory 1030 may include volatile memory, such as random-access memory (RAM); the memory 1030 may also include non-volatile memory, such as flash memory, hard disk drive (HDD), or solid-state drive (SSD); the memory 1030 may also include combinations of the above types of memory. For example, the memory 1030 may store congestion control processing capability information of the aforementioned first network device.
[0294] Optionally, the memory 1030 stores an operating system and programs, executable modules, or data structures, or subsets thereof, or extended sets thereof. The programs may include various operation instructions for implementing various operations. The operating system may include various system programs for implementing various basic services and processing hardware-based tasks. The processor 1010 can read the programs from the memory 1030 to implement the methods provided in the embodiments of this application, for example, implementing... Figure 5 The steps performed by the first network device or controller.
[0295] The bus system 1040 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus system 1040 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 10 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0296] This application provides a computer-readable storage medium, including instructions or a computer program, which, when run on a computer, causes the computer to perform the methods described in the above-described method embodiments. For example, causing the computer to execute... Figure 5 The steps performed by the first network device or controller.
[0297] This application provides a computer program product containing instructions or a computer program, which, when run on a computer, causes the computer to perform the methods described in the above-described method embodiments. For example, it causes the computer to execute... Figure 5 The steps performed by the first network device or controller.
[0298] This application also provides a communication system, which can include the functions described above. Figure 5 The method shown includes a first network device and a controller.
[0299] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0300] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0301] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical business division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.
[0302] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0303] Furthermore, the various business units in the embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software business unit.
[0304] If the integrated unit is implemented as a software business 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 solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0305] Those skilled in the art will recognize that, in one or more of the examples above, the services described in this invention can be implemented using 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 code on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transmission of computer programs from one place to another. Storage media can be any available medium accessible to general-purpose or special-purpose computers.
[0306] The above specific embodiments further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above are merely specific embodiments of the present invention.
[0307] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this 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 type length value (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 by, 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 execution of 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, comprising 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 storing 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.