A congestion control method and related equipment

By integrating and carrying congestion information in network equipment, the problem of fuzzy or complex congestion information in the prior art is solved, and accurate perception of link congestion conditions and efficient data transmission are achieved.

CN116260773BActive Publication Date: 2025-03-14SHENZHEN HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD

Patent Information

Application Number
CN202310207359.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-24
Publication Date
2025-03-14
Estimated Expiration
2043-02-24

AI Technical Summary

Technical Problem

In the existing congestion control scheme, the congestion information is too fuzzy or complex, making it difficult for the transmitting device to accurately sense the congestion of the transmission link, consumes a large amount of processing resources and brings additional bandwidth overhead.

Method used

The network device integrates the congestion information during the forwarding process, and uses the Differential Service Code Point (DSCP) field to carry the integrated congestion information, so that the sending device can more accurately sense the link congestion situation.

Benefits of technology

It realizes an accurate reflection of the quality of the transmission link, reduces bandwidth overhead and processing resource consumption, and improves the high-performance forwarding capability of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116260773B_ABST
    Figure CN116260773B_ABST
Patent Text Reader

Abstract

The present application discloses a congestion control method and related equipment, which are applied in the field of communication technology. The method includes: a transmitting device sends a first message, and a network device on the transmission link integrates the congestion situation experienced by the first message to obtain second congestion information, and carries the second congestion information in the first message. The network device forwards the first message to the receiving device, and after the receiving device receives the first message, it feeds back the second congestion information carried in the first message to the transmitting device, and the transmitting device adjusts the data flow transmission strategy based on the second congestion information. In the present application, the network device integrates the congestion situation, compresses the bandwidth occupied by the congestion information, and greatly saves the computing resources of the transmitting device. In addition, the integrated second congestion information can reflect the quality of different transmission links, thereby assisting the transmitting device in selecting a transmission path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a congestion control method and related equipment. Background Art

[0002] The rapid growth of data center network user demands has put forward higher performance requirements for data transmission, such as high throughput and low latency. In order to achieve high-performance data forwarding, the sending device needs to promptly perceive the congestion of the transmission link and make corresponding adjustments.

[0003] Data Center Quantized Congestion Notification (DCQCN) is a congestion control solution that is currently widely used. In the DCQCN solution, network devices determine whether there is congestion when forwarding messages. If there is congestion, the message is marked with an explicit congestion notification (ECN). When the receiving device receives a message marked with an ECN, it replies with a congestion notification packet (CNP) to the sending device. After receiving the CNP message, the sending device reduces the transmission rate of the data stream.

[0004] In addition to DCQCN, a more proactive congestion control scheme has been proposed. In this scheme, each network device that the message passes through will add telemetry information to the message. The telemetry information includes link bandwidth, cache occupancy of the network device, the message sending rate, total subscription bandwidth and total sending window size. After receiving the message, the receiving device feeds back the telemetry information carried in the message to the sending device of the message. The sending device calculates the information and decides whether to change the path and adjust the sending rate of the data stream.

[0005] In the DCQCN scheme, the congestion information represented by the ECN mark is too vague and single. For example, a message is forwarded by multi-hop network devices, and three of the hops encounter congestion and queuing. However, after receiving the message with the ECN mark, the receiving device can only know that congestion has occurred in the transmission process, but cannot know specifically how many hops are congested. In another scheme, the message carries too complex information, and the sending device needs to consume a lot of processing resources when performing calculations, and it will bring additional bandwidth overhead. Summary of the invention

[0006] The present application provides a congestion control method and related equipment, which can be used by network equipment to integrate congestion information during message forwarding.

[0007] A first aspect of the present application provides a congestion control method, the method comprising: a network device receives a first message from a sending end device; the network device determines a congestion situation of forwarding the first message in a local hop; the network device integrates first congestion information carried by the first message according to the congestion situation of forwarding the first message in the local hop to obtain second congestion information, wherein the first congestion information indicates a congestion situation of the first message sent from the sending end device to the network device; the network device adds the second congestion information to the first message to obtain a second message; and the network device forwards the second message to a receiving end device, so that the receiving end device sends the second congestion information to the sending end device.

[0008] The first congestion information does not include the congestion situation of the first message when it is forwarded by the network device, but the congestion situation of each hop device between the sending end device and the network device.

[0009] In the first aspect of the present application, the network device can integrate the congestion information of the first message during the forwarding process, compressing the bandwidth occupied by the congestion information, thereby greatly saving bandwidth overhead and computing resources of the sending device.

[0010] In a possible implementation manner of the first aspect, the step of: the network device adding the second congestion information to the first message includes: the network device adding the second congestion information to a Differentiated Services Code Point (DSCP) field of the first message.

[0011] The network device uses the Differentiated Services Code Point (DSCP) field in the Internet Protocol (IP) header of the first message to carry the congestion information of the network device. It can be understood that the second congestion information is obtained by integrating the first congestion information by the network device, so the first congestion information is also carried in the DSCP field.

[0012] In this possible implementation, the network device uses the existing message header to carry the integrated congestion information without adding a new protocol type, making the solution easier to implement.

[0013] In a possible implementation of the first aspect, the above-mentioned steps: the network device determines the congestion situation of forwarding the first message in the current hop, including: the network device obtains the forwarding delay of the first message forwarding in the current hop; if the forwarding delay is greater than a preset threshold, the network device determines that the first message is congested when forwarding in the current hop.

[0014] The network device obtains the forwarding delay of the first message when forwarding it in the current jump. Specifically, after the first message is dequeued after scheduling, the pipeline can compare the dequeuing time of the first message with the timestamp of the first message entering the network device chip to obtain the forwarding delay of the first message in the current jump device. If the forwarding delay is greater than a preset threshold, the network device determines that the first message encounters congestion when forwarding in the current jump.

