Network communication system and method, device, storage medium, and program product

By using control nodes in the network communication system for global path planning and target marking mechanism, the hash polarization problem under the ECMP strategy is solved, and bandwidth utilization and network communication efficiency are improved.

CN119420689AActive Publication Date: 2025-02-11ALIBABA CLOUD FEITIAN (HANGZHOU) CLOUD COMPUTING TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202510007044.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-02
Publication Date
2025-02-11
Estimated Expiration
2045-01-02

AI Technical Summary

Technical Problem

In the prior art, multipath equivalent routing (ECMP) strategies are prone to hash polarization problems in network communication across computing nodes, resulting in path congestion and bandwidth utilization decreases.

Method used

By introducing control nodes into the network communication system, global path planning is carried out from multiple paths based on the communication relationship and topological relationship between the computing nodes, the most suitable path is selected, and the network nodes are notified to forward data through the target marking mechanism.

Benefits of technology

This solution effectively reduces path blocking, improves bandwidth utilization, solves hash polarization problem, and improves the efficiency and effectiveness of network communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119420689A_ABST
    Figure CN119420689A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a network communication system and method, equipment, a storage medium and a program product. The network communication system comprises a plurality of computing nodes, a control node and a data forwarding system, the data forwarding system comprises a plurality of network nodes of a first level and a plurality of network nodes of a second level. The computing node has a connection relationship with the network node of the first level, and the network node of the first level has a connection relationship with the network node of the second level; the control node determines a plurality of paths according to the communication relationship and the topological relationship, performs path planning to determine a first path and notifies the second network node; the second network node sets a target mark for a target route matched with the first path and notifies the first network node; and the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path indicated by the target mark and then forwards the target data to the second computing node. According to the scheme of the embodiment of the invention, the bandwidth utilization rate is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of network communications, and in particular, to a network communication system and method, device, storage medium, and program product. Background Art

[0002] In order to meet the needs of large-scale data processing, a network architecture across computing nodes came into being. Under this network architecture, multiple computing nodes collaborate to process data through computing power coordination and resource scheduling, greatly improving data processing efficiency.

[0003] In the process of collaborative data processing, data transmission between different computing nodes is usually involved. Different computing nodes forward data through a data forwarding system, and there are usually multiple paths between one computing node and another. In the prior art, the ECMP (Equal-Cost Multipath Routing) strategy is used to select paths from multiple paths. However, this path selection method is prone to hash polarization problems, which leads to a series of problems such as path congestion and reduced bandwidth utilization. Summary of the invention

[0004] The embodiments of the present application provide a network communication system and method, device, storage medium and program product to solve the problem of hash polarization in the prior art, aiming to reduce path congestion and improve bandwidth utilization.

[0005] In a first aspect, the present application provides a network communication system, comprising a plurality of computing nodes, a control node, and a data forwarding system; the data forwarding system comprises a plurality of network nodes at a first level and a plurality of network nodes at a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes at the first level, and the plurality of network nodes at the first level are connected to the plurality of network nodes at the second level; The control node is used to determine multiple paths involved between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first layer respectively; perform path planning from the multiple paths to determine a first path, and notify the second network node of the first layer connected to the second computing node of the first path; The second network node is configured to set a target tag for a target route matched by the first path, and notify a first network node of the first layer connected to the first computing node of the target tag corresponding to the target route; The first computing node is used to send the target data to the first network node; The first network node is used to determine that when the target data matches the target route, send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node.

[0006] In a second aspect, the present application provides a network communication method, which is applied to a control node in a network communication system, wherein the network communication system further includes a plurality of computing nodes and a data forwarding system; the data forwarding system includes a plurality of network nodes at a first level and a plurality of network nodes at a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes at the first level, and the plurality of network nodes at the first level are connected to the plurality of network nodes at the second level; The method comprises: Determine multiple paths involved between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first layer respectively; performing path planning to determine a first path from among the plurality of paths; Notify the second network node of the first layer connected to the second computing node of the first path, so that the second network node can set a target tag for the target route matched by the first path, and notify the first network node of the first layer connected to the first computing node of the target tag corresponding to the target route, wherein the target tag is used for the first network node to determine that target data matches the target route, and then send the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node, and the target data is sent from the first computing node to the first network node.

[0007] In a third aspect, the present application provides a network communication method, which is applied to a first network node of a first level in a network communication system; the network communication system includes multiple computing nodes, a control node, and a data forwarding system; the data forwarding system includes multiple network nodes of the first level and multiple network nodes of the second level; wherein the multiple computing nodes have a connection relationship with the multiple network nodes of the first level, and the multiple network nodes of the first level have a connection relationship with the multiple network nodes of the second level; The method comprises: Receiving target data sent by the first computing node; When it is determined that the target data matches the target route, the target data is sent to the second network node of the first layer through the third network node of the second layer according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node; Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node, the multiple paths are determined by the control node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively, the target tag is set by the second network node for the target route matched by the first path, and the target tag corresponding to the target route is notified to the first network node.

[0008] In a fourth aspect, the present application provides a network communication method, applied to a second network node of a first level in a network communication system; the network communication system includes a plurality of computing nodes, a control node, and a data forwarding system; the data forwarding system includes a plurality of network nodes of a first level and a plurality of network nodes of a second level; wherein the plurality of computing nodes have a connection relationship with the plurality of network nodes of the first level, and the plurality of network nodes of the first level have a connection relationship with the plurality of network nodes of the second level; The method comprises: Receive a first path sent by the control node; wherein the first path is obtained by path planning from multiple paths, and the multiple paths are determined according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively; Setting a target tag for a target route matched by the first path; Notifying the first network node of the first layer connected to the first computing node of the target tag corresponding to the target route, so that the first network node can send the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag when determining that the target data matches the target route; wherein the target data is sent from the first computing node to the first network node; receiving the target data sent by the third network node; The target data is forwarded to the second computing node.

[0009] In a fifth aspect, the present application provides a network communication method, applied to a first computing node in a network communication system; the network communication system includes multiple computing nodes, a control node, and a data forwarding system; the data forwarding system includes multiple network nodes at a first level and multiple network nodes at a second level; wherein the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level; The method comprises: Sending the target data to the connected first network node, for the first network node to determine that the target data matches the target route, and then sending the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node; Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node, and the multiple paths are determined by the control node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively; the target tag is set by the second network node for the target route matched by the first path, and the target tag corresponding to the target route is notified to the first network node.

[0010] In a sixth aspect, the present application provides a computing device comprising a storage component and a processing component; the storage component stores one or more computer program instructions, the computer program instructions are called and executed by the processing component, and the processing component executes the one or more computer program instructions to implement the network communication method as described in any one of the second aspect to the fifth aspect.

[0011] In a seventh aspect, the present application provides a computer-readable storage medium storing a computer program, wherein the computer program is executed by a computer to implement the network communication method as described in any one of the second aspect to the fifth aspect.

[0012] In an eighth aspect, the present application provides a computer program product storing a computer program, which, when executed by a computer, implements the network communication method as described in any one of the second aspect to the fifth aspect.

[0013] The network communication system provided by the solution of the embodiment of the present application includes multiple computing nodes, a control node and a data forwarding system, wherein the data forwarding system includes multiple network nodes of the first level and multiple network nodes of the second level, wherein the multiple computing nodes have a connection relationship with the multiple network nodes of the first level, and the multiple network nodes of the first level have a connection relationship with the multiple network nodes of the second level. Specifically, the control node can determine the multiple paths involved between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and the multiple network nodes of the first level respectively, perform path planning from the multiple paths to determine the first path, and notify the second network node of the first level connected to the second computing node of the first path; the second network node can set a target tag for the target route matched by the first path, and notify the first network node of the first level connected to the first computing node of the target tag corresponding to the target route; the first network node can receive the target data sent by the first computing node, and when determining that the target data matches the target route, send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag, so that the second network node forwards it to the second computing node. By selecting the first path through path planning by the control node from multiple paths involved between the first computing node and the second computing node having a communication relationship, the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path, and the communication process is forwarded by the second network node to the second computing node. By determining the forwarding path in the data forwarding system through path planning by the control node, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving network communication effects. In addition, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the target tag, the first network node performs the above communication process according to the first path indicated by the target tag when determining that the target data matches the target route, without modifying the target data, so that the target data transmission and path planning can be carried out simultaneously, improving the path planning efficiency, and thus improving the network communication efficiency.

