Congestion control method, data transmission system, electronic device, medium and product
Patent Information
- Application Number
- PCT/CN2025/142983
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-26
- Filing Date
- 2025-12-16
- Publication Date
- 2026-10-01
Smart Images

Figure CN2025142983_01102026_PF_FP_ABST
Abstract
Description
Congestion control methods, data transmission systems, electronic devices, media and products
[0001] This disclosure claims priority to Chinese Patent Application No. 202510369966.0, filed on March 26, 2025, entitled "Congestion Control Method, Data Transmission System, Electronic Device, Medium and Product", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates to the field of communication technology, and in particular to a congestion control method, data transmission system, electronic device, medium, and product. Background Technology
[0003] In the current technological context, Artificial Intelligence (AI), as the core driving force of a new round of technological revolution, is profoundly changing social development patterns and human lifestyles. With the continuous advancement of AI technology, its infrastructure is also undergoing significant transformation. Data centers are increasingly being optimized for AI, with architectures centered on Graphics Processing Units (GPUs) becoming a key trend in supporting high-performance computing tasks. However, this shift not only affects hardware design but also presents new challenges to data center network interconnect architecture.
[0004] Traditional data center network interconnection architectures are primarily designed to support general-purpose computing. When applied to GPU-centric AI computing centers, this design requires significant optimization. For example, in data center networks, traffic distribution to different paths is typically achieved through hash algorithms. However, in AI computing scenarios, traffic is characterized by "few streams but large individual stream volumes." This simple hash algorithm is highly susceptible to congestion, impacting the efficiency and stability of the entire system. Therefore, effectively controlling traffic congestion and optimizing data center networks to meet the demands of AI computing has become a pressing technical challenge. Summary of the Invention
[0005] This disclosure provides an error handling method, a server, an electronic device, a computer-readable storage medium, and a computer program product to alleviate or solve one or more technical problems existing in the prior art.
[0006] In a first aspect, embodiments of this disclosure provide a congestion control method applied at a receiving end. The method includes: generating congestion notification information based on congestion marking information of a target path, wherein the target path is a network transmission path among multiple network transmission paths where traffic congestion occurs, the multiple network transmission paths being used to transmit data packets from a sending end to the receiving end, the congestion marking information being used to indicate the congestion cause type of the target path, and the congestion notification information being used to determine a congestion control method corresponding to the congestion cause type; and feeding back the congestion notification information to the sending end so that the sending end can use the congestion notification information to perform congestion control.
[0007] Secondly, embodiments of this disclosure provide a congestion control method applied to network nodes in a switched network, wherein multiple network nodes are used to construct multiple network transmission paths, and the multiple network transmission paths are used to transmit data packets from a sending end to a receiving end. The method includes: setting congestion marking information for a target path according to the congestion cause type of the target path, wherein the target path is a network transmission path among the multiple network transmission paths where traffic congestion occurs, and the congestion marking information includes a field indicating the congestion cause type; and sending a message containing the congestion marking information to the receiving end via the target path.
[0008] Thirdly, embodiments of this disclosure provide a congestion control method applied at a sending end. The method includes: sending data packets to a receiving end based on multiple network transmission paths; receiving congestion notification information, wherein the congestion notification information is generated based on congestion marking information of a target path, the target path being a network transmission path among the multiple network transmission paths where traffic congestion occurs, and the congestion marking information being used to indicate the congestion cause type of the target path; determining a congestion control method corresponding to the congestion cause type using the congestion notification information; and performing congestion control according to the congestion control method.
[0009] Fourthly, embodiments of this disclosure provide a data transmission method, comprising: acquiring congestion notification information, wherein the congestion notification information is generated based on congestion marking information of a target path, the target path being a network transmission path among multiple network transmission paths where traffic congestion occurs, the multiple network transmission paths being used to transmit data packets from a sending end to a receiving end, the congestion marking information being used to indicate the congestion cause type of the target path, the congestion notification information being used to determine a congestion control method corresponding to the congestion cause type; and performing congestion control using the congestion notification information.
[0010] Fifthly, embodiments of this disclosure provide a data transmission system, including a sending end, a switching network, and a receiving end. The switching network includes multiple network nodes, which are used to construct multiple network transmission paths. The multiple network transmission paths are used to transmit data packets from the sending end to the receiving end. The sending end is used to implement the method described in the third aspect, the network nodes are used to implement the method described in the second aspect, and the receiving end is used to implement the method described in the first aspect.
[0011] In a sixth aspect, embodiments of this disclosure provide an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor implements the method of any of the embodiments of this disclosure when executing the computer program.
[0012] In a seventh aspect, embodiments of this disclosure provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method of any one of the embodiments of this disclosure.
[0013] Eighthly, embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the method of any one of the embodiments of this disclosure.
[0014] According to the technical solution of this disclosure, the receiving end extracts congestion marking information from the transmitted data packet to generate corresponding congestion notification information and feeds it back to the sending end. Since the congestion marking information not only indicates the existence of congestion but also represents the specific type of congestion cause, the sending end can adopt different congestion control methods for different types of traffic congestion, thereby improving the response speed and control accuracy of congestion control and reducing the risk of misjudgment. Especially in situations with frequent network topology changes or large load fluctuations, it can adjust the transmission strategy promptly and accurately based on the congestion cause type. Furthermore, using the congestion marking information in the packet to represent the congestion cause type simplifies the processing logic, reduces the complexity of congestion control, and facilitates expansion and maintenance.
[0015] The above description is only an overview of the technical solution of this disclosure. In order to better understand the technical means of this disclosure, it can be implemented in accordance with the contents of the specification. In order to make the above and other objects, features and advantages of this disclosure more obvious and understandable, specific embodiments of this disclosure are given below. Attached Figure Description
[0016] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments according to this disclosure and should not be construed as limiting the scope of this disclosure.
[0017] Figure 1 shows a schematic diagram of the principle of single-path network communication.
[0018] Figure 2A illustrates a traffic congestion scenario caused by network load imbalance.
[0019] Figure 2B illustrates a traffic congestion scenario caused by the convergence of traffic at terminal network nodes.
[0020] Figure 3 shows a schematic diagram of the architecture of the data transmission system according to an embodiment of the present disclosure.
[0021] Figure 4 shows a flowchart of the congestion control method of the receiving end according to an embodiment of the present disclosure.
[0022] Figure 5A shows a schematic diagram of a traffic congestion scenario applied in an embodiment of this disclosure.
[0023] Figure 5B shows a schematic diagram of the second traffic congestion scenario applied in the embodiments of this disclosure.
[0024] Figure 6 shows a schematic diagram of traffic congestion scenario three applied in the embodiments of this disclosure.
[0025] Figure 7 shows a schematic diagram of the traffic congestion scenario four applied in the embodiments of this disclosure.
[0026] Figure 8 shows a flowchart of a network node congestion control method according to an embodiment of the present disclosure.
[0027] Figure 9 shows a flowchart of the congestion control method of the transmitting end according to an embodiment of the present disclosure.
[0028] Figure 10 shows a flowchart of a congestion control method according to an embodiment of the present disclosure.
[0029] Figure 11 shows a block diagram of an electronic device provided in an embodiment of the present disclosure. Detailed Implementation
[0030] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the spirit or scope of this disclosure. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.
[0031] To facilitate understanding of the technical solutions of the embodiments of this disclosure, the related technologies of the embodiments of this disclosure are described below. The following related technologies are optional solutions and can be combined with the technical solutions of the embodiments of this disclosure in any way, and all of them fall within the protection scope of the embodiments of this disclosure.
[0032] Application scenarios
[0033] Traffic congestion (or simply congestion) refers to a phenomenon in a network where data traffic exceeds the processing capacity of network resources, resulting in the inability to transmit data packets in a timely manner. This situation typically occurs when network devices (such as routers and switches) or link capacities reach their maximum load. When traffic congestion occurs, it can lead to a series of problems, including but not limited to increased latency, increased packet loss rate, and decreased throughput.
[0034] In related technologies, data center networks often use single-path communication, meaning point-to-point network communication uses a single path. In single-path network communication, traffic distribution to different paths is typically achieved through hash algorithms. A common approach is to generate a hash value based on a 5-tuple (source IP address, destination IP address, protocol, source port, destination port) or a triple, and then select a path for data transmission based on this hash value.
[0035] Figure 1 illustrates the principle of single-path network communication. The switching network includes multiple network nodes, such as network node 11, network node 12-1, network node 12-2, and network node 12, thus forming multiple paths. In single-path network communication, the sending end sends data packets from server 11 to the receiving end's server 13 via path 1, and the sending end sends data packets from server 12 to server 13 via path 2. This may cause traffic congestion on the paths passing through network nodes 11, 12-1, and 12, while the path passing through network node 12-2 remains idle. In AI computing scenarios, traffic is characterized by "few streams, large single-stream traffic." Single-path network communication will highlight the problems of load imbalance and traffic congestion, thus affecting the efficiency and stability of the entire system.
[0036] Multi-path network communication allows data to be transmitted between the sender and receiver via multiple different physical or logical paths. Application-layer data packets are segmented into multiple data streams and intelligently allocated to different sub-stream paths based on current network conditions (such as latency, packet loss rate, and bandwidth). The receiver is responsible for collecting data from each sub-stream path and reassembling the complete data packets in the correct order for application-layer processing. Therefore, in AI computing scenarios, multi-path network communication can alleviate problems of load imbalance and traffic congestion.
[0037] While multipath network communication can reduce traffic congestion, the sheer volume of data traffic can still lead to congestion issues in switching networks, such as network load imbalance or traffic aggregation at terminal network nodes. Figure 2A illustrates a traffic congestion scenario caused by network load imbalance, and Figure 2B illustrates a traffic congestion scenario caused by traffic aggregation at terminal network nodes. Here, "A", "P", and "D" represent different network nodes, dashed lines represent physical links between network nodes, and solid lines with arrows represent data transmission paths. As shown in Figure 2A, due to differences in the real-time status of each path (such as bandwidth utilization, latency, and packet loss rate), the path carried by the network node marked "201" is overloaded, while other paths are idle. This results in an imbalance of traffic carried by different paths in the network, i.e., network load imbalance (i.e., Fabric congestion). As shown in Figure 2B, among the terminal network nodes (also called tail hop nodes, or simply tail hops) in the switching network, the terminal network node marked "202" carries a large number of paths, resulting in a many-to-one communication scenario. This causes the node to face huge traffic pressure, thus leading to the problem of terminal network node traffic aggregation (i.e., tail hop incast).
[0038] Different types of traffic congestion require different traffic regulation methods to achieve congestion control. For example, for traffic congestion caused by network load imbalance, the sending end needs to detect which specific path is congested, thereby reducing the load on that path and diverting the load to other lightly loaded paths. For traffic congestion caused by the convergence of traffic at terminal network nodes, the sending end may need to reduce the overall traffic speed rather than reducing the speed of certain paths.
[0039] One approach to congestion control is based on Round Trip Time (RTT) for traffic adjustment. The sender assesses network congestion by monitoring the RTT of each path. Specifically, the sender transmits data packets to the receiver via multiple paths. When the receiver receives a data packet, if it finds that the packet has been marked as an Explicit Congestion Notification (ECN) by the switch, it marks this information in its acknowledgment (ACK) response. The sender continuously monitors the RTT of each path. If the RTT of a path increases, indicating potential congestion, traffic is offloaded for that path. If the overall RTT of all paths increases, congestion control (CC) is applied to slow down the entire transmission. For example, the sender calculates the ratio of received ACKs to ACKs with an RTT greater than the target RTT in each RTT cycle. If this ratio exceeds a user-configured threshold, the CC algorithm is used to slow down the entire transmission. However, this approach cannot accurately distinguish whether the congestion is caused by network load imbalance or traffic aggregation at terminal network nodes. This is because, regardless of the cause, the final manifestation is either an increase in RTT (Round-Trip Time) or packets being marked by ECN (Electronic Network Protocol). Furthermore, due to its reliance on RTT changes, there may be a delay, preventing immediate adjustments after congestion occurs and affecting the timeliness and accuracy of congestion control.
[0040] Another approach to congestion control is based on path-aware multipath splitting (MAP). Specifically, the sender transmits data packets to the receiver via multiple paths. When the receiver receives a data packet, if it finds that the packet has been marked as ECN or trimmed by the switch, it marks this information in its ACK / NAK response, indicating to the sender that the path is congested. The sender maintains a bitmap recording which paths need to be skipped in a round. If a path is marked as needing to be skipped, it will not be used in the next round, thus achieving traffic load balancing. When the number of paths marked as needing to be skipped exceeds the user-configured percentage, it is considered that traffic convergence has occurred at the terminal network nodes, and the CC algorithm is used to slow down the entire transmission. However, this approach still cannot accurately identify the specific cause of congestion, and the introduction of the bitmap and path skipping mechanism increases the complexity of the system, potentially leading to additional overhead and errors.
[0041] Figure 3 illustrates a schematic diagram of the architecture of a data transmission system according to an embodiment of this disclosure. As shown in Figure 3, the data transmission system includes a transmitting end, a switching network, and a receiving end.
[0042] The sending end or receiving end can be deployed on one or more entities, which can be servers or terminal devices, or functional modules in the form of applications, services, instances, software, virtual machines, containers or cloud servers, or hardware devices or hardware chips with data processing functions.
[0043] The switching network includes multiple network nodes, such as network node 21, network node 22-1, network node 22-2, and network node 23. Network nodes can be deployed as software modules or hardware devices such as switches, routers, firewalls, or load balancers, and their deployment can be configured according to their function in the switching network. For example, according to the function of the network nodes in the switching network, the network nodes in this embodiment of the disclosure may include: access layer network nodes, which directly connect to servers, workstations, or terminal devices at the sending or receiving end; aggregation layer network nodes, which serve as communication bridges between the access layer network nodes and the core layer network nodes, and perform routing selection, access control, and other policy execution; and core layer network nodes, which are the core part of the switching network and are responsible for quickly and efficiently forwarding large amounts of data packets.
[0044] The physical links between network nodes can form multiple network transmission paths between the sending and receiving ends. For example, the sending end transmits data packets from server 201 to server 203 at the receiving end via two network transmission paths (path 1-1 and path 1-2). It is understood that Figure 2 uses two network transmission paths as an example, but this disclosure does not specifically limit the number of network transmission paths; for example, it can be 64 or 128, or other numbers. As another example, the sending end transmits data packets from server 202 to server 203 at the receiving end via path 2-1 and path 2-2 (or more).
[0045] During data transmission, the sending and receiving ends can exchange network information to perform traffic regulation and path adjustment based on multi-path network communication. This network information includes congestion labeling information and congestion notification information. Congestion labeling information indicates the type of congestion cause on the target path where traffic congestion occurs. Congestion notification information, generated based on congestion labeling information, is used to determine the congestion control method corresponding to the congestion cause type. Specifically, the receiving end generates congestion notification information corresponding to the congestion cause type indicated by the congestion labeling information and feeds it back to the sending end. The sending end then determines the congestion control method corresponding to the congestion cause type based on the congestion notification information. This allows for accurate identification of congestion cause types during data transmission and the application of appropriate congestion control methods to achieve traffic regulation.
[0046] The technical solutions of this disclosure and how they solve the aforementioned technical problems are described in detail below with specific embodiments. The listed specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0047] Example 1
[0048] Figure 4 shows a flowchart of a congestion control method according to an embodiment of the present disclosure. This method can be applied to a data transmission receiving end, for example, performed by the receiving end shown in Figure 3. As shown in Figure 4, the method may include steps S401 and S402.
[0049] Step S401: Generate congestion notification information based on the congestion marking information of the target path, wherein the congestion marking information is used to indicate the congestion cause type of the target path, and the congestion notification information is used to determine the congestion control method corresponding to the congestion cause type.
[0050] In this system, multiple network nodes in the switching network are used to construct multiple network transmission paths. Through these paths, the sending end transmits data packets to the receiving end, as detailed in Figure 3. The destination path is the network transmission path where traffic congestion occurs. There are various reasons for traffic congestion on the destination path, including network load imbalance, traffic convergence at terminal network nodes, and other causes, potentially encompassing multiple causes. Congestion labeling information can be used to indicate the type of congestion cause on the destination path.
[0051] For example, the message received by the receiving end includes congestion marking information for the target path. For instance, the message sent via the target path includes this congestion marking information; that is, the message sent via the target path carries information that indicates the type of congestion cause for the target path. The congestion marking information can be in the form of text, characters, etc., and this embodiment of the disclosure does not specifically limit this; it can be set according to the network communication protocol.
[0052] Figure 5A illustrates a traffic congestion scenario one applied in an embodiment of this disclosure. As shown in Figure 5A, due to the uneven path selection in the switching network, there are many network transmission paths via network node 22-2 (path 1-2, path 2-1, and path 2-2), resulting in a high load on network node 22-2 and thus traffic congestion. Conversely, there are fewer network transmission paths via network node 22-2 (path 1-1), and network node 22-1 has a lower load compared to network node 22-2. Therefore, in this congestion scenario, the control terminal of the switching network can determine that the congestion cause is network load imbalance by comparing the traffic distribution on each network transmission path, and the target paths are path 1-2, path 2-1, and path 2-2. For example, the message sent by network node 22-2 to the receiving end includes congestion marking information. For example, network node 22-2 carries congestion marker information in the packets forwarding data packets via path 1-2, indicating that traffic congestion has occurred on path 1-2, and the congestion cause type is network load imbalance; network node 22-2 carries congestion marker information in the packets forwarding data packets via path 2-1, indicating that traffic congestion has occurred on path 2-1, and the congestion cause type is network load imbalance; network node 22-2 carries congestion marker information in the packets forwarding data packets via path 2-2, indicating that traffic congestion has occurred on path 2-2, and the congestion cause type is network load imbalance (Fabric congestion).
[0053] Figure 5B illustrates a schematic diagram of the second traffic congestion scenario applied in this embodiment of the present disclosure. As shown in Figure 5B, due to the interruption of the physical link between network node 22-1 and network node 23, the routing protocol in the switching network will reroute the traffic on that physical link to other physical links, namely the physical link between network node 22-2 and network node 23. This results in traffic congestion on the network transmission paths (path 1-1 and path 2-1) via these physical links. Simultaneously, the control terminal of the switching network can determine that the congestion cause type is network load imbalance, and the target paths are path 1-1 and path 2-1. For example, network node 22-2 carries congestion marking information in the packets forwarding data packets via path 1-1, indicating that traffic congestion has occurred on path 1-1 and the congestion cause type is network load imbalance; network node 22-2 also carries congestion marking information in the packets forwarding data packets via path 2-1, indicating that traffic congestion has occurred on path 2-1 and the congestion cause type is network load imbalance.
[0054] Figure 6 illustrates a schematic diagram of traffic congestion scenario three applied in this embodiment of the present disclosure. As shown in Figure 6, although the network load is balanced, traffic from multiple sources arrives at network node 23 simultaneously, causing traffic convergence at network node 23, resulting in traffic congestion. Since network node 23 is a terminal network node in the switching network, i.e., a tail-hop node, the control terminal of the switching network can determine that the congestion cause type is terminal network node traffic convergence, and the target path is the entire network transmission path, i.e., path 1-1, path 1-2, path 2-1, and path 2-2. Exemplarily, network node 23 carries congestion marking information in the packets forwarding data packets via path 1-1, path 1-2, path 2-1, and path 2-2, indicating that the congestion cause type is terminal network node traffic convergence (tail-hop incast).
[0055] Figure 7 illustrates a schematic diagram of the traffic congestion scenario four applied in this embodiment of the present disclosure. As shown in Figure 7, the physical link between network node 22-1 and network node 23 in the switching network is interrupted, causing traffic congestion on paths 1-1 and 2-1. The congestion cause type is network load imbalance. Traffic from multiple sources arrives at network node 23 simultaneously, causing traffic congestion on the entire network transmission path, i.e., paths 1-1, 1-2, 2-1, and 2-2. Therefore, the congestion cause types for paths 1-1 and 2-1 include network load imbalance and terminal network node traffic aggregation, while the congestion cause type for paths 1-2 and 2-2 is terminal network node traffic aggregation.
[0056] Furthermore, the receiving end generates congestion notification information based on the congestion labeling information. In one example, the receiving end determines the congestion cause type of the target path based on the congestion labeling information, then decides on the congestion control method for the target path based on the congestion cause type, and generates congestion notification information including the congestion control method. In another example, the congestion notification information generated by the receiving end includes the congestion labeling information, that is, it does not contain information on the congestion control method.
[0057] Please refer to Figure 4 and proceed to step S402: Feed back congestion notification information to the sending end so that the sending end can use the congestion notification information for congestion control.
[0058] In one example, the congestion notification information includes information about the congestion control method. That is, the congestion notification information returned by the receiver to the sender contains information indicating the congestion control method. The sender parses the congestion notification information to determine the congestion control method and then performs congestion control according to that method. In another example, the congestion notification information includes congestion labeling information. The sender parses the congestion labeling information to determine the congestion cause type of the target path. Then, based on the congestion cause type of the target path, it decides on the congestion control method for the target path and performs congestion control according to that method.
[0059] According to the technical solution of this disclosure, the receiving end extracts congestion marking information from the transmitted data packet to generate corresponding congestion notification information and feeds it back to the sending end. Since the congestion marking information not only indicates the existence of congestion but also represents the specific type of congestion cause, the sending end can adopt different congestion control methods for different types of traffic congestion, thereby improving the response speed and control accuracy of congestion control and reducing the risk of misjudgment. Especially in situations with frequent network topology changes or large load fluctuations, it can adjust the transmission strategy promptly and accurately based on the congestion cause type. Furthermore, using the congestion marking information in the packet to represent the congestion cause type simplifies the processing logic, reduces the complexity of congestion control, and facilitates expansion and maintenance.
[0060] Figure 8 shows a flowchart of a congestion control method according to an embodiment of the present disclosure. This method can be applied to network nodes in a switched network, for example, performed by any of the network nodes shown in Figure 3. As shown in Figure 8, the method may include:
[0061] Step S801: Set congestion labeling information for the target path according to the congestion cause type of the target path, wherein the target path is a network transmission path experiencing traffic congestion among multiple network transmission paths, and the congestion labeling information includes a field indicating the congestion cause type. For example, network nodes on the target path can obtain the congestion cause type of the target path from the control terminal of the network node. Alternatively, the control terminal of the network node can notify the network nodes on the target path of the congestion cause type of the target path.
[0062] Step S802: Send a message containing congestion marker information to the receiving end.
[0063] The specific implementation methods and technical effects can be found in the corresponding descriptions above, and will not be repeated here.
[0064] Figure 9 shows a flowchart of a congestion control method according to an embodiment of the present disclosure. This method can be applied to a data transmission sender, such as the sender shown in Figure 3. As shown in Figure 9, the method may include:
[0065] Step S901: Send data packets to the receiving end based on multiple network transmission paths;
[0066] Step S902: Receive congestion notification information. The congestion notification information is generated based on the congestion marking information of the target path. The target path is the network transmission path where traffic congestion occurs among multiple network transmission paths. The congestion marking information is used to indicate the type of congestion cause of the target path.
[0067] Step S903: Use congestion notification information to determine the congestion control method corresponding to the type of congestion cause;
[0068] Step S904: Perform congestion control according to the congestion control method.
[0069] The specific implementation methods and technical effects can be found in the corresponding descriptions above, and will not be repeated here.
[0070] In one implementation, the congestion notification information includes information about the congestion control method. In step S401, generating the congestion notification information based on the congestion labeling information includes: determining the congestion cause type using the congestion labeling information; determining the congestion control method based on the congestion cause type; and generating the congestion notification information based on the congestion control method. Correspondingly, in step S903, determining the congestion control method corresponding to the congestion cause type using the congestion notification information includes: parsing the congestion notification information to determine the congestion control method; and performing congestion control according to the congestion control method.
[0071] For example, the receiving end determines the congestion cause type of the target path based on congestion labeling information. Then, based on the congestion cause type of the target path, it decides on the congestion control method for the target path and generates congestion notification information including the congestion control method. The sending end parses the congestion notification information to determine the congestion control method and then performs congestion control according to that method. The congestion notification information may include information in the form of text or characters to indicate the congestion control method.
[0072] In this implementation, the congestion notification information returned by the receiver to the sender not only indicates the existence of congestion but also directly includes the specific congestion control method. The sender only needs to parse this information to obtain the congestion control method. Therefore, the sender does not need to perform a complex decision-making process; it only needs to follow the specific instructions received. This approach reduces the sender's computational overhead, improves the sender's response speed, and allows the sender to allocate more computing resources to control data transmission, thereby improving resource utilization.
[0073] In one example, determining the congestion control method based on the congestion cause type includes: in response to the congestion cause type being network load imbalance (Fabric congestion), determining the congestion control method as offloading traffic to the target path; furthermore, the congestion notification information includes information for instructing the offloading operation and information for instructing the target path.
[0074] The information used to indicate the traffic splitting operation includes, but is not limited to, text or characters. The information indicating the target path may be the target path's identification information, port information, or information via network nodes, etc., and this disclosure does not specifically limit this. Splitting traffic on the target path may include, for example, reallocating a new network transmission path to carry the traffic of the target path, or reducing the transmission rate of the target path.
[0075] In the traffic congestion scenario shown in Figure 5A, the receiving end receives a message from path 1-2 carrying congestion marking information, indicating that the congestion cause of path 1-2 is network load imbalance. Therefore, the receiving end determines that the congestion control method is to offload the traffic on path 1-2. The generated congestion notification information includes information indicating the offloading operation and information indicating the target path (path 1-2). The sending end parses the congestion notification information to obtain the information indicating the offloading operation and the path 1-2 information, and then offloads the traffic on path 1-2 to alleviate traffic congestion on path 1-2. Similarly, the message from path 2-1 carries congestion marking information, indicating that the congestion cause of path 2-1 is network load imbalance; the receiving end determines that the congestion control method is to offload the traffic on path 2-1, and the generated congestion notification information includes information indicating the offloading operation and information indicating path 2-1; the sending end parses the congestion notification information and offloads the traffic on path 2-1. Similarly, the message for path 2-2 carries congestion labeling information, indicating that the congestion cause for path 2-2 is network load imbalance; the receiving end determines that the congestion control method is to offload the traffic of path 2-2, and the generated congestion notification information includes information for indicating the offloading operation and information for indicating path 2-2; the sending end parses the congestion notification information and offloads the traffic of path 2-2.
[0076] In the traffic congestion scenario 2 shown in Figure 5B, the receiving end receives a message from path 1-1 carrying congestion marking information, indicating that the congestion cause of path 1-1 is network load imbalance. The receiving end determines that the congestion control method is to offload the traffic of path 1-1. The generated congestion notification information includes information for indicating the offloading operation and information for indicating path 1-1. The sending end parses the congestion notification information and offloads the traffic of path 1-1, diverting the traffic of path 1-1 to other idle or low-traffic network transmission paths (not shown in the figure). The receiving end receives a message from path 2-1 carrying congestion marking information, indicating that the congestion cause of path 2-1 is network load imbalance. The receiving end determines that the congestion control method is to offload the traffic of path 2-1. The generated congestion notification information includes information for indicating the offloading operation and information for indicating path 2-1. The sending end parses the congestion notification information and offloads the traffic of path 2-1, diverting the traffic of path 2-1 to other idle or low-traffic network transmission paths (not shown in the figure).
[0077] Based on this, corresponding congestion control methods can be set for congestion scenarios caused by network load imbalance, thereby improving the control accuracy of congestion control.
[0078] In another example, determining the congestion control method based on the congestion cause type includes: in response to the congestion cause type of the target path being terminal network node traffic aggregation (tail hop incast), identifying the terminal network node located on the target path from multiple network nodes; determining the congestion control method as reducing the traffic flow on the network transmission path passing through the terminal network node; and further, the congestion notification information includes information for instructing the traffic reduction operation and information for instructing the scope of the traffic reduction, the scope of which is the network transmission path passing through the terminal network node.
[0079] To address traffic congestion caused by traffic aggregation at terminal network nodes, overall speed reduction is required, which involves slowing down the network transmission paths passing through the terminal network nodes (reducing the transmission rate). For example, the receiving end identifies the terminal network node located on the target path from multiple network nodes, then determines the scope of traffic reduction as the network transmission paths passing through the terminal network node, and subsequently generates congestion notification information. The information indicating the traffic reduction operation includes, but is not limited to, text or characters. The information indicating the scope of traffic reduction can be information indicating the network transmission paths passing through the terminal network node, such as identification information or port information. Alternatively, the information indicating the scope of traffic reduction can be the identification information of the terminal network node, indicating that the traffic reduction scope includes all network transmission paths passing through that terminal network node.
[0080] For example, in the traffic congestion scenario three shown in Figure 6, the receiving end receives a message from path 1-1 carrying congestion marker information, indicating that the congestion cause type of path 1-1 is terminal network node traffic aggregation, thus determining that the terminal network node of path 1-1 is network node 23. The receiving end determines that the congestion control method is to reduce the traffic flow of the network transmission paths (i.e., paths 1-1, 1-2, 2-1, and 2-2) passing through network node 23. Therefore, the generated congestion notification information includes information for indicating the traffic reduction operation and information for indicating the scope of the traffic reduction. The information for indicating the scope of the traffic reduction can be, for example, information that can indicate paths 1-1, 1-2, 2-1, and 2-2, or information about network node 23, indicating that the scope of the traffic reduction is all network transmission paths passing through network node 23.
[0081] Based on this, corresponding congestion control methods can be set for congestion scenarios caused by the convergence of traffic at terminal network nodes, thereby improving the control accuracy of congestion control.
[0082] In another example, determining the congestion control method based on the type of congestion cause includes: in response to the congestion cause type of the target path including network load imbalance and traffic convergence of terminal network nodes, identifying the terminal network nodes located on the target path from multiple network nodes; determining the congestion control method includes diverting traffic on the target path and reducing the traffic speed of the network transmission path passing through the terminal network nodes; furthermore, the congestion notification information includes first indication information and second indication information, the first indication information including information for indicating diversion operation and information for indicating the target path, the second indication information including information for indicating traffic speed reduction operation and information for indicating the traffic speed reduction range, the traffic speed reduction range being the network transmission path passing through the terminal network nodes.
[0083] For example, in the traffic congestion scenario four shown in Figure 7, the receiving end receives congestion labeling information in the messages from path 1-1 and path 2-1, indicating that the congestion cause type is network load imbalance and terminal network node traffic convergence. Therefore, the congestion control method must include both congestion control methods for network load imbalance and congestion control methods for terminal network node traffic convergence. The resulting congestion notification information must include both first indication information (indicating the congestion control method for network load imbalance) and second indication information (indicating the congestion control method for terminal network node traffic convergence). The generation methods for the first and second indication information are described above and will not be repeated here.
[0084] Based on this, corresponding congestion control methods can be set for congestion scenarios caused by multiple factors, thereby improving the control accuracy of congestion control and enriching the application scenarios of congestion control.
[0085] In another implementation, the congestion notification information includes congestion labeling information, which the sending end uses to determine the congestion control method. Further, in step S903, determining the congestion control method corresponding to the congestion cause type using the congestion notification information may include: determining the congestion cause type using the congestion labeling information; and determining the congestion control method based on the congestion cause type.
[0086] In other words, in this implementation, the congestion notification information generated by the receiving end does not include information on the congestion control method. The sending end parses the congestion marking information to determine the congestion cause type of the target path, and then decides on the congestion control method for the target path based on the congestion cause type of the target path, and then performs congestion control according to the congestion control method.
[0087] Because the sending end has stronger computational analysis and decision-making capabilities, and can better observe the overall network transmission situation in complex network environments, the sending end can decide on the congestion control method based on congestion labeling information. This allows for more flexible responses to different types of congestion situations based on specific application scenarios, better adaptation to network topology changes and load fluctuations, and improved system robustness.
[0088] For example, in step S903, the receiving end determines the congestion control method based on the congestion cause type, which may include: in response to the congestion cause type being network load imbalance, determining the congestion control method as traffic diversion on the target path, such as traffic congestion scenario one or traffic congestion scenario two; or, in response to the congestion cause type of the target path being terminal network node traffic aggregation, determining the terminal network node located on the target path from multiple network nodes used to construct multiple network transmission paths, and determining the congestion control method as traffic reduction on the network transmission path passing through the terminal network node, such as traffic congestion scenario three; or, in response to the congestion cause type of the target path including network load imbalance and terminal network node traffic aggregation, determining the terminal network node located on the target path from multiple network nodes, and determining the congestion control method as traffic diversion on the target path and traffic reduction on the network transmission path passing through the terminal network node, such as traffic congestion scenario four.
[0089] The congestion control method for the target path determined by the sending end based on the type of congestion cause of the target path can be implemented in a similar way to that of the receiving end, and will not be elaborated here.
[0090] Example 2
[0091] Explicit Congestion Notification (ECN) allows network nodes to indicate network congestion by setting an ECN field in the Internet Protocol (IP) header of a message when congestion is imminent or has already occurred. In related technologies, the specific encoding methods for ECN are as follows: ECN=00 indicates that ECN is not supported (non-ECN-Capable); ECN=01 indicates that ECN is supported (ECN-Capable) and is encoded using "1"; ECN=10 indicates that ECN is supported (ECN-Capable) and is encoded using "0"; ECN=11 indicates that congestion has occurred on the network transmission path.
[0092] This disclosure provides a congestion control method, and some or all of the application scenarios and technical features in Embodiment 1 can be incorporated into this embodiment. In this embodiment, the message used to transmit data packets includes an ECN field, which includes a first field bit and a second field bit. Further, when the first field bit and / or the second field bit is a first identifier, the ECN field is used to indicate congestion labeling information, that is, there is traffic congestion in the switching network, and the type of congestion cause can be determined based on the ECN field; when the first field bit and the second field bit are a second identifier, the explicit congestion notification field is used to indicate explicit congestion enable, that is, the data packet supports ECN (ECN-Capable).
[0093] The first and second identifiers differ. For example, the first identifier is "1" and the second identifier is "0". Therefore, when the ECN field in a message is set to "00", it indicates congestion enable, i.e., ECN-Capable. In one application example, when the sender, network node, and receiver establish a communication connection, they negotiate the use of ECN. The ECN field in the transport layer protocol message can be set to "00" to indicate congestion enable, signifying that all parties support the use of ECN. In subsequent messages, when the ECN field is set to "01", "10", or "11", it represents congestion labeling information indicating the type of congestion cause.
[0094] In this embodiment of the disclosure, by redefining the encoding method of the ECN field, it can not only indicate the existence of congestion in the switching network, but also indicate the type of congestion cause, thereby enabling targeted congestion control. This method is not only compatible with the current IP protocol, but also simplifies the congestion control logic.
[0095] In one implementation, when the first field bit is a first identifier, the congestion labeling information indicates that the congestion cause type includes network load imbalance (Fabric congestion); when the second field bit is a first identifier, the congestion labeling information indicates that the congestion cause type includes terminal network node traffic aggregation (tail hop incast).
[0096] For example, the first identifier is "1" and the second identifier is "0". Thus, when the ECN field in the message is set to "01", it indicates that the congestion cause type is terminal network node traffic aggregation; when the ECN field in the message is set to "10", it indicates that the congestion cause type is network load imbalance; and when the ECN field in the message is set to "11", it indicates that the congestion cause type is both network load imbalance and terminal network node traffic aggregation.
[0097] Based on this, the ECN field can be used to distinguish between two common congestion types that are easily confused or difficult to differentiate in the switching network, thereby facilitating the quick and accurate determination of the type of congestion cause and the corresponding congestion control method.
[0098] Example 3
[0099] Figure 10 shows a flowchart of a congestion control method according to an embodiment of the present disclosure. This method can be applied to any control terminal of a data transmission system, which can be deployed independently or in a transmitting end, receiving end, or switching network. As shown in Figure 10, the method may include:
[0100] Step S1001: Obtain congestion notification information, wherein the congestion notification information is generated based on the congestion marking information of the target path. The target path is a network transmission path among multiple network transmission paths where traffic congestion occurs. The multiple network transmission paths are used to transmit data packets from the sending end to the receiving end. The congestion marking information is used to indicate the congestion cause type of the target path. The congestion notification information is used to determine the congestion control method corresponding to the congestion cause type.
[0101] For example, congestion notification information can be obtained from network nodes of the switching network or from the receiving end of the data transmission system.
[0102] Step S1002: Use congestion notification information for congestion control.
[0103] For example, the control end of the data transmission system can parse the congestion cause type of the target path based on congestion labeling information, and decide on the congestion control method for the target path based on the congestion cause type. The control end of the data transmission system can adopt a similar implementation method to the receiving end when deciding on the congestion control method for the target path, which will not be described in detail here. Furthermore, the control end of the data transmission system can perform congestion control on the target path based on the congestion control method of the target path. The implementation method of congestion control by the control end of the data transmission system can adopt a similar implementation method to that of congestion control by the sending end, which will not be described in detail here.
[0104] It should be noted that the application scenarios or examples provided in this disclosure are for ease of understanding, and this disclosure does not specifically limit the application of the technical solutions. Furthermore, all information and data involved in this disclosure are authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0105] Corresponding to the application scenarios and devices provided in the embodiments of this disclosure, this disclosure also provides a congestion control device applied at a receiving end. The device includes: a congestion notification information generation module, configured to generate congestion notification information based on congestion marking information of a target path, wherein the target path is a network transmission path experiencing traffic congestion among multiple network transmission paths, the multiple network transmission paths being used to transmit data packets from the sending end to the receiving end, the congestion marking information being used to indicate the congestion cause type of the target path, and the congestion notification information being used to determine a congestion control method corresponding to the congestion cause type; and a congestion notification information feedback module, configured to feed back the congestion notification information to the sending end, so that the sending end can use the congestion notification information for congestion control.
[0106] In one implementation, the congestion notification information includes information about the congestion control method, and the congestion notification information generation module is specifically used to: determine the congestion cause type using the congestion labeling information; determine the congestion control method based on the congestion cause type; and generate the congestion notification information based on the congestion control method.
[0107] In one implementation, the congestion notification information generation module is specifically used to: in response to the congestion cause type being network load imbalance, determine that the congestion control method is to offload traffic to the target path; wherein the congestion notification information includes information for indicating the offloading operation and information for indicating the target path.
[0108] In one implementation, the plurality of network transmission paths are constructed by a plurality of network nodes in a switching network. The congestion notification information generation module is specifically used to: in response to the congestion cause type of the target path being terminal network node traffic aggregation, determine the terminal network node located on the target path from the plurality of network nodes; determine the congestion control method as reducing the traffic flow of the network transmission path passing through the terminal network node; wherein, the congestion notification information includes information for indicating the traffic reduction operation and information for indicating the traffic reduction range, the traffic reduction range being the network transmission path passing through the terminal network node.
[0109] In one implementation, the plurality of network transmission paths are constructed by a plurality of network nodes in a switching network. The congestion notification information generation module is specifically used to: determine the terminal network node located on the target path from the plurality of network nodes in response to the congestion cause type of the target path including network load imbalance and terminal network node traffic convergence; determine the congestion control method including traffic diversion on the target path and traffic reduction on the network transmission path passing through the terminal network node; wherein, the congestion notification information includes first indication information and second indication information, the first indication information including information for indicating diversion operation and information for indicating the target path, the second indication information including information for indicating traffic reduction operation and information for indicating the traffic reduction range, the traffic reduction range being the network transmission path passing through the terminal network node.
[0110] In one implementation, the congestion notification information includes the congestion labeling information, so that the sending end can use the congestion labeling information to determine the congestion control method.
[0111] In one embodiment, the message used to transmit the data packet includes an explicit congestion notification field, the explicit congestion notification field including a first field bit and a second field bit. When the first field bit and / or the second field bit is a first identifier, the explicit congestion notification field is used to indicate the congestion marking information. When the first field bit and the second field bit are a second identifier, the explicit congestion notification field is used to indicate the explicit congestion function, wherein the first identifier and the second identifier are different.
[0112] In one implementation, when the first field bit is the first identifier, the congestion labeling information indicates that the congestion cause type includes network load imbalance; when the second field bit is the first identifier, the congestion labeling information indicates that the congestion cause type includes terminal network node traffic aggregation.
[0113] Corresponding to the application scenarios and devices provided in the embodiments of this disclosure, this disclosure also provides a congestion control device applied to network nodes in a switched network. Multiple network nodes are used to construct multiple network transmission paths, which are used to transmit data packets from a sending end to a receiving end. The device includes: a congestion labeling information setting module, used to set congestion labeling information for a target path according to the congestion cause type of the target path, wherein the target path is a network transmission path among the multiple network transmission paths where traffic congestion occurs, and the congestion labeling information includes a field indicating the congestion cause type; and a message sending module, used to send a message containing the congestion labeling information to the receiving end via the target path.
[0114] Corresponding to the application scenarios and devices provided in the embodiments of this disclosure, this disclosure also provides a congestion control device applied at a sending end. The device includes: a data packet sending module for sending data packets to a receiving end based on multiple network transmission paths; a congestion notification information receiving module for receiving congestion notification information, wherein the congestion notification information is generated based on congestion marking information of a target path, the target path being a network transmission path among the multiple network transmission paths where traffic congestion occurs, and the congestion marking information indicating the congestion cause type of the target path; a congestion control mode determination module for determining a congestion control mode corresponding to the congestion cause type using the congestion notification information; and a congestion control module for performing congestion control according to the congestion control mode.
[0115] In one implementation, the congestion notification information includes the congestion labeling information, and the congestion control method determination module is specifically used to: in response to the congestion cause type being network load imbalance, determine the congestion control method as traffic diversion on the target path; or, in response to the congestion cause type of the target path being terminal network node traffic aggregation, determine the terminal network node located on the target path from the multiple network nodes used to construct the multiple network transmission paths, and determine the congestion control method as traffic reduction on the network transmission path passing through the terminal network node; or, in response to the congestion cause type of the target path including network load imbalance and terminal network node traffic aggregation, determine the terminal network node located on the target path from the multiple network nodes, and determine the congestion control method as including traffic diversion on the target path and traffic reduction on the network transmission path passing through the terminal network node.
[0116] Corresponding to the application scenarios and devices provided in the embodiments of this disclosure, this disclosure also provides a congestion control device applied to a data transmission system. This device may include: a congestion notification information acquisition module, used to acquire congestion notification information, wherein the congestion notification information is generated based on congestion marking information of a target path, the target path being a network transmission path among multiple network transmission paths where traffic congestion occurs, the multiple network transmission paths being used to transmit data packets from the sending end to the receiving end, the congestion marking information being used to indicate the congestion cause type of the target path, and the congestion notification information being used to determine the congestion control method corresponding to the congestion cause type; and a congestion control module, used to perform congestion control using the congestion notification information.
[0117] The functions of each module in the apparatus of this embodiment can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.
[0118] Figure 11 is a block diagram of an electronic device used to implement embodiments of the present disclosure. As shown in Figure 11, the electronic device includes a memory 1101 and a processor 1102. The memory 1101 stores a computer program that can run on the processor 1102. When the processor 1102 executes the computer program, it implements the methods in the above embodiments. The number of memories 1101 and processors 1102 can be one or more. In a specific implementation, the electronic device may also include a communication interface 1103 for communicating with external devices and performing data exchange and transmission.
[0119] In practical implementation, if the memory 1101, processor 1102, and communication interface 1103 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in Figure 11, but this does not indicate that there is only one bus or one type of bus.
[0120] Optionally, in a specific implementation, if the memory 1101, processor 1102, and communication interface 1103 are integrated on a single chip, then the memory 1101, processor 1102, and communication interface 1103 can communicate with each other through an internal interface.
[0121] This disclosure provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods provided in this disclosure.
[0122] This disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the methods provided in this disclosure.
[0123] This disclosure also provides a chip including a processor for calling and executing instructions stored in a memory, causing a communication device on which the chip is installed to perform the methods provided in this disclosure.
[0124] This disclosure also provides a chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the method provided in the application embodiment.
[0125] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting Advanced Reduced Instruction Set Machines (ARM) architecture.
[0126] Further, optionally, the aforementioned memory may include read-only memory and random access memory. The memory may be volatile memory or non-volatile memory, or may include both. Non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available. Examples include Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).
[0127] In the above embodiments, implementation can be achieved, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to this disclosure are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.
[0128] In the description of this disclosure, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this disclosure. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this disclosure, as well as the features of those different embodiments or examples.
[0129] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means two or more, unless otherwise explicitly specified.
[0130] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process. Furthermore, the scope of the preferred embodiments of this disclosure includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functionality involved.
[0131] The logic and / or steps described in the flowchart or otherwise herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).
[0132] It should be understood that various parts of this disclosure can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware, the program being stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiments.
[0133] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. This storage medium can be a read-only memory, a disk, or an optical disk, etc.
[0134] The above description is merely an exemplary embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any person skilled in the art can easily conceive of various variations or substitutions within the technical scope described in this disclosure, and these should all be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.
Claims
1. A congestion control method applied at a receiving end, the method comprising: Congestion notification information is generated based on the congestion marking information of the target path, wherein the target path is a network transmission path among multiple network transmission paths where traffic congestion occurs, the multiple network transmission paths are used to transmit data packets from the sending end to the receiving end, the congestion marking information is used to indicate the congestion cause type of the target path, and the congestion notification information is used to determine the congestion control method corresponding to the congestion cause type. The congestion notification information is fed back to the sending end so that the sending end can use the congestion notification information for congestion control.
2. The method according to claim 1, wherein, The congestion notification information includes information about the congestion control method. Generating the congestion notification information based on the congestion marking information of the target path includes: The congestion cause type is determined using the congestion labeling information; The congestion control method is determined based on the type of congestion cause; The congestion notification information is generated based on the congestion control method.
3. The method according to claim 2, wherein, Determining the congestion control method based on the congestion cause type includes: In response to the congestion cause being network load imbalance, the congestion control method is determined to be traffic offloading of the target path; The congestion notification information includes information for instructing diversion operations and information for instructing the target path.
4. The method according to claim 2, wherein, The multiple network transmission paths are constructed by multiple network nodes in the switching network, and determining the congestion control method based on the congestion cause type includes: In response to the congestion cause type of the target path being terminal network node traffic aggregation, the terminal network node located on the target path is determined from the plurality of network nodes; The congestion control method is determined to be to reduce the traffic flow of the network transmission path passing through the terminal network node; The congestion notification information includes information for instructing traffic reduction operations and information for instructing the range of traffic reduction, wherein the range of traffic reduction is the network transmission path passing through the terminal network node.
5. The method according to claim 2, wherein, The multiple network transmission paths are constructed by multiple network nodes in the switching network, and determining the congestion control method based on the congestion cause type includes: In response to congestion causes along the target path, including network load imbalance and terminal network node traffic convergence, the terminal network nodes located on the target path are determined from the plurality of network nodes. The congestion control method includes diverting traffic on the target path and reducing the traffic speed on network transmission paths passing through the terminal network nodes. The congestion notification information includes first indication information and second indication information. The first indication information includes information for indicating a traffic splitting operation and information for indicating the target path. The second indication information includes information for indicating a traffic reduction operation and information for indicating the traffic reduction range. The traffic reduction range is the network transmission path passing through the terminal network node.
6. The method according to claim 1, wherein, The congestion notification information includes the congestion label information, which the sending end uses to determine the congestion control method.
7. The method according to any one of claims 1 to 6, wherein, The message used to transmit the data packet includes an explicit congestion notification field, which includes a first field bit and a second field bit. When the first field bit and / or the second field bit is a first identifier, the explicit congestion notification field is used to indicate the congestion marking information. When the first field bit and the second field bit are a second identifier, the explicit congestion notification field is used to indicate explicit congestion enable. The first identifier and the second identifier are different.
8. The method according to claim 7, wherein, When the first field bit is the first identifier, the congestion labeling information indicates that the congestion cause type includes network load imbalance; when the second field bit is the first identifier, the congestion labeling information indicates that the congestion cause type includes terminal network node traffic aggregation.
9. A congestion control method applied to network nodes in a switched network, wherein multiple network nodes are used to construct multiple network transmission paths, the multiple network transmission paths being used to transmit data packets from a sending end to a receiving end, the method comprising: Congestion labeling information is set for the target path according to the congestion cause type of the target path, wherein the target path is a network transmission path that has traffic congestion among multiple network transmission paths, and the congestion labeling information includes a field indicating the congestion cause type; Send a message containing the congestion marker information to the receiving end.
10. The method according to claim 9, wherein, The method further includes: Obtain the congestion cause type of the target path from the control terminal of the network node.
11. A congestion control method applied at a transmitting end, the method comprising: Data packets are sent to the receiving end based on multiple network transmission paths; Receive congestion notification information, which is generated based on congestion marking information of a target path, wherein the target path is a network transmission path among multiple network transmission paths where traffic congestion has occurred, and the congestion marking information is used to indicate the type of congestion cause of the target path; The congestion control method corresponding to the congestion cause type is determined using the congestion notification information; Congestion control is performed according to the congestion control method described above.
12. The method of claim 11, wherein, The step of determining the congestion control method corresponding to the congestion cause type using the congestion notification information includes: In response to the congestion cause type being network load imbalance, the congestion control method is determined to be traffic diversion on the target path; or, in response to the congestion cause type of the target path being terminal network node traffic aggregation, the terminal network node located on the target path is determined from the multiple network nodes used to construct the multiple network transmission paths, and the congestion control method is determined to be traffic reduction on the network transmission path passing through the terminal network node; or, in response to the congestion cause type of the target path including network load imbalance and terminal network node traffic aggregation, the terminal network node located on the target path is determined from the multiple network nodes, and the congestion control method includes traffic diversion on the target path and traffic reduction on the network transmission path passing through the terminal network node.
13. A data transmission method, comprising: Obtain congestion notification information, wherein the congestion notification information is generated based on the congestion marking information of the target path, the target path being a network transmission path among multiple network transmission paths where traffic congestion occurs, the multiple network transmission paths being used to transmit data packets from the sending end to the receiving end, the congestion marking information being used to indicate the congestion cause type of the target path, and the congestion notification information being used to determine the congestion control method corresponding to the congestion cause type; Congestion control is performed using the congestion notification information.
14. A data transmission system, comprising a transmitting end, a switching network, and a receiving end, wherein the switching network includes multiple network nodes, the multiple network nodes being used to construct multiple network transmission paths, the multiple network transmission paths being used to transmit data packets from the transmitting end to the receiving end, wherein... The transmitting end is used to implement the method of claim 11 or 12, the network node is used to implement the method of claim 9 or 10, and the receiving end is used to implement the method of any one of claims 1 to 8.
15. A congestion control device applied at a receiving end, the device comprising: A congestion notification information generation module is used to generate congestion notification information based on congestion marking information of a target path. The target path is a network transmission path among multiple network transmission paths where traffic congestion occurs. The multiple network transmission paths are used to transmit data packets from the sending end to the receiving end. The congestion marking information is used to indicate the congestion cause type of the target path. The congestion notification information is used to determine the congestion control method corresponding to the congestion cause type. The congestion notification information feedback module is used to feed back the congestion notification information to the sending end so that the sending end can use the congestion notification information for congestion control.
16. A congestion control device applied to network nodes in a switched network, wherein multiple network nodes are used to construct multiple network transmission paths, the multiple network transmission paths being used to transmit data packets from a sending end to a receiving end, the device comprising: A congestion labeling information setting module is used to set congestion labeling information for a target path according to the congestion cause type of the target path, wherein the target path is a network transmission path that experiences traffic congestion among multiple network transmission paths, and the congestion labeling information includes a field indicating the congestion cause type; The message sending module is used to send a message containing the congestion marker information to the receiving end via the target path.
17. A congestion control device, applied at a transmitting end, the device comprising: The data packet sending module is used to send data packets to the receiving end based on multiple network transmission paths; A congestion notification information receiving module is used to receive congestion notification information, which is generated based on congestion marking information of a target path. The target path is a network transmission path among multiple network transmission paths where traffic congestion has occurred. The congestion marking information is used to indicate the type of congestion cause of the target path. The congestion control method determination module is used to determine the congestion control method corresponding to the congestion cause type using the congestion notification information; the congestion control module is used to perform congestion control according to the congestion control method.
18. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method of any one of claims 1 to 13.
19. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the method of any one of claims 1 to 13.
20. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 13.