[0015] In a possible implementation of the first aspect, the above-mentioned steps: the network device determines the congestion situation of forwarding the first message in the local hop, including: the network device obtains the forwarding delay and cache occupancy of the first message forwarding in the local hop; the network device performs weighted calculation on the forwarding delay and the cache occupancy to obtain a target value; if the target value is greater than a preset threshold, the network device determines that the first message is congested when forwarding in the local hop.

[0016] In a possible implementation of the first aspect, the first congestion information indicates the number of congestion hops experienced by the first message when it is sent from the sending end device to the network device. The above steps: the network device integrates the first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop, including: if the network device determines that the first message is congested when forwarding at the current hop, the network device accumulates the number of congestion hops.

[0017] Exemplarily, after being sent from a transmitting device, a first message reaches a network device via three-hop devices, wherein congestion is encountered at two-hop devices, and the first congestion information indicates that two-hop congestion is experienced.

[0018] If the network device determines that the first message encounters congestion when forwarding in this hop, the network device integrates the first congestion information based on this, that is, continues to accumulate the number of congestion hops once, and obtains the second congestion information. In other words, the second congestion information indicates that the first message has experienced three-hop congestion. If the network device determines that the first message does not encounter congestion when forwarding in this hop, the network device does not process the first congestion information, and the second congestion information is the same as the first congestion information.

[0019] In this possible solution, the second congestion information carries the number of congestion hops experienced by the first message, so that through the second congestion information, the sending device can compare the number of devices with congestion in different links, and then select a more preferred transmission path.

[0020] In a possible implementation of the first aspect, the first congestion information indicates a forwarding delay peak value of the first message sent from the sending end device to the network device. The above steps: the network device integrates the first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop, including: if the forwarding delay is greater than the forwarding delay peak value, the network device changes the forwarding delay peak value to the forwarding delay.

[0021] Exemplarily, after being sent from a transmitting device, a first message reaches a network device via three-hop devices, wherein the forwarding delays of the three-hop devices are 600 microseconds, 700 microseconds, and 800 microseconds, respectively, and the information indicated by the first congestion information is 800 microseconds.

[0022] The network device compares the forwarding delay of the first message when it is forwarded at the current hop with the forwarding delay indicated by the first congestion information. If the forwarding delay of the first message when it is forwarded at the current hop is greater than the forwarding delay indicated by the first congestion information, the network device changes the forwarding delay indicated by the first congestion information to the forwarding delay of the first message when it is forwarded at the current hop, and obtains the second congestion information. If the forwarding delay of the first message when it is forwarded at the current hop is less than or equal to the forwarding delay indicated by the first congestion information, the network device does not process the first congestion information, and the second congestion information is the same as the first congestion information.

[0023] In this possible solution, the second congestion information carries the forwarding delay peak value experienced by the first message. Through the second congestion information, the sending end device can find a transmission link with a lower forwarding delay, thereby achieving high-performance data forwarding.

[0024] In a possible implementation of the first aspect, the above-mentioned step: the network device integrates the first congestion information carried by the first message according to the congestion situation when the first message is forwarded in the current hop, including: the network device performs weighted calculation on the congestion situation when the first message is forwarded in the current hop and the first congestion information.

[0025] The network device divides the congestion situation into different gear values ​​according to the protocol with the end-side device. Based on the mapping rule between the congestion situation and the gear value, the network device maps the congestion situation of the first message when forwarding in the current hop to the corresponding gear value, and then performs weighted calculation with the historical gear value indicated in the first congestion information to obtain a new weighted value. Among them, the historical gear value indicated in the first congestion information is obtained by weighted calculation of the gear value for each hop device between the sending end device and the network device. The network device changes the historical gear value indicated in the first congestion information to a new weighted value to obtain the second congestion information.

[0026] In this possible solution, by mapping the congestion situation into a gear value and then performing weighted calculation on the gear value to obtain the second congestion information, the quality of the transmission link can be more comprehensively reflected, so that the transmitting device can more accurately select the preferred transmission path.

[0027] In a possible implementation manner of the first aspect, the first message carries identification information, where the identification information is used to indicate that the first message does not belong to a service data flow, and the service data flow is used to carry service information.

[0028] The sending end device may send a first message before sending a service data stream carrying service information. That is, the first message is only used as a detection message and does not carry service information, so that a link with better condition can be selected before sending the service data stream.

[0029] A second aspect of the present application provides a congestion control method, the method comprising: a receiving device receives a second message from a network device, the second message is sent by a sending device, the second message carries second congestion information, the second congestion information is obtained by the network device integrating first congestion information, the first congestion information indicates a congestion situation of the second message sent from the sending device to the network device; the receiving device sends the second congestion information to the sending device, so that the sending device adjusts a sending strategy of a service data flow based on the second congestion information, the service data flow is used to carry service information.

[0030] In the second aspect of the present application, the receiving device feeds back the second congestion information to the sending device, so that the sending device can adjust the sending strategy of the service data flow based on the second congestion information, thereby improving the integrity of the solution.

[0031] In a possible implementation manner of the second aspect, the above-mentioned step: the receiving device sends the second congestion information to the sending device, including: the receiving device carries the second congestion information in an acknowledgment character (ACK) of the second message and sends it to the sending device; or, the receiving device carries the second congestion information in a congestion notification message (Congestion Notification Packet, CNP) and sends it to the sending device.

[0032] In this possible implementation, the receiving device can carry the second congestion information in an existing message without adding a new protocol type, making the solution easier to implement.

[0033] The third aspect of the present application provides a network device, including a receiving unit, a determining unit, an integrating unit, an adding unit and a forwarding unit. The receiving unit is used to receive a first message from a sending end device; the determining unit is used to determine the congestion situation of the first message when forwarding in this hop; the integrating unit is used to integrate the first congestion information carried by the first message according to the congestion situation when the first message is forwarded in this hop to obtain the second congestion information, wherein the first congestion information indicates the congestion situation of the first message when it is sent from the sending end device to the network device; the adding unit is used to add the second congestion information to the first message to obtain the second message; the forwarding unit is used to forward the second message to the receiving end device, so that the receiving end device sends the second congestion information to the sending end device.