[0014] These and other aspects of the present application will become more clearly understood in the description of the following embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0016] Figure 1 A schematic diagram showing the structure of an embodiment of a network communication system provided by the present application is shown; Figure 2 A schematic diagram showing the topological relationship between a computing node and a data forwarding system in a practical application is shown; Figure 3 A flowchart of an embodiment of a network communication method provided by the present application is shown; Figure 4 A flowchart showing another embodiment of a network communication method provided by the present application is shown; Figure 5 A flowchart of another embodiment of a network communication method provided by the present application is shown; Figure 6 A schematic diagram of a scenario of data transmission based on a network communication system in an actual application is shown; Figure 7 A schematic diagram showing the structure of an embodiment of a network communication device provided by the present application is shown; Figure 8 A schematic diagram showing the structure of another embodiment of a network communication device provided by the present application is shown; Fig. 9 A schematic diagram showing the structure of another embodiment of a network communication device provided by the present application is shown; Fig.10 A schematic diagram of the structure of an embodiment of a computing device provided by the present application is shown. DETAILED DESCRIPTION

[0017] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.

[0018] In some of the processes described in the specification and claims of this application and the above-mentioned figures, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or executed in parallel. The serial numbers of the operations, such as 301, 302, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., do not represent the order of precedence, and do not limit the "first" and "second" to different types.

[0019] The technical solution of the embodiment of the present application can be applied to communication scenarios across computing nodes, especially cross-computing node communication scenarios with the characteristics of "large flow and few flow", such as cross-computing node communication scenarios when performing distributed training of machine learning models. The so-called "large flow and few flow" means that the number of data flows communicating across computing nodes is small, but the bandwidth resources occupied are large. Taking the distributed training of large-scale language models as an example, a training task of the model usually needs to be decomposed into multiple subtasks, and the training is completed collaboratively on multiple computing nodes with the help of computing resources such as GPUs (Graphics Processing Units) of multiple computing nodes. During distributed training, training data such as model parameters, gradient information, intermediate training results, etc. need to be exchanged between different computing nodes to ensure the consistency and accuracy of the model. In this data exchange process, the data transmitted between different computing nodes has the characteristics of small quantity but large bandwidth resources, that is, "large flow and few flow".

[0020] For cross-computing node communication scenarios with the characteristics of "large flow and small flow", hash polarization problems will easily occur when the traditional ECMP strategy is used for path planning. Specifically, ECMP (Equal-Cost Multipath Routing) is a routing strategy that means that when there are multiple equal-cost paths to the destination in the network, data flows are dispersed to these paths through HASH algorithms to achieve load balancing. However, when planning paths for data transmission with the characteristics of "large flow and small flow", it is easy for a few paths to occupy a large amount of bandwidth resources, resulting in path congestion, while the bandwidth of the remaining paths is not used, resulting in a decrease in bandwidth utilization. This is called hash polarization, which has a great impact on communication effects and efficiency.

[0021] In order to solve the hash polarization problem, the inventors thought of changing the source port of the data (a field in the data packet used to identify the program or process that sends the data packet) to perform path planning. However, this path planning method is more complicated to implement, and because it involves changing the fields in the data packet, it is necessary to wait for the path planning to be completed before communication can be carried out, which is inefficient.

[0022] In order to solve the hash polarization problem and realize path selection without modifying the data packet, the inventor proposed the technical solution of the present application after a series of innovative thinking. The network communication system includes multiple computing nodes, a control node and a data forwarding system; the data forwarding system includes multiple network nodes of a first level and multiple network nodes of a second level; wherein the multiple computing nodes have a connection relationship with the multiple network nodes of the first level, and the multiple network nodes of the first level have a connection relationship with the multiple network nodes of the second level; the control node is used to determine the topological relationship between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and the multiple network nodes of the first level respectively. multiple paths involved between the two nodes; performing path planning from the multiple paths to determine a first path, and notifying the second network node of the first level connected to the second computing node of the first path; the second network node is used to set a target tag for a target route matched by the first path, and notify the first network node of the first level connected to the first computing node of the target tag corresponding to the target route; the first computing node is used to send target data to the first network node; the first network node is used to determine that when the target data matches the target route, send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node.

[0023] By selecting the first path through path planning by the control node from multiple paths involved between the first computing node and the second computing node having a communication relationship, the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path, and the communication process is forwarded by the second network node to the second computing node. By determining the forwarding path in the data forwarding system through path planning by the control node, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving network communication effects. In addition, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the target tag, the first network node performs the above communication process according to the first path indicated by the target tag when determining that the target data matches the target route, without modifying the target data, so that the target data transmission and path planning can be carried out simultaneously, improving the path planning efficiency, and thus improving the network communication efficiency.

[0024] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0025] It should be noted that the embodiments of the present application may involve the use of user data. In actual applications, user-specific personal data can be used in the scheme described herein within the scope permitted by applicable laws and regulations, subject to the requirements of applicable laws and regulations of the country where the user is located (for example, with the user's explicit consent, effective notification to the user, etc.).

[0026] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0027] It should be noted that the technical solution of the embodiment of the present application is applicable to a network virtual environment. The users described generally refer to "virtual users". Real users can register a user account in the server through registration to obtain a user identity in the network environment.

[0028] like Figure 1 , which is a schematic diagram of the structure of an embodiment of a network communication system provided by the present application, the system may include a control node 101, multiple computing nodes 102, and a data forwarding system.

[0029] The data forwarding system may include a plurality of network nodes 1031 of the first level and a plurality of network nodes 1032 of the second level, a plurality of computing nodes 102 are connected to a plurality of network nodes 1031 of the first level, and a plurality of network nodes 1031 of the first level are connected to a plurality of network nodes 1032 of the second level. Generally, the path between a computing node and a network node of the first level is fixed, and when a computing node accesses another computing node, there are multiple paths between a network node of the first level connected to a computing node and a network node of the first level connected to another computing node, which need to be selected. In the embodiment of the present application: The control node 101 can be used to determine multiple paths involved between the first computing node and the second computing node based on the communication relationship between the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively, and perform path planning from the multiple paths to determine the first path, and notify the second network node of the first level connected to the second computing node of the first path.

[0030] The second network node may be used to set a target tag for a target route matched by the first path, and notify the first network node of the first level connected to the first computing node of the target tag corresponding to the target route.

[0031] The first computing node can be used to send target data to the first network node.

[0032] The first network node can be used to determine that the target data matches the target route, and send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node.

[0033] In the embodiment of the present application, the control node may refer to a control system for performing path planning, which may be implemented based on SDN (Software-Defined Networking). In an actual application, the control node may be an SDN controller.

[0034] A computing node can refer to the basic unit in a distributed computing architecture, which can be a physical server, a virtual machine, or a container. Each computing node can have independent computing resources, such as a GPU (Graphics Processing Unit), a CPU (Central Processing Unit), etc. It can have its own processor, memory, and storage device to efficiently perform various computing tasks. In an actual application, a computing node can be a physical server.

[0035] The data forwarding system may refer to a network architecture that transmits data from one computing node to another computing node to realize cross-computing node communication. In the embodiment of the present application, the data forwarding system includes a two-level network topology structure, each level may include multiple network nodes. The network node may be a network device for data transmission and forwarding, such as a switch or a router.

[0036] Specifically, multiple network nodes at the first level are connected to multiple network nodes at the second level, multiple network nodes at the first level are connected to multiple computing nodes, two computing nodes are not connected to each other, and two network nodes at the first level are not connected to each other. Therefore, a computing node communicates with another computing node specifically through a network node at the first level connected to it, a network node at the second level, and another network node at the first level.

[0037] In an actual application, the data forwarding system can be a spine-leaf architecture (leaf-spine network architecture). The spine-leaf architecture is a network topology composed of two data exchange layers, the spine layer and the leaf layer. The leaf layer includes multiple leaf switches (leaf switches), which are multiple network nodes at the first level and have a connection relationship with multiple computing nodes. The spine layer includes multiple spine switches (spine switches), which are multiple network nodes at the second level and have a connection relationship with multiple leaf switches. On this basis, a computing node specifically communicates with another computing node through the leaf switch connected to it, through the spine switch, and then through another leaf switch.

[0038] For ease of description, two computing nodes having a communication relationship are respectively referred to as a first computing node and a second computing node, wherein the communication relationship of the first computing node accessing the second computing node refers to data being transmitted from the first computing node to the second computing node. The first computing node may refer to any computing node, the second computing node refers to the second computing node that the first computing node needs to access, the first network node refers to a network node of the first level connected to the first computing node, and the second network node refers to a network node of the first level connected to the second computing node.

[0039] Optionally, before performing path planning, the control node can also be used to obtain the communication relationship between multiple computing nodes and the topological relationship between multiple computing nodes and multiple network nodes of the first level. The communication relationship can be determined based on the actual computing task, which will be explained in the subsequent embodiments, and the topological relationship represents the connection relationship between the computing node and the network node of the first level.

[0040] When performing path planning, the control node can determine the first network node of the first level connected to the first computing node based on the topological relationship between the first computing node and the multiple network nodes of the first level, and correspondingly, can determine the second network node of the first level connected to the second computing node based on the topological relationship between the second computing node and the multiple network nodes of the first level. Moreover, in combination with the connection relationship between the first network node and the second network node and the multiple network nodes of the second level, multiple paths can be determined for the first computing node to communicate with the second computing node through the first network node, the multiple network nodes of the second level, and the second network node.

[0041] Furthermore, the control node may perform path planning from multiple paths to determine the first path, and notify the second network node, that is, the network node to which the accessed second computing node is connected, of the determined first path. Path planning may be implemented in a variety of ways, which will be described in detail in subsequent embodiments and will not be described here.

[0042] After the second network node receives the first path sent by the control node, it can set a target tag for the target route that matches the first path. The target tag can uniquely identify the first path, and it can be in any coding form such as Arabic numerals or letters, etc., which is not limited in this application. In an embodiment of the present application, routing refers to the path information of the data packet from the source address to the destination address, which may include destination information such as the destination address, mask, interface, and next hop address. In other words, the second network node can set a target tag for the destination information that hits the first path, and notify the first network node of the target tag corresponding to the target route. The path includes information such as the destination address and interface, which matches the destination address or interface in the route, and it can be considered to hit the route.

[0043] The first network node can receive target data sent by the first computing node, and determine, based on the destination address in the quintuple information of the target data, if it matches the target route, send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node, thereby realizing communication between the first computing node and the second computing node.

[0044] In this embodiment, the control node selects the first path from multiple paths involved between the first computing node and the second computing node having a communication relationship through path planning, so as to realize the communication process in which the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path, and the second network node forwards the target data to the second computing node. The forwarding path in the data forwarding system is determined by the control node through path planning, and the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving network communication effect. In addition, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the target tag, the first network node performs the above communication process according to the first path indicated by the target tag when determining that the target data matches the target route, without modifying the target data, so that the target data transmission and path planning can be carried out simultaneously, thereby improving the path planning efficiency, and thus improving the network communication efficiency.

[0045] In order to further improve the network communication effect, in some embodiments, the connection relationship between the plurality of computing nodes and the plurality of network nodes of the first level may include: A network interface of a computing node is connected to a downlink interface of a network node of the first level.

[0046] The plurality of network nodes at the first level and the plurality of network nodes at the second level having a connection relationship may include: An uplink interface of a network node at the first level is connected to a network node at the second level, and a network node at the second level is connected to an uplink interface of a network node at the first level.

[0047] In this embodiment, a computing node may include one or more network interfaces. Taking the computing node as a physical server as an example, the network interface may refer to a network card. A network interface may be connected to a downlink interface of a network node of the first level. In other words, when a computing node includes multiple network interfaces, a computing node may be connected to a network node of the first level, or may be connected to multiple network nodes of the first level, and this application does not limit this.

[0048] It can be understood that, when a computing node includes multiple network interfaces, the communication relationship of a computing node accessing another computing node refers to a network interface in a computing node accessing a network interface in another computing node. A network node at the first level may include multiple downlink interfaces, and a network interface of a computing node may be fixedly connected to a downlink interface of a network node at the first level. The topological relationship between a computing node and multiple network nodes at the first level also refers to the connection relationship between a network interface of a computing node and a downlink interface of a network node.

[0049] A network node at the first level may include multiple uplink interfaces, and the number of uplink interfaces may be consistent with the number of network nodes at the second level, so that each uplink interface is uniquely connected to a network node at the second level, and each network node at the second level is uniquely connected to an uplink interface. Taking the network node as a switch as an example, the uplink interface and the downlink interface may refer to ports, i.e., physical interfaces.

[0050] For ease of understanding, let's take the spine-leaf architecture of the data forwarding system as an example. Figure 2 A schematic diagram showing the topological relationship between computing nodes and data forwarding system in an actual application is shown. Figure 2As shown, two computing nodes having a communication relationship, the first computing node 21 and the second computing node 22 are used as examples for explanation. Each computing node includes 8 network interfaces, and the computing node is connected to the downlink interface (not shown) of the leaf switch through the 8 network interfaces. For example, each network interface of the first computing node 21 is connected to a downlink interface of the leaf switch 1, and each network interface of the second computing node 22 is connected to a downlink interface of the leaf switch 2. Each leaf switch includes 64 uplink interfaces, namely uplink interface 1, uplink interface 2,..., uplink interface 64. The spine layer includes 64 spine switches, namely spine switch 1, spine switch 2,..., spine switch 64. Each leaf switch is connected to a spine switch one by one through 64 uplink interfaces, wherein uplink interface 1 is connected to spine switch 1, uplink interface 2 is connected to spine switch 2,..., uplink interface 64 is connected to spine switch 64.

[0051] By adopting a topology structure in which multiple network nodes of the first level converge with multiple network nodes of the second level in a 1:1 manner, that is, a topology structure in which multiple uplink interfaces in a network node of the first level are respectively connected one-to-one with a network node of the second level, the network communication performance in the data forwarding system is improved, and the network communication effect and efficiency across computing nodes are further improved.

[0052] The path planning process is described below.

[0053] In some embodiments, the control node performs path planning from multiple paths to determine a first path, and notifies the second network node of the first level connected to the second computing node of the first path may include: The control node selects a first path that meets the load requirement from the multiple paths, and notifies a second network node of the first level connected to the second computing node of the first path and a target tag corresponding to the first path.

[0054] Optionally, selecting a first path that meets the load requirement from multiple paths may include one or more of the following implementations: Select any one path from the paths with empty load as the first path; Selecting one path from the paths whose load levels are lower than a threshold as a first path; A path with the lowest load level is selected from the multiple paths as the first path.

[0055] Specifically, the control node can select a first path that meets the load requirement from multiple paths in combination with the planned paths. For example, when there is a path with no load, any one of the paths can be selected as the first path. When there is no path with no load, at least one path with a load level lower than a threshold can be determined from multiple paths, and any one of the paths can be selected as the first path. Alternatively, a path with the lowest load level can be selected as the first path. The calculation of the load level can refer to the calculation method in the traditional solution, and the threshold can be set according to actual needs.

[0056] According to the above description, when a computing node includes multiple network interfaces, the communication relationship of one computing node accessing another computing node refers to a network interface in one computing node accessing a network interface in another computing node. In combination with the topological relationship between the computing node and the network nodes of the first level, it can be known that a network interface in a computing node is only connected to a downlink interface of a network node of the first level, that is, the path for the computing node to connect to the network nodes of the first level is unique. Therefore, based on the communication relationship, after determining the first network node connected to the first computing node and the second network node connected to the second computing node, the path between the first computing node and the first network node is unique, and the path between the second computing node and the second network node is also unique. There is no need to perform path selection. The control node only needs to select the path from the multiple paths involved between the first network node and the second network node.

[0057] Therefore, in some embodiments, the control node notifying the second network node of the first level connected to the second computing node of the first path and the target tag corresponding to the first path may include: The control node determines the target uplink interface of the first network node involved in the first path and the target downlink interface of the second network node, determines the target tag corresponding to the target uplink interface from the tags configured for different uplink interfaces, and notifies the second network node of the target tag and the target downlink interface.

[0058] In this embodiment, the first-level network nodes and the control node may be pre-configured with tags corresponding to the uplink interfaces, such as tag 1 corresponding to uplink interface 1, tag 2 corresponding to uplink interface 2, etc. The control node may determine the target uplink interface and the corresponding target tag involved in the first path in the first network node, and the target downlink interface in the second network node connected to the target network interface in the second computing node (i.e., the network interface accessed in the communication relationship), and notify the second network node of the target tag and the target downlink interface.

[0059] On this basis, the second network node setting a target tag for the target route matched by the first path may include: The second network node sets a target tag for a target route that matches the target downlink interface.

[0060] The target route matched by the target downlink interface is the destination information of the target network interface in the second computing node.

[0061] On this basis, the first network node sending the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag may include: The first network node sends the target data through the target uplink interface corresponding to the target tag, and forwards the target data to the second network node through the third network node of the second layer connected to the target uplink interface.