[0034] In a possible implementation manner of the third aspect, the adding unit is specifically configured to add the second congestion information to a Differentiated Services Code Point (DSCP) field of the first message.

[0035] In a possible implementation manner of the third aspect, the determination unit is specifically used to obtain a forwarding delay of the first message forwarded at the current hop; if the forwarding delay is greater than a preset threshold, it is determined that the first message is congested when being forwarded at the current hop.

[0036] In a possible implementation of the third aspect, the determination unit is specifically used to obtain the forwarding delay and cache occupancy of the first message forwarded in the current hop; perform weighted calculation on the forwarding delay and the cache occupancy to obtain a target value; if the target value is greater than a preset threshold, it is determined that the first message is congested when forwarding in the current hop.

[0037] In a possible implementation of the third aspect, the first congestion information indicates the number of congestion hops experienced by the first message when sent from the sending device to the network device, and the integration unit is specifically used to accumulate the number of congestion hops when it is determined that the first message is congested when forwarding at this hop.

[0038] In a possible implementation of the third aspect, the first congestion information indicates a forwarding delay peak value of the first message sent from the sending device to the network device, and the integration unit is specifically used to change the forwarding delay peak value to the forwarding delay when the forwarding delay is greater than the forwarding delay peak value.

[0039] In a possible implementation manner of the third aspect, the integrating unit is specifically configured to perform weighted calculation on a congestion situation of the first message when it is forwarded at the current hop and the first congestion information.

[0040] In a possible implementation manner of the third aspect, the first message carries identification information, where the identification information is used to indicate that the first message does not belong to a service data flow, and the service data flow is used to carry service information.

[0041] The network device provided in the third aspect of the present application is used to execute the method described in the first aspect or any possible implementation manner of the first aspect.

[0042] In a fourth aspect, the present application provides a receiving end device, comprising a receiving unit and a sending unit. The receiving unit is used to receive a second message from a network device, the second message is sent by the sending end device, the second congestion information is obtained by the network device integrating the first congestion information, and the first congestion information indicates the congestion situation of the second message sent from the sending end device to the network device; the sending unit is used to send the second congestion information to the sending end device, so that the sending end device adjusts the sending strategy of the service data flow based on the second congestion information, and the service data flow is used to carry the service information.

[0043] In a possible implementation manner of the fourth aspect, the sending unit is specifically configured to carry the second congestion information in an acknowledgment character ACK of the second message and send it to the sending end device; or carry the second congestion information in a congestion notification message CNP and send it to the sending end device.

[0044] The receiving device provided in the fourth aspect of the present application is used to execute the method described in the second aspect or any possible implementation manner of the second aspect.

[0045] In a fifth aspect, the present application provides a network device, including a processor and a memory, wherein the memory is used to store instructions, and the processor is used to obtain the instructions stored in the memory to execute the method described in the first aspect or any possible implementation of the first aspect.

[0046] In a sixth aspect, the present application provides a receiving end device, including a processor and a memory, wherein the memory is used to store instructions, and the processor is used to obtain the instructions stored in the memory to execute the method described in the second aspect or any possible implementation of the second aspect.

[0047] In a seventh aspect, the present application provides a computer-readable storage medium, which includes instructions. When the instructions are executed on a computer, the computer executes the method described in the first aspect or any possible implementation of the first aspect, or executes the method described in the second aspect or any possible implementation of the second aspect.

[0048] In an eighth aspect of the present application, there is provided a computer program product comprising instructions. When the computer program product is run on a computer, the computer executes the method described in the first aspect or any possible implementation of the first aspect, or executes the method described in the second aspect or any possible implementation of the second aspect.

[0049] In the ninth aspect of the present application, a chip system is provided, comprising at least one processor and a communication interface, wherein the communication interface and the at least one processor are interconnected via a line, and the at least one processor is used to run a computer program or instruction to execute the method described in the first aspect or any possible implementation of the first aspect, or to execute the method described in the second aspect or any possible implementation of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1 A schematic diagram of the architecture of a communication network used in an embodiment of the present application;

[0051] Figure 2 A schematic diagram of a transmission link in an embodiment of the present application;

[0052] Figure 3 A schematic diagram of an embodiment of a congestion control method provided in an embodiment of the present application;

[0053] Figure 4a A format diagram of the DSCP field in an embodiment of the present application;

[0054] Figure 4b This is another format diagram of the DSCP field in an embodiment of the present application;

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

[0056] Figure 6 A schematic diagram of the structure of a receiving device provided in an embodiment of the present application;

[0057] Figure 7 Another schematic diagram of the structure of the network device provided in the embodiment of the present application;

[0058] Figure 8 Another structural diagram of a receiving device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0059] The following describes the embodiments of the present application in conjunction with the accompanying drawings. Obviously, the described embodiments are only embodiments of a part of the present application, rather than all embodiments. It is known to those skilled in the art that with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0060] The terms "system" and "network" in the specification and claims of the present application and the above-mentioned drawings can be used interchangeably. Unless otherwise specified, ordinal numbers such as "first" and "second" are used to distinguish multiple objects and are not used to limit the order, timing, priority or importance of multiple objects. It should be understood that the terms used in this way can be interchangeable where appropriate, so that the embodiments described here can be implemented in an order other than the content illustrated or described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0061] The embodiments of the present application provide a congestion control method and related devices, which can be used by a network device to integrate congestion information during message forwarding, as described in detail below.

[0062] See below Figure 1 , Figure 1 A schematic diagram of the architecture of a communication network used in an embodiment of the present application.