[0062] After receiving the target tag notified by the second network node, the first network node can determine the target uplink interface corresponding to the target tag, and use the target uplink interface to send the target data to the connected third network node, which is then forwarded to the second network node.

[0063] For ease of understanding, combined Figure 2 The schematic diagram shown illustrates the above process by taking the communication relationship that network interface 1 in the first computing node accesses network interface 1 in the second computing node as an example, wherein the address of network interface 1 in the first computing node is 1.1.1.1 and the address of network interface 1 in the second computing node is 1.1.1.2.

[0064] The communication relationship can be expressed as 1.1.1.1→1.1.1.2. Assuming that the leaf switch uses 128*400G, that is, a switch with 128 ports providing 400Gbps (switching bandwidth), the network interface 1 of the second computing node is connected to the downlink interface 1 of the leaf switch 2, which is assumed to be 400G1 / 0 / 1. The topological relationship can be expressed as: 1.1.1.2-400G1 / 0 / 1. Based on the communication relationship and topological relationship, the control node determines the 64 paths between leaf switch 1 and leaf switch 2, and performs routing. The path planning selects the first path from the uplink interface 2 of leaf switch 1 to the uplink interface 2 of leaf switch 2 via the spine switch 2, wherein the control node selects the target path according to the load requirement, the target uplink interface corresponding to the leaf switch 1 is the uplink interface 2, and the target tag corresponding to the uplink interface 2 is tag2, and the target downlink interface in leaf switch 2 connected to the network interface 1 in the second computing node is determined to be the downlink interface 1, then the tag2 and the downlink interface 1 can be notified to the leaf switch 2.

[0065] Specifically, the control node can generate a tag policy corresponding to leaf switch 2 based on the target tag: tag2 and the target downstream interface: downstream interface 1. The tag policy can be, for example, if the target route matches downstream interface 1, set the target tag tag2 for the target route.

[0066] Based on the tag policy, leaf switch 2 sets the target tag tag2 for the target route matched by downstream interface 1, that is, network interface 1 in the second computing node, and notifies leaf switch 1 of the target tag.

[0067] Leaf switch 1 receives the target data sent by network interface 1 in the first computing node, and determines that the access destination is network interface 1 in the second computing node according to the target address in the five-tuple information of the target data, which matches the target route. According to the uplink interface 2 corresponding to the target tag tag2, the target data is sent to spine switch 2, which is forwarded to leaf switch 2, and then forwarded to network interface 1 in the second computing node by downlink interface 1 of leaf switch 2 to complete the communication.

[0068] By pre-setting multiple tags corresponding to the uplink interfaces in the first-level network nodes, the target route is bound to the first path and the target uplink interface by using the target tag, ensuring that when the second network node notifies the first network node of the target tag, the first network node can determine the target tag according to the matching target route, and then determine the first path and the target uplink interface according to the target tag, so as to realize communication according to the target uplink interface and the first path.

[0069] In some embodiments, the control node may also be used to notify the first network node of the target mark. Optionally, the control node may send the target mark to multiple network nodes at the first level respectively, and the first network node may learn the target mark.

[0070] Combination Figure 2 In the schematic diagram shown, the control node can generate a selection strategy corresponding to leaf switch 1 based on the target tag: tag2. The selection strategy can be, for example, if the target route sets the target tag, select the target path indicated by the target tag for communication.

[0071] At this time, the first network node can also be used to determine the target route that matches the target data and determine whether the target route is set with the target tag. If it is determined that the target route is set with the target tag, the target data can be sent to the second network node through the third network node of the second layer according to the first path indicated by the target tag.

[0072] The first network node may also be configured to select a second path from multiple paths when determining that the target route does not have a target tag set, and send the target data to the second network node through the fourth network node of the second level according to the second path.

[0073] That is to say, when the first network node determines that the target route does not have a target tag set, that is, when it does not receive relevant information about path planning, it can select a second path that meets the load requirements from multiple paths and communicate along the second path. This decouples path planning from computing time, and there is no need to wait for path planning to be completed before communication and computing tasks can be processed, further improving the communication efficiency and task computing efficiency across computing nodes.

[0074] In some embodiments, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the first level connected to the first computing node of the target tag corresponding to the target route, which may include: The second network node may determine a target route matching the first path, set a target tag for the target route through a routing community attribute, and send the target tag to a first network node of the first level connected to the first computing node.

[0075] The routing community attribute is a mechanism used in BGP (Border Gateway Protocol) to classify and mark routes, and specific processing of routes is achieved by attaching one or more labels to routing information. The routing community attribute may include a recognized community attribute and an extended community attribute. In this embodiment, the target tag may be used as an extended community attribute and notified to the first network node.

[0076] A target tag is set for the target route through the routing community attribute, and the target tag is sent to the first network node to achieve the transfer of the target tag, ensuring that the first network node receives the target tag and communicates according to the indicated first path.

[0077] Optionally, the second network node can notify multiple network nodes of the first level of the target tag set for the target route through the routing group attribute, and the first network node can obtain the routing group attribute to determine that the target route is set with the target tag; the first network node can then determine the target path indicated by the target tag to communicate with the second network node in combination with the selection strategy issued by the control system. Optionally, when the tag is associated with the uplink interface, the target data can be sent by determining the target uplink interface indicated by the target tag.

[0078] In actual applications, there may be path failures. Therefore, in some embodiments, the first network node sending the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag may include: The first network node determines whether the first path indicated by the target tag is available; If so, the target data is sent to the second network node through the third network node of the second level according to the first path; otherwise, a third path is selected from multiple paths, and the target data is sent to the second network node through the fifth network node of the second level according to the third path.

[0079] Among them, when the first path is unavailable, the first network node can select a path that meets the load requirements from other available paths as the third path, communicate along the third path, realize automatic fault repair, avoid interruption of the communication process, and ensure smooth communication process.

[0080] In practical applications, the first computing node may be specifically configured to send target data to the first network node in response to the data transmission instruction, generate a path planning instruction, and send the path planning instruction to the control node; The control node can be specifically used to respond to the path planning instruction, determine the multiple paths involved between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively.

[0081] Optionally, the control node may also be configured to delete the planned first path in response to a transmission termination instruction.

[0082] In actual applications, multiple computing nodes may respectively include multiple processing components.

[0083] The first computing node can also be used to receive computing tasks, call the first processing component to process the computing tasks to obtain computing results, and generate target data including the computing results based on the communication relationship with the second computing node, and generate data transmission instructions based on the target data, thereby realizing computing task processing.

[0084] Optionally, after receiving the target data, the second computing node may call the second processing component to process the target data.

[0085] Among them, the communication relationship between the first computing node and the second computing node can refer to the communication relationship of the first processing component accessing the second processing component. Since each processing component in each computing node can be connected to a network interface, the communication relationship of the first processing component accessing the second processing component also refers to the communication relationship of the first processing component network interface accessing the network interface of the second processing component. The communication relationship can be represented by the access relationship between the addresses of the network interfaces, for example. For example, the address of the network interface 1 corresponding to the first processing component in the first computing node is 1.1.1.1, and the address of the network interface 2 corresponding to the second processing component in the second computing node is 1.1.1.2. The communication relationship of the first processing component accessing the second processing component can be expressed as: 1.1.1.1→1.1.1.2.

[0086] In some embodiments, the system may further include a communication library, and multiple computing nodes respectively include agent programs. When each computing node includes multiple processing components, an agent program may be deployed in each processing component. Since each processing component may correspond to a network interface, the communication relationship may be represented by the access relationship between the addresses of the network interfaces.

[0087] Any computing node can also be used to use the agent program to obtain the communication relationship with multiple computing nodes from the communication library, and send the communication relationship and the topological relationship with multiple network nodes of the first level to the control node; when the agent program is deployed in each processing component, the agent program in each processing component can be used to obtain its communication relationship with other processing components from the pass library, and other processing components also include processing components in the remaining computing nodes except the computing node. Among them, the agent program can, for example, use the remote procedure call framework (Remote Procedure Call, RPC) to report the communication relationship and topological relationship to the control node, etc. Of course, this application does not limit this.

[0088] The control node can obtain the communication relationship between the multiple computing nodes and the topological relationship between the multiple computing nodes and the multiple network nodes of the first level.

[0089] The communication relationship between a computing node and multiple computing nodes may refer to the communication relationship of accessing other computing nodes. Specifically, the communication relationship may refer to the communication relationship of a processing component in one computing node accessing a processing component in another computing node.

[0090] The communication library can manage the communication relationship between multiple computing nodes, and can determine other computing nodes accessed by the computing node in response to the communication request sent by the computing node, and feedback the communication relationship of the computing node accessing other computing nodes to the computing node. The computing node can generate a path planning instruction based on the communication relationship and send it to the control node to trigger the control node to perform path planning, thereby realizing the determination and acquisition of the communication relationship, which is convenient for the controller to perform path planning based on the communication relationship.

[0091] like Figure 3 As shown, a process of an embodiment of a network communication method provided by the present application can be applied to a control node in a network communication system. The network communication system may include the control node, multiple computing nodes, and a data forwarding system, and the data forwarding system may include multiple network nodes of a first layer and multiple network nodes of a second layer; wherein the multiple computing nodes are connected to the multiple network nodes of the first layer, and the multiple network nodes of the first layer are connected to the multiple network nodes of the second layer. wherein the connection relationship between one or more nodes in the network communication system is Figure 1 The corresponding description has been given in the illustrated embodiment and will not be repeated here.

[0092] The method may include the following steps: 301: Determine multiple paths involved between the first computing node and the second computing node according to a communication relationship of the first computing node accessing the second computing node and a topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively; 302: Perform path planning to determine a first path from multiple paths; 303: Notify the second network node of the first level connected to the second computing node of the first path, so that the second network node can set a target tag for the target route matched by the first path, and notify the first network node of the first level connected to the first computing node of the target tag corresponding to the target route, wherein the target tag is used for the first network node to determine that the target data matches the target route, and send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node, and the target data is sent from the first computing node to the first network node.

[0093] By selecting the first path through path planning by the control node from multiple paths involved between the first computing node and the second computing node having a communication relationship, the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path, and the communication process is forwarded by the second network node to the second computing node. By performing global path planning by the control node to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving network communication effects. In addition, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the target tag, the first network node performs the above communication process according to the first path indicated by the target tag when determining that the target data matches the target route, without modifying the target data, so that the target data transmission and path planning can be carried out simultaneously, improving the path planning efficiency, and thus improving the network communication efficiency.

[0094] In some embodiments, performing path planning to determine a first path from a plurality of paths may include: A first path that meets the load requirement is selected from the multiple paths.

[0095] Notifying the second network node of the first level of the second computing node connection of the first path may include: The second network node of the first level connected to the second computing node is notified of the first path and the target tag corresponding to the first path.

[0096] In some embodiments, notifying a second network node of a first level connected to a second computing node of the first path and a target tag corresponding to the first path may include: Determine a target uplink interface of a first network node and a target downlink interface of a second network node involved in the first path; Determine a target tag corresponding to a target uplink interface from tags respectively configured for different uplink interfaces; The target tag and the target downlink interface are notified to the second network node so that the second network node can set the target tag for the target route matching the target downlink interface. The target tag can be used for the first network node to send the target data through the target uplink interface corresponding to the target tag, and forward the target data to the second network node through the third network node of the second level connected to the target uplink interface.

[0097] In some embodiments, the method may further include: The target tag is notified to the first network node so that the first network node can determine the target route that matches the target data and judge whether the target route is set with the target tag. If it is determined that the target route is set with the target tag, the target data is sent to the second network node through the third network node of the second level according to the first path indicated by the target tag; otherwise, a second path is selected from multiple paths, and the target data is sent to the second network node through the fourth network node of the second level according to the second path.

[0098] In some embodiments, selecting a first path that meets the load requirement from multiple paths may include one or more of the following implementations: Select any one path from the paths with empty load as the first path; Selecting one path from the paths whose load levels are lower than a threshold as a first path; A path with the lowest load level is selected from the multiple paths as the first path.

[0099] In some embodiments, the method may further include: The communication relationship between the plurality of computing nodes and the topological relationship between the plurality of computing nodes and the plurality of network nodes at the first level are obtained.

[0100] In some embodiments, according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and the plurality of network nodes of the first level, respectively, determining the plurality of paths involved between the first computing node and the second computing node may include: In response to the path planning instruction, multiple paths involved between the first computing node and the second computing node are determined based on the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively.

[0101] The path planning instruction is generated and sent by the first computing node in response to the data transmission instruction.

[0102] like Figure 4 As shown, it is a flowchart of another embodiment of a network communication method provided by the present application, and the method can be applied to the first network node of the first level in the network communication system. The network communication system may include a control node, multiple computing nodes and a data forwarding system, and the data forwarding system may include multiple network nodes of the first level and multiple network nodes of the second level; wherein the multiple computing nodes have a connection relationship with the multiple network nodes of the first level, and the multiple network nodes of the first level have a connection relationship with the multiple network nodes of the second level. wherein the connection relationship of one or more nodes in the network communication system is Figure 1The corresponding description has been given in the illustrated embodiment and will not be repeated here.

[0103] The method may include the following steps: 401: receiving target data sent by a first computing node; 402: When it is determined that the target data matches the target route, the target data is sent to the second network node of the first layer through the third network node of the second layer according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node.

[0104] Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node. The multiple paths are determined by the control node based on the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively. The target tag is set by the second network node for the target route matching the first path, and the target tag corresponding to the target route is notified to the first network node.

[0105] By selecting the first path through path planning by the control node from multiple paths involved between the first computing node and the second computing node having a communication relationship, the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path, and the communication process is forwarded by the second network node to the second computing node. By performing global path planning by the control node to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving network communication effects. In addition, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the target tag, the first network node performs the above communication process according to the first path indicated by the target tag when determining that the target data matches the target route, without modifying the target data, so that the target data transmission and path planning can be carried out simultaneously, improving the path planning efficiency, and thus improving the network communication efficiency.

[0106] In some embodiments, according to the first path indicated by the target tag corresponding to the target route, sending the target data to the second network node of the first layer through the third network node of the second layer may include: The target data is sent through the target uplink interface corresponding to the target tag, and the target data is forwarded to the second network node through the third network node of the second layer connected to the target uplink interface.

[0107] The target uplink interface is determined by the control node.

[0108] In some embodiments, the method may further include: Receive the target mark sent by the control node; Determine the target route that matches the target data, and determine whether the target route is set with a target tag; When it is determined that the target route is set with a target tag, the target data is sent to the second network node through the third network node of the second level according to the first path indicated by the target tag; otherwise, a second path is selected from multiple paths, and the target data is sent to the second network node through the fourth network node of the second level according to the second path.

[0109] In some embodiments, according to the first path indicated by the target tag corresponding to the target route, sending the target data to the second network node of the first layer through the third network node of the second layer may include: Determine whether the first path indicated by the target mark is available; If so, the target data is sent to the second network node through the third network node of the second level according to the first path; otherwise, a third path is selected from multiple paths, and the target data is sent to the second network node through the fifth network node of the second level according to the third path.

[0110] like Figure 5 As shown, it is a flowchart of another embodiment of a network communication method provided by the present application, and the method can be applied to the second network node of the first level in the network communication system. The network communication system may include a control node, multiple computing nodes and a data forwarding system, and the data forwarding system may include multiple network nodes of the first level and multiple network nodes of the second level; wherein the multiple computing nodes have a connection relationship with the multiple network nodes of the first level, and the multiple network nodes of the first level have a connection relationship with the multiple network nodes of the second level. wherein the connection relationship of one or more nodes in the network communication system is Figure 1 The corresponding description has been given in the illustrated embodiment and will not be repeated here.

[0111] The method may include the following steps: 501: Receive a first path sent by a control node.

[0112] The first path is obtained by path planning from multiple paths, and the multiple paths are determined according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively.

[0113] 502: Set the destination tag for the destination route matched by the first path.

[0114] 503: Notify the first network node of the first level connected to the first computing node of the target tag corresponding to the target route, so that when the first network node determines that the target data matches the target route, the target data is sent to the second network node through the third network node of the second level according to the first path indicated by the target tag.

[0115] 504: Receive target data sent by the third network node of the second layer, wherein the target data is sent from the first computing node to the first network node.

[0116] 505: Forward the target data to the second computing node.

[0117] By selecting the first path through path planning by the control node from multiple paths involved between the first computing node and the second computing node having a communication relationship, the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path, and the communication process is forwarded by the second network node to the second computing node. By performing global path planning by the control node to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving network communication effects. In addition, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the target tag, the first network node performs the above communication process according to the first path indicated by the target tag when determining that the target data matches the target route, without modifying the target data, so that the target data transmission and path planning can be carried out simultaneously, improving the path planning efficiency, and thus improving the network communication efficiency.