[0063] like Figure 1 As shown, the communication network includes core layer devices, convergence layer devices, access layer devices and servers. The server is the client device, where the server that initiates data transmission is called the sending end device, and the server that receives data is called the receiving end device. The server is connected to the access layer device through a network card, and the network card can provide one or more interfaces, that is, a server can be connected to one or more access layer devices. The server accesses the communication network by connecting to the access layer device.

[0064] Core layer devices, aggregation layer devices, and access layer devices are network devices, which can be switches or routers, used to forward data. Access layer devices can be top of rack switches (TOR), which provide ports for servers to access the communication network, and access layer devices are then connected to aggregation layer devices. Aggregation layer devices are the aggregation points of multiple access layer devices, and provide uplinks from access layer devices to core layer devices. Aggregation layer devices can be spine switches. Core layer devices provide connectivity for multiple aggregation layer devices, and are used to provide high-speed forwarding of messages entering and leaving the data center. Core layer devices can be core switches.

[0065] It should be understood that Figure 1 The number of each device shown is for exemplary purposes only, and the number of each device and the number of other devices connected to each device are not specifically limited herein.

[0066] Figure 1 The communication network shown is a traditional three-layer Clos network in a data center network. In addition, the embodiments of the present application can also be applied to other communication networks in a data center network, such as a spine-leaf network. Furthermore, the embodiments of the present application can also be applied to communication networks other than data center networks, and the network scenarios in which the embodiments of the present application are applied are not specifically limited here.

[0067] Network devices often experience congestion during data transmission. In order to achieve high-performance data forwarding, the sending device needs to promptly detect the congestion of the transmission link and make corresponding adjustments. DCQCN is a congestion control solution that is currently widely used. In the DCQCN solution, network devices determine whether there is congestion when forwarding messages. If there is congestion, the message is marked with ECN. When the receiving device receives a message marked with ECN, it replies with a CNP message to the sending device. After receiving the CNP message, the sending device reduces the transmission rate of the data stream.

[0068] However, the congestion information represented by the ECN mark in the DCQCN scheme is too vague and single. After receiving the message with the ECN mark, the receiving device can only know that the transmission process is congested, but cannot know specifically how many hops are congested. For example, please refer to Figure 2 For link 1 represented by a solid line, two hops of network devices are congested (* indicates congested devices), and for link 2 represented by a dotted line, only one hop of network device is congested. The messages transmitted in these two links will carry the ECN mark. After receiving the message, the receiving device can only know that both links are congested, but cannot further judge the quality of link 1 and link 2.

[0069] To address this problem, a congestion control scheme μFAB that carries more detailed information has been proposed. In this scheme, the sending device first sends a probe message. Each hop network device that the probe message passes through will add information to the probe message. The information includes link bandwidth, queue buffer occupancy of the network device, the sending rate of the probe message, the total subscribed bandwidth, and the total sending window size. After receiving the probe message, the receiving device feeds back the information carried in the message to the sending device. The sending device calculates the information and decides whether to change the path and adjust the sending rate of the data stream. For a data stream, the sending device will periodically send a probe message, usually once per round-trip time (RTT).

[0070] However, the messages in the μFAB solution carry too complex information, and the sending device needs to consume a lot of processing resources to calculate the information, which will also bring additional bandwidth overhead.

[0071] In view of this, an embodiment of the present application provides a congestion control solution, which can be used by network devices to integrate congestion information during message forwarding, so that the congestion information received by the sending device can reflect the quality of the transmission link and will not occupy too many processing resources and bandwidth.

[0072] See below Figure 3 , is a schematic diagram of an embodiment of the congestion control method provided in the embodiment of the present application. Figure 3 As shown, this embodiment includes steps 301 to 303.

[0073] 301. A sending device sends a first message.

[0074] The sending end device and the receiving end device perform a unified agreement to reserve some fields in the first message for carrying congestion information of the network device.

[0075] In a possible solution, the Differentiated Services Code Point (DSCP) field in the Internet Protocol (IP) header of the first message is used to carry the congestion information of the network device. Taking the Internet Protocol version 4 (IPv4) as an example, the DSCP field is located in the 8-bit Type of Service (ToS) field, occupying 6 bits of the length, and the remaining 2 bits are used to carry the ECN mark. For the specific field format, please refer to Figure 4a .

[0076] The DSCP field can represent 64 field values ​​from 0 to 63. The DSCP field is currently used in cloud data center scenarios to identify the Quality of Service (QoS) priority of packets, that is, different field values ​​represent different QoS priorities. For example, the higher the field value, the higher the QoS priority. After the packet arrives at the network device, the network device determines the priority of forwarding the packet based on the DSCP field value. The higher the priority, the earlier it is forwarded. The priority of network devices forwarding packets is usually 8, that is, for 64 DSCP field values, the network device is also mapped into 8 priorities. In other words, it is usually not necessary to use 64 field values ​​to represent the priority. Therefore, the network device can reuse certain bits in the DSCP field to represent congestion information. For example, the upper 3 bits of the 6 bits occupied by DSCP are used to represent congestion information, and the remaining lower 3 bits continue to carry priority indication information. The format of the multiplexed field is as follows: Figure 4b As shown. It is understandable that Figure 4b This is only an example. In actual applications, when there are fewer congested devices, only the upper 2 bits can be used to represent the congestion information. Alternatively, when there are more congested devices, the upper 4 bits can be used to represent the congestion information. In addition, in addition to using the upper 3 bits in the DSCP field to represent the congestion information, the lower 3 bits can also be used to represent the congestion information, and the upper 3 bits carry the priority indication information. In this implementation, there is no specific limitation on the number of bits representing the congestion information and the position in the DSCP field.

[0077] Before the DSCP field is reused, the mapping relationship between the DSCP field value and the priority is shown in Table 1:

[0078]

[0079]

[0080] Table 1