[0118] In some embodiments, receiving the first path sent by the control node may include: The first path and the target mark corresponding to the first path sent by the control node are received.

[0119] In some embodiments, receiving the first path and the target tag corresponding to the first path sent by the control node may include: Receive the target tag and target downlink interface sent by the control node.

[0120] The target tag corresponds to a target uplink interface in the first network node, and the target uplink interface is an uplink interface in the first network node involved in the first path determined by the control node.

[0121] On this basis, setting a target tag for the target route matched by the first path may include: Set this destination tag for the destination route that matches the destination downstream interface.

[0122] In some embodiments, setting a target tag for a target route matched by the first path may include: A target route matching the first path is determined, and a target tag is set for the target route through a routing community attribute.

[0123] In another embodiment of the present application, a network communication method is also provided, which can be applied to a first computing node in a network communication system. The network communication system may include a control node, multiple computing nodes, and a data forwarding system, and the data forwarding system may include multiple network nodes of a first layer and multiple network nodes of a second layer; wherein the multiple computing nodes have a connection relationship with the multiple network nodes of the first layer, and the multiple network nodes of the first layer have a connection relationship with the multiple network nodes of the second layer. wherein the connection relationship of one or more nodes in the network communication system is Figure 1 The corresponding description has been given in the illustrated embodiment and will not be repeated here.

[0124] The method may include the following steps: Sending the target data to the connected first network node, for the first network node to determine that the target data matches the target route, and then sending the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node; Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node. The multiple paths are determined by the control node based on the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively; the target tag is set by the second network node for the target route matched by the first path, and the target tag corresponding to the target route is notified to the first network node.

[0125] In some embodiments, sending the target data to the connected first network node may include: In response to the data transmission instruction, the target data is sent to the first network node.

[0126] In some embodiments, multiple computing nodes may each include multiple processing components.

[0127] On this basis, the method may include: Receiving a computing task, and calling a first processing component to process the computing task to obtain a computing result; generating target data including a calculation result based on a communication relationship with a second computing node; Based on the target data, a data transfer request is generated.

[0128] In some embodiments, the method may include: The communication relationships with the plurality of computing nodes are acquired from the communication library, and the communication relationships and the topological relationships with the plurality of network nodes at the first level are sent to the control node by using an agent program.

[0129] To make it easier to understand, take the distributed training of machine learning models as an example. Figure 6 A schematic diagram of data transmission based on a network communication system in an actual scenario is shown. Figure 6 As shown, the network communication system includes multiple computing nodes, a control node (not shown in the figure) and a data forwarding system, and the data forwarding system can be a spine-leaf topology. Each computing node is connected to the downlink interface (not shown in the figure) of the leaf switch through 8 network interfaces. Each leaf switch includes 64 uplink interfaces, and the spine layer includes 64 spine switches. One uplink interface of each leaf switch is uniquely connected to one spine switch, and one spine switch is uniquely connected to one uplink interface of one leaf switch. In addition, the system architecture can also include a task scheduling node 600.

[0130] The task scheduling node 600 can divide the model training task into multiple computing tasks, which are trained collaboratively by multiple computing nodes, or the task scheduling node 600 can send the model training task to a certain computing node, which performs task splitting and distribution, etc. Among them, it can be understood that the communication between the task scheduling node 600 and the computing node may also involve one or more network nodes for data forwarding, etc., which is not limited in this application.

[0131] Assume that the network interface 1 of the first computing node receives a computing task, and the network interface 1 of the third computing node receives another computing task, and the respective processing components are called to process the computing tasks to obtain computing results. The first computing node 61 obtains the communication relationship of accessing the network interface 1 of the second computing node 62 from the communication library (not shown in the figure), generates target data including its own computing results, generates a data transmission request based on the target data, sends the target data to the leaf switch 1, and generates a path planning instruction, and sends the path planning instruction to the control node (not shown in the figure). The third computing node 63 obtains the communication relationship of accessing the network interface 1 of the fourth computing node 64 from the communication library, generates target data including its own computing results, generates a data transmission request based on the target data, sends the target data to the leaf switch 1, and generates a path planning instruction, and sends the path planning instruction to the control node.

[0132] The control node determines 64 paths between leaf switch 1 and leaf switch 2 based on the communication relationship and topological relationship between network interface 1 of the first computing node 61 accessing network interface 1 of the second computing node 62, and performs path planning to select the first path from the uplink interface 1 of leaf switch 1 to the uplink interface 1 of leaf switch 2 via spine switch 1. The control node determines that the target uplink interface in leaf switch 1 is uplink interface 1, the corresponding target tag is tag1, and determines that the target downlink interface in leaf switch 2 connected to network interface 1 in the second computing node is downlink interface 1. Based on tag1 and downlink interface 1, a tagging policy corresponding to leaf switch 2 is generated, and leaf switch 2 is notified. In addition, the control node determines the 64 paths between leaf switch 1 and leaf switch 2 based on the communication relationship and topological relationship between the network interface 1 of the third computing node 63 accessing the network interface 1 of the fourth computing node 64, and performs path planning to select the first path from the uplink interface 2 of leaf switch 1 to the uplink interface 2 of leaf switch 2 via the spine switch 2. The control node determines that the target uplink interface in leaf switch 1 is uplink interface 2, and the corresponding target tag is tag2, and determines that the target downlink interface in leaf switch 2 connected to the network interface 1 in the second computing node is downlink interface 1, generates a tagging policy corresponding to leaf switch 2 based on tag2 and downlink interface 1, and notifies leaf switch 2.

[0133] Leaf switch 2 sets target tag tag1 for the target route matched by downstream interface 1, i.e., network interface 1 in second computing node 62, based on the tagging strategy, and notifies leaf switch 1 of the target tag. Also, leaf switch 2 sets target tag tag2 for the target route matched by downstream interface 1, i.e., network interface 1 in fourth computing node 64, and notifies leaf switch 1 of the target tag.

[0134] Leaf switch 1 receives the target data sent by network interface 1 in the first computing node, and determines that the access destination is network interface 1 in the second computing node based on the target address in the five-tuple information of the target data, which matches the target route. According to the uplink interface 1 corresponding to the target tag tag1, the target data is sent to spine switch 1, which is forwarded by spine switch 1 to leaf switch 2, and then forwarded by downlink interface 1 of leaf switch 2 to network interface 1 in the second computing node, completing the communication. Also, the target data sent by network interface 1 in the third computing node is received, and according to the target address in the five-tuple information of the target data, the access destination is determined to be network interface 1 in the fourth computing node, which matches the target route. According to the uplink interface 2 corresponding to the target tag tag2, the target data is sent to spine switch 2, which is forwarded by spine switch 2 to leaf switch 2, and then forwarded by downlink interface 1 of leaf switch 2 to network interface 1 in the fourth computing node, completing the communication.

[0135] By selecting the first path through path planning by the control node from multiple paths involved between the first computing node and the second computing node having a communication relationship, the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path, and the communication process is forwarded by the second network node to the second computing node. By performing global path planning by the control node to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving network communication effects. In addition, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the target tag, the first network node performs the above communication process according to the first path indicated by the target tag when determining that the target data matches the target route, without modifying the target data, so that the target data transmission and path planning can be carried out simultaneously, improving the path planning efficiency, and thus improving the network communication efficiency.

[0136] Furthermore, by adopting a topology structure in which multiple network nodes at the first level converge with multiple network nodes at the second level in a 1:1 manner, that is, a topology structure in which multiple uplink interfaces in a network node at the first level are respectively connected one-to-one with a network node at the second level, the network communication performance in the data forwarding system is improved, and the network communication effect and efficiency across computing nodes are further improved.

[0137] Furthermore, by pre-setting multiple tags corresponding to the uplink interfaces in the first-level network nodes, the target tag is used to bind the target route with the first path and the target uplink interface, ensuring that when the second network node notifies the first network node of the target tag, the first network node can determine the target tag according to the matching target route, and then determine the first path and the target uplink interface according to the target tag, communicate according to the target uplink interface and the first path, and improve communication effect and efficiency.

[0138] Optionally, the first network node can also be used to determine the target route that matches the target data, and determine whether the target route is set with the target tag. In the case where it is determined that the target route is set with the target tag, the target data can be sent to the second network node through the third network node of the second level according to the first path indicated by the target tag. In the case where it is determined that the target route is not set with the target tag, a second path is selected from multiple paths, and the target data is sent to the second network node through the fourth network node of the second level according to the second path. In other words, when the first network node determines that the target route is not set with the target tag, that is, when the relevant information of the path planning is not received, the second path that meets the load requirements can be selected from multiple paths, and communication is performed according to the second path. In this way, the decoupling of path planning and computing time is achieved, and there is no need to wait for the completion of path planning before communication and computing tasks can be processed, which further improves the communication efficiency and task computing efficiency across computing nodes.

[0139] Optionally, a target tag is set for the target route through a routing community attribute, and the target tag is sent to the first network node to achieve transfer of the target tag, ensuring that the first network node receives the target tag and communicates according to the indicated first path.

[0140] Optionally, when the first path is unavailable, the first network node may select a path that meets the load requirements from other available paths as a third path, communicate along the third path, achieve automatic fault repair, avoid interrupting the communication process, and ensure smooth communication.

[0141] like Figure 7 As shown, it is a structural diagram of an embodiment of a network communication device provided by the present application, which can be applied to a control node in a network communication system. The network communication system may include the control node, multiple computing nodes and a data forwarding system, and the data forwarding system may include multiple network nodes of a first layer and multiple network nodes of a second layer; wherein the multiple computing nodes are connected to the multiple network nodes of the first layer, and the multiple network nodes of the first layer are connected to the multiple network nodes of the second layer. wherein the connection relationship between one or more nodes in the network communication system is Figure 1The corresponding description has been given in the illustrated embodiment and will not be repeated here.

[0142] The device may include the following modules: The first determination module 701 is used to determine multiple paths involved between the first computing node and the second computing node based on the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively.

[0143] The path planning module 702 is used to perform path planning from multiple paths to determine a first path.

[0144] The first notification module 703 is used to notify the second network node of the first level connected to the second computing node of the first path, so that the second network node can set a target tag for the target route matched by the first path, and notify the first network node of the first level connected to the first computing node of the target tag corresponding to the target route, wherein the target tag is used for the first network node to determine that the target data matches the target route, and send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node, and the target data is sent from the first computing node to the first network node.

[0145] Figure 7 The network communication device shown can be used to perform Figure 3 The network communication method shown, its implementation principle and technical effect are not repeated here. Figure 7 One or more modules of the network communication device shown may constitute Figure 6 The server in the system architecture shown. The specific manner in which each module in the network communication device in the above embodiment performs operations has been described in detail in the embodiment of the method, and will not be described in detail here.

[0146] like Figure 8 As shown, it is a structural diagram of another embodiment of a network communication device provided by the present application, which can be applied to the first network node of the first level in the network communication system. The network communication system may include a control node, multiple computing nodes and a data forwarding system, and the data forwarding system may include multiple network nodes of the first level and multiple network nodes of the second level; wherein the multiple computing nodes are connected to the multiple network nodes of the first level, and the multiple network nodes of the first level are connected to the multiple network nodes of the second level. wherein the connection relationship of one or more nodes in the network communication system is Figure 1 The corresponding description has been given in the illustrated embodiment and will not be repeated here.

[0147] The device may include the following modules: The first receiving module 801 is used to receive target data sent by the first computing node.

[0148] The first sending module 802 is used to determine that when the target data matches the target route, send the target data to the second network node of the first level through the third network node of the second level according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node.

[0149] Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node. The multiple paths are determined by the control node based on the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively. The target tag is set by the second network node for the target route matching the first path, and the target tag corresponding to the target route is notified to the first network node.

[0150] Figure 8 The network communication device shown can be used to perform Figure 4 The network communication method shown, its implementation principle and technical effect are not repeated here. Figure 8 One or more modules of the network communication device shown may constitute Figure 6 The server in the system architecture shown. The specific manner in which each module in the network communication device in the above embodiment performs operations has been described in detail in the embodiment of the method, and will not be described in detail here.

[0151] like Fig. 9 As shown, the present application provides a structural schematic diagram of another embodiment of a network communication device, which can be applied to a first network node of a first level in a network communication system. The network communication system may include a control node, multiple computing nodes, and a data forwarding system, and the data forwarding system may include multiple network nodes of a first level and multiple network nodes of a second level; wherein the multiple computing nodes are connected to the multiple network nodes of the first level, and the multiple network nodes of the first level are connected to the multiple network nodes of the second level. wherein the connection relationship between one or more nodes in the network communication system is Figure 1 The corresponding description has been given in the illustrated embodiment and will not be repeated here.

[0152] The device may include the following modules: The second receiving module 901 is used to receive a first path sent by the control node. The first path is obtained by path planning from multiple paths, and the multiple paths are determined according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level.

[0153] The marking module 902 is configured to set a target mark for the target route matched by the first path.

[0154] The second notification module 903 is used to notify the first network node of the first level connected to the first computing node of the target tag corresponding to the target route, so that when the first network node determines that the target data matches the target route, the target data is sent to the second network node through the third network node of the second level according to the first path indicated by the target tag.

[0155] The third receiving module 904 is used to receive target data sent by the third network node of the second layer, wherein the target data is sent by the first computing node to the first network node.

[0156] The second sending module 905 is used to forward the target data to the second computing node.

[0157] Fig. 9 The network communication device shown can be used to perform Figure 5 The network communication method shown, its implementation principle and technical effect are not repeated here. Fig. 9 One or more modules of the network communication device shown may constitute Figure 6 The server in the system architecture shown. The specific manner in which each module in the network communication device in the above embodiment performs operations has been described in detail in the embodiment of the method, and will not be described in detail here.

[0158] like Fig.10 , which is a schematic diagram of a structure of an embodiment of a computing device provided by the present application, the device may include a storage component 1001 and a processing component 1002; The storage component 901 can be used to store one or more computer program instructions, wherein the one or more computer program instructions are called and executed by the processing component 1002 to implement Figure 3~Figure 5 A network communication method as shown in any embodiment.

[0159] Of course, the above computing device may also include other components, such as input / output interfaces, communication components, etc.

[0160] The input / output interface provides an interface between the processing component and the peripheral interface module, which may be an output device, an input device, etc. The communication component is configured to facilitate wired or wireless communication between the computing device and other devices.

[0161] It should be noted that the above computing device can be a physical device or an elastic computing host provided by a cloud computing platform, etc. It can be implemented as a distributed cluster consisting of multiple servers or terminal devices, or as a single server or a single terminal device.

[0162] Optionally, the computing device may also be implemented as an electronic device. An electronic device may refer to a device used by a user and having the functions of surfing the Internet, computing, communicating, etc. required by the user, such as a mobile phone, a tablet computer, a personal computer, a wearable device, etc. It is understandable that the electronic device may also include a display component, an input / output interface, a communication component, and other components, which will not be described in detail.

[0163] In one or more of the above embodiments, the processing component may include one or more processors to execute computer instructions to complete all or part of the steps in the above method. Of course, the processing component can also be implemented as one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to perform the above method.

[0164] The storage component is configured to store various types of data to support operations at the terminal. The storage component can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0165] The display component may be an electroluminescent (EL) element, a liquid crystal display or a micro display having a similar structure, or a retinal direct display or a similar laser scanning display.

[0166] The present application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a computer, Figure 3~Figure 5 The network communication method shown in any embodiment. The computer readable medium may be included in the computing device described in the above embodiment; or it may exist independently without being assembled into the computing device.

[0167] The computer-readable storage medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above.

[0168] The present application also provides a computer program product, which includes a computer program carried on a computer-readable storage medium, and when the computer program is executed by a computer, Figure 3~Figure 5 A network communication method as shown in any embodiment.

[0169] In such an embodiment, the computer program may be downloaded and installed from a network, and / or installed from a removable medium. When the computer program is executed by a processor, various functions defined in the system of the present application are performed.

[0170] 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.

[0171] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0172] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0173] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A network communication system, characterized in that: The invention comprises a plurality of computing nodes, a control node and a data forwarding system; the data forwarding system comprises a plurality of network nodes of a first layer and a plurality of network nodes of a second layer; wherein the plurality of computing nodes are connected to the plurality of network nodes of the first layer, and the plurality of network nodes of the first layer are connected to the plurality of network nodes of the second layer; The control node is used to determine multiple paths involved between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first layer respectively; perform path planning from the multiple paths to determine a first path, and notify the second network node of the first layer connected to the second computing node of the first path; The second network node is configured to set a target tag for a target route matched by the first path, and notify a first network node of the first layer connected to the first computing node of the target tag corresponding to the target route; The first computing node is used to send the target data to the first network node; The first network node is used to determine that when the target data matches the target route, send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node.