[0081] The DSCP field value can be a group of 8 values ​​to cyclically represent 8 priorities. Table 1 describes the mapping relationship between field values ​​0 to 7 and priorities. For the remaining field values, 8 corresponds to priority 0, 9 corresponds to priority 1, 10 corresponds to priority 2, and so on. The details are not repeated here.

[0082] After the DSCP field is reused, the upper 3 bits of the DSCP field represent congestion information, and the lower 3 bits are still used to represent priority. When the upper 3 bits of the DSCP field change, the mapping relationship between the lower 3 bits and the priority cannot be affected. Therefore, the mapping rules between the DSCP field value and the priority are readjusted. The adjusted mapping relationship is as follows:

[0083] As shown in Table 2:

[0084]

[0085]

[0086] Table 2

[0087] As shown in Table 2, 8 priorities are cyclically represented by a group of 8 DSCP field values, that is, field values ​​0 to 7 correspond to priorities 1 to 8, respectively, followed by field values ​​8 to 15 corresponding to priorities 1 to 8, respectively, and so on. For the DSCP field value, it is obtained by adding the value of the upper 3 bits to the value of the lower 3 bits. Specifically, the DSCP field value increases by 8 for every increase of 1 in the value of the upper 3 bits, and increases by 1 for every increase of 1 in the value of the lower 3 bits. For example, when the value of the upper 3 bits is 0 and the value of the lower 3 bits is 1, the DSCP field value is 1, and when the value of the upper 3 bits is 1 and the value of the lower 3 bits is 1, the DSCP field value is 9. Since 8 priorities are cyclically represented by a group of 8 DSCP field values, the corresponding priority remains unchanged after the DSCP field value increases by 8, so that after the upper 3 bits field is reused, the mapping relationship between the lower 3 bits field and the priority is not affected.

[0088] In addition to using the DSCP field in the IP header to represent congestion information, other fields in the layer 2 header, layer 3 header, and layer 4 header can also be selected to carry congestion information, or the base transport header (Base Transport Header, BTH) of the Remote Direct Memory Access over Converged Etherne version 2 (RoCEv2) protocol in the converged Ethernet can also be used, and the specific details are not limited here.

[0089] The sending device can send the first message to multiple links to detect the congestion of different links. The network device performs hash routing on the first message through the five-tuple information in the message header, and the change of the four-layer source port number can affect the hash routing, but has no effect on the data carried by the first message. Therefore, the sending device can add 1 to the value of the four-layer source port number of the first message in sequence and send it, so as to send the first message to different links and realize the detection of different links. When the sending device sends the first message, the value of the upper 3 bits of the DSCP field in the first message is 0.

[0090] The sending end device may send a first message before sending a service data stream carrying service information, that is, the first message is only used as a detection message, and the first message does not carry service information, so that a link with better conditions can be selected before the service data stream is sent. Specifically, the sending end device occupies a bit length in the multiplexing field (i.e., the DSCP field) of the first message to carry identification information, and the identification information is used to indicate that the first message does not belong to the service data stream and does not carry service information. The network device can identify the first message as a detection message based on the identification information. In this case, the sending end device cannot perceive the congestion of the link during the transmission of the service data stream, that is, the first message can only be used to assist the sending end device in selecting a transmission path.

[0091] Of course, the first message may not carry identification information, that is, the first message belongs to a service data flow. In the process of sending the service data flow, the sending end device can also sense the congestion of the path, thereby adjusting the transmission rate of the service data flow and determining whether to change the transmission path.

[0092] 302. The network device determines a congestion situation of forwarding the first message at the current hop.

[0093] Network device congestion is generally caused by the actual forwarding bandwidth exceeding the forwarding capacity, which leads to the phenomenon that messages are queued in the network device. When there are more messages queued in the queue of the network device's outbound port, it means that the buffer occupancy is larger, the queue length is longer, and the delay of queue scheduling is larger, resulting in a longer forwarding delay of the message in the local jump device. Therefore, whether the message is congested in the local jump device can be determined by the forwarding delay or the queue length (that is, the buffer occupancy).

[0094] In a possible solution, the network device obtains the forwarding delay of the first message when forwarding it in the current jump, and determines whether there is congestion based on the forwarding delay. Specifically, after the first message is dequeued after scheduling, the pipeline can compare the dequeuing time of the first message with the timestamp of the first message entering the network device chip, thereby obtaining the forwarding delay of the first message in the current jump device. If the forwarding delay is greater than a preset threshold, the network device determines that the first message encounters congestion when forwarding in the current jump.

[0095] For example, the forwarding delay of the current network device forwarding chip is usually less than 1 microsecond. If congestion occurs, the delay can reach the millisecond level based on the current chip cache capacity. When the delay reaches the millisecond level, it may have a serious performance impact on the service. The preset threshold is set to 500 microseconds. When the forwarding delay of the first message in this hop is greater than 500 microseconds, it is determined that the first message experiences congestion in this hop.

[0096] Of course, the network device may also obtain the queue length when the first message is forwarded at the current hop, and determine whether there is congestion according to the queue length. If the queue length is greater than a preset threshold, it is determined that the first message is experiencing congestion at the current hop.

[0097] Furthermore, the network device may perform weighted calculation on the acquired forwarding delay and queue length to obtain a target value. If the target value is greater than a preset threshold, it is determined that the first message encounters congestion when forwarding at this hop.

[0098] 303. The network device integrates the first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop, to obtain second congestion information.

[0099] The first congestion information indicates the congestion condition of the first message sent from the sending end device to the network device. The first congestion information may be carried in the DSCP field of the first message, using the upper 3 bits of the DSCP field. It is understandable that the first congestion information does not include the congestion condition of the first message when the network device forwards it, but the congestion condition of each hop device between the sending end device and the network device.

[0100] In a possible solution, the first congestion information indicates the number of congestion hops experienced by the first message from the sending end device to the network device. Exemplarily, after the first message is sent from the sending end device, it passes through three hop devices to reach the network device, wherein congestion is encountered in two hop devices, then the first congestion information indicates that two hop congestion is experienced. The specific form of the first congestion information can be that the high 3-bit field value of the DSCP field is 2.

[0101] If the network device determines that the first message encounters congestion when forwarding in this hop, the network device integrates the first congestion information based on this, that is, continues to accumulate the number of congestion hops once, and obtains the second congestion information. In other words, the second congestion information indicates that the first message has experienced three-hop congestion, and the specific form is that the high 3-bit field value of the DSCP field is changed to 3. If the network device determines that the first message does not encounter congestion when forwarding in this hop, the network device does not process the first congestion information, and the second congestion information is the same as the first congestion information.

[0102] In another possible solution, the first congestion information indicates the peak forwarding delay experienced by the first message when it is sent from the sending end device to the network device. Exemplarily, after the first message is sent from the sending end device, it passes through three hop devices to reach the network device, wherein the forwarding delays of the three hop devices are 600 microseconds, 700 microseconds, and 800 microseconds, respectively, and the information indicated by the first congestion information is 800 microseconds.

[0103] The network device compares the forwarding delay of the first message when it is forwarded at the current hop with the forwarding delay indicated by the first congestion information. If the forwarding delay of the first message when it is forwarded at the current hop is greater than the forwarding delay indicated by the first congestion information, the network device changes the forwarding delay indicated by the first congestion information to the forwarding delay of the first message when it is forwarded at the current hop, and obtains the second congestion information. If the forwarding delay of the first message when it is forwarded at the current hop is less than or equal to the forwarding delay indicated by the first congestion information, the network device does not process the first congestion information, and the second congestion information is the same as the first congestion information.

[0104] In another possible solution, the network device may also perform weighted calculation processing on the congestion situation of the first message when it is forwarded in this hop and the first congestion information to obtain the second congestion information. Specifically, the network device divides the congestion situation into different gear values ​​according to the protocol with the end-side device. Based on the mapping rule between the congestion situation and the gear value, the network device maps the congestion situation of the first message when it is forwarded in this hop to the corresponding gear value, and then performs weighted calculation on the historical gear value indicated in the first congestion information to obtain a new weighted value. Among them, the historical gear value indicated in the first congestion information is obtained by weighted calculation of the gear value for each hop device between the sending end device and the network device. The network device changes the historical gear value indicated in the first congestion information to a new weighted value to obtain the second congestion information.

[0105] It should be understood that each hop device between the sending end device and the network device will integrate the first congestion information according to the congestion situation experienced by the first message in the current hop.

[0106] 304. The network device adds the second congestion information to the first message to obtain a second message.

[0107] The network device integrates the first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop, obtains the second congestion information, and then carries the second congestion information in the first message to obtain the second message. Similarly, the network device can carry the second congestion information in the DSCP field of the first message, using the high 3 bits of the DSCP field.

[0108] 305. The network device forwards the second message to the receiving device.

[0109] The network device sends a second message carrying the second congestion information to the receiving device.

[0110] 306. The receiving device sends the second congestion information to the sending device.

[0111] After receiving the second message, the receiving device feeds back the second congestion information carried in the second message to the sending device. In the case where the second congestion information is carried in the DSCP field, since the second congestion information is in the IP header, the receiving device may not process the second congestion information, and the second congestion information may be carried in the ACK information of the second message and sent to the sending device. Alternatively, the second congestion information may also be carried in a CNP message and sent to the sending device.

[0112] 307. The sending end device adjusts a sending strategy of the service data flow based on the second congestion information.

[0113] The second congestion information indicates the congestion situation of the transmission path of the first message, and the sending end device adjusts the sending strategy of the service data flow based on the second congestion information. Specifically, it can be to select the transmission path of the service data flow, adjust the sending rate of the service data flow, and change the transmission path of the service data flow. For example, the link with the least number of congestion hops indicated in the second congestion information is used as the optimal path, or the link with the smallest forwarding delay peak is used as the optimal path. The four-layer source port number of the first message corresponding to the optimal path is used as the four-layer source port number of each message in the forwarding service data flow.

[0114] During the transmission of the service data stream, the sending end device may also adjust the sending rate of the service data stream according to the second congestion information continuously sent back, or reselect the transmission link of the service data stream.

[0115] In this embodiment, the network device can integrate the congestion information of the first message during the forwarding process, so that the congestion information received by the sending end device can reflect the quality of different transmission links, so that the sending end device can select a better transmission link. In addition, the network device can integrate the congestion information to compress the bandwidth occupied by the congestion information, which can greatly save bandwidth overhead and computing resources of the sending end device. In addition, in this embodiment, the congestion information can be carried in the existing message header, without adding a new protocol type, which is easy to implement.

[0116] The above describes the embodiments of the present application from the perspective of the method. The following describes the relevant devices in the embodiments of the present application from the perspective of specific device implementation.

[0117] See also Figure 5An embodiment of the present application provides a schematic diagram of a network device 500, wherein the network device 500 includes a receiving unit 501, a determining unit 502, an integrating unit 503, an adding unit 504 and a forwarding unit 505.

[0118] The receiving unit 501 is configured to receive a first message from a sending end device;

[0119] A determining unit 502, configured to determine a congestion situation of forwarding the first message at a local hop;

[0120] An integration unit 503 is used to integrate first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop, to obtain second congestion information, where the first congestion information indicates the congestion situation of the first message sent from the sending end device to the network device;

[0121] An adding unit 504, configured to add the second congestion information to the first message to obtain a second message;

[0122] The forwarding unit 505 is configured to forward the second message to the receiving device, so that the receiving device sends the second congestion information to the sending device.

[0123] Optionally, the adding unit 504 is specifically configured to add the second congestion information to a Differentiated Services Code Point (DSCP) field of the first message.