2. The system according to claim 1, characterized in that When the control node performs path planning from the multiple paths to determine a first path and notifies the second network node of the first layer connected to the second computing node of the first path, the control node is specifically configured to: A first path that meets the load requirement is selected from the multiple paths, and the second network node of the first layer connected to the second computing node is notified of the first path and a target tag corresponding to the first path.

3. The system according to claim 2, characterized in that A network interface of a computing node is connected to a downlink interface of a network node of the first layer; an uplink interface of a network node of the first layer is connected to a network node of the second layer, and a network node of the second layer is connected to an uplink interface of a network node of the first layer; When the control node notifies the second network node of the first layer connected to the second computing node of the first path and the target tag corresponding to the first path, the control node is specifically configured to: Determine a target uplink interface of the first network node and a target downlink interface of the second network node involved in the first path, determine a target tag corresponding to the target uplink interface from tags respectively configured for different uplink interfaces, and notify the second network node of the target tag corresponding to the target uplink interface and the target downlink interface; When the second network node sets a target tag for the target route matched by the first path, the second network node is specifically configured to: Setting the target tag for the target route matched by the target downlink interface; When the first network node sends the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag, the first network node is specifically configured to: The target data is sent through the target uplink interface corresponding to the target tag, and the target data is forwarded to the second network node through the third network node of the second layer connected to the target uplink interface.

4. The system according to claim 3, characterized in that The control node is further configured to notify the first network node of the target mark; The first network node is further configured to determine a target route that matches the target data, and determine whether the target route is set with the target tag; The first network node, when determining that the target data matches the target route, sends the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag, specifically: In a case where it is determined that the target route is set with the target tag, sending the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag; The first network node is further configured to select a second path from the multiple paths when it is determined that the target route does not have the target tag set, and send the target data to the second network node through the fourth network node of the second layer according to the second path.

5. The system according to claim 1, characterized in that The second network node, when setting a target tag for a target route matched by the first path and notifying the first network node of the first layer connected to the first computing node of the target tag corresponding to the target route, is specifically configured to: A target route matching the first path is determined, a target tag is set for the target route through a routing community attribute, and the target tag is sent to a first network node of the first level to which the first computing node is connected.

6. The system according to claim 1, characterized in that When the first network node sends the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag, the first network node is specifically configured to: Determine whether the first path indicated by the target tag is available; if so, send the target data to the second network node through the third network node of the second level according to the first path; otherwise, select a third path from the multiple paths, and send the target data to the second network node through the fifth network node of the second level according to the third path.

7. The system according to claim 2, characterized in that Selecting a first path that meets the load requirement from the multiple paths includes one or more of the following implementations: Select any one path from the paths with empty load as the first path; Selecting one path from the paths whose load levels are lower than a threshold as a first path; A path with the lowest load level is selected from the plurality of paths as a first path.

8. The system according to claim 1, characterized in that It also includes a communication library, and the plurality of computing nodes respectively include an agent program; Any computing node is further configured to obtain the communication relationships with the plurality of computing nodes respectively from the communication library, and send the communication relationships and the topological relationships with the plurality of network nodes of the first level respectively to the control node by using the agent program; The control node is further used to obtain the communication relationship between the multiple computing nodes and the topological relationship between the multiple computing nodes and the multiple network nodes of the first layer.

9. The system according to any one of claims 1 to 8, characterized in that: The first computing node is further configured to send the target data to the first network node in response to the data transmission instruction, generate a path planning instruction, and send the path planning instruction to the control node; The control node is specifically used to respond to the path planning instruction and determine multiple paths involved between the first computing node and the second computing node based on the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively.

10. The system according to claim 9, characterized in that The plurality of computing nodes respectively include a plurality of processing components; The first computing node is also used to receive a computing task, call the first processing component to process the computing task to obtain a computing result, and based on the communication relationship with the second computing node, generate target data including the computing result, and based on the target data, generate the data transmission instruction.

11. A network communication method, characterized in that: A control node applied to a network communication system, wherein the network communication system further comprises a plurality of computing nodes and a data forwarding system; the data forwarding system comprises a plurality of network nodes at a first level and a plurality of network nodes at a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes at the first level, and the plurality of network nodes at the first level are connected to the plurality of network nodes at the second level; The method comprises: Determine multiple paths involved between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first layer respectively; performing path planning to determine a first path from among the plurality of paths; Notify the second network node of the first layer connected to the second computing node of the first path, so that the second network node can set a target tag for the target route matched by the first path, and notify the first network node of the first layer connected to the first computing node of the target tag corresponding to the target route, wherein the target tag is used for the first network node to determine that target data matches the target route, and then send the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag, so that the second network node forwards the target data to the second computing node, and the target data is sent from the first computing node to the first network node.

12. The method according to claim 11, characterized in that The performing path planning from the plurality of paths to determine a first path comprises: Selecting a first path that meets the load requirement from the plurality of paths; The step of notifying the second network node of the first layer to which the second computing node is connected of the first path comprises: The second network node of the first level connected to the second computing node is notified of the first path and the target tag corresponding to the first path.

13. The method according to claim 12, characterized in that The step of notifying the second network node of the first level connected to the second computing node of the first path and the target tag corresponding to the first path comprises: Determine a target uplink interface of a first network node to which the first computing node is connected, and a target downlink interface of a second network node to which the second computing node is connected, involved in the first path; Determine the target tag corresponding to the target uplink interface from the tags respectively configured for different uplink interfaces; The target tag corresponding to the target uplink interface and the target downlink interface are notified to the second network node.

14. A network communication method, characterized in that: A first network node of a first level applied to a network communication system; the network communication system comprises a plurality of computing nodes, a control node and a data forwarding system; the data forwarding system comprises a plurality of network nodes of a first level and a plurality of network nodes of a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes of the first level, and the plurality of network nodes of the first level are connected to the plurality of network nodes of the second level; The method comprises: Receiving target data sent by the first computing node; When it is determined that the target data matches the target route, the target data is sent to the second network node of the first layer through the third network node of the second layer according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node; Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node, the multiple paths are determined by the control node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively, the target tag is set by the second network node for the target route matched by the first path, and the target tag corresponding to the target route is notified to the first network node.

15. A network communication method, characterized in that: A second network node of a first level applied to a network communication system; the network communication system comprises a plurality of computing nodes, a control node and a data forwarding system; the data forwarding system comprises a plurality of network nodes of a first level and a plurality of network nodes of a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes of the first level, and the plurality of network nodes of the first level are connected to the plurality of network nodes of the second level; The method comprises: Receive a first path sent by the control node; wherein the first path is obtained by path planning from multiple paths, and the multiple paths are determined according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively; Setting a target tag for a target route matched by the first path; Notifying the first network node of the first layer connected to the first computing node of the target tag corresponding to the target route, so that the first network node can send the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag when determining that the target data matches the target route; wherein the target data is sent from the first computing node to the first network node; receiving the target data sent by the third network node; The target data is forwarded to the second computing node.

16. The method according to claim 15, characterized in that The receiving a first path sent by the control node comprises: A first path and a target tag corresponding to the first path sent by the control node are received.

17. A network communication method, characterized in that: A first computing node applied to a network communication system; the network communication system comprises a plurality of computing nodes, a control node and a data forwarding system; the data forwarding system comprises a plurality of network nodes at a first level and a plurality of network nodes at a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes at the first level, and the plurality of network nodes at the first level are connected to the plurality of network nodes at the second level; The method comprises: Sending the target data to the connected first network node, for the first network node to determine that the target data matches the target route, and then sending the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node; Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node, and the multiple paths are determined by the control node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively; the target tag is set by the second network node for the target route matched by the first path, and the target tag corresponding to the target route is notified to the first network node.

18. A computing device, characterized in that It comprises a storage component and a processing component; the storage component stores one or more computer program instructions, the computer program instructions are called and executed by the processing component, and the processing component executes the one or more computer program instructions to implement the network communication method as described in any one of claims 12 to 17.

19. A computer-readable storage medium, characterized in that: A computer program is stored, and the computer program is executed by a computer to implement the network communication method as described in any one of claims 12 to 17.

20. A computer program product, characterized in that A computer program is stored, and when the computer program is executed by a computer, the network communication method according to any one of claims 12 to 17 is implemented.

Citation Information

Patent Citations

  • Method for discovering network topology and related equipment

    CN101330405A

  • Method and network device for determining communication path

    CN110178410A

  • Method and device for determining port attributes

    CN112019365A

  • Congestion information collection method, optimal path determination method and network switch

    CN112787925A

  • Route processing method and equipment

    CN113556282A