[0124] Optionally, the determining unit 502 is specifically configured to obtain a forwarding delay of the first message when forwarding the first message at the current hop; if the forwarding delay is greater than a preset threshold, it is determined that the first message is congested when forwarding at the current hop.

[0125] Optionally, the determination unit 502 is specifically used to obtain the forwarding delay and cache occupancy of the first message when forwarding in this hop; perform weighted calculation on the forwarding delay and cache occupancy to obtain a target value; if the target value is greater than a preset threshold, it is determined that the first message is congested when forwarding in this hop.

[0126] Optionally, the first congestion information indicates the number of congestion hops experienced by the first message when being sent from the sending end device to the network device. The integration unit 503 is specifically configured to accumulate the number of congestion hops when determining that the first message is congested when being forwarded at the current hop.

[0127] Optionally, the first congestion information indicates a forwarding delay peak value of the first message sent from the sending end device to the network device, and the integration unit 503 is specifically used to change the forwarding delay peak value to the forwarding delay when the forwarding delay is greater than the forwarding delay peak value.

[0128] Optionally, the integrating unit 503 is specifically configured to perform weighted calculation on a congestion situation of the first message when it is forwarded at the current hop and the first congestion information.

[0129] Each unit in the network device 500 performs the above Figure 3 The operation of the terminal device in the illustrated embodiment will not be described in detail here.

[0130] See also Figure 6 , an embodiment of the present application provides a schematic diagram of a receiving end device 600, wherein the receiving end device 600 includes a receiving unit 601 and a sending unit 602.

[0131] The receiving unit 601 is used to receive a second message from a network device. The second message is sent by a sending end device. The second message carries second congestion information. The second congestion information is obtained by integrating the first congestion information by the network device. The first congestion information indicates the congestion situation of the second message sent from the sending end device to the network device.

[0132] The sending unit 602 is configured to send the second congestion information to the sending end device, so that the sending end device adjusts the sending strategy of the service data flow based on the second congestion information, and the service data flow is used to carry the service information.

[0133] Optionally, the sending unit 602 is specifically configured to carry the second congestion information in an acknowledgement character ACK of the second message and send it to the sending end device; or carry the second congestion information in a congestion notification message CNP and send it to the sending end device.

[0134] Each unit in the receiving end device 600 performs the above Figure 3 The operation of the receiving device in the illustrated embodiment will not be described in detail here.

[0135] See below Figure 7 , is a possible structural diagram of a network device 700 provided in an embodiment of the present application, including a processor 701, a communication interface 702, a memory 703 and a bus 704. The processor 701, the communication interface 702 and the memory 703 are interconnected via the bus 704. In an embodiment of the present application, the processor 701 is used to control and manage the actions of the network device. For example, the processor 701 is used to execute Figure 3 The steps performed by the network device in the method embodiment. The communication interface 702 is used to support the network device to communicate. The memory 703 is used to store program codes and data of the network device.

[0136] Among them, the processor 701 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the contents disclosed in this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so on. The bus 704 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0137] See below Figure 8 , is a possible structural diagram of a receiving device 800 provided in an embodiment of the present application, including a processor 801, a communication interface 802, a memory 803 and a bus 804. The processor 801, the communication interface 802 and the memory 803 are interconnected via the bus 804. In the embodiment of the present application, the processor 801 is used to control and manage the actions of the receiving device. For example, the processor 801 is used to execute Figure 3 Steps performed by the receiving device in the method embodiment: The communication interface 802 is used to support the receiving device to communicate. The memory 803 is used to store program codes and data of the receiving device.

[0138] Among them, the processor 801 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the contents disclosed in this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so on. The bus 804 can be a peripheral component interconnect standard (Peripheral Component Interconnect, PCI) bus or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0139] The embodiment of the present application also provides a computer-readable storage medium, wherein the computer-readable storage medium includes instructions, and when the instructions are executed on a computer, the computer executes the aforementioned Figure 3 The method in the illustrated embodiment.

[0140] The present application also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the aforementioned Figure 3 The method in the illustrated embodiment.

[0141] The embodiment of the present application also provides a chip system, the chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used to run a computer program or instruction to execute the aforementioned Figure 3 The method in the illustrated embodiment.

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

[0143] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0144] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0145] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0146] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially 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, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk and other media that can store program code.

Claims

1. A congestion control method, characterized in that: include: The network device receives a first message from a sending device; The network device determines a congestion situation of forwarding the first message at the current hop; The network device integrates first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop to obtain second congestion information, where the first congestion information indicates the congestion situation of the first message being sent from the sending end device to the network device; The network device adds the second congestion information to the first message to obtain a second message; The network device forwards the second message to a receiving device, so that the receiving device sends the second congestion information to the sending device; The first congestion information indicates the number of congestion hops experienced by the first message when being sent from the sending end device to the network device, and the network device integrates the first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop, including: If the network device determines that the first message is congested when being forwarded at the current hop, the network device accumulates the number of congested hops.

2. The method according to claim 1, characterized in that The network device adding the second congestion information to the first message includes: The network device adds the second congestion information to a Differentiated Services Code Point (DSCP) field of the first message.

3. The method according to claim 1, characterized in that The network device determines the congestion situation of forwarding the first message in the current hop, including: The network device obtains a forwarding delay of the first message forwarded at the local hop; If the forwarding delay is greater than a preset threshold, the network device determines that the first message is congested when forwarding at the current hop.

4. The method according to claim 1, characterized in that: The network device determines the congestion situation of forwarding the first message in the current hop, including: The network device obtains a forwarding delay and a buffer occupancy of the first message forwarded at the local hop; The network device performs weighted calculation on the forwarding delay and the buffer occupancy to obtain a target value; If the target value is greater than a preset threshold, the network device determines that the first message is congested when forwarding on the current hop.

5. The method according to claim 3 or 4, characterized in that: The first congestion information indicates a forwarding delay peak value of the first message sent from the sending end device to the network device, and the network device integrates the first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop, including: If the forwarding delay is greater than the forwarding delay peak value, the network device changes the forwarding delay peak value to the forwarding delay.

6. The method according to any one of claims 1 to 4, characterized in that: The network device integrates the first congestion information carried by the first message according to the congestion situation when the first message is forwarded at the current hop, including: The network device performs weighted calculation on the congestion condition of the first message when forwarding at the current hop and the first congestion information.

7. The method according to any one of claims 1 to 4, characterized in that: The first message carries identification information, where the identification information is used to indicate that the first message does not belong to a service data flow, and the service data flow is used to carry service information.

8. A congestion control method, characterized in that: include: The receiving end device receives a second message from the network device, the second message is sent by the sending end device, the second message carries second congestion information, the second congestion information is obtained by the network device integrating the first congestion information, the first congestion information indicates the congestion situation of the first message when it is sent from the sending end device to the network device, the first congestion information indicates the number of congestion hops experienced by the first message when it is sent from the sending end device to the network device, and the second congestion information is obtained by the network device integrating the first congestion information. Specifically including: if the network device determines that the first message is congested when forwarding at this hop, the second congestion information is obtained by the network device accumulating the number of congestion hops; The receiving device sends the second congestion information to the sending device, so that the sending device adjusts a sending strategy of a service data flow based on the second congestion information, where the service data flow is used to carry service information.

9. The method according to claim 8, characterized in that The receiving end device sending the second congestion information to the sending end device includes: The receiving end device carries the second congestion information in an acknowledgment character ACK of the second message and sends it to the sending end device; Alternatively, the receiving end device carries the second congestion information in a congestion notification message CNP and sends it to the sending end device.

10. A network device, characterized in that: include: A receiving unit, configured to receive a first message from a sending end device; A determining unit, configured to determine a congestion situation of forwarding the first message at this hop; an integration unit, configured to integrate first congestion information carried by the first message according to a congestion condition when the first message is forwarded at the current hop, to obtain second congestion information, wherein the first congestion information indicates a congestion condition of the first message being sent from the sending end device to the network device; an adding unit, configured to add the second congestion information to the first message to obtain a second message; a forwarding unit, configured to forward the second message to a receiving device, so that the receiving device sends the second congestion information to the sending device; The first congestion information indicates the number of congestion hops experienced by the first message when it is sent from the sending end device to the network device, and the integration unit is specifically used to: If it is determined that the first message is congested when being forwarded at the current hop, the number of congested hops is accumulated.

11. The device according to claim 10, characterized in that The adding unit is specifically used for: The second congestion information is added to a Differentiated Services Code Point (DSCP) field of the first message.

12. The device according to claim 10, characterized in that The determining unit is specifically used for: Obtaining a forwarding delay of the first message when forwarding the first message at the current hop; If the forwarding delay is greater than a preset threshold, it is determined that the first message is congested when being forwarded at the current hop.

13. The device according to claim 10, characterized in that The determining unit is specifically used for: Obtaining a forwarding delay and a buffer occupancy of the first message forwarded in the local hop; Performing weighted calculation on the forwarding delay and the buffer occupancy to obtain a target value; If the target value is greater than a preset threshold, it is determined that the first message is congested when being forwarded in the current hop.

14. The device according to claim 12 or 13, characterized in that The first congestion information indicates a peak forwarding delay of the first message sent from the sending end device to the network device, and the integration unit is specifically used to: When the forwarding delay is greater than the forwarding delay peak, the forwarding delay peak is changed to the forwarding delay.

15. The device according to any one of claims 10 to 13, characterized in that The integration unit is specifically used for: A weighted calculation is performed on the congestion situation of the first message when it is forwarded at the current hop and the first congestion information.

16. The device according to any one of claims 10 to 13, characterized in that The first message carries identification information, where the identification information is used to indicate that the first message does not belong to a service data flow, and the service data flow is used to carry service information.

17. A receiving device, characterized in that: include: A receiving unit, configured to receive a second message from a network device, wherein the second message is sent by a sending end device, the second message carries second congestion information, the second congestion information is obtained by the network device integrating first congestion information, the first congestion information indicates a congestion situation of the second message when it is sent from the sending end device to the network device, the first congestion information indicates the number of congestion hops experienced by the first message when it is sent from the sending end device to the network device, and the second congestion information is obtained by the network device integrating the first congestion information, specifically including: if the network device determines that the first message is congested when forwarding at this hop, the second congestion information is obtained by the network device accumulating the number of congestion hops; A sending unit is used to send the second congestion information to the sending end device, so that the sending end device adjusts the sending strategy of the service data flow based on the second congestion information, and the service data flow is used to carry service information.

18. The device according to claim 17, characterized in that The sending unit is specifically used for: Sending the second congestion information to the sending end device by carrying it in an acknowledgment character ACK of the second message; Alternatively, the second congestion information is carried in a congestion notification message CNP and sent to the sending end device.

19. A network device, characterized in that: include: Processor and memory; The memory is used to store instructions; The processor is configured to execute instructions stored in the memory to implement the method according to any one of claims 1 to 7.

20. A receiving device, characterized in that: include: Processor and memory; The memory is used to store instructions; The processor is configured to execute instructions stored in the memory to implement the method of claim 8 or 9.

21. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by one or more processors, the method according to any one of claims 1 to 7 is implemented, or the method according to claim 8 or 9 is implemented.

22. A computer program product comprising instructions, characterized in that When the computer program product is executed on a computer, the computer is enabled to execute the method according to any one of claims 1 to 7, or the method according to claim 8 or 9.

Citation Information

Patent Citations

  • Congestion window determination method, device and system

    CN115484210A

Cited By

  • Unmanned aerial vehicle assisted Internet of Vehicles congestion control method based on branch dual-depth Q network

    CN121284635A